Arcane
You can change this now in User CP.
- Reaction score
- 87
Yet another attempt at a JASS spell, and yet another initial failure. Things are just so much easier in GUI right now... sigh... Will be converting this to JASS eventually.
The Pandaren Brewmaster conjures up a stream of searing hot flames which spread outwards in a cone shape. The flames deal (15+15*level) damage per second and last for 5 seconds. The flames also slow enemy units by 50% for 2 seconds.
This spell is GUI for now.
NOT MUI.
Here is the code:
Say, if I made this spell in JASS, would it require "moving locals" from one function to another?
The Pandaren Brewmaster conjures up a stream of searing hot flames which spread outwards in a cone shape. The flames deal (15+15*level) damage per second and last for 5 seconds. The flames also slow enemy units by 50% for 2 seconds.
This spell is GUI for now.
NOT MUI.
Here is the code:
Code:
Flamethrower Initialize
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Flamethrower
Actions
Set FlameCaster = (Triggering unit)
Set FlameCasterPoint = ((Position of (Triggering unit)) offset by 50.00 towards (Facing of (Triggering unit)) degrees)
Set FlamethrowerGroup = FlamethrowerGroup
Set FlameDamageGroup = FlameDamageGroup
Trigger - Turn on Periodic <gen>
Wait 0.65 seconds
Animation - Change (Triggering unit)'s animation speed to 0.00% of its original speed
Code:
Flamethrower Halt
Events
Unit - A unit Stops casting an ability
Conditions
(Ability being cast) Equal to Flamethrower
Actions
Animation - Change (Triggering unit)'s animation speed to 100.00% of its original speed
Animation - Reset (Triggering unit)'s animation
Unit Group - Pick every unit in FlamethrowerGroup and do (Actions)
Loop - Actions
Unit - Kill (Picked unit)
Trigger - Turn off Periodic <gen>
Custom script: call RemoveLocation(udg_FlameCasterPoint)
Code:
Periodic
Events
Time - Every 0.1 seconds of game time
Conditions
Actions
Unit - Create 1 Flame for (Owner of FlameCaster) at FlameCasterPoint facing ((Facing of FlameCaster) - (Random real number between -30.00 and 30.00)) degrees
Unit Group - Add (Last created unit) to FlamethrowerGroup
Unit Group - Pick every unit in FlamethrowerGroup and do (Actions)
Loop - Actions
Set FlamePoint = (Position of (Picked unit))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Integer((Distance between FlameCasterPoint and FlamePoint))) Greater than 500
Then - Actions
Unit - Kill (Picked unit)
Custom script: call RemoveLocation(udg_FlamePoint)
Else - Actions
Unit Group - Pick every unit in (Units within 100.00 of FlamePoint matching ((((Matching unit) belongs to an enemy of (Owner of FlameCaster)) Equal to True) and (((Matching unit) is alive) Equal to True))) and do (Actions)
Loop - Actions
Unit Group - Add (Picked unit) to FlameDamageGroup
Unit - Move (Picked unit) instantly to (FlamePoint offset by 30.00 towards (Facing of (Picked unit)) degrees)
Custom script: call RemoveLocation(udg_FlamePoint)
Unit Group - Pick every unit in FlameDamageGroup and do (Actions)
Loop - Actions
Unit - Cause FlameCaster to damage (Picked unit), dealing (0.75 + (0.75 x (Real((Level of Flamethrower for FlameCaster))))) damage of attack type Spells and damage type Fire
Unit - Create 1 Dumbo for (Owner of FlameCaster) at FlameCasterPoint facing Default building facing degrees
Unit - Order (Last created unit) to Human Sorceress - Slow (Picked unit)
Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
Unit Group - Remove (Picked unit) from FlameDamageGroup
Say, if I made this spell in JASS, would it require "moving locals" from one function to another?