My first spellpack. Enjoy!
JASS/GUI: GUI.
MUI: Only Shockblast.
Leaks: Dead.
Shockblast
Slams the ground with Dusthoof's axe, sending shockwaves around, dealing damage each.
Level 1 - 90 damage per shockwave, 3 shockwaves.
Level 2 - 110 damage per shockwave, 6 shockwaves.
Level 3 - 150 damage per shockwave, 9 shockwaves.
Level 4 - 170 damage per shockwave, 12 shockwaves.
Empowering Axe (A few of you already heard this name )
Charges the greatest power of Dusthoof in his axe, increasing his attack damage and giving a 15% chance to knockback a unit, dealing bonus damage. The target is stunned for 2 seconds.
Level 1 - 6 damage increased, 35 bonus damage.
Level 2 - 12 damage increased, 50 bonus damage.
Level 3 - 18 damage increased, 85 bonus damage.
Level 4 - 24 damage increased, 105 bonus damage.
Ground Slam
Causes the Chieftain to slam the ground 2 times:
First Slam: Enemy land units close to Dusthoof (250 AOE) will be stunned for 3 seconds and will take massive damage. Units close to the other shakes (400 AOE) will have the attack and movement speed slowed by 50% for 3 seconds and will take half of the damage.
Second Slam: 3 shockwaves spawn in the broken areas and go towards Dusthoof, dealing damage to enemy units in their path.
Level 1 - 225 damage/75 shockwave.
Level 2 - 470 damage/130 shockwave.
Level 3 - 730 damage/200 shockwave.
Special credits to Freezer from Hiveworkshop for Empowering Axe icons.
EDIT 1 - Screenies added.
EDIT 2 - Fixed Empowering Axe 1st trigger, and followed waaaks! suggestion.
EDIT 3 - Removed useless models and icons. Map file size is now a lot shorter.
JASS/GUI: GUI.
MUI: Only Shockblast.
Leaks: Dead.
Shockblast
Slams the ground with Dusthoof's axe, sending shockwaves around, dealing damage each.
Level 1 - 90 damage per shockwave, 3 shockwaves.
Level 2 - 110 damage per shockwave, 6 shockwaves.
Level 3 - 150 damage per shockwave, 9 shockwaves.
Level 4 - 170 damage per shockwave, 12 shockwaves.
Code:
Shockblast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Shockblast
Actions
Set ShockLvL = (Level of Shockblast for (Triggering unit))
Set ShockAngle = (Facing of (Triggering unit))
Set ShockCasterLoc = (Position of (Triggering unit))
For each (Integer A) from 1 to (3 x ShockLvL), do (Actions)
Loop - Actions
Set ShockAngle = (ShockAngle + (120.00 / (Real(ShockLvL))))
Set ShockLoc[(Integer A)] = (ShockCasterLoc offset by 256.00 towards ShockAngle degrees)
Unit - Create 1 dummy for (Owner of (Triggering unit)) at ShockCasterLoc facing ShockAngle degrees
Unit - Add Shockwave to (Last created unit)
Unit - Set level of Shockwave for (Last created unit) to ShockLvL
Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
Unit - Order (Last created unit) to Orc Tauren Chieftain - Shockwave ShockLoc[(Integer A)]
Custom script: call RemoveLocation (udg_ShockLoc [bj_forLoopAIndex])
Custom script: call RemoveLocation (udg_ShockCasterLoc)
Empowering Axe (A few of you already heard this name )
Charges the greatest power of Dusthoof in his axe, increasing his attack damage and giving a 15% chance to knockback a unit, dealing bonus damage. The target is stunned for 2 seconds.
Level 1 - 6 damage increased, 35 bonus damage.
Level 2 - 12 damage increased, 50 bonus damage.
Level 3 - 18 damage increased, 85 bonus damage.
Level 4 - 24 damage increased, 105 bonus damage.
Code:
EmpoweringAxe
Events
Unit - A unit Is attacked
Conditions
((Attacking unit) has buff Empowering Axe ) Equal to True
((Attacked unit) is A structure) Equal to False
((Attacked unit) belongs to an enemy of (Owner of (Attacking unit))) Equal to True
(Random integer number between 1 and 100) Less than or equal to 15
Actions
Set Knock_Attacked = (Triggering unit)
Set Knock_Attacked_loc = (Position of Knock_Attacked)
Set Knock_Attacking = (Attacking unit)
Set Knock_Attacking_loc = (Position of Knock_Attacking)
Set Knock_Angle = (Angle from Knock_Attacking_loc to Knock_Attacked_loc)
Unit - Create 1 dummy for (Owner of Knock_Attacking) at Knock_Attacking_loc facing Default building facing degrees
Unit - Add Dummy Bolt to (Last created unit)
Unit - Set level of Dummy Bolt for (Last created unit) to (Level of Empowering Axe for Knock_Attacking)
Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
Unit - Order (Last created unit) to Human Mountain King - Storm Bolt Knock_Attacked
Custom script: call RemoveLocation (udg_Knock_Attacking_loc)
Custom script: call RemoveLocation (udg_Knock_Attacked_loc)
Wait 0.16 seconds
Trigger - Turn on EmpoweringAxe2 <gen>
Wait 0.21 seconds
Trigger - Turn off EmpoweringAxe2 <gen>
Code:
EmpoweringAxe2
Events
Time - Every 0.04 seconds of game time
Conditions
Actions
Set Knock_Attacked_loc = (Position of Knock_Attacked)
Set Knock_Distance = (Knock_Attacked_loc offset by 15.00 towards Knock_Angle degrees)
Unit - Move Knock_Attacked instantly to Knock_Distance
Special Effect - Create a special effect at Knock_Distance using Abilities\Spells\Orc\FeralSpirit\feralspiritdone.mdl
Special Effect - Destroy (Last created special effect)
Destructible - Pick every destructible within 200.00 of Knock_Distance and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked destructible) is alive) Equal to True
Then - Actions
Destructible - Kill (Picked destructible)
Else - Actions
Custom script: call RemoveLocation (udg_Knock_Attacked_loc)
Custom script: call RemoveLocation (udg_Knock_Distance)
Code:
EmpoweringAxe3
Events
Unit - A unit Learns a skill
Conditions
(Learned Hero Skill) Equal to Empowering Axe
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Item Damage Bonus (+All Dummy) for (Triggering unit)) Less than 1
Then - Actions
Unit - Add Item Damage Bonus (+All Dummy) to (Triggering unit)
Unit - Set level of Item Damage Bonus (+All Dummy) for (Triggering unit) to (Level of Empowering Axe for (Triggering unit))
Else - Actions
Unit - Set level of Item Damage Bonus (+All Dummy) for (Triggering unit) to (Level of Empowering Axe for (Triggering unit))
Ground Slam
Causes the Chieftain to slam the ground 2 times:
First Slam: Enemy land units close to Dusthoof (250 AOE) will be stunned for 3 seconds and will take massive damage. Units close to the other shakes (400 AOE) will have the attack and movement speed slowed by 50% for 3 seconds and will take half of the damage.
Second Slam: 3 shockwaves spawn in the broken areas and go towards Dusthoof, dealing damage to enemy units in their path.
Level 1 - 225 damage/75 shockwave.
Level 2 - 470 damage/130 shockwave.
Level 3 - 730 damage/200 shockwave.
Code:
GroundSlam
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Ground Slam
Actions
Set Groundslam_Caster = (Triggering unit)
Set Groundslam_CasterPoint = (Position of Groundslam_Caster)
Set Groundslam_Group = (Units within 600.00 of Groundslam_CasterPoint matching ((Level of Dummy Shockwave for (Matching unit)) Greater than or equal to 1))
Destructible - Pick every destructible within 450.00 of Groundslam_CasterPoint and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked destructible) is alive) Equal to True
Then - Actions
Destructible - Kill (Picked destructible)
Else - Actions
Wait 0.05 seconds
Unit - Pause Groundslam_Caster
For each (Integer A) from 1 to 3, do (Actions)
Loop - Actions
Set Groundslam_Point[(Integer A)] = (Groundslam_CasterPoint offset by 600.00 towards (120.00 x (Real((Integer A)))) degrees)
Unit - Create 1 dummy for (Owner of Groundslam_Caster) at Groundslam_Point[(Integer A)] facing Default building facing degrees
Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
Unit - Add Dummy Clap to (Last created unit)
Unit - Add Dummy Shockwave to (Last created unit)
Unit - Set level of Dummy Clap for (Last created unit) to (Level of Ground Slam for Groundslam_Caster)
Special Effect - Create a special effect at Groundslam_Point[(Integer A)] using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
Destructible - Pick every destructible within 450.00 of Groundslam_Point[(Integer A)] and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked destructible) is alive) Equal to True
Then - Actions
Destructible - Kill (Picked destructible)
Else - Actions
Special Effect - Destroy (Last created special effect)
Unit Group - Add (Last created unit) to Groundslam_Group
Custom script: call RemoveLocation (udg_Groundslam_Point[bj_forLoopAIndex])
Wait 0.50 seconds
Animation - Play Groundslam_Caster's attack slam animation
Wait 0.40 seconds
Special Effect - Create a special effect at Groundslam_CasterPoint using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
Special Effect - Destroy (Last created special effect)
Unit Group - Pick every unit in Groundslam_Group and do (Actions)
Loop - Actions
Unit - Set level of Dummy Shockwave for (Picked unit) to (Level of Ground Slam for Groundslam_Caster)
Unit - Order (Picked unit) to Orc Tauren Chieftain - Shockwave Groundslam_CasterPoint
Unit Group - Remove (Picked unit) from Groundslam_Group
Custom script: call DestroyGroup (udg_Groundslam_Group)
Custom script: call RemoveLocation (udg_Groundslam_CasterPoint)
Animation - Reset Groundslam_Caster's animation
Wait 0.50 seconds
Unit - Unpause Groundslam_Caster
Special credits to Freezer from Hiveworkshop for Empowering Axe icons.
EDIT 1 - Screenies added.
EDIT 2 - Fixed Empowering Axe 1st trigger, and followed waaaks! suggestion.
EDIT 3 - Removed useless models and icons. Map file size is now a lot shorter.