Drunken_God
Hopes to get back into Mapmaking with SC2 :)
- Reaction score
- 106
Vengeance
Leakless: Yes
MUI/MPI: MUI (but not really because it only takes 2000 damage sources)
GUI/JASS: GUI
The Warden Unleashes all her power in order to revenge every unit that damaged her in the last 10 seconds. Deals 75%/100%/125%/150% of the damage taken.
Code:
Code:
Vengeance Periodic
Events
Time - Every 1.00 seconds of game time
Conditions
Actions
For each (Integer A) from 1 to 2000, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
VengeanceDuration[(Integer A)] Greater than 0
Then - Actions
Set VengeanceDuration[(Integer A)] = (VengeanceDuration[(Integer A)] - 1)
Else - Actions
Set VengeanceDamage[(Integer A)] = 0.00
Set VengeanceUnit[(Integer A)] = No unit
Set VengeanceWarden[(Integer A)] = No unit
Code:
Vegeance Damage Taken
Events
Conditions
(Damage taken) Greater than 0.00
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
VengeanceArray Equal to 2000
Then - Actions
Set VengeanceArray = 0
Else - Actions
Set VengeanceArray = (VengeanceArray + 1)
Set VengeanceDamage[VengeanceArray] = (Damage taken)
Set VengeanceDuration[VengeanceArray] = 10
Set VengeanceUnit[VengeanceArray] = (Damage source)
Set VengeanceWarden[VengeanceArray] = (Triggering unit)
Code:
Vengeance
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Vengeance
Actions
Set temppoint = (Position of (Triggering unit))
Unit - Create 1 Vengeance Effect for (Owner of (Triggering unit)) at temppoint facing (Facing of (Triggering unit)) degrees
Animation - Play (Last created unit)'s spell animation
Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
Custom script: call RemoveLocation (udg_temppoint)
For each (Integer A) from 1 to 2000, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
VengeanceWarden[(Integer A)] Equal to (Triggering unit)
VengeanceUnit[(Integer A)] Not equal to No unit
Then - Actions
Unit - Cause (Triggering unit) to damage VengeanceUnit[(Integer A)], dealing (VengeanceDamage[(Integer A)] x (0.75 + ((Real((Level of Vengeance for (Triggering unit)))) x 0.25))) damage of attack type Chaos and damage type Normal
Set temppoint = (Position of VengeanceUnit[(Integer A)])
Special Effect - Create a special effect at temppoint using Abilities\Spells\Undead\DeathandDecay\DeathandDecayTarget.mdl
Special Effect - Destroy (Last created special effect)
Custom script: call RemoveLocation (udg_temppoint)
Else - Actions
Code:
Vengeance Learn
Events
Unit - A unit Learns a skill
Conditions
(Learned Hero Skill) Equal to Vengeance
(Level of Vengeance for (Triggering unit)) Equal to 1
Actions
Trigger - Add to Vegeance Damage Taken <gen> the event (Unit - (Triggering unit) Takes damage)
For implementation just copy the ability, create a dummy unit and copy the effect unit(and the triggers of course^^)
EDIT: a lil tooltip change^^