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 >
Wrap
Text File
|
2000-02-23
|
4KB
|
205 lines
// ZZ> This function makes an item fall to the floor when spawned
IfSpawned
GetContent
SetState
IfStateIs0
GetState
Else
// Start sprung
tmpargument = 2
SetState
tmpargument = ACTIONUA
DoActionOverride
KeepAction
MakeCrushValid
MakeAmmoKnown
// Don't activate right away
tmpargument = 100
SetTime
IfCrushed
tmpx = selfx
tmpy = selfy
tmpdistance = selfz
tmpargument = 0
SpawnExactParticle
SpawnExactParticle
SpawnExactParticle
SpawnExactParticle
GoPoof
tmpargument = 1
SendMessageNear
IfDropped
// Unhidden, used state
tmpargument = 2
SetState
tmpargument = ACTIONUA
DoActionOverride
KeepAction
SetTargetToSelf
StopTargetMovement
// Lay a trap
IfUsed
tmpargument = 40
SetReloadTime
tmpx = 0
tmpy = 1
tmpargument = [TECH]
IfTargetHasSkillID
tmpx = 1
tmpargument = [DISA]
IfTargetHasSkillID
tmpx = 1
IfXIsEqualToY // Has either [TECH] or [DISA] skill
tmpargument = ACTIONMG
TargetDoAction
// Drop one
tmpx = targetx
tmpy = targety
tmpturn = targetturn
tmpdistance = 30
Compass
tmpdistance = targetz + 15
tmpturn = rand
SpawnCharacterXYZ
// Make the new one have 1 ammo
tmpargument = 1
SetChildAmmo
// Down the ammo
CostAmmo
IfAmmoOut
GoPoof
// Tell the player
tmpargument = 5
SendMessageNear
Else
// Couldn't spawn... Tell player to step back
tmpargument = 10
SendMessageNear
Else
tmpargument = 6
SendMessageNear
// Tell them what they've won...
IfGrabbed
SetTargetToWhoeverIsHolding
IfStateIs0
// Grabbing an active trap
tmpx = 0
tmpy = 1
tmpargument = [TECH]
IfTargetHasSkillID
tmpx = 1
tmpargument = [DISA]
IfTargetHasSkillID
tmpx = 1
IfXIsEqualToY // Has either [TECH] or [DISA] skill
tmpargument = 7
SendMessageNear
tmpargument = 1
SetState
Else
IfTargetIsAPlayer
tmpargument = 8
SendMessageNear
DetachFromHolder
tmpargument = 2
SetState
tmpargument = ACTIONUA
DoActionOverride
tmpargument = rand & 1023 + 1024 // 4-8 damage
DamageTarget
EnchantTarget
StopTargetMovement
SetTargetToSelf
StopTargetMovement
tmpargument = 0
tmpdistance = 22050
PlaySound
Else
UndoEnchant
tmpargument = 9
SendMessageNear
Else
IfTargetIsAPlayer
tmpargument = 0
SendMessageNear
// Hidden state
tmpargument = 1
SetState
IfHitGround // Make a sound
tmpargument = 1 //
tmpdistance = rand & 2047 + 10000 //
PlaySound //
IfNotDropped
tmpargument = 2
SendMessageNear
IfTakenOut
SetTargetToWhoeverIsHolding
IfTargetIsAPlayer
tmpargument = 4
SendMessageNear
IfNotPutAway
tmpargument = 3
SendMessageNear
// See if the trap is sprung
IfTimeOut
tmpargument = 6
SetTime
IfStateIs0
SetTargetToSelf
SetOwnerToTarget
SetTargetToNearestLifeform
SetTargetToLowestTarget
IfTargetIsFlying
GetState // NOP
Else
// Does it have legs?
tmpargument = [XLEG]
IfTargetHasAnyID
// No legs...
GetState // NOP
Else
// Got legs
tmpx = targetdistance
tmpy = 35
IfXIsLessThanY
tmpx = selfz + 10
tmpy = targetz
IfXIsMoreThanY
tmpargument = 2
SetState
tmpargument = ACTIONUA
DoActionOverride
tmpargument = rand & 1023 + 512 // 2-6 damage
DamageTarget
EnchantTarget
StopTargetMovement
tmpargument = 0
tmpdistance = 22050
PlaySound
// All Done
End