1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. The Lich King demands your service! We've reached the 19th edition of the Icon Contest. Come along and make some chilling servants for the one true king.
    Dismiss Notice
  5. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  6. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  7. The results are out! Check them out.
    Dismiss Notice
  8. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  9. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  10. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Trigger Viewer

Illidan Spell Pack.w3x
Variables
Initialization
Melee Initialization
Create
Draw Soul
Flame Crash
FC Loop 0i03 sec
PSF Loop 1 sec
PSF Cast
PSF 2 Attack Event
PSF2 Loop 1 sec
Agonizing Flame
AF 1 sec Loop
The Demon Within
TDW Hero lvl up
TDW 1 sec loop
Flame Burst
Enter map-specific custom script code below. This text will be included in the map script after variables are declared and before any trigger code.

		
Name Type Is Array Initial Value
AFDamage real Yes
AFDamagePlus real Yes
AFIndex integer No
AFInstancesRunning integer No
AFOwner unit Yes
AFSeconds integer Yes
AFTicks integer Yes
AFUnitGroup group Yes
DSAngle real No
DSConversion real No
DSDmg real No
DSGroup group No
DSTotalDmg real No
FBurstGroup group No
FBurstInt integer No
FBurstPoint location No
FBurstPoint2 location No
FBurstUnit unit No
FCBacktrack real Yes
FCCharges integer Yes
FCDamage real Yes
FCHeight real Yes
FCHeightPlus real Yes
FCIndex integer No
FCInstancesRunning integer No
FCNumberofShadowflames integer Yes
FCUnit unit Yes
FCUnitStartingHeight real Yes
Group group No
Group2 group No
Integer integer No
Integer_Copy integer No
Integerr integer No
Integr integer No
Point location No
Point_Copy location No
PSF2Charges integer Yes
PSF2Group group No
PSF2OwnerPlayer player Yes
PSF2Target unit Yes
PSFCharges integer Yes
PSFDmg real Yes
PSFIndex integer No
PSFIndex_Copy integer No
PSFInstancesRunning integer No
PSFNumberofSpawns integer Yes
PSFOwner unit Yes
PSFTarget unit Yes
Real real No
Real2 real No
Region rect No
TDWIndex integer No
TDWInstancesRunning integer No
TDWInt integer No
TDWInt2 integer No
TDWLevelofAF integer Yes
TDWLevelofDS integer Yes
TDWLevelofFC integer Yes
TDWPendingSkills integer Yes
TDWSeconds integer Yes
TDWUnit unit Yes
Default melee game initialization for all players
Melee Initialization
  Events
    Map initialization
  Conditions
  Actions
    Game - Display to Player Group - Player 1 (Red) for 30 seconds the text: This is Illidan from WoW. His spells may not fit well into this test map. I recommend increase cooldowns, modify damage etc...and make a boss fight...Check: hiveworkshop.com for further graphic for illidan. Type -create to create an Illidan.
    Melee Game - Run melee AI scripts (for computer players)
    Hero - Make Player 1 (Red) Heroes gain 200.00% experience from future kills
    Unit - Order Orc Burrow 0200 <gen> to Orc Burrow - Battle Stations
Create
  Events
    Player - Player 1 (Red) types a chat message containing -create as An exact match
  Conditions
  Actions
    Unit - Create 1 The Betrayer (Evil) for Player 1 (Red) at (Player 1 (Red) start location) facing Default building facing degrees
    Hero - Set (Last created unit) experience to 2000, Hide level-up graphics
    Trigger - Turn off (This trigger)
    Wait 4.00 game-time seconds
    Trigger - Turn on (This trigger)
