Panda Spellpack(Version 1.0)
This spellpack contains a few panda spells which synergize well with eachother.
Spells
Arm Mirrage
Description:
With Each attack the Drunken master realizes a new level of speed. This allows him to attack swiftly, dealing smaller multiple attacks whenever he hits his opponents.
Screenshot:
Code:
Drunken Brawler
Description:
Hoaning his own martial art skills, the Drunken Brawler increases his reflexes, boosting movement and attack speed slightly, also allowing him to sometimes make critical blows against his enemies. He also gains knowledge of drunken fighting, allowing him to better fight while drunk.
Screenshot:
Code:
StormCrout Ale
Description:
A secret recipe past down from generations brewed by the monks of his training temple, Chen has learned how to make a powerful ale, capable of increasing one's power. However, the side effects are still extremely potewnt on drinkers with weak stomachs and control.
Screenshot:
Code:
Breath of Ale
Description:
Takes a swig from his ale barrel and blows out a strong mist of ale onto his enemies, covering them in alchohol. The effect leaves the units drunk, with slower motion and a loss of accuracy. The more alchohol he has in him, the stronger the effect will be...
Screenshot:
Code:
Credits
This spellpack contains a few panda spells which synergize well with eachother.
Pandaren Brewmaster
- Arm Mirrage [Active]
- Drunken Brawler [Passive]
- StormCrout Ale [Active]
- Breath of Ale [Active]
Spells
Arm Mirrage
Description:
With Each attack the Drunken master realizes a new level of speed. This allows him to attack swiftly, dealing smaller multiple attacks whenever he hits his opponents.
Screenshot:

Code:
Trigger:
- Single Attack Arm Mirrage
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- And - All (Conditions) are true
- Conditions
- (Ability being cast) Equal to Arm Mirrage (AM)
- ((Target unit of ability being cast) belongs to an enemy of (Owner of (Triggering unit))) Equal to True
- Conditions
- And - All (Conditions) are true
- Actions
- Set DrunkenBrawler = (Triggering unit)
- For each (Integer A) from 1 to (0 + (2 x (Level of (Ability being cast) for DrunkenBrawler))), do (Actions)
- Loop - Actions
- Set ArmMirragePoint = (Position of DrunkenBrawler)
- Unit - Create 1 Arm Mirrage Ghost (AM) for (Owner of DrunkenBrawler) at ArmMirragePoint facing (Facing of DrunkenBrawler) degrees
- Set ArmMirragePotentialTargets = (Units within 200.00 of ArmMirragePoint matching ((((Matching unit) is A flying unit) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of DrunkenBrawler)) Equal to True))))
- Custom script: call RemoveLocation(udg_ArmMirragePoint)
- Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 50.00% transparency
- Unit - Add a 0.60 second Generic expiration timer to (Last created unit)
- Unit - Order (Last created unit) to Attack (Random unit from ArmMirragePotentialTargets)
- Unit Group - Remove all units from ArmMirragePotentialTargets
- Wait 0.10 seconds
- Loop - Actions
- Events
Trigger:
- Image Clean Up
- Events
- Unit - A unit Dies
- Conditions
- (Unit-type of (Triggering unit)) Equal to Arm Mirrage Ghost (AM)
- Actions
- Animation - Change (Dying unit)'s animation speed to 0.00% of its original speed
- Unit - Remove (Dying unit) from the game
- Events
Drunken Brawler
Description:
Hoaning his own martial art skills, the Drunken Brawler increases his reflexes, boosting movement and attack speed slightly, also allowing him to sometimes make critical blows against his enemies. He also gains knowledge of drunken fighting, allowing him to better fight while drunk.
Screenshot:

