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

  1.  
  2.  
  3. // Hulk Guard
  4.  
  5. action AHULKSTAND        0  1  1  1  40
  6. action AHULKWALKING    -41  8  5  1  8
  7. action AHULKRUNNING    -41  8  5  1  8
  8. action AHULKWHACK       21  6  5  1  20
  9. action AHULKDYING       89  9  1  1  15
  10. action AHULKFLINTCH     73  3  5  1  11
  11. action AHULKLYINGDEAD   97  1  1
  12. action AHULKSHOOT        0  4  5  1  40
  13. action AHULKLOB         52  6  5  1  20
  14.  
  15. move HULKWALKVEL  160
  16. move HULKRUNVEL   160
  17. move HULKSTOP
  18.  
  19. ai AIHULKGETENEMY     AHULKWALKING    HULKWALKVEL seekplayer
  20. ai AIHULKCHARGEENEMY  AHULKRUNNING    HULKRUNVEL  seekplayer
  21. ai AIHULKWHACKENEMY   AHULKWHACK      HULKSTOP    faceplayerslow
  22. ai AIHULKDYING        AHULKDYING      HULKSTOP    faceplayer
  23. // ai AIHULKSHOOT        AHULKSHOOT      HULKSTOP    faceplayersmart
  24. ai AIHULKSHOOT        AHULKSHOOT      HULKSTOP    faceplayer
  25. ai AIHULKLOB          AHULKLOB        HULKSTOP    faceplayer
  26. // ai AIHULKFLINTCH      AHULKFLINTCH    HULKSTOP    geth
  27. ai AIHULKFLINTCH      AHULKFLINTCH    HULKSTOP    faceplayer
  28.  
  29. state hulk_body_jibs
  30.   guts HULKJIBA 2
  31.   guts HULKJIBB 2
  32.   guts HULKJIBC 1
  33.   spawn BLOODPOOL
  34. ends
  35.  
  36. state hulkseekstate
  37.  
  38.   // If Hulk is allowed to leave his home sector
  39.   ifactornotstayput
  40.   {
  41.     // if player is alive, and you can see him,
  42.     //  and distance < 1596, change ai to whack him
  43.     ifp palive
  44.       ifcansee
  45.         ifcanshoottarget
  46.           ifpdistl 1596
  47.           {
  48.             ai AIHULKWHACKENEMY
  49.             break
  50.           }
  51.  
  52.     // if current hulk ai is charging enemy
  53.     ifai AIHULKCHARGEENEMY
  54.     {
  55.       // if player is alive, and you can see him,
  56.       //  and player distance < 1596, switch ai to whack him
  57.       ifp palive
  58.         ifcansee
  59.           ifcanshoottarget
  60.             ifpdistl 1596
  61.             {
  62.               ai AIHULKWHACKENEMY
  63.               break
  64.             }
  65.  
  66.       // Make Hulk walk around some before he shoots
  67.       ifcount 18
  68.       {
  69.          // NN out of 256 time and player is alive and hulk can
  70.          // see player, switch ai to shoot
  71.          ifrnd 32
  72.              ifp palive
  73.                ifcansee
  74.                  ifcanshoottarget
  75.                  {
  76.                    ai AIHULKSHOOT
  77.                    break
  78.                  }
  79.  
  80.          // NN out of 256 times, and player is alive and hulk can
  81.          // see player, switch ai to shoot
  82.          ifrnd 16
  83.              ifp palive
  84.                ifcansee
  85.                  ifcanshoottarget
  86.                  {
  87.                    ai AIHULKLOB
  88.                    break
  89.                  }
  90.       }  // end ifcount
  91.  
  92.     }
  93.     // if ai NOT charge, and distance > 4096
  94.     // switch ai so IS charge
  95.     else ifpdistg 4096
  96.     {
  97.        ai AIHULKCHARGEENEMY
  98.        break
  99.     }
  100.  
  101.  
  102.     // NN out of 256 times, if we get down here in
  103.     // the code and we're not moving
  104.     // try opening a door to find player
  105.     ifrnd 4
  106.       ifnotmoving
  107.         operate
  108.   }
  109.   // Else Hulk confined to home sector
  110.   else
  111.   {
  112.     // if count = 16, and player alive, and distance < 1596,
  113.     // and can see player, switch ai to whack
  114.     ifactioncount 16
  115.     {
  116.       ifp palive
  117.         ifpdistl 1596
  118.           ifcansee
  119.           {
  120.             ai AIHULKWHACKENEMY
  121.             break
  122.           }
  123.     }
  124.     // Make Hulk walk around some before he shoots
  125.     ifcount 18
  126.     {
  127.        // NN out of 256 time and player is alive and hulk can
  128.        // see player, switch ai to shoot
  129.        ifrnd 32
  130.            ifp palive
  131.              ifcansee
  132.                ifcanshoottarget
  133.                {
  134.                  ai AIHULKSHOOT
  135.                  break
  136.                }
  137.  
  138.        // NN out of 256 times, and player is alive and hulk can
  139.        // see player, switch ai to shoot
  140.        ifrnd 16
  141.            ifp palive
  142.              ifcansee
  143.                ifcanshoottarget
  144.                {
  145.                  ai AIHULKLOB
  146.                  break
  147.                }
  148.     }  // end ifcount
  149.  
  150.     // if count > 16, 32 out of 256 times, move hulk at a
  151.     // random angle with current horizontal movement
  152.     ifcount 16
  153.       ifrnd 32
  154.         move HULKWALKVEL randomangle geth
  155.   }
  156.  
  157. // end hulkseekstate
  158. ends
  159.  
  160. state hulkwhackstate
  161.   // At count 19, ifpdist > NN AIHULKGETENEMY
  162.   // else whack'em
  163.   ifcount 19
  164.     nullop
  165.   else ifcount 18
  166.   {
  167.     ifpdistl 1596 {
  168.        palfrom 16 16
  169.       addphealth HULKWHACKAMOUNT
  170.       sound CROWUSH
  171.       sound LNRD_GRUNT
  172.       wackplayer
  173.       resetcount
  174.     }
  175.     else {
  176.       ai AIHULKSHOOT
  177.     }
  178.   }
  179.  
  180.  
  181.   // At count 15, NN out of 256 sound ATTACK
  182.   // ifcount 8
  183.   //     nullop
  184.   // else ifcount 7
  185.   // {
  186.   //    ifrnd 8
  187.   //      soundonce HULK_ATTACK
  188.   // }
  189. // end hulkwhackstate
  190. ends
  191.  
  192. state checkhulkhit
  193.   spawn BLOOD
  194.   ifdead
  195.   {
  196.     ifwasweapon CROSSBOW
  197.     {
  198.       sound SQUISHED
  199.       state hulk_body_jibs
  200.       state standard_jibs
  201.       spawn ALIENARMGUN
  202.       killit
  203.     }
  204.     else
  205.       ifwasweapon RADIUSEXPLOSION
  206.     {
  207.       sound SQUISHED
  208.       state hulk_body_jibs
  209.       state standard_jibs
  210.       spawn ALIENARMGUN
  211.       killit
  212.     }
  213.     else
  214.     {
  215.       // if wasn't blown up, leave body as
  216.       // solid so can be blown up before it
  217.       // respawns
  218.       ai AIHULKDYING
  219.       ifrnd 64
  220.         spawn BLOODPOOL
  221.       sound LN_BITCH
  222.     }
  223.     sound HULK_DYING
  224.   }
  225.   else
  226.   {
  227.     sound HULK_PAIN
  228.     state random_wall_jibs
  229.     ifrnd 32
  230.       ai AIHULKFLINTCH
  231.   }
  232. ends
  233.  
  234. // state hulkjumpstate
  235. //  ifaction AHULKFALL
  236. //  {
  237. //    iffloordistl 16
  238. //      ai AIHULKGETENEMY
  239. //  }
  240. //  else
  241. //    ifcount 32
  242. //      action AHULKFALL
  243. // ends
  244.  
  245. state hulkdyingstate
  246.   ifactioncount 7
  247.   {
  248.     iffloordistl 8
  249.       sound THUD
  250.     move HULKSTOP
  251.     action AHULKLYINGDEAD
  252.   }
  253. ends
  254.  
  255. state hulkdodgestate
  256.   ifactioncount 13
  257.     ai AIHULKGETENEMY
  258. ends
  259.  
  260. state hulklobbedstate
  261.  
  262.     // ifcount 15
  263.     ifactioncount 5 {
  264.       ai AIHULKGETENEMY
  265.     }
  266.     else ifcount 14
  267.     {
  268.       // sound BOS1_ATTACK2
  269.       shoot MORTER
  270.       resetcount
  271.     }
  272.     ifcount 5
  273.       nullop
  274.     else ifcount 4
  275.       ifrnd 16
  276.         sound HULK_SPIT
  277. ends
  278.  
  279. state hulkshootstate
  280.     ifactioncount 5
  281.     {
  282.       ai AIHULKGETENEMY
  283.     }
  284.     else ifcount 12
  285.     {
  286.       shoot FIRELASER
  287.       sound LASERH
  288.       resetcount
  289.     }
  290.     else ifcount 5
  291.       nullop
  292.     else ifcount 4
  293.       ifrnd 16
  294.         sound HULK_SPIT
  295. ends
  296.  
  297. actor HULKSTAYPUT HULKSTRENGTH
  298.         ai AIHULKGETENEMY
  299.         cstator 257
  300.         cactor HULK
  301. enda
  302.  
  303.  
  304. actor HULK HULKSTRENGTH AHULKSTAND
  305.   fall
  306.   state checksquished
  307.   ifai 0
  308.   {
  309.     cstator 257
  310.     ai AIHULKGETENEMY
  311.   }
  312.   else ifaction AHULKLYINGDEAD
  313.   {
  314.     strength 0
  315.     ifhitweapon
  316.       ifwasweapon RADIUSEXPLOSION
  317.       {
  318.         sound SQUISHED
  319.         state standard_jibs
  320.         spawn ALIENARMGUN
  321.         killit
  322.         break
  323.       }
  324.  
  325.     ifcount RESPAWNACTORTIME
  326.     {
  327.       spawn TRANSPORTERSTAR
  328.       cstat 257
  329.       strength HULKRESPAWNEDSTRENGTH
  330.       ai AIHULKGETENEMY
  331.     }
  332.     break
  333.   }
  334.   else
  335.   {
  336.     fall
  337.     ifai AIHULKGETENEMY
  338.     {
  339.       state hulkseekstate
  340.     }
  341.     else ifai AIHULKCHARGEENEMY
  342.     {
  343.       state hulkseekstate
  344.     }
  345.     else ifai AIHULKFLINTCH
  346.     {
  347.       ifcount 10
  348.         ai AIHULKGETENEMY
  349.     }
  350.     else ifai AIHULKWHACKENEMY
  351.     {
  352.         state hulkwhackstate
  353.     }
  354.     else ifai AIHULKDYING
  355.     {
  356.         state hulkdyingstate
  357.     }
  358.     else ifai AIHULKSHOOT
  359.     {
  360.         state hulkshootstate
  361.     }
  362.     else ifai AIHULKLOB
  363.     {
  364.         state hulklobbedstate
  365.     }
  366.   }
  367.  
  368.   ifhitweapon
  369.     state checkhulkhit
  370. enda
  371.  
  372. // End Hulk
  373.  
  374.  
  375.  
  376.