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

  1. // Junkyard Maddog
  2. // By Arthur Attila Donavan
  3.  
  4. // Define actions
  5. action ADOG_LEAP1    -200  3  5  1  10
  6. action ADOG_LEAP2    -190  4  5  1  10
  7. action ADOG_RUN         0  7  5  1   5
  8. action ADOG_DIE1       35  2  1  1  10
  9. action ADOG_DIE2       37  7  1  1  10
  10. action ADOG_DEAD       43  1  1  1  20
  11. action ADOG_BARK       45  7  5  1  15
  12.  
  13. // Define movements
  14. move DOG_RUNVEL 200
  15. move DOG_JUMPVEL 100
  16. move DOG_DIEVEL -120
  17. move DOG_STOP
  18.  
  19. // Define AI states
  20. ai AIDOG_LEAP1   ADOG_LEAP1    DOG_JUMPVEL jumptoplayer
  21. ai AIDOG_LEAP2   ADOG_LEAP2    DOG_JUMPVEL faceplayer // geth getv
  22. ai AIDOG_RUN     ADOG_RUN      DOG_RUNVEL  randomangle
  23. ai AIDOG_ATTACK  ADOG_RUN      DOG_RUNVEL  faceplayerslow
  24. ai AIDOG_HUNT    ADOG_RUN      DOG_RUNVEL  seekplayer
  25. ai AIDOG_PAIN    ADOG_RUN      DOG_RUNVEL  fleeenemy
  26. ai AIDOG_DIE1    ADOG_DIE1     DOG_STOP
  27. ai AIDOG_DIE2    ADOG_DIE2     DOG_DIEVEL  faceplayer
  28. ai AIDOG_DEAD    ADOG_DEAD     DOG_STOP    faceplayer
  29. ai AIDOG_BARK    ADOG_BARK     DOG_STOP    faceplayer
  30.  
  31. // States (subroutines) ******************************
  32. state dog_bark_snd
  33. {
  34.   ifrnd 128
  35.     soundonce DG_BARK1
  36.   else
  37.     soundonce DG_BARK2
  38. }
  39. ends
  40.  
  41. // Actors ********************************************
  42. actor DOGRUN 200 ADOG_RUN
  43.   fall
  44.  
  45.   ifai 0
  46.   {
  47.     cstator 257
  48.     ai AIDOG_RUN
  49.   }
  50.  
  51.   ifai AIDOG_RUN
  52.   {
  53.     ifcansee
  54.       ai AIDOG_ATTACK
  55.   }
  56.   else ifai AIDOG_ATTACK
  57.   {
  58.     ifrnd 4
  59.     {
  60.       ifrnd 128
  61.       {
  62.         state dog_bark_snd
  63.       }
  64.       else
  65.       {
  66.         ifrnd 128
  67.           soundonce DG_GRWL1
  68.         else
  69.           soundonce DG_GRWL2
  70.       }
  71.     }
  72.     ifcansee
  73.     {
  74.       ifcanshoottarget
  75.       {
  76.         ifpdistl 800
  77.           ai AIDOG_BARK
  78.         else ifpdistl 1700
  79.         {
  80.           ifai AIDOG_ATTACK
  81.             nullop
  82.           else
  83.             ai AIDOG_ATTACK
  84.         }
  85.         else ifpdistl 1900
  86.           ifrnd 128
  87.             ai AIDOG_LEAP1
  88.       }
  89.     }
  90.     else ifgapzl 32
  91.     {
  92.       ai AIDOG_HUNT
  93.     }
  94.     else
  95.     {
  96.       ai AIDOG_LEAP1
  97.     }
  98.   }
  99.   else ifai AIDOG_HUNT
  100.   {
  101.     ifcansee
  102.       ai AIDOG_ATTACK
  103.   }
  104.   else ifai AIDOG_LEAP1
  105.   {
  106.     ifcount 2
  107.       nullop
  108.     else ifcount 1
  109.     {
  110.       ifrnd 128
  111.         soundonce DG_LUNGE
  112.       else
  113.         state dog_bark_snd
  114.     }
  115.     ifactioncount 3
  116.       ai AIDOG_LEAP2
  117.   }
  118.   else ifai AIDOG_LEAP2
  119.   {
  120.     ifactioncount 4
  121.       ai AIDOG_RUN
  122.     ifpdistl 1000
  123.     {
  124.       move DOG_STOP
  125.       ifrnd 32
  126.       {
  127.         addphealth -10
  128.         state lnsndpain
  129.       }
  130.     }
  131.   }
  132.   else ifai AIDOG_BARK
  133.   {
  134.     ifcount 5
  135.       ifcount 10
  136.         nullop
  137.       else ifcount 9
  138.         state dog_bark_snd
  139.     else ifcount 4
  140.       state dog_bark_snd
  141.     ifactioncount 6
  142.     {
  143.       ifactioncount 7
  144.         ai AIDOG_ATTACK
  145.     }
  146.     else ifactioncount 5
  147.     {
  148.       ifrnd 128
  149.       {
  150.         addphealth -10
  151.         state lnsndpain
  152.       }
  153.     }
  154.  
  155.   }
  156.   else ifai AIDOG_PAIN
  157.   {
  158.     ifcount 2
  159.       nullop
  160.     else ifcount 1
  161.       ifrnd 128
  162.         soundonce DG_YELP
  163.     ifactioncount 5
  164.     {
  165.       ifrnd 32
  166.       {
  167.         ifcansee
  168.         {
  169.           ai AIDOG_ATTACK
  170.         }
  171.       }
  172.     }
  173.   }
  174.   else ifai AIDOG_DIE1
  175.   {
  176.     ifactioncount 2
  177.     {
  178.       ai AIDOG_DIE2
  179.       ifrnd 128
  180.         soundonce DG_DIE
  181.     }
  182.   }
  183.   else ifai AIDOG_DIE2
  184.   {
  185.     ifactioncount 7
  186.     {
  187.       ifrnd 64
  188.         spawn BLOODPOOL
  189.       state bf
  190.       iffloordistl 8
  191.         sound THUD
  192.       ai AIDOG_DEAD
  193.     }
  194.   }
  195.   else ifai AIDOG_DEAD
  196.   {
  197.     cstat 0
  198.     strength 0
  199.     ifhitweapon
  200.       ifwasweapon RADIUSEXPLOSION
  201.       {
  202.         move DOG_STOP
  203.         addkills 1
  204.         sound SQUISHED
  205.         guts JIBS2 1
  206.         guts JIBS3 2
  207.         guts JIBS4 3
  208.         guts JIBS5 2
  209.         guts JIBS6 3
  210.         killit
  211.       }
  212.   }
  213.  
  214.   ifhitweapon
  215.   {
  216.     state random_wall_jibs
  217.     spawn BLOOD
  218.     ifdead
  219.     {
  220.       ifai AIDOG_DEAD
  221.         nullop
  222.       else ifai AIDOG_DIE1
  223.         nullop
  224.       else ifai AIDOG_DIE2
  225.         nullop
  226.       else
  227.         ai AIDOG_DIE1
  228.     }
  229.     else
  230.     {
  231.       ifai AIDOG_LEAP1
  232.         nullop
  233.       else ifai AIDOG_LEAP2
  234.         nullop
  235.       else ifai AIDOG_PAIN
  236.         nullop
  237.       else
  238.       {
  239.         ifrnd 128
  240.           ai AIDOG_PAIN
  241.       }
  242.     }
  243.   }
  244. enda
  245.  
  246.