home *** CD-ROM | disk | FTP | other *** search
- // Parent spawner state
- IfStateIs0
- IfTimeOut
- tmpargument = 50
- SetTime
-
-
- IfTargetIsSelf
- // First find the nearest chest
- tmpargument = [LOCK]
- tmpdistance = 14 // Items, friends and enemies
- SetTargetToNearestBlahID
- Else
- // Check the chest's state
- GetTargetState
- tmpx = tmpargument
- tmpy = 0
- IfXIsEqualToY
- GetState // NOP
- Else
- tmpx = 0
- tmpy = 0
- tmpargument = passage
- tmpdistance = 185 // Tile to find
- FindTileInPassage
- // Make a child
- tmpargument = 1
- tmpdistance = 0
- tmpturn = 0
- SpawnCharacter
- SetChildState
- tmpargument = ACTIONMC
- ChildDoActionOverride
- // Change the tile image
- tmpargument = 186
- SetTileXY
- Else
- GoPoof // Out of children...
-
-
- // Find an enemy state
- IfStateIs1
- IfSpawned
- // Play the spawn sound
- tmpargument = 1
- tmpdistance = 22050
- PlaySound
-
- // Do misc setup
- SetTurnModeToSpin
- tmpargument = 60
- SetTime
- IfTimeOut
- SetTargetToNearestEnemy
- tmpx = targetx - selfx < 3 + targetx
- tmpy = targety - selfy < 3 + targety
- ClearWaypoints
- AddWaypoint
- tmpargument = 2
- SetState
- tmpargument = 20
- SetTime
-
-
-
- // Chase an enemy state
- IfStateIs2
- IfTimeOut
- SetTargetToSelf
- tmpx = targetspeedx < 6
- tmpy = targetspeedy < 6
- SetTargetToNearestEnemy
- tmpdistance = 600
- tmpturn = targetturnto
- Compass
- tmpx = tmpx + selfx
- tmpy = tmpy + selfy
- ClearWaypoints
- AddWaypoint
- tmpargument = 20
- SetTime
- tmpx = 0
- IfBumped
- SetOldTarget
- SetTargetToWhoeverBumped
- IfTargetIsOnHatedTeam
- IfTargetIsDefending
- // Check incoming direction
- tmpx = targetturnto + 49152 - targetturn & 65535
- tmpy = 32768
- IfXIsLessThanY
- // Hit shield
- tmpx = targetx
- tmpy = targety
- tmpdistance = targetz
- tmpargument = 0
- SpawnExactParticle
- tmpargument = 2
- Else
- // Hit character
- tmpargument = rand & 1023 + 512 // 2 - 6 damage
- DamageTarget
- tmpargument = 1
- tmpx = 1
- Else
- // Damage and break
- tmpargument = rand & 1023 + 512 // 2 - 6 damage
- DamageTarget
- tmpargument = 1
- tmpx = 1
- Else
- SetTargetToOldTarget
- tmpx = rand & 511 - 256 + selfx
- tmpy = rand & 511 - 256 + selfy
- ClearWaypoints
- AddWaypoint
- tmpargument = 10
- SetTime
- tmpx = 0
- IfHealed
- SetTargetToWhoeverHealed
- tmpargument = 0
- tmpx = 1
- tmpy = 0
- IfXIsMoreThanY // It was damaged or bumped
- // Message... Argument set earlier
- SendMessageNear
-
-
- // Experience as a consolation prize
- tmpargument = 5
- tmpdistance = EXPSECRET
- GiveExperienceToTarget
-
- // Sound effect
- tmpargument = 0
- tmpdistance = rand & 1023 + 8000
- PlaySound
-
- // Death animation and alpha fade
- tmpargument = 0
- SetBumpHeight
- SetBumpSize
- tmpargument = ACTIONKA
- DoActionOverride
- KeepAction
- tmpargument = 3
- SetState
- tmpargument = 8
- SetTime
- tmpargument = 0
- SetContent
- tmpx = 250
- tmpargument = 0
- SetXY
-
-
- // Dissolve state
- IfStateIs3
- tmpargument = 0
- GetXY
- tmpx = tmpx - 7
- SetXY
- tmpargument = tmpx
- SetAlpha
- IfTimeOut
- GetContent
- tmpargument = tmpargument + 1
- tmpx = tmpargument
- tmpy = 3
- IfXIsMoreThanY
- GoPoof
- Else
- SetContent
- ChangeArmor
- tmpargument = 8
- SetTime
-
-
- End // Finished with this character
-