Draw Soul
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to AAA Draw Soul
  Actions
    Set DSTotalDmg = 0.00
    Set DSDmg = (75.00 x (Real((Level of AAA Draw Soul for (Triggering unit)))))
    Set Real = (0.10 x (Real((Level of AAA Draw Soul for (Triggering unit)))))
    Set DSConversion = (0.60 - Real)
    Set Point_Copy = (Target point of ability being cast)
    Set DSAngle = (Angle from (Position of (Triggering unit)) to Point_Copy)
    Set Point = (Point_Copy offset by 70.00 towards DSAngle degrees)
    Custom script: call RemoveLocation(udg_Point_Copy)
    Unit - Create 1 DrainSoulEffect for (Owner of (Triggering unit)) at Point facing DSAngle degrees
    Unit - Kill (Last created unit)
    Set DSGroup = (Units within 140.00 of Point matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))
    Set Point_Copy = (Point offset by 150.00 towards DSAngle degrees)
    Custom script: call RemoveLocation(udg_Point)
    Unit - Create 1 DrainSoulEffect for (Owner of (Triggering unit)) at Point_Copy facing DSAngle degrees
    Unit - Kill (Last created unit)
    Set Group = (Units within 140.00 of Point_Copy matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))
    Unit Group - Add all units of Group to DSGroup
    Custom script: call DestroyGroup(udg_Group)
    Set Point = (Point_Copy offset by 150.00 towards DSAngle degrees)
    Custom script: call RemoveLocation(udg_Point_Copy)
    Unit - Create 1 DrainSoulEffect for (Owner of (Triggering unit)) at Point facing DSAngle degrees
    Unit - Kill (Last created unit)
    Set Group = (Units within 140.00 of Point matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))
    Unit Group - Add all units of Group to DSGroup
    Custom script: call DestroyGroup(udg_Group)
    -------- Removing Flying etc Units --------
    Set Group = (Units within 700.00 of Point matching (((Matching unit) is A flying unit) Equal to True))
    Unit Group - Remove all units of Group from DSGroup
    Custom script: call DestroyGroup(udg_Group)
    Set Group = (Units within 700.00 of Point matching (((Matching unit) is A structure) Equal to True))
    Unit Group - Remove all units of Group from DSGroup
    Custom script: call DestroyGroup(udg_Group)
    Set Group = (Units within 700.00 of Point matching (((Matching unit) is Magic Immune) Equal to True))
    Unit Group - Remove all units of Group from DSGroup
    Custom script: call DestroyGroup(udg_Group)
    Custom script: call RemoveLocation(udg_Point)
    Unit Group - Pick every unit in DSGroup and do (Actions)
      Loop - Actions
        Set Real = (Life of (Picked unit))
        Unit - Cause (Triggering unit) to damage (Picked unit), dealing DSDmg damage of attack type Spells and damage type Normal
        Set Real2 = (Life of (Picked unit))
        Set DSTotalDmg = ((Real - Real2) + DSTotalDmg)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        DSTotalDmg Greater than 0.00
      Then - Actions
        Special Effect - Create a special effect attached to the chest of (Triggering unit) using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
        Special Effect - Destroy (Last created special effect)
        Unit - Set life of (Triggering unit) to ((DSConversion x DSTotalDmg) + (Life of (Triggering unit)))
      Else - Actions
    Custom script: call DestroyGroup(udg_DSGroup)
Flame Crash
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to AAA Flame Crash
  Actions
    Set FCInstancesRunning = (FCInstancesRunning + 1)
    Set FCIndex = (FCIndex + 1)
    Set FCUnit[FCIndex] = (Triggering unit)
    Set FCUnitStartingHeight[FCIndex] = (Default flying height of (Triggering unit))
    Set FCHeight[FCIndex] = (Current flying height of (Triggering unit))
    Set FCCharges[FCIndex] = 40
    Set FCHeightPlus[FCIndex] = 60.00
    Set FCDamage[FCIndex] = ((Real((Level of AAA Flame Crash for (Triggering unit)))) x 110.00)
    Set FCNumberofShadowflames[FCIndex] = ((Level of AAA Flame Crash for (Triggering unit)) + 1)
    Set FCBacktrack[FCIndex] = 0.00
    Unit - Turn collision for (Triggering unit) Off
    Animation - Change (Triggering unit)'s animation speed to 70.00% of its original speed
    Trigger - Turn on FC_Loop_0i03_sec <gen>
    -------- Here is the trick --------
    Unit - Add Storm Crow Form to (Triggering unit)
    Unit - Remove Storm Crow Form from (Triggering unit)
