• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Polymorph Vortex v1.10

  • Like
Reactions: Peber
Creates a bunch of circulating effects around the hero that changes enemy units into who enter into sheeps. AOE and Duration Increases with level

Fully MUI.
Easy Configurable.

Please give feedback and rate.

Update:
Fixed Integer A
Deleted Debug messages.

Update 2:
Made the unit group non arrayed.
Filtered out units directly (thanks baassee)
Decreased initial ranged (can be changed easily.)

Keywords:
Polymorph, sheep, sway, circulate, rotate, circle, morph, transform, aoe, f0rsak3n, area, shadow, water, fire, light, holy.
Contents

Polymorph Vortex v1.10 (Map)

Reviews
11:55, 15th Apr 2010 The_Reborn_Devil: The triggering looks very good and the effects are nice. Maybe make the sheep duration infinite and then remove it when they get out instead? Not necessary though. Status: Approved Rating: Recommended

Moderator

M

Moderator

11:55, 15th Apr 2010
The_Reborn_Devil:

The triggering looks very good and the effects are nice.
Maybe make the sheep duration infinite and then remove it when they get out instead? Not necessary though.


Status: Approved
Rating: Recommended
 
Level 14
Joined
Nov 2, 2008
Messages
579
/Subsribzors

  • Start
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Polymorph Vortex
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • CL_Index[1] Equal to 0
        • Then - Actions
          • -------- If no Instances are running we turn on the Loop spell --------
          • Trigger - Turn on Loop <gen>
        • Else - Actions
          • -------- no else --------
      • -------- Increases the indexes of the spell by +1 --------
      • Set CL_Index[1] = (CL_Index[1] + 1)
      • Set CL_Index[2] = (CL_Index[2] + 1)
      • -------- Sets the casting unit for future use --------
      • Set CL_Caster[CL_Index[2]] = (Triggering unit)
      • -------- The Duration of the spell (you can change this) --------
      • Set CL_Duration[CL_Index[2]] = (15.00 + (5.00 x (Real((Level of Polymorph Vortex for (Triggering unit))))))
      • -------- The MUI Boolean = True --------
      • Set CL_Boolean[CL_Index[2]] = True
      • -------- This Wait Counter will be used in the Loop --------
      • Set CL_Wait[CL_Index[2]] = 0.00
      • -------- The number of effects circulating around the caster (you may change this) --------
      • Set CL_NumE[CL_Index[2]] = 10
      • -------- The speed in which the effects circulate around the hero (you may change this) --------
      • Set CL_Speed[CL_Index[2]] = 4.00
      • -------- The AOE (Area of effect) of the spell ( you may change this if you like --------
      • Set CL_Offset[CL_Index[2]] = (300 + (100 x (Level of Polymorph Vortex for (Triggering unit))))
  • Loop
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • For each (Integer CL_Index[3]) from 1 to CL_Index[2], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • CL_Boolean[CL_Index[3]] Equal to True
            • Then - Actions
              • -------- Increasing the wait counter so that we know when to polymorph --------
              • Set CL_Wait[CL_Index[3]] = (CL_Wait[CL_Index[3]] + 0.10)
              • -------- Here we increase the angle in which the effects circulates. --------
              • Set CL_Radius[CL_Index[3]] = (CL_Radius[CL_Index[3]] + (Integer(CL_Speed[CL_Index[3]])))
              • -------- Here we subtract the duration of the spell --------
              • Set CL_Duration[CL_Index[3]] = (CL_Duration[CL_Index[3]] - 0.10)
              • -------- Here we devide 360 degrees by how many effects there are so we can get the appropriate angle --------
              • Set CL_Calc[CL_Index[3]] = (360.00 / (Real(CL_NumE[CL_Index[3]])))
              • -------- Sets the location of the caster for use --------
              • Set CL_Loc[1] = (Position of CL_Caster[CL_Index[3]])
              • For each (Integer N) from 1 to CL_NumE[CL_Index[3]], do (Actions)
                • Loop - Actions
                  • -------- Sets the location of the caster for use --------
                  • Set CL_Loc[2] = (CL_Loc[1] offset by (Real(CL_Offset[CL_Index[3]])) towards ((Real(CL_Radius[CL_Index[3]])) + (CL_Calc[CL_Index[3]] x (Real(N)))) degrees)
                  • -------- The eye candy (lights circulating) --------
                  • Special Effect - Create a special effect at CL_Loc[2] using Abilities\Spells\Other\Transmute\GoldBottleMissile.mdl
                  • Special Effect - Destroy (Last created special effect)
                  • -------- Removing the point Leak --------
                  • Custom script: call RemoveLocation( udg_CL_Loc[2] )
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • CL_Wait[CL_Index[3]] Greater than or equal to 0.60
                • Then - Actions
                  • -------- Resets the wait-counter to 0 --------
                  • Set CL_Wait[CL_Index[3]] = 0.00
                  • -------- Picks every unit that will get turned in a sheepy ^^ --------
                  • Set CL_Group[1] = (Units within (Real(CL_Offset[CL_Index[3]])) of CL_Loc[1])
                  • Unit Group - Pick every unit in CL_Group[1] and do (Actions)
                    • Loop - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • ((Picked unit) is A structure) Equal to False
                          • ((Picked unit) is alive) Equal to True
                          • ((Picked unit) belongs to an enemy of (Owner of CL_Caster[CL_Index[3]])) Equal to True
                        • Then - Actions
                          • -------- If all conditions are met, we set the loc of the unlucky unit --------
                          • Set CL_Loc[3] = (Position of (Picked unit))
                          • -------- Creating the dummy caster --------
                          • Unit - Create 1 Dummy for (Owner of CL_Caster[CL_Index[3]]) at CL_Loc[3] facing Default building facing degrees
                          • -------- Adding an expiration timer for the dummy --------
                          • Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
                          • -------- Adding the dummy ability to the dummy --------
                          • Unit - Add Polymorph Vortex Dummy to (Last created unit)
                          • -------- ordering dummy to morph the enemy --------
                          • Unit - Order (Last created unit) to Human Sorceress - Polymorph (Picked unit)
                          • -------- Removing caster point leak --------
                          • Custom script: call RemoveLocation( udg_CL_Loc[3] )
                        • Else - Actions
                          • -------- no else --------
                  • -------- Removing Group Leak --------
                  • Custom script: call DestroyGroup( udg_CL_Group[1] )
                • Else - Actions
              • -------- Removing caster point leak --------
              • Custom script: call RemoveLocation( udg_CL_Loc[1] )
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • CL_Duration[CL_Index[3]] Less than or equal to 0.00
                • Then - Actions
                  • -------- When the time runs out we set the instances to -1 --------
                  • Set CL_Index[1] = (CL_Index[1] - 1)
                  • -------- Setting the MUI Boolean = False --------
                  • Set CL_Boolean[CL_Index[3]] = False
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • CL_Index[1] Equal to 0
                    • Then - Actions
                      • -------- Resetting all indexes --------
                      • Set CL_Index[2] = 0
                      • -------- Turning of this trigger for efficiency --------
                      • Trigger - Turn off (This trigger)
                    • Else - Actions
                      • -------- no else --------
                • Else - Actions
                  • -------- no else --------
            • Else - Actions
              • -------- no else --------
 
Last edited:
Level 14
Joined
Nov 2, 2008
Messages
579
The code is fine I guess, but you shouldn't sheep for one second only. Make it unlimited and remove it from the last group and add it to the new group.

I don't exactly follow. Sorry if this is a noob moment, but if I make it infinite, wont they stay sheepies forever.

This GUI makes my eyes bleed ! ='(

luul why :D?
 
Level 19
Joined
Oct 12, 2007
Messages
1,821
The code is fine I guess, but you shouldn't sheep for one second only. Make it unlimited and remove it from the last group and add it to the new group.

Isn't it so that if you make the sheep infinite (so a dummy only casts polymorph on the unit once) and the polymorph get's dispelled or spellstealed the unit can just freely move in the area?
I mean dispels are shitty annoying for buff using spell makers, but they are something you should think of.
 
Level 19
Joined
Oct 12, 2007
Messages
1,821
Well, but that's the reason why there are dispels, and that is more a feature as a bug, isn't it?

But a spell that is supposed to keep people debuffed with something as long as they are in an area isnt supposed to be dispelable. Think about world of warcraft AoE spells like Blizzard, Hurricane. The slow debuffs on those effects aren't dispelable.
 
Top