• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Guardian Druid v1.0a

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Guardian Druid Spellpack.
Contains:
[Color=c00FFA1A1]Thrash[/Color] - Thrash the target making them bleed and dealing damage over time. Damage increases and duration resets when used on a target already bleeding. The druid is healed for every nearby unit bleeding.
[Color=c0075BCF0]Damage[/Color]: 20+130% Strength
[Color=c0075BCF0]Bleed:[/Color] 30% Strength, +20% for each application of bleed, up to 90% of Strength
[Color=c0075BCF0]Range:[/Color] Melee
[Color=c0075BCF0]Range of Heal:[/Color] 250
[Color=c0075BCF0]Heal:[/Color] 20% of Strength
[Color=c0075BCF0]Duration:[/Color] 12 seconds
[Color=c0075BCF0]Cooldown:[/Color] 4 seconds
  • Thrash
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Thrash
    • Actions
      • Animation - Play (Casting unit)'s Attack animation, using only Rare animations
      • Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (Thrash_Base + (Thrash_AttScaling x (Real((Strength of (Casting unit) (Include bonuses)))))) damage of attack type Normal and damage type Normal
      • Hashtable - Save Handle Of(Casting unit) as (Key Casterbld) of (Key (Target unit of ability being cast)) in Hashtable
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Load (Key Durationbld) of (Key (Target unit of ability being cast)) from Hashtable) Greater than 0.00
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Load (Key Stacksbld) of (Key (Target unit of ability being cast)) from Hashtable) Less than Thrash_MaxStacks
            • Then - Actions
              • Hashtable - Save ((Load (Key Stacksbld) of (Key (Target unit of ability being cast)) from Hashtable) + Thrash_AttScalingCons) as (Key Stacksbld) of (Key (Target unit of ability being cast)) in Hashtable
            • Else - Actions
          • Hashtable - Save ((Load (Key Stacksbld) of (Key (Target unit of ability being cast)) from Hashtable) x ((1.00 / 24.00) x ((Real((Strength of (Load (Key Casterbld) of (Key (Target unit of ability being cast)) in Hashtable) (Include bonuses)))) x ThrashBld_AttScaling))) as (Key Damagebld) of (Key (Target unit of ability being cast)) in Hashtable
        • Else - Actions
          • Hashtable - Save Thrash_AttStacking1st as (Key Stacksbld) of (Key (Target unit of ability being cast)) in Hashtable
          • Hashtable - Save ((Load (Key Stacksbld) of (Key (Target unit of ability being cast)) from Hashtable) x ((1.00 / 24.00) x ((Real((Strength of (Load (Key Casterbld) of (Key (Target unit of ability being cast)) in Hashtable) (Include bonuses)))) x ThrashBld_AttScaling))) as (Key Damagebld) of (Key (Target unit of ability being cast)) in Hashtable
      • Hashtable - Save ThrashBld_Duration as (Key Durationbld) of (Key (Target unit of ability being cast)) in Hashtable
      • Unit Group - Add (Target unit of ability being cast) to ThrashBleed_Group

  • Thrash periodic
    • Events
      • Time - Every 0.25 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in ThrashBleed_Group and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Load (Key Durationbld) of (Key (Picked unit)) from Hashtable) Greater than 0.00
            • Then - Actions
              • Hashtable - Save ((Load (Key Durationbld) of (Key (Picked unit)) from Hashtable) - 0.25) as (Key Durationbld) of (Key (Picked unit)) in Hashtable
              • Unit - Cause (Load (Key Casterbld) of (Key (Picked unit)) in Hashtable) to damage (Picked unit), dealing (Load (Key Damagebld) of (Key (Picked unit)) from Hashtable) damage of attack type Spells and damage type Normal
            • Else - Actions
              • Unit Group - Remove (Picked unit) from ThrashBleed_Group
  • Thrash Bleed Heal
    • Events
      • Time - Every 0.25 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in ThrashHeal_Group and do (Actions)
        • Loop - Actions
          • Set tempUnit = (Picked unit)
          • Unit Group - Pick every unit in (Units within 250.00 of (Position of tempUnit)) and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Load (Key Durationbld) of (Key (Picked unit)) from Hashtable) Greater than 0.00
                • Then - Actions
                  • Unit - Set life of tempUnit to ((Life of tempUnit) + (1.00 x (Real((Strength of tempUnit (Include bonuses))))))
                • Else - Actions
[Color=c00FFA1A1]Frenzied Regeneration[/Color] - Draws upon the powers of the nature to regenerate health, duration increases by 1 second when struck, cant exceed 10 seconds. Damage taken must be greater than the healing it will do.
[Color=c0075BCF0]Regeneration:[/Color] 3% Missing Health
[Color=c0075BCF0]Duration:[/Color] 10 seconds
[Color=c0075BCF0]Cooldown:[/Color] 1 minute
  • Frenzied Regeneration
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Frenzied Regeneration
    • Actions
      • Unit Group - Add (Casting unit) to FrenziedReg_Group
      • Hashtable - Save 10.00 as (Key Countdownfr) of (Key (Casting unit)) in Hashtable
  • Frenzied Regeneration HoT
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in FrenziedReg_Group and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Load (Key Countdownfr) of (Key (Picked unit)) from Hashtable) Greater than 0.00
              • ((Picked unit) is alive) Equal to True
            • Then - Actions
              • Hashtable - Save ((Load (Key Countdownfr) of (Key (Picked unit)) from Hashtable) - 1.00) as (Key Countdownfr) of (Key (Picked unit)) in Hashtable
              • Set tempReal = (((Max life of (Picked unit)) - (Life of (Picked unit))) x 0.03)
              • Game - Display to (All players) the text: (String(tempReal))
              • Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + tempReal)
            • Else - Actions
              • Unit Group - Remove (Picked unit) from FrenziedReg_Group