FC Loop 0i03 sec
  Events
    Time - Every 0.03 seconds of game time
  Conditions
  Actions
    For each (Integer Integr) from 1 to FCIndex, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            FCCharges[Integr] Greater than 0
          Then - Actions
            Set FCCharges[Integr] = (FCCharges[Integr] - 1)
            Set FCHeight[Integr] = (FCHeight[Integr] + FCHeightPlus[Integr])
            Animation - Change FCUnit[Integr] flying height to FCHeight[Integr] at 1000000000.00
            Set FCHeightPlus[Integr] = (FCHeightPlus[Integr] - 3.00)
            Set Point = (Position of FCUnit[Integr])
            Set Point_Copy = (Point offset by FCBacktrack[Integr] towards (Facing of FCUnit[Integr]) degrees)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                FCHeightPlus[Integr] Greater than or equal to 0.00
              Then - Actions
                Set FCBacktrack[Integr] = (FCBacktrack[Integr] - 1)
              Else - Actions
                Set FCBacktrack[Integr] = 10.50
            Unit - Move FCUnit[Integr] instantly to Point_Copy
            Custom script: call RemoveLocation(udg_Point)
            Custom script: call RemoveLocation(udg_Point_Copy)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                FCCharges[Integr] Equal to 0
              Then - Actions
                Set FCInstancesRunning = (FCInstancesRunning - 1)
                Unit - Turn collision for FCUnit[Integr] On
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (FCUnit[Integr] is alive) Equal to True
                  Then - Actions
                    Animation - Change FCUnit[Integr] flying height to FCUnitStartingHeight[Integr] at 1000000000.00
                    Set Point = (Position of FCUnit[Integr])
                    Set Region = (Region centered at Point with size (175.00, 175.00))
                    For each (Integer A) from 1 to FCNumberofShadowflames[Integr], do (Actions)
                      Loop - Actions
                        Set Point_Copy = (Random point in Region)
                        Unit - Create 1 Shadowflame (Level 1) for (Owner of FCUnit[Integr]) at Point_Copy facing (Random angle) degrees
                        Unit - Add a 30.00 second Generic expiration timer to (Last created unit)
                        Custom script: call RemoveLocation(udg_Point_Copy)
                    Environment - Create a 0.20 second Temporary crater deformation at Point with radius 225.00 and depth 64.00
                    Animation - Change FCUnit[Integr]'s animation speed to 100.00% of its original speed
                    Set Group = (Units within 225.00 of Point matching (((Matching unit) belongs to an enemy of (Owner of FCUnit[Integr])) Equal to True))
                    Set Group2 = (Units within 225.00 of Point matching (((Matching unit) is A flying unit) Equal to True))
                    Unit Group - Remove all units of Group2 from Group
                    Unit Group - Pick every unit in Group and do (Actions)
                      Loop - Actions
                        Unit - Cause FCUnit[Integr] to damage (Picked unit), dealing FCDamage[Integr] damage of attack type Spells and damage type Normal
                    Custom script: call RemoveLocation(udg_Point)
                    Custom script: call RemoveRect(udg_Region)
                    Custom script: call DestroyGroup(udg_Group)
                    Custom script: call DestroyGroup(udg_Group2)
                  Else - Actions
              Else - Actions
          Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FCInstancesRunning Less than or equal to 0
      Then - Actions
        Trigger - Turn off (This trigger)
        Set FCIndex = 0
      Else - Actions
PSF Loop 1 sec
  Events
    Time - Every 1.00 seconds of game time
  Conditions
  Actions
    For each (Integer Integer) from 0 to PSFIndex, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            PSFCharges[Integer] Greater than 0
          Then - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (PSFTarget[Integer] is alive) Equal to True
              Then - Actions
                Set PSFCharges[Integer] = (PSFCharges[Integer] - 1)
                Unit - Cause PSFOwner[Integer] to damage PSFTarget[Integer], dealing PSFDmg[Integer] damage of attack type Spells and damage type Normal
                Special Effect - Create a special effect attached to the chest of PSFTarget[Integer] using Abilities\Spells\Undead\DeathandDecay\DeathandDecayDamage.mdl
                Special Effect - Destroy (Last created special effect)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    PSFCharges[Integer] Equal to 0
                  Then - Actions
                    Set PSFInstancesRunning = (PSFInstancesRunning - 1)
                    Set Point = (Position of PSFTarget[Integer])
                    Unit - Create PSFNumberofSpawns[Integer] Parasitic Shadowfiend for (Owner of PSFOwner[Integer]) at Point facing Point
                    Custom script: call RemoveLocation(udg_Point)
                  Else - Actions
              Else - Actions
                Set PSFCharges[Integer] = 0
                Set PSFInstancesRunning = (PSFInstancesRunning - 1)
          Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        PSFInstancesRunning Less than or equal to 0
      Then - Actions
        Trigger - Turn off (This trigger)
        Set PSFIndex = 0
      Else - Actions
