Spell made via request in general forum...
MPI
Creates a void, which begins small and grows over time, increasing the area of the spell, the damage delt and the size of the void animation. Drains 5 mana per second to keep the spell active, may be canceled via ESC.
Completely GUI.
Code
I don't know how to make dummy units not selectable so I used this trigger, didn't work very well... if any one knows a better way feel free to tell me
MPI
Creates a void, which begins small and grows over time, increasing the area of the spell, the damage delt and the size of the void animation. Drains 5 mana per second to keep the spell active, may be canceled via ESC.
Completely GUI.
Code
Code:
Cast void
Events
Unit - A unit Starts the effect of an ability
Conditions
Or - Any (Conditions) are true
Conditions
(Ability being cast) Equal to Void (Sucks enemies)
(Ability being cast) Equal to Void
Actions
Wait 1.00 seconds
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Ability being cast) Equal to Void (Sucks enemies)
Then - Actions
Set SucksUnit[(Player number of (Owner of (Casting unit)))] = True
Else - Actions
Set SucksUnit[(Player number of (Owner of (Casting unit)))] = False
Trigger - Add to Cancel <gen> the event (Player - (Owner of (Triggering unit)) skips a cinematic sequence)
Set VoidCaster[(Player number of (Owner of (Casting unit)))] = (Casting unit)
Set VoidPosition[(Player number of (Owner of (Casting unit)))] = (Region centered at (Target point of ability being cast) with size (1.00, 1.00))
Unit - Pause VoidCaster[(Player number of (Owner of (Casting unit)))]
Animation - Play VoidCaster[(Player number of (Owner of (Casting unit)))]'s channel animation
Unit - Create 1 dummy for (Owner of VoidCaster[(Player number of (Owner of (Casting unit)))]) at (Center of VoidPosition[(Player number of (Owner of (Casting unit)))]) facing Default building facing degrees
Set VoidDummy[(Player number of (Owner of (Casting unit)))] = (Last created unit)
Animation - Change VoidDummy[(Player number of (Owner of (Casting unit)))]'s size to (100.00%, 100.00%, 100.00%) of its original size
Animation - Change VoidDummy[(Player number of (Owner of (Casting unit)))]'s vertex coloring to (0.00%, 0.00%, 0.00%) with 0.00% transparency
Unit - Make VoidDummy[(Player number of (Owner of (Casting unit)))] Invulnerable
Unit - Turn collision for VoidDummy[(Player number of (Owner of (Casting unit)))] Off
Unit - Pause VoidDummy[(Player number of (Owner of (Casting unit)))]
Set VoidRange[(Player number of (Owner of (Casting unit)))] = 150.00
Set VoidDamage[(Player number of (Owner of (Casting unit)))] = (1.00 x (Real((Hero level of VoidCaster[(Integer A)]))))
Set VoidSize[(Player number of (Owner of (Casting unit)))] = 100.00
Code:
Void Grow
Events
Time - Every 0.20 seconds of game time
Conditions
Actions
For each (Integer A) from 1 to 12, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
VoidCaster[(Integer A)] Not equal to No unit
(Mana of VoidCaster[(Integer A)]) Greater than or equal to 5.00
Then - Actions
Set VoidRange[(Integer A)] = (VoidRange[(Integer A)] + 5.00)
Set VoidDamage[(Integer A)] = (VoidDamage[(Integer A)] + 0.50)
Set VoidSize[(Integer A)] = (VoidSize[(Integer A)] + 3.00)
Unit - Set mana of VoidCaster[(Integer A)] to ((Mana of VoidCaster[(Integer A)]) - 1.00)
Animation - Change VoidDummy[(Integer A)]'s size to (VoidSize[(Integer A)]%, VoidSize[(Integer A)]%, VoidSize[(Integer A)]%) of its original size
Unit Group - Pick every unit in (Units within VoidRange[(Integer A)] of (Position of VoidDummy[(Integer A)])) and do (Actions)
Loop - Actions
Player Group - Pick every player in (All enemies of (Owner of VoidCaster[(Integer A)])) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Owner of (Picked unit)) Equal to (Picked player)
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
SucksUnit[(Integer A)] Equal to True
Then - Actions
Unit - Cause VoidDummy[(Integer A)] to damage (Picked unit), dealing VoidDamage[(Integer A)] damage of attack type Chaos and damage type Normal
Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by ((Distance between (Position of (Picked unit)) and (Position of VoidDummy[(Integer A)])) / (500.00 - (40.00 x (Real((Hero level of VoidCaster[(Integer A)])))))) towards (Angle from (Position of (Picked unit)) to (Positio
Else - Actions
Unit - Cause VoidDummy[(Integer A)] to damage (Picked unit), dealing VoidDamage[(Integer A)] damage of attack type Chaos and damage type Normal
Else - Actions
Else - Actions
Set VoidRange[(Integer A)] = 0.00
Set VoidDamage[(Integer A)] = 0.00
Set VoidSize[(Integer A)] = 0.00
Unit - Unpause VoidCaster[(Integer A)]
Animation - Reset VoidCaster[(Integer A)]'s animation
Set VoidCaster[(Integer A)] = No unit
Unit - Remove VoidDummy[(Integer A)] from the game
Set VoidDummy[(Integer A)] = No unit
Set VoidPosition[(Integer A)] = No region
Code:
Cancel
Events
Conditions
Actions
Unit - Unpause VoidCaster[(Player number of (Owner of (Triggering unit)))]
Animation - Reset VoidCaster[(Player number of (Owner of (Triggering unit)))]'s animation
Set VoidCaster[(Player number of (Owner of (Triggering unit)))] = No unit
I don't know how to make dummy units not selectable so I used this trigger, didn't work very well... if any one knows a better way feel free to tell me
Code:
Cant Select Dummies
Events
Player - Player 1 (Red) Selects a unit
Player - Player 2 (Blue) Selects a unit
Player - Player 3 (Teal) Selects a unit
Player - Player 4 (Purple) Selects a unit
Player - Player 5 (Yellow) Selects a unit
Player - Player 6 (Orange) Selects a unit
Player - Player 7 (Green) Selects a unit
Player - Player 8 (Pink) Selects a unit
Player - Player 9 (Gray) Selects a unit
Player - Player 10 (Light Blue) Selects a unit
Player - Player 11 (Dark Green) Selects a unit
Player - Player 12 (Brown) Selects a unit
Conditions
(Unit-type of (Triggering unit)) Equal to dummy
Actions
Selection - Remove (Triggering unit) from selection