Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
You are using an out of date browser. It may not display this or other websites correctly. You should upgrade or use an alternative browser.
Triggers
GreaterHealv1.4.w3x
Variables
Abilities
Changelog 2
Changelog
Greater Heal
DummyAbility
Enter map-specific custom script code below. This text will be included in the map script after variables are declared and before any trigger code.
Name
Type
is_array
initial_value
CriticalStrikeCalculator
integer
No
GreaterHeal
real
No
Group
group
No
Loc
location
Yes
Greater Heal v1.4
*Reduced range of 'Holy Excess' from 800 to 300
*Reduced range of 'Greater Heal' from 800 to 600
*Increased Intelligence modifier to a third of the caster's intelligence, up from a fifth of the caster's intelligence.
*Fixed tooltips of Greater Heal, Holy Excess, and Focus. These tooltips should now represent the abilities accordingly.
*Added a Dummy Ability to show the Focus tooltip when learned.
*All abilities now have and show their keybinds.
*Fixed the amount of mana regained when Focus procs.
Greater Heal v1.3c
*Fixed the increments at which Focus improves Greater Heal to 1.03, 1.06, 1.09, 1.12, 1.15 down from 1.03, 2.06, 3.09, 4.12, 5.15.
Greater Heal v1.3b
*Fixed the bug where ur hero would kill herself when casting Greater Heal offensively with critical strike. Replaced 'Picked Unit' with 'Triggering Unit' -.-
*Removed a Set Variable action
Greater Heal v1.3
*Fixed another leak in the AoE group loop. Added 'Loc[3]' and 'call RemoveLocation (udg_Loc[3])'. Replaced Special Effect - Create a special effect at (Position of (Picked Unit)) using Abilities\Spells\Orc\HealingWave\HealingWaveTarget.mdl with Special Effect - Create a special effect at Loc[3] using Abilities\Spells\Orc\HealingWave\HealingWaveTarget.mdl.
Greater Heal v1.2
*Removed decimals (Floating Text, Harmful- and Helpful)
*Increased font size of AoE damage (Floating Text, Harmful)
*Increased AoE damage dealt (Harmful)
*Normalized damage dealt to main target (Harmful)
*Normalized all damage- and healing done to applicable Warcraft III numbers (Harmful- and Helpful)
*Increased maximum rank of 'Holy Excess' to 3
*Reduced effect of 'Holy Excess' to 10% aoe damage/healing per rank, in addition to 15% per rank to the healer.
*Reduced effect of 'Focus' to 3%/6%/9%/12%/15% bonus healing per rank, from 5%/10%/15%/20%/25% per rank
Greater Heal v1.1: Should have fixed leaks and bugs, made the spell more flexible.
*Changed 'Casting Unit' to 'Triggering Unit'
*Added Unitgroup, 'Group', and Custom Trigger 'call DestroyGroup (udg_Group)'
*Added Point Variable Array, 'Loc(1)' and 'Loc(2)', and Custom Triggers 'call RemoveLocation (udg_Loc[1])' and 'call RemoveLocation (udg_Loc[2])'.
*Added 'Special Effect - Destroy (Last created special effect)' after each SFX
*Removed 'Do Nothing' Actions at the end of an If > Then, Else condition.
Greater Heal v1.0: Uploaded.
Greater Heal
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Greater Heal
((Target unit of ability being cast) is alive) Equal to True
Actions
Set Variable Set Loc[1] = (Position of (Triggering unit))
Set Variable Set Loc[2] = (Position of (Target unit of ability being cast))
Set Variable Set Group = (Units within 300.00 of Loc[2] matching (((Matching unit) Not equal to (Target unit of ability being cast)) and ((((Matching unit) is alive) Equal to True) and (((Owner of (Matching unit)) is an ally of (Owner of (Target unit of ability being cast)).) Equal to True))).)
Set Variable Set GreaterHeal = ((75.00 + ((Real((Random integer number between 1 and 25))) + (3.00 x ((Real((Level of Greater Heal for (Triggering unit)))) + (Real((Intelligence of (Triggering unit) (Include bonuses)))))))) / 3.00)
Set Variable Set CriticalStrikeCalculator = (Random integer number between 1 and 100)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Focus for (Triggering unit)) Greater than 0
Then - Actions
Set Variable Set GreaterHeal = (GreaterHeal + (GreaterHeal x ((Real((Level of Focus for (Triggering unit)))) x 0.03)))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Random integer number between 1 and 100) Less than or equal to (5 + (5 x (Level of Focus for (Triggering unit))))
Then - Actions
Unit - Set mana of (Triggering unit) to ((Mana of (Triggering unit)) + ((Max mana of (Triggering unit)) x (0.01 x (Real((Level of Focus for (Triggering unit)))))))
Special Effect - Create a special effect at Loc[1] using Abilities\Spells\Items\AIma\AImaTarget.mdl
Special Effect - Destroy (Last created special effect)
Floating Text - Create floating text that reads (String((Integer((((Max mana of (Triggering unit)) x 0.01) x (Real((Level of Focus for (Triggering unit))))))))) above (Triggering unit) with Z offset 70.00 , using font size 10.00 , color ( 0.00 %, 0.00 %, 100.00 %), and 0 % transparency
Floating Text - Change (Last created floating text) : Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of (Target unit of ability being cast)) is an ally of (Owner of (Triggering unit)).) Equal to True
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
CriticalStrikeCalculator Less than or equal to (15 + (1 x ((Intelligence of (Casting unit) (Include bonuses)) / 5)))
Then - Actions
Unit - Set life of (Target unit of ability being cast) to ((Life of (Target unit of ability being cast)) + (GreaterHeal x 2.00))
Floating Text - Create floating text that reads (String((Integer((GreaterHeal x 2.00))))) above (Target unit of ability being cast) with Z offset 0 , using font size 15.00 , color ( 0.00 %, 100.00 %, 0.00 %), and 0 % transparency
Floating Text - Change (Last created floating text) : Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Holy Excess for (Triggering unit)) Greater than or equal to 1
Then - Actions
Unit Group - Pick every unit in Group and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Picked unit) Equal to (Triggering unit)
Then - Actions
Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + (GreaterHeal x ((0.15 x (Real((Level of Holy Excess for (Triggering unit))))) x 2.00)))
Special Effect - Create a special effect at Loc[1] using Abilities\Spells\Human\Heal\HealTarget.mdl
Special Effect - Destroy (Last created special effect)
Floating Text - Create floating text that reads (String((Integer((GreaterHeal x (0.15 x ((Real((Level of Holy Excess for (Triggering unit)))) x 2.00))))))) above (Picked unit) with Z offset 0 , using font size 10.00 , color ( 0.00 %, 100.00 %, 0.00 %), and 0 % transparency
Floating Text - Change (Last created floating text) : Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
Set Variable Set Loc[3] = (Position of (Picked unit))
Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + (GreaterHeal x ((0.10 x (Real((Level of Holy Excess for (Triggering unit))))) x 2.00)))
Special Effect - Create a special effect at Loc[3] using Abilities\Spells\Human\Heal\HealTarget.mdl
Special Effect - Destroy (Last created special effect)
Floating Text - Create floating text that reads (String((Integer((GreaterHeal x (0.10 x ((Real((Level of Holy Excess for (Triggering unit)))) x 2.00))))))) above (Picked unit) with Z offset 0 , using font size 10.00 , color ( 0.00 %, 100.00 %, 0.00 %), and 0 % transparency
Floating Text - Change (Last created floating text) : Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Custom script: call RemoveLocation (udg_Loc[3])
Else - Actions
Else - Actions
Unit - Set life of (Target unit of ability being cast) to ((Life of (Target unit of ability being cast)) + GreaterHeal)
Floating Text - Create floating text that reads (String((Integer(GreaterHeal)))) above (Target unit of ability being cast) with Z offset 0 , using font size 10 , color ( 0.00 %, 100.00 %, 0.00 %), and 0 % transparency
Floating Text - Change (Last created floating text) : Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Holy Excess for (Triggering unit)) Greater than or equal to 1
Then - Actions
Unit Group - Pick every unit in Group and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Picked unit) Equal to (Triggering unit)
Then - Actions
Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + (GreaterHeal x (0.15 x (Real((Level of Holy Excess for (Triggering unit)))))))
Special Effect - Create a special effect at Loc[1] using Abilities\Spells\Human\Heal\HealTarget.mdl
Special Effect - Destroy (Last created special effect)
Floating Text - Create floating text that reads (String((Integer((GreaterHeal x (0.15 x (Real((Level of Holy Excess for (Triggering unit)))))))))) above (Picked unit) with Z offset 0 , using font size 10.00 , color ( 0.00 %, 100.00 %, 0.00 %), and 0 % transparency
Floating Text - Change (Last created floating text) : Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
Set Variable Set Loc[3] = (Position of (Picked unit))
Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + (GreaterHeal x (0.10 x (Real((Level of Holy Excess for (Triggering unit)))))))
Special Effect - Create a special effect at Loc[3] using Abilities\Spells\Human\Heal\HealTarget.mdl
Special Effect - Destroy (Last created special effect)
Floating Text - Create floating text that reads (String((Integer((GreaterHeal x (0.10 x (Real((Level of Holy Excess for (Triggering unit)))))))))) above (Picked unit) with Z offset 0 , using font size 10.00 , color ( 0.00 %, 100.00 %, 0.00 %), and 0 % transparency
Floating Text - Change (Last created floating text) : Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Custom script: call RemoveLocation (udg_Loc[3])
Else - Actions
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
CriticalStrikeCalculator Less than or equal to (15 + (1 x ((Intelligence of (Casting unit) (Include bonuses)) / 5)))
Then - Actions
Unit - Set life of (Target unit of ability being cast) to ((Life of (Target unit of ability being cast)) - GreaterHeal)
Floating Text - Create floating text that reads (String((Integer(GreaterHeal)))) above (Target unit of ability being cast) with Z offset 0 , using font size 15.00 , color ( 100 %, 0.00 %, 0.00 %), and 0 % transparency
Floating Text - Change (Last created floating text) : Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Holy Excess for (Triggering unit)) Greater than or equal to 1
Then - Actions
Unit Group - Pick every unit in Group and do (Actions)
Loop - Actions
Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - (GreaterHeal x (0.10 x (Real((Level of Holy Excess for (Triggering unit)))))))
Floating Text - Create floating text that reads (String((Integer((GreaterHeal x (0.10 x (Real((Level of Holy Excess for (Triggering unit)))))))))) above (Picked unit) with Z offset 0 , using font size 10.00 , color ( 100.00 %, 0.00 %, 0.00 %), and 0 % transparency
Floating Text - Change (Last created floating text) : Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
Else - Actions
Unit - Set life of (Target unit of ability being cast) to ((Life of (Target unit of ability being cast)) - (GreaterHeal / 2.00))
Floating Text - Create floating text that reads (String((Integer((GreaterHeal / 2.00))))) above (Target unit of ability being cast) with Z offset 0 , using font size 10.00 , color ( 100 %, 0.00 %, 0.00 %), and 0 % transparency
Floating Text - Change (Last created floating text) : Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Holy Excess for (Triggering unit)) Greater than or equal to 1
Then - Actions
Unit Group - Pick every unit in Group and do (Actions)
Loop - Actions
Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - ((GreaterHeal / 2.00) x (0.10 x (Real((Level of Holy Excess for (Triggering unit)))))))
Floating Text - Create floating text that reads (String((Integer(((GreaterHeal / 2.00) x (0.10 x (Real((Level of Holy Excess for (Triggering unit)))))))))) above (Picked unit) with Z offset 0 , using font size 10.00 , color ( 100.00 %, 0.00 %, 0.00 %), and 0 % transparency
Floating Text - Change (Last created floating text) : Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
Custom script: call RemoveLocation (udg_Loc[1])
Custom script: call RemoveLocation (udg_Loc[2])
Custom script: call DestroyGroup (udg_Group)
DummyAbility
Events
Unit - A unit Learns a skill
Conditions
(Learned Hero Skill) Equal to Focus
Actions
Unit - Add DummyAbility to (Triggering unit)
Unit - Set level of DummyAbility for (Triggering unit) to (Level of Focus for (Triggering unit))
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.