Spellpack Tauren Chieftain Spellpack

NapaHero

Back from the dead...
Reaction score
43
My first spellpack. Enjoy!

JASS/GUI: GUI.
MUI: Only Shockblast.
Leaks: Dead. :cool:

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 :p)

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.
 

Attachments

  • Tauren Chieftain - Spellpack 1.2.w3x
    78.1 KB · Views: 1,043
D

Dr4gonL0rd

Guest
Save the screenshot as a JPEG file in Paint, then upload the JPEG file to a site like postimage.org or photobucket.com
 

NapaHero

Back from the dead...
Reaction score
43
Thanks. I'll upload them all soon.

Anyway, did any of you tested the map? Checked the code?
 

PurgeandFire

zxcvmkgdfg
Reaction score
509
Code looks pretty good as well as the screenies, Gj.

Code:
Wait 0.05 seconds

Not that it is noticeable and really matters, but just to add on to your knowledge, this will really wait 0.27 seconds or something around that. :)

Anything below about 0.27 will wait about 0.27 secs. Nothing to do to fix that though, unless you use timers. But is a hassle in this case.

Anyways, great job. Seems very approvable to me. I didn't find any leaks or flaws in the coding.
 

waaaks!

Zinctified
Reaction score
255
good...

i have some suggestion
First Time: Enemy land units close to Dusthoof (250 AOE) will be stunned for 3seconds 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 Time: 3 shockwaves spawn in the broken areas and go towards Dusthoof, dealing damage to enemy units in their path.

first time and second time must be changed to
First Effect or First Slam
and
Second Effect or Second Slam
 

NapaHero

Back from the dead...
Reaction score
43
Code looks pretty good as well as the screenies, Gj.

Code:
Wait 0.05 seconds

Not that it is noticeable and really matters, but just to add on to your knowledge, this will really wait 0.27 seconds or something around that. :)

Anything below about 0.27 will wait about 0.27 secs. Nothing to do to fix that though, unless you use timers. But is a hassle in this case.

Anyways, great job. Seems very approvable to me. I didn't find any leaks or flaws in the coding.

Thanks :D Since the wait there doesn't matter, then I'll keep the same trigger.
 

Tinki3

Special Member
Reaction score
418
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
        Wait 0.16 seconds
        Trigger - Turn on EmpoweringAxe2 <gen>
        Wait 0.21 seconds
        Trigger - Turn off EmpoweringAxe2 <gen>
        [B]Custom script:   call RemoveLocation (udg_Knock_Attacking_loc)
        Custom script:   call RemoveLocation (udg_Knock_Attacked_loc)[/B] (udg_Knock_Attacked_loc)
The two lines in bold should be above the 0.16 sec wait.

Cool spells ;).
 
Z

Zenfarg

Guest
Gj spells are realy good, i didn't find any bugs yet. But a simple question: 4 what you have imported unused icons & General Francks Voodoo Hunter?=)
 

NapaHero

Back from the dead...
Reaction score
43
Well, this spellpack map was supposed to be a RPG map. But, since I couldn't finish it, I made only the Tauren spells. I'll delete the useless models and icons, don't worry.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top