PSF Cast
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to AAA Parasitic Shadowfiend
  Actions
    Set PSFInstancesRunning = (PSFInstancesRunning + 1)
    Set PSFIndex = (PSFIndex + 1)
    Set PSFOwner[PSFIndex] = (Triggering unit)
    Set PSFTarget[PSFIndex] = (Target unit of ability being cast)
    Set PSFDmg[PSFIndex] = ((Real((Level of AAA Parasitic Shadowfiend for (Triggering unit)))) x 5.00)
    Set Integer = ((Level of AAA Parasitic Shadowfiend for (Triggering unit)) x 3)
    Set PSFCharges[PSFIndex] = (18 - Integer)
    Set PSFNumberofSpawns[PSFIndex] = (Level of AAA Parasitic Shadowfiend for (Triggering unit))
    Trigger - Turn on PSF_Loop_1_sec <gen>
PSF 2 Attack Event
  Events
    Unit - A unit Is attacked
  Conditions
    (Unit-type of (Attacking unit)) Equal to Parasitic Shadowfiend
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((Attacked unit) is in PSF2Group) Equal to False
      Then - Actions
        Set PSFIndex_Copy = (PSFIndex_Copy + 1)
        Unit Group - Add (Attacked unit) to PSF2Group
        Set PSF2Target[PSFIndex_Copy] = (Attacked unit)
        Set PSF2Charges[PSFIndex_Copy] = 10
        Set PSF2OwnerPlayer[PSFIndex_Copy] = (Owner of (Attacking unit))
        Trigger - Turn on PSF2_Loop_1_sec <gen>
      Else - Actions
PSF2 Loop 1 sec
  Events
    Time - Every 1.00 seconds of game time
  Conditions
  Actions
    For each (Integer Integer_Copy) from 0 to PSFIndex_Copy, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            PSF2Charges[Integer_Copy] Greater than 0
          Then - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (PSF2Target[Integer_Copy] is alive) Equal to True
              Then - Actions
                Set PSF2Charges[Integer_Copy] = (PSF2Charges[Integer_Copy] - 1)
                Special Effect - Create a special effect attached to the chest of PSF2Target[Integer_Copy] using Abilities\Spells\Undead\DeathandDecay\DeathandDecayDamage.mdl
                Special Effect - Destroy (Last created special effect)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    PSF2Charges[Integer_Copy] Equal to 0
                  Then - Actions
                    Unit Group - Remove PSF2Target[Integer_Copy] from PSF2Group
                    Set Point = (Position of PSF2Target[Integer_Copy])
                    Unit - Create 2 Parasitic Shadowfiend for PSF2OwnerPlayer[Integer_Copy] at Point facing Point
                    Custom script: call RemoveLocation(udg_Point)
                  Else - Actions
              Else - Actions
                Set PSF2Charges[Integer_Copy] = 0
                Unit Group - Remove PSF2Target[Integer_Copy] from PSF2Group
          Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Number of units in PSF2Group) Equal to 0
      Then - Actions
        Trigger - Turn off (This trigger)
        Set PSFIndex_Copy = 0
      Else - Actions
