FANDOM


Created by Piysta. You may need to make edits to this script for it to work.

Old as hell, not even sure if it works. Clone spell of WoW's Polymorph.

Player = Actor()
Target = ContextActor()
Mana = Attribute(Player, "Mana")
OldID = ActorIDFromInstance(Target)
ID = ActorID("Sheep", "Critter")
Distance# = ActorDistance(Player, Target)
Faction = Faction(Player)
TargetFaction = Faction(Target)
FR = Faction + TargetFaction

If (Target = 0)
   Output(Player, "You do not have a target.")
ElseIf (Target = 1)
   If (TargetFaction = Faction)
      Output(Player, "You can not attack that target.")
   ElseIf (TargetFaction <> Faction)
      If (FR >= 101)
         Output(Player, "You can not attack that target.")
      ElseIf (FR <= 100)
         If (Distance > 40)
            Output(Player, "Target is out of range.")
         ElseIf (Distance < 40)
            If (Mana <= 4)
               Output(Player, "Not enough Mana.")
            ElseIf (Mana >= 5)
               SetAttribute(Player, "Mana", -5)
               Bar = CreateProgressBar(Player, 255, 0, 0, 0.01, 0.48, 0.2, 0.4, 4, 4, "Casting Polymorph")
                  Clicks = 4
                  X# = ActorX(Player)
                  Y# = ActorY(Player)
                  Z# = ActorZ(Player)
                  Repeat
                     Clicks = Clicks - 1
                     Delay(1000)
                     NewX# = ActorX(Player)
                     NewY# = ActorY(Player)
                     NewZ# = ActorZ(Player)
                     If (NewX# <> X#)
                        DeleteProgressBar(Player, Bar)
                        Output(Player, "Spell Canceled.")
                        Return
                     EndIf
                     If (NewY# <> Y#)
                        DeleteProgressBar(Player, Bar)
                        Output(Player, "Spell Canceled.")
                        Return
                     EndIf
                     If (NewZ# <> Z#)
                        DeleteProgressBar(Player, Bar)
                        Output(Player, "Spell Canceled.")
                        Return
                     EndIf
                     UpdateProgressBar(Player, Bar, Clicks)
                  Until Clicks = 0
                  ChangeActor(Target, ID)
                  AddActorEffect(Target, "Polymorphed: Sheep", "Health", 0, 5, 1)
                  DoEvents(5000)
                  ChangeActor(Target, OldID)
            EndIf
         EndIf
      EndIf
EndIf