//------------------------------------------------------------------------------ // ZZ> Mimics have an enchantment sustaining them IfSpawned EnchantTarget // Enchant self... //------------------------------------------------------------------------------ // ZZ> Someone cast an unlock spell IfOrdered tmpx = selforder tmpy = 491 // The unique code for an unlock order IfXIsEqualToY // Die SetTargetToSelf KillTarget tmpargument = 3 SendMessageNear //------------------------------------------------------------------------------ // ZZ> This function makes the character wait for the enemy to open it IfKilled // This reduces the height of the char tmpargument = 0 tmpdistance = rand & 1023 + 10500 PlaySound tmpargument = 0 // SendMessageNear // Kill message GetBumpHeight // tmpargument = tmpargument * 50 / 100 // SetBumpHeight // tmpargument = 65535 // Drop money DropMoney // DropItems IfTargetKilled // Check for more food tmpargument = 0 // SetTargetToNearbyEnemy // Get the other enemy tmpargument = 1 // SetState // IfAttacked // Retaliation tmpargument = 0 tmpdistance = rand & 1023 + 10500 PlaySound SetTargetToWhoeverAttacked // Get the enemy tmpargument = 0 // IfStateIs // Enter combat mode tmpargument = 1 // SetState // IfTargetIsAPlayer // tmpargument = 2 // SendMessageNear // Advice IfBumped // Attack whoever it bumped SetTargetToWhoeverBumped // IfTargetIsOnHatedTeam // Make sure it's an enemy tmpargument = 0 // IfStateIs // Enter combat mode IfTargetIsAPlayer // Advice tmpargument = 1 // SendMessageNear // SetState // Combat tmpargument = 1 // Attack Left = 1 PressLatchButton // IfTimeOut // This is done every so often tmpargument = 0 // IfStateIs // State 0 ( Lurk ) tmpx = selfx // tmpy = selfy // Else // State 1 ( Combat ) tmpx = 2000 // Too far? tmpy = targetdistance // IfXIsLessThanY // SetState // Revert to lurk mode tmpx = tmpy // In attack range? tmpy = 250 // IfXIsLessThanY // Stick and move tmpargument = 2 tmpdistance = rand & 1023 + 10500 PlaySound tmpargument = 1 // Attack Left = 1 PressLatchButton // tmpx = rand & 511 - 256 + targetx // tmpy = rand & 511 - 256 + targety // Else // Get closer tmpargument = 1 tmpdistance = rand & 1023 + 10500 PlaySound tmpx = targetx // tmpy = targety // tmpturn = targetturnto // tmpdistance = 200 // Compass // ClearWaypoints // AddWaypoint // tmpargument = rand & 31 + 20 // Wait a while and try again SetTime // End // Finished with this character