Agonizing Flame
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to AAA Agonizing Flame
  Actions
    Set Point = (Target point of ability being cast)
    Set Group2 = (Units within 225.00 of Point matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))
    Set Group = (Units within 230.00 of Point matching (((Matching unit) is A flying unit) Equal to True))
    Unit Group - Remove all units of Group from Group2
    Custom script: call DestroyGroup(udg_Group)
    Set Group = (Units within 230.00 of Point matching (((Matching unit) is A structure) Equal to True))
    Unit Group - Remove all units of Group from Group2
    Custom script: call DestroyGroup(udg_Group)
    Set Group = (Units within 230.00 of Point matching (((Matching unit) is Magic Immune) Equal to True))
    Unit Group - Remove all units of Group from Group2
    Custom script: call DestroyGroup(udg_Group)
    Custom script: call RemoveLocation(udg_Point)
    Set Real = (30.00 x (Real((Level of AAA Agonizing Flame for (Triggering unit)))))
    Unit Group - Pick every unit in Group2 and do (Actions)
      Loop - Actions
        Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\Incinerate\IncinerateBuff.mdl
        Special Effect - Destroy (Last created special effect)
        Unit - Cause (Triggering unit) to damage (Picked unit), dealing Real damage of attack type Spells and damage type Normal
    Set AFInstancesRunning = (AFInstancesRunning + 1)
    Set AFIndex = (AFIndex + 1)
    Unit Group - Add all units of Group2 to AFUnitGroup[AFIndex]
    Set AFSeconds[AFIndex] = 3
    Set AFTicks[AFIndex] = (((Level of AAA Agonizing Flame for (Triggering unit)) x 1) + 4)
    Set AFDamage[AFIndex] = (((Real((Level of AAA Agonizing Flame for (Triggering unit)))) x 5.00) + 5.00)
    Set AFDamagePlus[AFIndex] = 10.00
    Set AFOwner[AFIndex] = (Triggering unit)
    Trigger - Turn on AF_1_sec_Loop <gen>
    Custom script: call DestroyGroup(udg_Group2)
AF 1 sec Loop
  Events
    Time - Every 1.00 seconds of game time
  Conditions
  Actions
    For each (Integer Integerr) from 1 to AFIndex, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            AFTicks[Integerr] Greater than 0
          Then - Actions
            Set AFSeconds[Integerr] = (AFSeconds[Integerr] - 1)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                AFSeconds[Integerr] Equal to 0
              Then - Actions
                Set AFSeconds[Integerr] = 3
                Set AFTicks[Integerr] = (AFTicks[Integerr] - 1)
                Unit Group - Pick every unit in AFUnitGroup[Integerr] and do (Actions)
                  Loop - Actions
                    Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Weapons\FireBallMissile\FireBallMissile.mdl
                    Special Effect - Destroy (Last created special effect)
                    Unit - Cause AFOwner[Integerr] to damage (Picked unit), dealing AFDamage[Integerr] damage of attack type Spells and damage type Normal
                Set AFDamage[Integerr] = (AFDamage[Integerr] + AFDamagePlus[Integerr])
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    AFTicks[Integerr] Equal to 0
                  Then - Actions
                    Set AFSeconds[Integerr] = 0
                    Unit Group - Remove all units of AFUnitGroup[Integerr] from AFUnitGroup[Integer]
                    Set AFInstancesRunning = (AFInstancesRunning - 1)
                  Else - Actions
              Else - Actions
          Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        AFInstancesRunning Less than or equal to 0
      Then - Actions
        Trigger - Turn off (This trigger)
        Set AFIndex = 0
      Else - Actions
The Demon Within
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to A The Demon Within (Evil Illidan)
  Actions
    Set TDWInstancesRunning = (TDWInstancesRunning + 1)
    Set TDWIndex = (TDWIndex + 1)
    Set TDWUnit[TDWIndex] = (Triggering unit)
    Set TDWLevelofAF[TDWIndex] = (Level of AAA Agonizing Flame for (Triggering unit))
    Set TDWLevelofDS[TDWIndex] = (Level of AAA Draw Soul for (Triggering unit))
    Set TDWLevelofFC[TDWIndex] = (Level of AAA Flame Crash for (Triggering unit))
    -------- TDWSeconds must be atleast duration of Metamorphosis + 5 (at 1,5 duration normal) --------
    Set TDWSeconds[TDWIndex] = 65
    Set TDWPendingSkills[TDWIndex] = (Unspent skill points of (Triggering unit))
    Unit - Remove AAA Agonizing Flame from (Triggering unit)
    Unit - Remove AAA Draw Soul from (Triggering unit)
    Unit - Remove AAA Flame Crash from (Triggering unit)
    Trigger - Turn on TDW_1_sec_loop <gen>
    Trigger - Turn on TDW_Hero_lvl_up <gen>
    -------- If you dont like Wait, then start to like it :D With Triggering Unit it Works. --------
    Wait 1.50 game-time seconds
    Unit - Add AAA Flame Burst (Demon Form) to (Triggering unit)
    Hero - Modify unspent skill points of (Triggering unit): Set to 0 points
