home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Revista CD Expert 42
/
CDGAMER42.iso
/
Egoboo
/
egoboo.exe
/
egoboo
/
modules
/
palshad.mod
/
objects
/
stalker.obj
/
script.txt
< prev
next >
Wrap
Text File
|
2000-05-30
|
3KB
|
107 lines
// ZZ> This function makes the character wanders around its enemy
IfSpawned
EnchantTarget // Target is self...
IfKilled // This reduces the height of the char
tmpargument = 0 //
SendMessageNear //
tmpargument = 40 //
SetBumpSize //
tmpargument = 45 //
SetBumpHeight //
tmpargument = 65535 // Drop money
DropMoney //
tmpargument = 2 //
tmpdistance = rand & 2047 + 6000 //
PlaySound //
IfAttacked // Counter attack
SetTargetToWhoeverAttacked //
IfTargetIsOnHatedTeam //
tmpargument = 1 // Enter combat mode
SetState //
Else //
SetTargetToOldTarget //
tmpargument = rand & 1 //
tmpdistance = rand & 2047 + 6000 //
PlaySound //
IfTargetKilled // Return to follow mode
tmpargument = 0 //
SetState //
IfBumped // Attack whoever it bumped
SetTargetToWhoeverBumped //
IfTargetIsOnHatedTeam // Make sure it's an enemy
IfHoldingMeleeWeapon // Got Weapon?
PressLatchButton //
Else // Scooch around friendly
tmpx = rand & 255 + targetx - 128 //
tmpy = rand & 255 + targety - 128 //
ClearWaypoints //
AddWaypoint //
SetTargetToOldTarget //
IfTimeOut // This is done every so often
SetTargetToWideEnemy // Look for enemies
tmpargument = 1 // Enter combat mode
SetState //
IfStateIs0 // State 0 ( Wander )
GetContent
tmpx = tmpargument
tmpy = 0
IfXIsEqualToY
tmpx = rand & 1023 - 512 + selfx //
tmpy = rand & 1023 - 512 + selfy //
Else
// Guard starting area
tmpx = rand & 511 - 256 + selfspawnx
tmpy = rand & 511 - 256 + selfspawny
Else // State 1 ( Combat )
tmpx = targetdistance // Too far?
tmpy = 1400 //
IfXIsMoreThanY //
tmpargument = 0
SetState // Revert to follow mode
tmpx = selfx
tmpy = selfy
Else
tmpy = 150
IfXIsLessThanY
// Run away
tmpx = targetx
tmpy = targety
tmpturn = targetturnto + 32768
tmpdistance = 800
Compass
Else
tmpy = 0 // Unarmed...
IfHoldingMeleeWeapon // Got Weapon?
tmpy = 350
Else
IfHoldingRangedWeapon
tmpy = 800
IfXIsLessThanY
tmpx = 800
IfXIsEqualToY
// Ranged weapon, so lead the target
tmpx = targetspeedx * tmpx > 4 + targetx
tmpy = targetspeedy * tmpx > 4 + targety
IfFacingTarget
PressLatchButton
Else
// Melee weapon, so run around the target...
tmpx = rand & 511 - 256 + targetx
tmpy = rand & 511 - 256 + targety
IfFacingTarget
PressLatchButton
tmpx = targetx
tmpy = targety
Else
// Not close enough, so run at the target
tmpx = targetx
tmpy = targety
tmpturn = targetturnto
tmpdistance = 400
Compass
ClearWaypoints //
AddWaypoint //
tmpargument = rand & 15 + 10 // Wait a while and try again
SetTime //
End // Finished with this character