[Color=c00FFA1A1]Swipe[/Color] - Swipe the target dealing damage to it and all enemies near the primary target.
[Color=c0075BCF0]Primary Damage:[/Color] 40+230% of Strength
[Color=c0075BCF0]Area Damage:[/Color] 15+100% of Strength
[Color=c0075BCF0]Range:[/Color] Melee
[Color=c0075BCF0]Cooldown:[/Color] 3 seconds
  • Swipe
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Swipe
    • Actions
      • Animation - Play (Casting unit)'s Attack animation, using only Common animations
      • Unit - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (Swipe_Base + (Swipe_AttScaling x (Real((Strength of (Casting unit) (Include bonuses)))))) damage of attack type Normal and damage type Normal
      • Unit Group - Pick every unit in (Units within 100.00 of (Position of (Target unit of ability being cast)) matching (((Matching unit) belongs to an enemy of (Owner of (Casting unit))) Equal to True)) and do (Actions)
        • Loop - Actions
          • Unit - Cause (Casting unit) to damage (Picked unit), dealing (SwipeAOE_Base + (SwipeAOE_AttScaling x (Real((Strength of (Casting unit) (Include bonuses)))))) damage of attack type Spells and damage type Normal
[Color=c00FFA1A1]Ursols Might[/Color] - Invokes the spirit of Ursol to aid you in battle, dealing damage to all enemies in front of you based on the distance between you and the target, furthest enemies take most damage.
[Color=c0075BCF0]Damage:[/Color] 450% of Strength
[Color=c0075BCF0]Distance Damage:[/Color] Third of the distance
[Color=c0075BCF0]Range:|[/Color] 600
[Color=c0075BCF0]AOE:[/Color] 150
[Color=c0075BCF0]Cooldown:[/Color] 30 seconds
  • Ursols Might
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Ursol's Might
    • Actions
      • Animation - Play (Casting unit)'s Attack Slam animation
      • Unit - Create 1 Broll for (Owner of (Triggering unit)) at ((Position of (Triggering unit)) offset by -20.00 towards (Facing of (Triggering unit)) degrees) facing (Target point of ability being cast)
      • Hashtable - Save (4.50 x (Real((Strength of (Casting unit) (Include bonuses))))) as (Key Damageum) of (Key (Casting unit)) in Hashtable
      • Unit Group - Add (Last created unit) to Ursols_Group
      • Animation - Change (Last created unit) flying height to 1.00 at 1000000000.00
      • Hashtable - Save 30.00 as (Key Transparencyum) of (Key (Last created unit)) in Hashtable
      • Hashtable - Save Handle Of(Casting unit) as (Key Casterum) of (Key (Last created unit)) in Hashtable
      • Game - Display to (All players) the text: (String((Load (Key Damageum) of (Key (Casting unit)) from Hashtable)))
      • Wait 0.01 seconds
      • Unit - Pause (Casting unit)
[Color=c00FFA1A1]Damage Detection[/Color] (Ursols might, refreshing Frenzied regeneration)
  • Damage Detect
    • Events
    • Conditions
    • Actions
      • Trigger - Turn off (This trigger)
      • -------- Frenzied Regeneration --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Damage taken) Greater than (((Max life of (Attacked unit)) - (Life of (Attacked unit))) x 0.03)
          • ((Attacked unit) is in FrenziedReg_Group) Equal to True
          • (Load (Key Countdownfr) of (Key (Attacked unit)) from Hashtable) Less than or equal to 9.20
        • Then - Actions
          • Hashtable - Save ((Load (Key Countdownfr) of (Key (Attacked unit)) from Hashtable) + 1.00) as (Key Countdownfr) of (Key (Attacked unit)) in Hashtable
        • Else - Actions
      • -------- Ursol's Might --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Attacked unit) has buff Ursol's Might ) Equal to True
          • ((Attacked unit) is in TookUrsolDamage) Equal to False
        • Then - Actions
          • Unit Group - Add (Attacked unit) to TookUrsolDamage
          • Unit - Remove Ursol's Might buff from (Attacked unit)
          • Unit - Cause (Damage source) to damage (Attacked unit), dealing (Load (Key Damageum) of (Key (Damage source)) from Hashtable) damage of attack type Spells and damage type Normal
          • Unit - Cause (Damage source) to damage (Attacked unit), dealing ((Distance between (Position of (Damage source)) and (Position of (Attacked unit))) / 3.00) damage of attack type Chaos and damage type Universal
          • Game - Display to (All players) the text: (String((Load (Key Damageum) of (Key (Damage source)) from Hashtable)))
        • Else - Actions
      • Trigger - Turn on (This trigger)
Keywords:
Druid, WoW, Guardian, Tank, Swipe, Thrash, Frenzied, Regeneration, Ursol, Might
Contents

Guardian Druid (Map)

Reviews
12th Dec 2015 IcemanBo: For long time as NeedsFix. Rejected. 15:48, 1st Feb 2015 Maker: Check my reply in this thread

Moderator

M

Moderator

12th Dec 2015
IcemanBo: For long time as NeedsFix. Rejected.

15:48, 1st Feb 2015
Maker: Check my reply in this thread
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
  • Tharsh isn't really MUI. If two units cast the spell on the same target, they won't stack. Or a lower level spell can overwrite a higher level spell
  • Thrash heal leaks unit group and has a location leak
  • Don't use wait action
  • Periodic triggers should be turned on when they are not needed
  • ..at 0 changes flying height instantly
  • Don't use Game - Display text message

Needs Fix
 
Top