home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Revista CD Expert 42
/
CDGAMER42.iso
/
Egoboo
/
egoboo.exe
/
egoboo
/
modules
/
advent.mod
/
objects
/
healer.obj
/
script.txt
< prev
next >
Wrap
Text File
|
2000-02-27
|
4KB
|
148 lines
// Show the character's location
tmpx = selfx
tmpy = selfy
tmpargument = YELLOW
ShowBlipXY
IfKilled // This reduces the height of the char
tmpargument = 1
tmpdistance = rand & 1023 + 11000
PlaySound
tmpargument = 0 // Last words...
SetState //
IfTargetIsOnSameTeam // Fragged!
tmpargument = 3 //
IfTargetIsSelf // No, just a damage tile
tmpargument = 4 //
SendMessage //
tmpargument = 65535 // Drop money
DropMoney //
tmpargument = 45 //
SetBumpHeight //
IfCalledForHelp // Help others
SetTargetToWhoeverCalledForHelp //
IfTargetIsAlive // Go heal 'em
tmpargument = 2 //
SetState // State 2 ( Helper )
Else // Too late
SetTargetToOldTarget //
IfTimeOut // This is done every so often
tmpargument = 2 // Check state
IfStateIs // State 2 ( Helper )
IfTargetIsHurt // Heal wounded
tmpx = targetdistance //
tmpy = 300 //
IfXIsLessThanY // In Range?
tmpx = 260 //
tmpy = selfmana //
IfXIsLessThanY // Enough to cast?
IfFacingTarget
tmpargument = LATCHLEFT // Left Attack == 1
PressLatchButton //
Else // Do something else
tmpargument = 0 //
SetState //
Else // Switch to follow
tmpargument = 0 //
SetState //
tmpx = targetx //
tmpy = targety //
Else // Find someone to bash
SetTargetToNearbyEnemy //
tmpargument = 1 //
SetState //
tmpargument = 0 //
IfStateIs // State 0 ( Follow )
tmpx = leaderx //
tmpy = leadery //
tmpturn = leaderturn + 49152 // Stand to side
tmpdistance = 100 //
Compass //
tmpargument = 1 //
IfStateIs // State 1 ( Combat )
tmpx = targetdistance // Close enough to attack?
tmpy = 200 //
IfXIsLessThanY //
tmpargument = LATCHRIGHT // Right Attack == 2
PressLatchButton //
tmpy = 700
IfXIsMoreThanY
tmpargument = 0
SetState
tmpx = leaderdistance
IfXIsMoreThanY
tmpargument = 0
SetState
tmpx = targetx // Move towards enemy
tmpy = targety //
tmpturn = targetturnto //
tmpdistance = 200 //
Compass //
ClearWaypoints //
AddWaypoint //
tmpargument = rand & 15 + 15 // Try again later
SetTime //
IfAttacked // Counter attack if not healing
tmpargument = 0 //
IfStateIs //
SetTargetToWhoeverAttacked //
IfTargetIsAlive //
IfTargetIsOnHatedTeam // Go get 'em
tmpargument = 1 //
SetState //
tmpargument = rand & 1 + 2
tmpdistance = rand & 1023 + 11000
PlaySound
IfTargetIsOnSameTeam // Yell at 'em
tmpargument = MESSAGEOUCH //
SendMessageNear //
SetTargetToOldTarget //
tmpargument = 4
tmpdistance = rand & 1023 + 11000
PlaySound
Else // Attacker dead already
SetTargetToOldTarget //
IfBumped // Bumped
SetTargetToWhoeverBumped //
IfTargetIsHurt //
IfTargetIsOnOtherTeam // Revert
SetTargetToOldTarget //
Else // Heal 'em
tmpargument = 2 // State 2 ( Helper )
SetState //
Else // Revert
SetTargetToOldTarget //
tmpx = rand&511+selfx-256 //
tmpy = rand&511+selfy-256 //
ClearWaypoints //
AddWaypoint //
tmpargument = 40 // Try again soon
SetTime //
IfTargetKilled // Mode switch
tmpargument = 0 // Return to follow mode
SetState //
// Heal sound and effect
IfUsed
tmpargument = 0
tmpdistance = 11025
PlayFullSound
tmpargument = 50
SetReloadTime
IfTargetIsOnSameTeam
tmpx = targetx
tmpy = targety
tmpdistance = targetz
tmpargument = 0
SpawnExactParticle
tmpargument = rand & 511 + 512
HealTarget
End // Finished with this character