// Create the character IfSpawned IfStateIs0 // It's an imported spell in hand KeepAction Else // It's a circle of light JoinNullTeam MakeNameUnknown NotAnItem IfChanged // It's a spell in hand tmpargument = 0 SetState KeepAction IfStateIs0 // Remove the charge IfTakenOut tmpargument = 0 SetContent SetTargetToWhoeverIsHolding IfTargetIsAPlayer tmpargument = 3 SendMessageNear // Allow it to be charged up IfUsed // Does it have one going? UndoEnchant tmpargument = 60 SetReloadTime // Nope, so charge Else SetTargetToWhoeverIsHolding tmpargument = [WMAG] IfTargetHasSkillID GetContent tmpx = tmpargument tmpy = 512 IfXIsLessThanY tmpy = targetmanaflow IfXIsLessThanY tmpx = 4 tmpargument = tmpx CostTargetMana GetContent tmpargument = tmpargument + 4 SetContent tmpx = targetx tmpy = targety tmpdistance = targetz tmpargument = 0 SpawnExactParticle SpawnExactParticle // Spawn particles around target SetTargetToNearestFriend tmpx = targetdistance tmpy = 250 IfXIsMoreThanY SetTargetToWhoeverIsHolding tmpx = targetx tmpy = targety tmpdistance = targetz tmpargument = 0 SpawnExactParticle SpawnExactParticle // Let it be cast Else GetContent tmpx = tmpargument tmpy = 0 IfXIsMoreThanY tmpy = 511 IfXIsMoreThanY // Cast the spell... UndoEnchant // There can be only one SetTargetToWhoeverIsHolding SetOwnerToTarget // Find the target SetTargetToNearestFriend tmpx = targetdistance tmpy = 250 IfXIsMoreThanY SetTargetToWhoeverIsHolding // Do the spell EnchantTarget MakeUsageKnown MakeNameKnown tmpargument = BLUE SparkleIcon tmpargument = 2 SendMessageNear Else tmpargument = 1 SendMessageNear // Do flashy things tmpargument = 0 tmpdistance = 11025 PlaySound tmpargument = 60 SetReloadTime // Nothing happens... Else tmpargument = 0 SendMessageNear // Reset the charge counter tmpargument = 0 SetContent // Return to spellbook, Do last! IfDropped tmpargument = 0 SetContent BecomeSpellbook DisaffirmCharacter tmpargument = ACTIONJB DoAction KeepAction Else // Flash it... IfTimeOut tmpargument = 255 FlashVariable tmpargument = 15 SetTime End