TDW Hero lvl up
  Events
    Unit - A unit Gains a level
  Conditions
  Actions
    For each (Integer TDWInt2) from 1 to TDWIndex, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unspent skill points of TDWUnit[TDWInt2]) Greater than 0
          Then - Actions
            Set TDWPendingSkills[TDWInt2] = (TDWPendingSkills[TDWInt2] + (Unspent skill points of TDWUnit[TDWInt2]))
            Hero - Modify unspent skill points of TDWUnit[TDWInt2]: Set to 0 points
          Else - Actions
TDW 1 sec loop
  Events
    Time - Every 1.00 seconds of game time
  Conditions
  Actions
    For each (Integer TDWInt) from 1 to TDWIndex, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            TDWSeconds[TDWInt] Greater than 0
          Then - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (TDWUnit[TDWInt] is alive) Equal to True
              Then - Actions
                Set TDWSeconds[TDWInt] = (TDWSeconds[TDWInt] - 1)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    TDWSeconds[TDWInt] Equal to 0
                  Then - Actions
                    Set TDWInstancesRunning = (TDWInstancesRunning - 1)
                    Hero - Modify unspent skill points of TDWUnit[TDWInt]: Add TDWPendingSkills[TDWInt] points
                    Set TDWPendingSkills[TDWInt] = 0
                    Unit - Remove AAA Flame Burst (Demon Form) from TDWUnit[TDWInt]
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      If - Conditions
                        TDWLevelofAF[TDWInt] Greater than 0
                      Then - Actions
                        Unit - Add AAA Agonizing Flame to TDWUnit[TDWInt]
                        Unit - Set level of AAA Agonizing Flame for TDWUnit[TDWInt] to TDWLevelofAF[TDWInt]
                      Else - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      If - Conditions
                        TDWLevelofDS[TDWInt] Greater than 0
                      Then - Actions
                        Unit - Add AAA Draw Soul to TDWUnit[TDWInt]
                        Unit - Set level of AAA Draw Soul for TDWUnit[TDWInt] to TDWLevelofDS[TDWInt]
                      Else - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      If - Conditions
                        TDWLevelofFC[TDWInt] Greater than 0
                      Then - Actions
                        Unit - Add AAA Flame Crash to TDWUnit[TDWInt]
                        Unit - Set level of AAA Flame Crash for TDWUnit[TDWInt] to TDWLevelofFC[TDWInt]
                      Else - Actions
                    Set TDWUnit[TDWInt] = No unit
                  Else - Actions
              Else - Actions
          Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        TDWInstancesRunning Less than or equal to 0
      Then - Actions
        Trigger - Turn off (This trigger)
        Trigger - Turn off TDW_Hero_lvl_up <gen>
        Set TDWIndex = 0
      Else - Actions
Flame Burst
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to AAA Flame Burst (Demon Form)
  Actions
    Set FBurstPoint = (Position of (Triggering unit))
    Set FBurstGroup = (Units within 690.00 of FBurstPoint matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))
    Unit Group - Pick every unit in FBurstGroup and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (((Picked unit) is A flying unit) Equal to True) or ((((Picked unit) is Magic Immune) Equal to True) or ((((Picked unit) is dead) Equal to True) or (((Picked unit) has buff Invulnerable) Equal to True)))
          Then - Actions
          Else - Actions
            Set FBurstPoint2 = (Position of (Picked unit))
            Unit - Create 1 Flame Burst for (Owner of (Triggering unit)) at FBurstPoint facing FBurstPoint2
            Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
            Unit - Order (Last created unit) to Attack (Picked unit)
            Custom script: call RemoveLocation(udg_FBurstPoint2)
    Custom script: call DestroyGroup(udg_FBurstGroup)
    Custom script: call RemoveLocation(udg_FBurstPoint)