Code:
Trigger:
- Drunken Brawler Timer
- Events
- Time - ArmMirrageMaxDuration expires
- Conditions
- Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- ArmMirrageInteger Greater than or equal to 5
- Then - Actions
- Set AmmasedImages = 0
- Set ArmMirrageInteger = 0
- Trigger - Turn off (This trigger)
- Else - Actions
- Set ArmMirrageInteger = (ArmMirrageInteger + 1)
- If - Conditions
- Countdown Timer - Start ArmMirrageMaxDuration as a One-shot timer that will expire in 1.00 seconds
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Events
Trigger:
- Drunken Brawler Attack Attempt
- Events
- Unit - A unit Is attacked
- Conditions
- And - All (Conditions) are true
- Conditions
- ((Attacked unit) belongs to an enemy of (Owner of (Attacking unit))) Equal to True
- Conditions
- And - All (Conditions) are true
- Actions
- Trigger - Turn off Drunken Brawler Damage Alter <gen>
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- And - All (Conditions) are true
- Conditions
- ((Attacked unit) is A structure) Equal to False
- (Random real number between 0.00 and 100.00) Less than or equal to 15.00
- (Level of Drunken Brawler (DB) for DrunkenBrawler) Greater than or equal to 1
- Conditions
- And - All (Conditions) are true
- Then - Actions
- Set DM_CriticalStrike = True
- Else - Actions
- Set DM_CriticalStrike = False
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Mana of DrunkenBrawler) Greater than or equal to (Real((Integer((12.50 + (2.50 x (Real((Level of Drunken Brawler (DB) for DrunkenBrawler)))))))))
- Then - Actions
- Set DMHasEnoughMana = True
- Else - Actions
- Set DMHasEnoughMana = False
- If - Conditions
- Set DM_AttackedUnit = (Attacked unit)
- Trigger - Add to Drunken Brawler Damage Alter <gen> the event (Unit - DM_AttackedUnit Takes damage)
- Trigger - Turn on Drunken Brawler Damage Alter <gen>
- Events
Trigger:
- Drunken Brawler Damage Alter
- Events
- Conditions
- (Damage source) Equal to DrunkenBrawler
- Actions
- Set DrunkenBrawler = (Damage source)
- Unit - Create 1 Universal Dummy (All) for (Owner of DrunkenBrawler) at (Position of DrunkenBrawler) facing Default building facing degrees
- Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
- Set PLAYER_ATT_DMG_BUFFER[(Player number of (Owner of DrunkenBrawler))] = (Last created unit)
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (DrunkenBrawler has buff Focused Power (FP)) Equal to True
- Then - Actions
- Unit - Cause PLAYER_ATT_DMG_BUFFER[(Player number of (Owner of DrunkenBrawler))] to damage DM_AttackedUnit, dealing 75.00 damage of attack type Hero and damage type Normal
- Set FPStunPoint = (Position of DrunkenBrawler)
- Unit - Create 1 Universal Dummy (All) for (Owner of DrunkenBrawler) at FPStunPoint facing Default building facing degrees
- Custom script: call RemoveLocation(udg_FPStunPoint)
- Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
- Unit - Add Stun (FP) to (Last created unit)
- Unit - Order (Last created unit) to Human Mountain King - Storm Bolt DM_AttackedUnit
- Unit - Remove Focused Power (FP) buff from DrunkenBrawler
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (DrunkenBrawler has buff Drunken Brawler Drunken Haze (SCA)) Equal to True
- Then - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- DM_CriticalStrike Equal to True
- Then - Actions
- Set DMDamageBoost = ((((Damage taken) + ((3.00 + (Real((Level of StormCrout Ale (SCA) for DrunkenBrawler)))) x (Real(DrunkLevel)))) x ((0.15 + (0.10 x (Real((Level of Drunken Brawler (DB) for DrunkenBrawler))))) + ((0.02 + (0.01 x (Real((Level of Drunken Brawler (DB) for Drunken
- Unit - Cause PLAYER_ATT_DMG_BUFFER[(Player number of (Owner of DrunkenBrawler))] to damage DM_AttackedUnit, dealing DMDamageBoost damage of attack type Chaos and damage type Universal
- Floating Text - Create floating text that reads ((String((Integer(((Damage taken) + DMDamageBoost))))) + !) above DrunkenBrawler with Z offset 0.00, using font size 11.00, color (74.12%, 50.59%, 24.31%), and 0.00% transparency
- Floating Text - Set the velocity of (Last created floating text) to 55.00 towards 90.00 degrees
- Floating Text - Change (Last created floating text): Disable permanence
- Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
- Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
- Else - Actions
- Unit - Cause PLAYER_ATT_DMG_BUFFER[(Player number of (Owner of DrunkenBrawler))] to damage DM_AttackedUnit, dealing ((3.00 + (Real((Level of Drunken Brawler (DB) for DrunkenBrawler)))) x (Real(DrunkLevel))) damage of attack type Chaos and damage type Universal
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Else - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- DM_CriticalStrike Equal to True
- Then - Actions
- Set DMDamageBoost = (((Damage taken) x ((0.15 + (0.10 x (Real((Level of Drunken Brawler (DB) for DrunkenBrawler))))) + 0.00)) x 1.00)
- Unit - Cause PLAYER_ATT_DMG_BUFFER[(Player number of (Owner of DrunkenBrawler))] to damage DM_AttackedUnit, dealing DMDamageBoost damage of attack type Chaos and damage type Universal
- Floating Text - Create floating text that reads ((String((Integer(((Damage taken) + DMDamageBoost))))) + !) above DrunkenBrawler with Z offset 0.00, using font size 11.00, color (74.12%, 50.59%, 24.31%), and 0.00% transparency
- Floating Text - Set the velocity of (Last created floating text) to 55.00 towards 90.00 degrees
- Floating Text - Change (Last created floating text): Disable permanence
- Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
- Floating Text - Change the fading age of (Last created floating text) to 2.00 seconds
- Else - Actions
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- Trigger - Turn off (This trigger)
StormCrout Ale
Description:
A secret recipe past down from generations brewed by the monks of his training temple, Chen has learned how to make a powerful ale, capable of increasing one's power. However, the side effects are still extremely potewnt on drinkers with weak stomachs and control.
Screenshot:

Code:
Trigger:
- StormCrout Effect
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to StormCrout Ale (SCA)
- Actions
- Set DrunkenBrawler = (Triggering unit)
- Trigger - Turn on StormCrout Check <gen>
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (DrunkenBrawler has buff Drunken Brawler Drunken Haze (SCA)) Equal to True
- Then - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- DrunkLevel Greater than or equal to 5
- Then - Actions
- Set DrunkLevel = 5
- Else - Actions
- Set DrunkLevel = (DrunkLevel + 1)
- If - Conditions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Else - Actions
- Set DrunkLevel = 1
- If - Conditions
- Set DrunkCastPoint = (Position of DrunkenBrawler)
- Unit - Create 1 Universal Dummy (All) for (Owner of DrunkenBrawler) at DrunkCastPoint facing Default building facing degrees
- Custom script: call RemoveLocation(udg_DrunkCastPoint)
- Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
- Unit - Add StormCrout Ale Drunkness (SCA) to (Last created unit)
- Unit - Set level of StormCrout Ale Drunkness (SCA) for (Last created unit) to (((6 x DrunkLevel) - 5) + (Level of Drunken Brawler (DB) for DrunkenBrawler))
- Unit - Order (Last created unit) to Neutral Pandaren Brewmaster - Drunken Haze DrunkenBrawler
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Level of Drunken Evasion Book (DB) for DrunkenBrawler) Greater than or equal to ((Level of StormCrout Ale (SCA) for DrunkenBrawler) + 2)
- Then - Actions
- Unit - Set level of Drunken Evasion Book (DB) for DrunkenBrawler to ((Level of StormCrout Ale (SCA) for DrunkenBrawler) + 2)
- Else - Actions
- Unit - Set level of Drunken Evasion Book (DB) for DrunkenBrawler to ((Level of Drunken Evasion Book (DB) for DrunkenBrawler) + 1)
- If - Conditions
- Events
Trigger:
- StormCrout Check
- Events
- Time - Every 0.50 seconds of game time
- Conditions
- (DrunkenBrawler has buff Drunken Brawler Drunken Haze (SCA)) Equal to False
- Actions
- Unit - Set level of Drunken Evasion Book (DB) for DrunkenBrawler to 1
- Set DrunkLevel = 0
- Trigger - Turn off (This trigger)
- Events
Breath of Ale
Description:
Takes a swig from his ale barrel and blows out a strong mist of ale onto his enemies, covering them in alchohol. The effect leaves the units drunk, with slower motion and a loss of accuracy. The more alchohol he has in him, the stronger the effect will be...
Screenshot:

Code:
Trigger:
- Breath of Ale AoE Setup
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Breath of Ale (BoA)
- Actions
- Set DrunkenBrawler = (Triggering unit)
- Set BoATargetPoint = (Target point of ability being cast)
- Custom script: call RemoveLocation(udg_BoACastPoint)
- Unit Group - Remove all units from UnitsalreadyDrunk
- Unit - Set level of Drunken Evasion Book (DB) for DrunkenBrawler to 1
- Unit - Remove Drunken Brawler Drunken Haze (SCA) buff from DrunkenBrawler
- Trigger - Turn off StormCrout Check <gen>
- Set StoredAleLevel = DrunkLevel
- Set DrunkLevel = 0
- Set BoACastPoint = (Position of DrunkenBrawler)
- Set BoAConeAngle = (Angle from BoACastPoint to BoATargetPoint)
- Custom script: call RemoveLocation(udg_BoACastPoint)
- Custom script: call RemoveLocation(udg_BoATargetPoint)
- Set BoAConeCurrentDistance = 50.00
- Set BoACastPoint = ((Position of DrunkenBrawler) offset by 50.00 towards BoAConeAngle degrees)
- For each (Integer A) from 1 to 3, do (Actions)
- Loop - Actions
- Set BoAConeAoEPoint[(Integer A)] = (BoACastPoint offset by 50.00 towards BoAConeAngle degrees)
- Set BoAAffectedUnits = (Units within 80.00 of BoAConeAoEPoint[(Integer A)] matching ((((Matching unit) is A structure) Equal to False) and (((((Matching unit) is A ground unit) Equal to True) and (((Matching unit) is Magic Immune) Equal to False)) and ((((Matching unit) is alive) E
- Unit Group - Pick every unit in BoAAffectedUnits and do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- ((Picked unit) is in UnitsalreadyDrunk) Equal to False
- Then - Actions
- Unit - Create 1 Universal Dummy (All) for (Owner of DrunkenBrawler) at BoAConeAoEPoint[(Integer A)] facing Default building facing degrees
- Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
- Unit - Add Breath of Ale Drunkness (BoA) to (Last created unit)
- Unit - Set level of Breath of Ale Drunkness (BoA) for (Last created unit) to (((6 x (Level of Breath of Ale (BoA) for DrunkenBrawler)) - 5) + StoredAleLevel)
- Unit - Order (Last created unit) to Neutral Pandaren Brewmaster - Drunken Haze (Picked unit)
- Unit Group - Add (Picked unit) to UnitsalreadyDrunk
- Else - Actions
- If - Conditions
- Unit Group - Remove (Picked unit) from BoAAffectedUnits
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Loop - Actions
- Custom script: call RemoveLocation(udg_BoAConeAoEPoint[GetForLoopIndexA()])
- Loop - Actions
- Trigger - Turn on Breath of Ale Wave Detect <gen>
- Events
Trigger:
- Breath of Ale Wave Detect
- Events
- Time - Every 0.03 seconds of game time
- Conditions
- Actions
- Set BoAConeCurrentDistance = (BoAConeCurrentDistance + (500.00 / 20.00))
- For each (Integer A) from 1 to 3, do (Actions)
- Loop - Actions
- Set BoAConeAoEPoint[(Integer A)] = (BoACastPoint offset by (BoAConeCurrentDistance - 50.00) towards (BoAConeAngle + (-40.00 + (20.00 x (Real((Integer A)))))) degrees)
- Set BoAAffectedUnits = (Units within 100.00 of BoAConeAoEPoint[(Integer A)] matching ((((Matching unit) is A structure) Equal to False) and (((((Matching unit) is A ground unit) Equal to True) and (((Matching unit) is Magic Immune) Equal to False)) and ((((Matching unit) is alive)
- Unit Group - Pick every unit in BoAAffectedUnits and do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- ((Picked unit) is in UnitsalreadyDrunk) Equal to False
- Then - Actions
- Unit - Create 1 Universal Dummy (All) for (Owner of DrunkenBrawler) at BoAConeAoEPoint[(Integer A)] facing Default building facing degrees
- Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
- Unit - Add Breath of Ale Drunkness (BoA) to (Last created unit)
- Unit - Set level of Breath of Ale Drunkness (BoA) for (Last created unit) to (((6 x (Level of Breath of Ale (BoA) for DrunkenBrawler)) - 5) + StoredAleLevel)
- Unit - Order (Last created unit) to Neutral Pandaren Brewmaster - Drunken Haze (Picked unit)
- Unit Group - Add (Picked unit) to UnitsalreadyDrunk
- Else - Actions
- If - Conditions
- Unit Group - Remove (Picked unit) from BoAAffectedUnits
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- Loop - Actions
- Custom script: call RemoveLocation(udg_BoAConeAoEPoint[GetForLoopIndexA()])
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- BoAConeCurrentDistance Greater than or equal to 550.00
- Then - Actions
- Unit Group - Remove all units from UnitsalreadyDrunk
- Unit Group - Remove (Picked unit) from BoAAffectedUnits
- Custom script: call RemoveLocation(udg_BoACastPoint)
- Trigger - Turn off (This trigger)
- Else - Actions
- If - Conditions
- Events
Credits
Code:
Unknown for Breath of Ale effect
Glenphir for spell post template.
More to be added