Basically, this creates a number of effects around you that deal damage to enemy units.
It's very fun to play around with =P
NOTE: This only allows up to 360 vertex's but you can adjust that.
NOTE: Don't use 360 vertex's because it lags REALLY bad.
Everything else is basically explained in the code
Outside Knowledge needed: Only 6th grade math.
Here's an example screenie:
Some ideas to make with this could be:
Ring of Fire
(Looking for more!)
It's very fun to play around with =P
NOTE: This only allows up to 360 vertex's but you can adjust that.
NOTE: Don't use 360 vertex's because it lags REALLY bad.
Everything else is basically explained in the code
Outside Knowledge needed: Only 6th grade math.
Code:
Spell Template
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Circle Spell
Actions
Set Wait = 0.00
-------- The time between which effect and damage occurs. --------
Set Offset = 550.00
-------- The radius of the circle. --------
Set VertexCount = 15
-------- The number of vertices your "circle" has. --------
Set Damage = 100.00
-------- The damage each vertex does at level 1 --------
Set DamageLevelFactor = 1.50
-------- The increase in damage per level. --------
Set Range = 100.00
-------- The area that damage occurs around each vertex. --------
Set RangeLevelFactor = 1.00
-------- The change per level in range. --------
Set Points[361] = (Position of (Triggering unit))
For each (Integer A) from 1 to VertexCount, do (Actions)
Loop - Actions
Set VertexConvert = ((Integer A) x (360 / VertexCount))
Set Points[(Integer A)] = (Points[361] offset by Offset towards (Real(VertexConvert)) degrees)
Special Effect - Create a special effect at Points[(Integer A)] using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
-------- This is the SFX that shows up at each vertex. --------
Special Effect - Destroy (Last created special effect)
Set Group = (Units within (Range x RangeLevelFactor) of Points[(Integer A)] matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))
Unit Group - Pick every unit in Group and do (Actions)
Loop - Actions
Unit - Cause (Triggering unit) to damage (Picked unit), dealing (Damage x (((Real((Level of Circle Spell for (Triggering unit)))) - 0.00) x DamageLevelFactor)) damage of attack type Spells and damage type Normal
-------- This is type of damage --------
Custom script: call RemoveLocation(udg_Points[bj_forLoopAIndex])
Custom script: call DestroyGroup(udg_Group)
Wait Wait seconds
-------- Disable this if you have "Wait" set to 0.00 --------
Custom script: call RemoveLocation(udg_Points[361])
Here's an example screenie:
Some ideas to make with this could be:
Ring of Fire
(Looking for more!)