home *** CD-ROM | disk | FTP | other *** search
/ Revista CD Expert 42 / CDGAMER42.iso / Egoboo / egoboo.exe / egoboo / modules / gnome.mod / objects / beartrap.obj / script.txt < prev    next >
Text File  |  2000-02-23  |  4KB  |  205 lines

  1. // ZZ> This function makes an item fall to the floor when spawned
  2. IfSpawned
  3.   GetContent
  4.   SetState
  5.   IfStateIs0
  6.     GetState
  7.   Else
  8.     // Start sprung
  9.     tmpargument = 2
  10.     SetState
  11.     tmpargument = ACTIONUA
  12.     DoActionOverride
  13.   KeepAction
  14.   MakeCrushValid
  15.   MakeAmmoKnown
  16.   // Don't activate right away
  17.   tmpargument = 100
  18.   SetTime
  19.  
  20.  
  21. IfCrushed
  22.   tmpx = selfx
  23.   tmpy = selfy
  24.   tmpdistance = selfz
  25.   tmpargument = 0
  26.   SpawnExactParticle
  27.   SpawnExactParticle
  28.   SpawnExactParticle
  29.   SpawnExactParticle
  30.   GoPoof
  31.   tmpargument = 1
  32.   SendMessageNear
  33.  
  34.  
  35. IfDropped
  36.   // Unhidden, used state
  37.   tmpargument = 2
  38.   SetState
  39.   tmpargument = ACTIONUA
  40.   DoActionOverride
  41.   KeepAction
  42.   SetTargetToSelf
  43.   StopTargetMovement
  44.  
  45.  
  46. // Lay a trap
  47. IfUsed
  48.   tmpargument = 40
  49.   SetReloadTime
  50.   tmpx = 0
  51.   tmpy = 1
  52.   tmpargument = [TECH]
  53.   IfTargetHasSkillID
  54.     tmpx = 1
  55.   tmpargument = [DISA]
  56.   IfTargetHasSkillID
  57.     tmpx = 1
  58.   IfXIsEqualToY  // Has either [TECH] or [DISA] skill
  59.     tmpargument = ACTIONMG
  60.     TargetDoAction
  61.  
  62.     // Drop one
  63.     tmpx = targetx
  64.     tmpy = targety
  65.     tmpturn = targetturn
  66.     tmpdistance = 30
  67.     Compass
  68.     tmpdistance = targetz + 15
  69.     tmpturn = rand
  70.     SpawnCharacterXYZ
  71.       // Make the new one have 1 ammo
  72.       tmpargument = 1
  73.       SetChildAmmo
  74.  
  75.  
  76.       // Down the ammo
  77.       CostAmmo
  78.       IfAmmoOut
  79.         GoPoof
  80.  
  81.       // Tell the player
  82.       tmpargument = 5
  83.       SendMessageNear
  84.     Else
  85.       // Couldn't spawn...  Tell player to step back
  86.       tmpargument = 10
  87.       SendMessageNear
  88.   Else
  89.     tmpargument = 6
  90.     SendMessageNear
  91.  
  92.  
  93. // Tell them what they've won...
  94. IfGrabbed
  95.   SetTargetToWhoeverIsHolding
  96.   IfStateIs0
  97.     // Grabbing an active trap
  98.     tmpx = 0
  99.     tmpy = 1
  100.     tmpargument = [TECH]
  101.     IfTargetHasSkillID
  102.       tmpx = 1
  103.     tmpargument = [DISA]
  104.     IfTargetHasSkillID
  105.       tmpx = 1
  106.     IfXIsEqualToY  // Has either [TECH] or [DISA] skill
  107.       tmpargument = 7
  108.       SendMessageNear
  109.       tmpargument = 1
  110.       SetState
  111.     Else
  112.       IfTargetIsAPlayer
  113.         tmpargument = 8
  114.         SendMessageNear
  115.       DetachFromHolder
  116.       tmpargument = 2
  117.       SetState
  118.       tmpargument = ACTIONUA
  119.       DoActionOverride
  120.       tmpargument = rand & 1023 + 1024 // 4-8 damage
  121.       DamageTarget
  122.       EnchantTarget
  123.       StopTargetMovement
  124.       SetTargetToSelf
  125.       StopTargetMovement
  126.       tmpargument = 0
  127.       tmpdistance = 22050
  128.       PlaySound
  129.   Else
  130.     UndoEnchant
  131.       tmpargument = 9
  132.       SendMessageNear
  133.     Else
  134.       IfTargetIsAPlayer
  135.         tmpargument = 0
  136.         SendMessageNear
  137.     // Hidden state
  138.     tmpargument = 1
  139.     SetState
  140.  
  141.  
  142. IfHitGround                // Make a sound
  143.   tmpargument = 1              //
  144.   tmpdistance = rand & 2047 + 10000      //
  145.   PlaySound                  //
  146.  
  147.  
  148. IfNotDropped
  149.   tmpargument = 2
  150.   SendMessageNear
  151.  
  152.  
  153. IfTakenOut
  154.   SetTargetToWhoeverIsHolding
  155.   IfTargetIsAPlayer
  156.     tmpargument = 4
  157.     SendMessageNear
  158.  
  159.  
  160. IfNotPutAway
  161.   tmpargument = 3
  162.   SendMessageNear
  163.  
  164.  
  165. // See if the trap is sprung
  166. IfTimeOut
  167.   tmpargument = 6
  168.   SetTime
  169.   IfStateIs0
  170.     SetTargetToSelf
  171.     SetOwnerToTarget
  172.     SetTargetToNearestLifeform
  173.       SetTargetToLowestTarget
  174.       IfTargetIsFlying
  175.         GetState  // NOP
  176.       Else
  177.         // Does it have legs?
  178.         tmpargument = [XLEG]
  179.         IfTargetHasAnyID
  180.           // No legs...
  181.           GetState  // NOP
  182.         Else
  183.           // Got legs
  184.           tmpx = targetdistance
  185.           tmpy = 35
  186.           IfXIsLessThanY
  187.             tmpx = selfz + 10
  188.             tmpy = targetz
  189.             IfXIsMoreThanY
  190.               tmpargument = 2
  191.               SetState
  192.               tmpargument = ACTIONUA
  193.               DoActionOverride
  194.               tmpargument = rand & 1023 + 512 // 2-6 damage
  195.               DamageTarget
  196.               EnchantTarget
  197.               StopTargetMovement
  198.               tmpargument = 0
  199.               tmpdistance = 22050
  200.               PlaySound
  201.  
  202.  
  203. // All Done
  204. End
  205.