home *** CD-ROM | disk | FTP | other *** search
/ 100 Pусских Uгр / 980121_2306.iso / SUPER3D / RAMPAGER.ZIP / SHERIFF.CON < prev    next >
Text File  |  1997-07-16  |  8KB  |  427 lines

  1. // The Sheriff Lester T. Hobbes
  2. // By Arthur Attila Donavan
  3.  
  4. // Tiles starting positions for Sheriff
  5. // LTH       4352  actor - Tile to be used in MAKEMAP
  6. // LTHSTRAFE 4395
  7. // LTHLOAD   4430
  8. // LTHDIE    4456
  9.  
  10. // Local defines
  11. define LTHSNDAMB 16
  12.  
  13. // Define actions
  14. action ALTHWALK    0  8  5  1  16
  15. action ALTHRUN     0  8  5  1  10
  16. action ALTHSTRAFE 43  6  5  1  20
  17. action ALTHLOAD1  78  1  5  1  20
  18. action ALTHLOAD2  83  2  5  1  20
  19. action ALTHLOAD3  93  2  5  1  20
  20. action ALTHDIE   104  7  1  1  20
  21. action ALTHDEAD  110  1  1  1  20
  22.  
  23.  
  24. // Define movements
  25. move LTHWALKVEL    30
  26. move LTHRUNVEL     80
  27. move LTHDODGEVEL  200
  28. move LTHSTOP
  29.  
  30. // Define AI states
  31. ai AILTHHUNT    ALTHWALK    LTHWALKVEL  seekplayer
  32. ai AILTHATTACK  ALTHWALK    LTHWALKVEL  faceplayer
  33. ai AILTHDODGE   ALTHSTRAFE  LTHDODGEVEL dodgebullet geth
  34. // ai AILTHFEAR    ALTHRUN     LTHRUNVEL   fleeenemy dodgebullet
  35. ai AILTHLOAD    ALTHLOAD1   LTHSTOP
  36. ai AILTHSTRAFE  ALTHSTRAFE  LTHSTOP     faceplayer
  37. ai AILTHSTRAFEL ALTHSTRAFE  LTHSTOP     faceplayer
  38. ai AILTHSTRAFER ALTHSTRAFE  LTHSTOP     faceplayer
  39. ai AILTHDIE     ALTHDIE     LTHSTOP
  40. ai AILTHDEAD    ALTHDEAD    LTHSTOP
  41.  
  42. // States (subroutines) ******************************
  43. state lthload
  44.   ifaction ALTHLOAD1
  45.   {
  46.     ifactioncount 1
  47.       action ALTHLOAD2
  48.   }
  49.   else ifaction ALTHLOAD2
  50.   {
  51.     ifactioncount 10
  52.       action ALTHLOAD3
  53.   }
  54.   else ifaction ALTHLOAD3
  55.   {
  56.     ifactioncount 2
  57.     {
  58.       ifrnd 128
  59.       {
  60.         ifcansee
  61.           ai AILTHSTRAFE
  62.         else
  63.           ai AILTHHUNT
  64.       }
  65.       else
  66.         ai AILTHHUNT
  67.     }
  68.   }
  69. ends
  70.  
  71. state lthattack
  72.   ifcount 5
  73.   {
  74.     ifcount 7
  75.     {
  76.       ifcount 13
  77.       {
  78.         ifcount 15
  79.           resetcount
  80.         else ifcount 14
  81.         {
  82.           shoot RIFLE
  83.           sound CASUL_FIRE
  84.         }
  85.       }
  86.       else ifcount 12
  87.       {
  88.         shoot RIFLE
  89.         sound CASUL_FIRE
  90.       }
  91.     }
  92.     else ifcount 6
  93.     {
  94.       shoot RIFLE
  95.       sound CASUL_FIRE
  96.     }
  97.   }
  98.   else ifcount 4
  99.   {
  100.     shoot RIFLE
  101.     sound CASUL_FIRE
  102.   }
  103. ends
  104.  
  105. /*
  106. state lthfear
  107.   ifcansee
  108.     nullop
  109.   else
  110.   {
  111.     // When the Sheriff can't see you then reload him up on health.
  112.     ifactioncount 20
  113.     {
  114.       addstrength 5
  115.       resetactioncount
  116.     }
  117.   }
  118.  
  119.   // When the Sheriff has enough health, he then reloads his guns,
  120.   // and comes after you.
  121.   ifactorhealthg 100
  122.     ai AILTHLOAD
  123. ends
  124. */
  125.  
  126. state lthdeath
  127.   ifactioncount 7
  128.   {
  129.     ifrnd 64
  130.       spawn BLOODPOOL
  131.     state bf
  132.     iffloordistl 8
  133.       sound THUD
  134.     ai AILTHDEAD
  135.   }
  136. ends
  137.  
  138. state lthsndrecog
  139.   ifrnd 51
  140.     soundonce SF_THLAW
  141.   else ifrnd 64
  142.     soundonce SF_TLAW2
  143.   else ifrnd 85
  144.     soundonce SF_GETYA
  145.   else ifrnd 128
  146.     soundonce SF_ATTN
  147.   else
  148.     soundonce SF_NAME
  149. ends
  150.  
  151. state lthsndload
  152.   ifrnd 85
  153.     soundonce SF_RLOAD
  154.   else ifrnd 128
  155.     soundonce SF_RLOD2
  156.   else
  157.     state lthsndrecog
  158. ends
  159.  
  160. state lthsnddie
  161.   ifrnd 85
  162.     soundonce SF_DETH1
  163.   else ifrnd 128
  164.     soundonce SF_DETH2
  165.   else
  166.     soundonce SF_DETH3
  167. ends
  168.  
  169. state lthsndpain
  170.   ifrnd 85
  171.     soundonce SF_PAIN1
  172.   else ifrnd 128
  173.     soundonce SF_PAIN2
  174.   else
  175.     soundonce SF_PAIN3
  176. ends
  177.  
  178. state lthsndambient
  179.   ifspritepal 0
  180.   {
  181.     ifrnd 21
  182.       soundonce SF_ATTN
  183.     else ifrnd 23
  184.       soundonce SF_FREZ2
  185.     else ifrnd 26
  186.       soundonce SF_GETYA
  187.     else ifrnd 28
  188.       soundonce SF_HANDS
  189.     else ifrnd 32
  190.       soundonce SF_HEY
  191.     else ifrnd 36
  192.       soundonce SF_HOLD
  193.     else ifrnd 43
  194.       soundonce SF_LAFF1
  195.     else ifrnd 51
  196.       soundonce SF_NAME
  197.     else ifrnd 64
  198.       soundonce SF_OVER
  199.     else ifrnd 85
  200.       soundonce SF_SHOOT
  201.     else ifrnd 128
  202.       soundonce SF_THLAW
  203.     else
  204.       soundonce SF_TLAW2
  205.   }
  206. ends
  207.  
  208. // Actors ********************************************
  209. // actor LTHSTAYPUT LTHSTRENGTH ai AILTHHUNT cactor LTH enda
  210.  
  211. // Main code for Sheriff.
  212. actor LTH LTHSTRENGTH ALTHWALK
  213.   fall
  214.  
  215.   ifai 0
  216.   {
  217.     cstator 257
  218.     ai AILTHHUNT
  219.     state lthsndrecog
  220.   }
  221.  
  222. /*
  223.   ifai AILTHFEAR                  // Fear the player, he almost killd euu *****
  224.   {
  225.     state lthfear
  226.     state lthattack
  227.   }
  228.   else
  229. */
  230.   ifai AILTHHUNT                  // Hunt down the player and kill 'im ********
  231.   {
  232.     ifcansee
  233.       ifcanshoottarget
  234.         ai AILTHATTACK
  235.   }
  236.   else ifai AILTHATTACK           // Hey the hunter can now see the player ****
  237.   {
  238.     ifcount 2
  239.       nullop
  240.     else ifcount 1
  241.     {
  242.       ifrnd LTHSNDAMB
  243.       {
  244.         ifdead
  245.           nullop
  246.         else
  247.         {
  248.           ifrnd 64
  249.             state lthsndambient
  250.         }
  251.       }
  252.     }
  253.  
  254.     state lthattack
  255.     ifactioncount 12
  256.       ai AILTHLOAD
  257.   }
  258.   else ifai AILTHSTRAFE           // Select strafe ****************************
  259.   {
  260.     ifrnd 128
  261.       ai AILTHSTRAFEL
  262.     else
  263.       ai AILTHSTRAFER
  264.   }
  265.   else ifai AILTHSTRAFEL          // Strafe left ******************************
  266.   {
  267.     ifcount 2
  268.       nullop
  269.     else ifcount 1
  270.     {
  271.       ifrnd LTHSNDAMB
  272.       {
  273.         ifdead
  274.           nullop
  275.         else
  276.         {
  277.           ifrnd 64
  278.             state lthsndambient
  279.         }
  280.       }
  281.     }
  282.  
  283.     strafeleft
  284.     state lthattack
  285.     ifactioncount 12
  286.       ai AILTHLOAD
  287.   }
  288.   else ifai AILTHSTRAFER          // Strafe right *****************************
  289.   {
  290.     ifcount 2
  291.       nullop
  292.     else ifcount 1
  293.     {
  294.       ifrnd LTHSNDAMB
  295.       {
  296.         ifdead
  297.           nullop
  298.         else
  299.         {
  300.           ifrnd 64
  301.             state lthsndambient
  302.         }
  303.       }
  304.     }
  305.  
  306.     straferight
  307.     state lthattack
  308.     ifactioncount 12
  309.       ai AILTHLOAD
  310.   }
  311.   else ifai AILTHLOAD             // Load up dem guns *************************
  312.   {
  313.     ifcount 2
  314.       nullop
  315.     else ifcount 1
  316.       state lthsndload
  317.     state lthload
  318.   }
  319.   else ifai AILTHDODGE            // Dodge incomming **************************
  320.   {
  321.     ifactioncount 4
  322.       ifrnd 128
  323.         ai AILTHHUNT
  324.       else
  325.         ai AILTHLOAD
  326.   }
  327.   else ifai AILTHDIE              // Do the die thing *************************
  328.   {
  329.     ifcount 2
  330.       nullop
  331.     else ifcount 1
  332.       state lthsnddie
  333.  
  334.     ifactioncount 7
  335.     {
  336.       ifrnd 64
  337.         spawn BLOODPOOL
  338.       state bf
  339.       iffloordistl 8
  340.         sound THUD
  341.       ai AILTHDEAD
  342.     }
  343.   }
  344.   else ifai AILTHDEAD             // Do the not sentient thing ****************
  345.   {
  346.     cstat 0
  347.     strength 0
  348.     ifhitweapon
  349.       ifwasweapon RADIUSEXPLOSION
  350.       {
  351.         spawn AMMO
  352.         spawn AMMO
  353.         spawn FIRSTGUNSPRITE
  354.         spawn FIRSTGUNSPRITE
  355.         move LTHSTOP
  356.         addkills 1
  357.         sound SQUISHED
  358.         guts JIBS2 1
  359.         guts JIBS3 2
  360.         guts JIBS4 3
  361.         guts JIBS5 2
  362.         guts JIBS6 3
  363.         state jib_sounds
  364.         killit
  365.       }
  366.     break
  367.   }
  368.  
  369.   ifhitweapon
  370.   {
  371.     spawn BLOOD
  372.     ifdead
  373.     {
  374.       ifai AILTHDEAD
  375.         break
  376.       else ifai AILTHDIE
  377.         nullop
  378.       else
  379.         ai AILTHDIE
  380.     }
  381.     else
  382.     {
  383.       // You hit the Sheriff
  384.       ifwasweapon CROWBAR
  385.       {
  386.         ifrnd 32
  387.           spawn AMMO
  388.       }
  389.  
  390.       // You made the Sheriff angry, and he is going to hunt you down
  391.       ifai AILTHLOAD          // Allow the coger to load unhindered
  392.         nullop
  393.       else ifai AILTHDODGE    // Allow the geezer to continue to dodge
  394.         nullop
  395.       else
  396.         ai AILTHHUNT          // Hey! He's commin' after you
  397. /*
  398.       // The Sheriff's health is low, so fear the player
  399.       ifai AILTHFEAR
  400.         nullop    // Don't retrigger fear
  401.       else ifactorhealthl 50
  402.       {
  403.         ai AILTHFEAR
  404.       }
  405. */
  406.       ifrnd 64
  407.         state lthsndpain
  408.     }
  409.   }
  410.  
  411.   ifbulletnear
  412.   {
  413.     ifdead
  414.       nullop
  415.     else ifai AILTHLOAD
  416.       nullop
  417.     else
  418.     {
  419.       ifrnd 24
  420.         ai AILTHDODGE
  421.     }
  422.   }
  423.  
  424. enda
  425.  
  426.  
  427.