1. Are you planning to upload your awesome map 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 haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. From the gates of hell, the 5th Special Effect Contest Results have emerged.
    Dismiss Notice
  5. Rubbed the right way, the genie is out of its lamp! The 12th Concept Art Contest Results have been announced.
    Dismiss Notice
  6. Race against the odds and Reforge, Don't Refund. The 14th Techtree Contest has begun!
    Dismiss Notice
  7. 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

WinterWars.w3x
Variables
Initialization
Melee Init
Untitled Trigger 002
poop
Strategies
clear
Encampment Taken
Antideny
Imported Spells
Readme
Lightning Strike
Cast A Knockback
GetKnockback
Salary
Per sec
Per sec Copy
Kills per 12 sec
Refinery
Purchase
xczxc
B17
B17 Rearm
B17 Copy
Antitank
Sniper Unit
Sniper Unit Copy 2
sadsadsa
Sniper Unit Copy
System
Bomb Detonate
Untitled Trigger 001
SpaceBar
Sniper
Reomve
SB Start
Effect Land Mine
Suicide
SB Loop
Effects
Fire Wall
Trere
Rain
Equip
ChargesAddGUI
Spawn Point Set
Score
Score End
Enmd
Enmd Copy
Score End 1
Endyay
Score Update
Score Town Update
Unit Dies
Drop Item Gone
Napalm Strike
Reset Number of Kills
Check Kill Number
Dialog
Choose Nation
Korea
Iraq
US
USSR
Extra System
Paratrooper Expire
Paratrooper Cast
Paratrooper Cast Copy
New Systems
Capital
First Spawn
Anti AFK System
AFK System Initialization
AFK System loop
AFK System action
AFK System commands
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
AFK_afk_limit integer Yes
AFK_Boolean boolean Yes
AFK_Integer integer Yes
AFK_String string No
AFK_Time integer Yes
AFK_TimeLimit integer No
AFK_Timer timer Yes
AFK_TimerWindow timerdialog Yes
CapitalBuilder unit Yes
CastedParatrooper boolean Yes
ChooseNation dialog No
ChooseNationButton button Yes
Circle unit Yes
CurrentPlayers1 integer No
CurrentPlayers2 integer No
Fire_Wall_Ability_Level integer No
Fire_Wall_Caster unit No
Fire_Wall_Distance real No
Fire_Wall_Dummy_Ability abilcode No
Fire_Wall_Duration real No
Fire_Wall_Location location No
Fire_Wall_Loop_Location location No
Fire_Wall_Loop_Location_2 location No
Fire_Wall_Owner player No
Hero unit Yes
Hints string Yes
KB_Angle real Yes
KB_Casters unit Yes
KB_CountBuffs integer No
KB_DestroyTrees boolean Yes
KB_Effects_1 string Yes
KB_Effects_2 string Yes
KB_GeneralIntegers integervar Yes
KB_KnockbackedUnits group No
KB_Levels integer Yes
KB_MaxDistance real Yes
KB_ReachedDistance real Yes
KB_ReducedReal real No
KB_ReduceSpeedReal real Yes
KB_SpecificSpeed real Yes
KB_StartPositions location Yes
KB_TempPoint location Yes
KB_TempReal real No
KB_TotalKnockUnits integer No
KB_Units unit Yes
KBA_Caster unit No
KBA_DestroyTrees boolean No
KBA_DistancePerLevel real No
KBA_Level integer No
KBA_SpecialEffects string Yes
KBA_Speed real No
KBA_StartingPosition location No
KBA_TargetUnit unit No
Kills integer Yes
LS_Dummy unit No
LS_GeneralInteger integervar No
LS_Groups group Yes
LS_TempPoint location Yes
MillitaryEquipment1 boolean Yes
MillitaryEquipment2 boolean Yes
MillitaryEquipment3 boolean Yes
MillitaryEquipment4 boolean Yes
Napalm_Strike_Ability_Level integer No
Napalm_Strike_Area_of_Effect real No
Napalm_Strike_Base_Damage real No
Napalm_Strike_Caster unit No
Napalm_Strike_Damage_Group group No
Napalm_Strike_Dummy_Ability abilcode No
Napalm_Strike_Location location No
Napalm_Strike_Owner player No
Napalm_Strike_Total_Damage real No
Nation integer Yes
NeededScore integer No
Paratrooper timer No
Paratroopers group No
PrimaryBuilding unit Yes
PrimaryShipyard unit Yes
SB integer No
SB_Angle real Yes
SB_AOE real Yes
SB_Bomb unit Yes
SB_Boolean boolean Yes
SB_CurrentScale real Yes
SB_Damage real Yes
SB_DistanceCheck real Yes
SB_FT_Count real Yes
SB_FTValue integer Yes
SB_Group group Yes
SB_Height real Yes
SB_Hero unit Yes
SB_Loc location Yes
SB_Loop integervar No
SB_MaxDistance real Yes
SB_MaxScale real Yes
SB_Parabola real Yes
SB_Projectile unit Yes
SB_SFX effect Yes
SB_Speed real Yes
SB_Times integer No
SB_TrgtPoint location Yes
Score integer Yes
StarterBuilder unit Yes
Townsd integer Yes
UnitDieProp unit Yes
Winner integer No
Melee Init
  Events
    Time - Elapsed game time is 0.01 seconds
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in (Entire map)) and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Picked unit)) Equal to Capital Builder
          Then - Actions
            Set VariableSet CapitalBuilder[(Player number of (Owner of (Picked unit)))] = (Picked unit)
          Else - Actions
    Visibility - Disable fog of war
    Player Group - Pick every player in (All players) and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            And - All (Conditions) are true
              Conditions
                ((Picked player) controller) Equal to User
                ((Picked player) is an ally of Player 6 (Orange).) Equal to True
          Then - Actions
            Set VariableSet CurrentPlayers1 = (CurrentPlayers1 + 1)
          Else - Actions
            Set VariableSet CurrentPlayers2 = (CurrentPlayers2 + 1)
    Visibility - Disable black mask
    Game - Set the time of day to 8.00
    Environment - Set sky to Lordaeron Summer Sky
    Set VariableSet Score[1] = 400
    Set VariableSet Score[2] = 400
    Set VariableSet Townsd[1] = 4
    Set VariableSet Townsd[2] = 4
    Player Group - Pick every player in (All players) and do (Actions)
      Loop - Actions
        Player - Set (Picked player).Current gold to 500
        Player - Set (Picked player).Current lumber to 100
        Player - Set (Picked player).Food cap to 200
        Player - Turn Gives bounty On for (Picked player)
Untitled Trigger 002
  Events
    Time - Elapsed game time is 60.00 seconds
  Conditions
  Actions
    For each (Integer A) from 1 to CurrentPlayers1, do (Actions)
      Loop - Actions
        Unit - Create 1.Capital for Player 6 (Orange) at (Random point in (Entire map)) facing Default building facing degrees
        Set VariableSet Townsd[1] = (Townsd[1] + 1)
    For each (Integer A) from 1 to CurrentPlayers2, do (Actions)
      Loop - Actions
        Unit - Create 1.Capital for Player 12 (Brown) at (Random point in (Entire map)) facing Default building facing degrees
        Set VariableSet Townsd[2] = (Townsd[2] + 1)
poop
  Events
    Time - Elapsed game time is 2.00 seconds
  Conditions
  Actions
    Visibility - Enable fog of war
Strategies
  Events
    Map initialization
  Conditions
  Actions
    Quest - Create a Optional quest titled Basic Strategy with the description First you must know what is your part in the team, as you may know already this is a 5v5 game. Therefore to win the game each team members must take on a part. A player might rush for Tanks or Airstrikes and another player must defend the front by building defences, etc., using icon path ReplaceableTextures\CommandButtons\BTNHire.blp
    Quest - Create a Optional quest titled Counter Strategy with the description I always recommend the use of Sky Guard Turrets and Spyplanes, Sky Guard Turrets can prevent successful airstriker and can detect invisible units preventing Spyplanes from coming.When countering you must know what the enemy is up to, you must scout their base with Spyplanes. Or you can use your, using icon path ReplaceableTextures\CommandButtons\BTNUnload.blp
    Quest - Create a Optional quest titled A good defence with the description A good base can prevent strategic buildings like Oils and Base to be damaged or destroyed. You can put on Walls, they are cheap and has heavy armor, then you can put Machine Gun Turrets / Sky Guard Turrets on the back of the walls and an Outpost in each side of your strategic buildings, using icon path ReplaceableTextures\CommandButtons\BTNSpellBreakerMagicDefend.blp
clear
  Events
    Player - Player 1 (Red) types a chat message containing -clear (stringnoformat) as An exact match
    Player - Player 2 (Blue) types a chat message containing -clear (stringnoformat) as An exact match
    Player - Player 3 (Teal) types a chat message containing -clear (stringnoformat) as An exact match
    Player - Player 4 (Purple) types a chat message containing -clear (stringnoformat) as An exact match
    Player - Player 5 (Yellow) types a chat message containing -clear (stringnoformat) as An exact match
    Player - Player 7 (Green) types a chat message containing -clear (stringnoformat) as An exact match
    Player - Player 8 (Pink) types a chat message containing -clear (stringnoformat) as An exact match
    Player - Player 9 (Gray) types a chat message containing -clear (stringnoformat) as An exact match
    Player - Player 10 (Light Blue) types a chat message containing -clear (stringnoformat) as An exact match
    Player - Player 11 (Dark Green) types a chat message containing -clear (stringnoformat) as An exact match
  Conditions
  Actions
    Cinematic - Clear the screen of text messages for (Player group((Triggering player))).
Encampment Taken
  Events
    Unit - A unit Dies
  Conditions
    (Unit-type of (Dying unit)) Equal to Capital
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((Owner of (Killing unit)) is an ally of Player 6 (Orange).) Equal to True
      Then - Actions
        Game - Display to (All players) the text: |cffffcc00The Attackers has captured an encampment!!
        Cinematic - Ping minimap for (All players) at (Position of (Dying unit)) for 1 seconds
        Wait 0.01 seconds
        Unit - Create 1.Capital for Player 6 (Orange) at (Position of (Dying unit)) facing Default building facing degrees
        Set VariableSet Townsd[1] = (Townsd[1] + 1)
        Set VariableSet Townsd[2] = (Townsd[2] - 1)
      Else - Actions
        Game - Display to (All players) the text: |cffffcc00The Defenders has captured an encampment!!
        Cinematic - Ping minimap for (All players) at (Position of (Dying unit)) for 1 seconds
        Wait 0.01 seconds
        Unit - Create 1.Capital for Player 12 (Brown) at (Position of (Dying unit)) facing Default building facing degrees
        Set VariableSet Townsd[1] = (Townsd[1] - 1)
        Set VariableSet Townsd[2] = (Townsd[2] + 1)
Antideny
  Events
    Unit - A unit Is attacked
  Conditions
    ((Owner of (Attacking unit)) is an ally of (Owner of (Attacked unit)).) Equal to True
  Actions
    Unit - Order (Attacking unit) to Stop.
What do i need for this spell?

Copy and paste the variables with the prefix 'LS_' into your map. Then copy the trigger 'Lightning Strike'.
Additionally you need all the custom object editor data with the '(LS)' suffix.
Important!
You need my GUI Knockback System to use the knockback effects of this spell.
If you donĀ“t use the knockbacks, delete the actions (contained in the unit group loop 'LS_Groups[1]') between
'-------- Knockback System --------' and '-------- End System --------'.
If you want to use the knockback effect, copy the GUI Knockback System Triggers as well as the 'KB_' and the 'KBA_' variables into your map.
Or i recommend you to download the system from http://www.hiveworkshop.com/forums/resource.php?t=107719
The downloaded system includes a full documentation how to use it.

Lightnjing Strike (LS)
LightningDummy(LS)
Lightning Strike
  Events
    Unit - A unit Begins casting an ability
  Conditions
    (Ability being cast) Equal to Lightning Strike (LS)
  Actions
    Special Effect - Create a special effect at (Target point of ability being cast) using NewGroundEX.mdx
    Special Effect - Destroy (Last created special effect)
    Set VariableSet LS_TempPoint[1] = (Position of (Triggering unit))
    Set VariableSet LS_TempPoint[2] = (Target point of ability being cast)
    Set VariableSet LS_TempPoint[3] = (LS_TempPoint[2] offset by 400.00 towards (Angle from LS_TempPoint[2] to LS_TempPoint[1]) degrees.)
    Unit - Create 1.LightningDummyDown (LS) for (Owner of (Triggering unit)) at LS_TempPoint[2] facing Default building facing degrees
    Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
    Unit - Make (Last created unit) Explode on death
    Set VariableSet LS_Dummy = (Last created unit)
    For each (Integer LS_GeneralInteger) from 1 to 3, do (Actions)
      Loop - Actions
        Unit - Create 1.LightningDummy (LS) for (Owner of (Triggering unit)) at LS_TempPoint[3] facing Default building facing degrees
        Unit - Order (Last created unit) to Special Archimonde - Finger Of Death.LS_Dummy
        Unit - Add a 0.50 second Generic expiration timer to (Last created unit)
        Unit - Make (Last created unit) Explode on death
    Special Effect - Create a special effect at LS_TempPoint[2] using Abilities\Spells\Human\ThunderClap\ThunderClapCaster.mdl
    Special Effect - Destroy (Last created special effect)
    Special Effect - Create a special effect at LS_TempPoint[2] using Abilities\Weapons\FarseerMissile\FarseerMissile.mdl
    Special Effect - Destroy (Last created special effect)
    Set VariableSet LS_Groups[1] = (Units within 250.00 of LS_TempPoint[2] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Immune) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of (Triggering unit)).) Equal to True)))).)
    Unit Group - Pick every unit in LS_Groups[1] and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Picked unit) is Mechanical) Equal to True
          Then - Actions
            Unit - Cause (Triggering unit) to damage (Picked unit), dealing 500.00 damage of attack type Spells and damage type Normal
          Else - Actions
            Unit - Cause (Triggering unit) to damage (Picked unit), dealing 90.00 damage of attack type Spells and damage type Normal
        -------- Knockback System --------
        Set VariableSet KBA_Caster = (Triggering unit)
        Set VariableSet KBA_TargetUnit = (Picked unit)
        Set VariableSet KBA_StartingPosition = (Target point of ability being cast)
        Set VariableSet KBA_Level = (Level of (Ability being cast) for (Triggering unit))
        Set VariableSet KBA_Speed = 9.00
        Set VariableSet KBA_DistancePerLevel = 450.00
        Set VariableSet KBA_SpecialEffects[1] = Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
        Set VariableSet KBA_SpecialEffects[2] = Abilities\Weapons\FarseerMissile\FarseerMissile.mdl
        Set VariableSet KBA_DestroyTrees = True
        Trigger - Run Cast_A_Knockback <gen> (checking conditions)
        -------- End System --------
    Custom script: call RemoveLocation (udg_LS_TempPoint[1])
    Custom script: call RemoveLocation (udg_LS_TempPoint[2])
    Custom script: call RemoveLocation (udg_LS_TempPoint[3])
    Custom script: call DestroyGroup (udg_LS_Groups[1])
Cast A Knockback
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (KBA_TargetUnit is in KB_KnockbackedUnits.) Equal to True
      Then - Actions
        Unit Group - Remove KBA_TargetUnit from KB_KnockbackedUnits.
        Set VariableSet KB_CountBuffs = (KB_CountBuffs - 1)
        For each (Integer KB_GeneralIntegers[2]) from 1 to KB_TotalKnockUnits, do (Actions)
          Loop - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                KB_Units[KB_GeneralIntegers[1]] Equal to KBA_TargetUnit
              Then - Actions
                Set VariableSet KB_GeneralIntegers[1] = KB_GeneralIntegers[2]
                Set VariableSet KB_GeneralIntegers[2] = KB_TotalKnockUnits
              Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            KB_TotalKnockUnits Greater than KB_GeneralIntegers[1]
          Then - Actions
            Set VariableSet KB_Levels[KB_GeneralIntegers[1]] = KB_Levels[KB_TotalKnockUnits]
            Set VariableSet KB_Units[KB_GeneralIntegers[1]] = KB_Units[KB_TotalKnockUnits]
            Set VariableSet KB_Angle[KB_GeneralIntegers[1]] = KB_Angle[KB_TotalKnockUnits]
            Set VariableSet KB_MaxDistance[KB_GeneralIntegers[1]] = KB_MaxDistance[KB_TotalKnockUnits]
            Set VariableSet KB_ReachedDistance[KB_GeneralIntegers[1]] = KB_ReachedDistance[KB_TotalKnockUnits]
            Set VariableSet KB_ReduceSpeedReal[KB_GeneralIntegers[1]] = KB_ReduceSpeedReal[KB_TotalKnockUnits]
            Set VariableSet KB_SpecificSpeed[KB_GeneralIntegers[1]] = KB_SpecificSpeed[KB_TotalKnockUnits]
            Set VariableSet KB_Effects_1[KB_GeneralIntegers[1]] = KB_Effects_1[KB_TotalKnockUnits]
            Set VariableSet KB_Effects_2[KB_GeneralIntegers[1]] = KB_Effects_2[KB_TotalKnockUnits]
            Set VariableSet KB_GeneralIntegers[1] = (KB_GeneralIntegers[1] - 1)
          Else - Actions
        Set VariableSet KB_Units[KB_TotalKnockUnits] = No unit
        Set VariableSet KB_TotalKnockUnits = (KB_TotalKnockUnits - 1)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            KB_CountBuffs Equal to 0
          Then - Actions
            Set VariableSet KB_TotalKnockUnits = 0
            Trigger - Turn off GetKnockback <gen>
          Else - Actions
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        KB_CountBuffs Equal to 0
      Then - Actions
        Trigger - Turn on GetKnockback <gen>
      Else - Actions
    Set VariableSet KB_CountBuffs = (KB_CountBuffs + 1)
    Set VariableSet KB_TotalKnockUnits = (KB_TotalKnockUnits + 1)
    Set VariableSet KB_Casters[KB_TotalKnockUnits] = KBA_Caster
    Set VariableSet KB_Levels[KB_TotalKnockUnits] = KBA_Level
    Set VariableSet KB_Units[KB_TotalKnockUnits] = KBA_TargetUnit
    Set VariableSet KB_StartPositions[KB_TotalKnockUnits] = KBA_StartingPosition
    Set VariableSet KB_TempPoint[KB_TotalKnockUnits] = (Position of KBA_TargetUnit)
    Set VariableSet KB_Angle[KB_TotalKnockUnits] = (Angle from KB_StartPositions[KB_TotalKnockUnits] to KB_TempPoint[KB_TotalKnockUnits])
    Set VariableSet KB_MaxDistance[KB_TotalKnockUnits] = (KBA_DistancePerLevel x (Real(KBA_Level)))
    Set VariableSet KB_ReachedDistance[KB_TotalKnockUnits] = 0.00
    Set VariableSet KB_ReduceSpeedReal[KB_GeneralIntegers[1]] = 0.00
    Set VariableSet KB_SpecificSpeed[KB_TotalKnockUnits] = KBA_Speed
    Set VariableSet KB_Effects_1[KB_TotalKnockUnits] = KBA_SpecialEffects[1]
    Set VariableSet KB_Effects_2[KB_TotalKnockUnits] = KBA_SpecialEffects[2]
    Set VariableSet KB_DestroyTrees[KB_TotalKnockUnits] = KBA_DestroyTrees
    Unit Group - Add KBA_TargetUnit to KB_KnockbackedUnits
    Custom script: call RemoveLocation (udg_KBA_StartingPosition)
    Custom script: call RemoveLocation (udg_KB_TempPoint [udg_KB_TotalKnockUnits] )
    Custom script: call RemoveLocation (udg_KB_StartPositions [udg_KB_TotalKnockUnits] )
GetKnockback
  Events
    Time - Every 0.02 seconds of game time
  Conditions
  Actions
    For each (Integer KB_GeneralIntegers[1]) from 1 to KB_TotalKnockUnits, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (KB_Units[KB_GeneralIntegers[1]] is in KB_KnockbackedUnits.) Equal to True
          Then - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                KB_ReachedDistance[KB_GeneralIntegers[1]] Greater than or equal to KB_MaxDistance[KB_GeneralIntegers[1]]
              Then - Actions
                Unit Group - Remove KB_Units[KB_GeneralIntegers[1]] from KB_KnockbackedUnits.
                Set VariableSet KB_CountBuffs = (KB_CountBuffs - 1)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    KB_TotalKnockUnits Greater than KB_GeneralIntegers[1]
                  Then - Actions
                    Set VariableSet KB_Levels[KB_GeneralIntegers[1]] = KB_Levels[KB_TotalKnockUnits]
                    Set VariableSet KB_Units[KB_GeneralIntegers[1]] = KB_Units[KB_TotalKnockUnits]
                    Set VariableSet KB_Angle[KB_GeneralIntegers[1]] = KB_Angle[KB_TotalKnockUnits]
                    Set VariableSet KB_MaxDistance[KB_GeneralIntegers[1]] = KB_MaxDistance[KB_TotalKnockUnits]
                    Set VariableSet KB_ReachedDistance[KB_GeneralIntegers[1]] = KB_ReachedDistance[KB_TotalKnockUnits]
                    Set VariableSet KB_ReduceSpeedReal[KB_GeneralIntegers[1]] = KB_ReduceSpeedReal[KB_TotalKnockUnits]
                    Set VariableSet KB_SpecificSpeed[KB_GeneralIntegers[1]] = KB_SpecificSpeed[KB_TotalKnockUnits]
                    Set VariableSet KB_Effects_1[KB_GeneralIntegers[1]] = KB_Effects_1[KB_TotalKnockUnits]
                    Set VariableSet KB_Effects_2[KB_GeneralIntegers[1]] = KB_Effects_2[KB_TotalKnockUnits]
                    Set VariableSet KB_GeneralIntegers[1] = (KB_GeneralIntegers[1] - 1)
                  Else - Actions
                Set VariableSet KB_Units[KB_TotalKnockUnits] = No unit
                Set VariableSet KB_TotalKnockUnits = (KB_TotalKnockUnits - 1)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    KB_CountBuffs Equal to 0
                  Then - Actions
                    Set VariableSet KB_TotalKnockUnits = 0
                    Trigger - Turn off (This trigger)
                  Else - Actions
              Else - Actions
                Set VariableSet KB_ReducedReal = ((KB_SpecificSpeed[KB_GeneralIntegers[1]] / KB_MaxDistance[KB_GeneralIntegers[1]]) x KB_ReachedDistance[KB_GeneralIntegers[1]])
                Set VariableSet KB_ReduceSpeedReal[KB_GeneralIntegers[1]] = (KB_ReducedReal - (KB_ReduceSpeedReal[KB_GeneralIntegers[1]] x 0.10))
                Set VariableSet KB_TempReal = ((KB_SpecificSpeed[KB_GeneralIntegers[1]] - KB_ReduceSpeedReal[KB_GeneralIntegers[1]]) x 2.00)
                Set VariableSet KB_TempPoint[1] = (Position of KB_Units[KB_GeneralIntegers[1]])
                Set VariableSet KB_TempPoint[2] = (KB_TempPoint[1] offset by KB_TempReal towards KB_Angle[KB_GeneralIntegers[1]] degrees.)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    KB_DestroyTrees[KB_GeneralIntegers[1]] Equal to True
                  Then - Actions
                    Destructible - Pick every destructible within 200.00 of KB_TempPoint[2] and do (Actions)
                      Loop - Actions
                        Destructible - Kill (Picked destructible)
                  Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Random integer number between 1 and 5) Equal to 1
                  Then - Actions
                    Special Effect - Create a special effect at KB_TempPoint[1] using KB_Effects_1[KB_GeneralIntegers[1]]
                    Special Effect - Destroy (Last created special effect)
                  Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Random integer number between 1 and 7) Equal to 1
                  Then - Actions
                    Special Effect - Create a special effect at KB_TempPoint[1] using KB_Effects_2[KB_GeneralIntegers[1]]
                    Special Effect - Destroy (Last created special effect)
                  Else - Actions
                Unit - Move KB_Units[KB_GeneralIntegers[1]] instantly to KB_TempPoint[2]
                Custom script: call RemoveLocation (udg_KB_TempPoint[1])
                Custom script: call RemoveLocation (udg_KB_TempPoint[2])
                Set VariableSet KB_ReachedDistance[KB_GeneralIntegers[1]] = (KB_ReachedDistance[KB_GeneralIntegers[1]] + KB_TempReal)
          Else - Actions
Encampment
Per sec
  Events
    Time - Every 1.00 seconds of game time
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in (Entire map)) and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            And - All (Conditions) are true
              Conditions
                (Unit-type of (Picked unit)) Equal to Capital
                (Owner of (Picked unit)) Equal to Player 6 (Orange)
          Then - Actions
            Player - Add 1 to Player 1 (Red).Current gold
            Player - Add 1 to Player 2 (Blue).Current gold
            Player - Add 1 to Player 3 (Teal).Current gold
            Player - Add 1 to Player 4 (Purple).Current gold
            Player - Add 1 to Player 5 (Yellow).Current gold
          Else - Actions
Encampment
Per sec Copy
  Events
    Time - Every 1.00 seconds of game time
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in (Entire map)) and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            And - All (Conditions) are true
              Conditions
                (Unit-type of (Picked unit)) Equal to Capital
                (Owner of (Picked unit)) Equal to Player 12 (Brown)
          Then - Actions
            Player - Add 1 to Player 7 (Green).Current gold
            Player - Add 1 to Player 8 (Pink).Current gold
            Player - Add 1 to Player 9 (Gray).Current gold
            Player - Add 1 to Player 10 (Light Blue).Current gold
            Player - Add 1 to Player 11 (Dark Green).Current gold
          Else - Actions
Kills per 12 sec
  Events
    Time - Every 48.00 seconds of game time
  Conditions
  Actions
    Game - Display to (All players) the text: |cffffcc00Kill Salary recieved
    Player Group - Pick every player in (All players) and do (Actions)
      Loop - Actions
        Player - Add (Kills[(Player number of (Picked player))] x 3) to (Picked player).Current gold
Oil Refinety
Refinery
  Events
    Time - Every 10.00 seconds of game time
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in (Entire map)) and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Picked unit)) Equal to Oil Refinery
          Then - Actions
            Player - Add 10 to (Owner of (Picked unit)).Current gold
          Else - Actions
xczxc
  Events
    Unit - A unit Sells a unit
  Conditions
  Actions
    Unit - Move (Sold unit) instantly to (Position of PrimaryBuilding[(Player number of (Owner of (Sold unit)))])
B-17
B17
  Events
    Unit - A unit Sells a unit
  Conditions
    (Unit-type of (Sold unit)) Equal to B-17 Bomber
  Actions
    Hero - Create Firewall and give it to (Sold unit)
    Hero - Create Napalm and give it to (Sold unit)
B-17
Blue Falcon
Anti-Tank
Sniper
ME Airstriker
Black Eagle
Nuclear Squad
B17 Rearm
  Events
    Unit - A unit Acquires an item
  Conditions
    (Item-type of (Item being manipulated)) Equal to Rearm
  Actions
    Item - Remove (Item being manipulated)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Unit-type of (Hero manipulating item)) Equal to B-17 Bomber
      Then - Actions
        Hero - Create Firewall and give it to (Hero manipulating item)
        Hero - Create Napalm and give it to (Hero manipulating item)
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Hero manipulating item)) Equal to Blue Falcon
          Then - Actions
            Hero - Create Lightning Strike and give it to (Hero manipulating item)
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Unit-type of (Hero manipulating item)) Equal to Anti-tank
              Then - Actions
                Hero - Create Bazooka and give it to (Hero manipulating item)
              Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Unit-type of (Hero manipulating item)) Equal to Sniper
                  Then - Actions
                    Hero - Create Sniper Rifle and give it to (Hero manipulating item)
                  Else - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      If - Conditions
                        (Unit-type of (Hero manipulating item)) Equal to ME-109 Airstriker
                      Then - Actions
                        Hero - Create Airstrike and give it to (Hero manipulating item)
                      Else - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          If - Conditions
                            (Unit-type of (Hero manipulating item)) Equal to Black Eagle
                          Then - Actions
                            Hero - Create Airstrike and give it to (Hero manipulating item)
                            Hero - Create Lightning Strike and give it to (Hero manipulating item)
                          Else - Actions
                            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              If - Conditions
                                (Unit-type of (Hero manipulating item)) Equal to Nuclear Squad
                              Then - Actions
                                Hero - Create Mini Nuke and give it to (Hero manipulating item)
                              Else - Actions
Blue Falcon
B17 Copy
  Events
    Unit - A unit Sells a unit
  Conditions
    (Unit-type of (Sold unit)) Equal to Blue Falcon
  Actions
    Hero - Create Lightning Strike and give it to (Sold unit)
Antitank
  Events
    Unit - A unit Sells a unit
  Conditions
    (Unit-type of (Sold unit)) Equal to Anti-tank
  Actions
    Hero - Create Bazooka and give it to (Sold unit)
    Hero - Create Land Mine and give it to (Sold unit)
Sniper Unit
  Events
    Unit - A unit Sells a unit
  Conditions
    (Unit-type of (Sold unit)) Equal to Sniper
  Actions
    Hero - Create Sniper Rifle and give it to (Sold unit)
Sniper Unit Copy 2
  Events
    Unit - A unit Finishes training a unit
  Conditions
    (Unit-type of (Trained unit)) Equal to Black Eagle
  Actions
    Hero - Create Airstrike and give it to (Trained unit)
    Hero - Create Lightning Strike and give it to (Trained unit)
sadsadsa
  Events
    Unit - A unit Finishes training a unit
  Conditions
    (Unit-type of (Trained unit)) Equal to Nuclear Squad
  Actions
    Hero - Create Mini Nuke and give it to (Trained unit)
Sniper Unit Copy
  Events
    Unit - A unit Sells a unit
  Conditions
    (Unit-type of (Sold unit)) Equal to ME-109 Airstriker
  Actions
    Hero - Create Airstrike and give it to (Sold unit)
Bomb Detonate
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Detonate
  Actions
    Special Effect - Create a special effect at (Position of (Triggering unit)) using Objects\Spawnmodels\Human\HCancelDeath\HCancelDeath.mdl
    Special Effect - Destroy (Last created special effect)
    Unit - Kill (Triggering unit)
    Unit Group - Pick every unit in (Units within 300.00 of (Position of (Triggering unit)).) and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Owner of (Picked unit)) is an enemy of (Owner of (Triggering unit)).) Equal to True
          Then - Actions
            Unit - Cause (Triggering unit) to damage (Picked unit), dealing 250.00 damage of attack type Chaos and damage type Normal
          Else - Actions
Untitled Trigger 001
  Events
    Map initialization
  Conditions
  Actions
    Quest - Create a Required quest titled Credits with the description Many thanks to these modellers who made the models in the game:Illidan(Evil)X, Mr. Bob, chilla_killaThanks for the betatesters at garen, and SkyBlitzcrank for the games made on the youtube video, using icon path ReplaceableTextures\CommandButtons\BTNSentinel.blp
SpaceBar
  Events
    Player - Player 1 (Red) leaves the game
    Player - Player 2 (Blue) leaves the game
    Player - Player 3 (Teal) leaves the game
    Player - Player 4 (Purple) leaves the game
    Player - Player 5 (Yellow) leaves the game
    Player - Player 6 (Orange) leaves the game
    Player - Player 7 (Green) leaves the game
    Player - Player 8 (Pink) leaves the game
    Player - Player 9 (Gray) leaves the game
    Player - Player 10 (Light Blue) leaves the game
    Player - Player 11 (Dark Green) leaves the game
    Player - Player 12 (Brown) leaves the game
  Conditions
  Actions
    Game - Display to (All players) the text: ((Name of (Triggering player)) + has left the game!)
Sniper
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Snipe
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Charges remaining in (Item carried by (Triggering unit) of type Sniper Rifle)) Less than or equal to 0
      Then - Actions
        Unit - Order (Triggering unit) to Stop.
      Else - Actions
        Item - Set charges remaining in (Item carried by (Triggering unit) of type Sniper Rifle) to ((Charges remaining in (Item carried by (Triggering unit) of type Sniper Rifle)) - 1)
Reomve
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Remove
  Actions
    Unit - Remove (Triggering unit) from the game
SB Start
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Ability being cast) Equal to Shock Bomb
        (Ability being cast) Equal to Shock Bomb (Rambo)
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        SB Equal to 0
      Then - Actions
        Trigger - Turn on SB_Loop <gen>
      Else - Actions
    Set VariableSet SB = (SB + 1)
    Set VariableSet SB_Times = (SB_Times + 1)
    Set VariableSet SB_Boolean[SB_Times] = True
    Set VariableSet SB_Hero[SB_Times] = (Triggering unit)
    Set VariableSet SB_Damage[SB_Times] = 400.00
    Set VariableSet SB_Height[SB_Times] = 300.00
    Set VariableSet SB_Speed[SB_Times] = 30.00
    Set VariableSet SB_MaxScale[SB_Times] = 150.00
    Set VariableSet SB_CurrentScale[SB_Times] = 100.00
    Set VariableSet SB_AOE[SB_Times] = 200.00
    Set VariableSet SB_FTValue[SB_Times] = 5
    Set VariableSet SB_FT_Count[SB_Times] = 1.00
    Set VariableSet SB_TrgtPoint[SB_Times] = (Target point of ability being cast)
    Set VariableSet SB_Loc[1] = (Position of SB_Hero[SB_Times])
    Set VariableSet SB_MaxDistance[SB_Times] = (Distance between SB_Loc[1] and SB_TrgtPoint[SB_Times])
    Set VariableSet SB_Angle[SB_Times] = (Angle from SB_Loc[1] to SB_TrgtPoint[SB_Times])
    Unit - Create 1.Flying Bomb for (Owner of SB_Hero[SB_Times]) at SB_Loc[1] facing SB_Angle[SB_Times] degrees
    Set VariableSet SB_Projectile[SB_Times] = (Last created unit)
    Custom script: call RemoveLocation (udg_SB_Loc[1])
    Custom script: call RemoveLocation (udg_SB_TrgtPoint[udg_SB_Times])
Effect Land Mine
  Events
    Unit - A unit Dies
  Conditions
    (Unit-type of (Dying unit)) Equal to Goblin Land Mine
  Actions
    Special Effect - Create a special effect at (Position of (Dying unit)) using ExplosionBIG.mdx
    Special Effect - Destroy (Last created special effect)
Suicide
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Napalm Bomb
  Actions
    Unit - Create 1.Peasant for (Owner of (Triggering unit)) at (Target point of ability being cast) facing Default building facing degrees
    Unit - Add Suicide to (Last created unit)
    Unit - Order (Last created unit) to Human Mountain King - Thunder Clap.
SB Loop
  Events
    Time - Every 0.02 seconds of game time
  Conditions
  Actions
    For each (Integer SB_Loop) from 1 to SB_Times, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            SB_Boolean[SB_Loop] Equal to True
          Then - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                SB_DistanceCheck[SB_Loop] Less than SB_MaxDistance[SB_Loop]
              Then - Actions
                Set VariableSet SB_DistanceCheck[SB_Loop] = (SB_DistanceCheck[SB_Loop] + SB_Speed[SB_Loop])
                Set VariableSet SB_Loc[2] = (Position of SB_Projectile[SB_Loop])
                Set VariableSet SB_Loc[3] = (SB_Loc[2] offset by SB_Speed[SB_Loop] towards SB_Angle[SB_Loop] degrees.)
                Unit - Move SB_Projectile[SB_Loop] instantly to SB_Loc[3]
                Set VariableSet SB_Parabola[SB_Loop] = (((4.00 x SB_Height[SB_Loop]) / SB_MaxDistance[SB_Loop]) x ((SB_MaxDistance[SB_Loop] - SB_DistanceCheck[SB_Loop]) x (SB_DistanceCheck[SB_Loop] / SB_MaxDistance[SB_Loop])))
                Animation - Change SB_Projectile[SB_Loop] flying height to SB_Parabola[SB_Loop] at 0.00
                Custom script: call RemoveLocation (udg_SB_Loc[2])
                Custom script: call RemoveLocation (udg_SB_Loc[3])
              Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    SB_Bomb[SB_Loop] Equal to No unit
                  Then - Actions
                    Set VariableSet SB_Loc[4] = (Position of SB_Projectile[SB_Loop])
                    Unit - Remove SB_Projectile[SB_Loop] from the game
                    Unit - Create 1.Bomb for (Owner of SB_Hero[SB_Loop]) at SB_Loc[4] facing (Random angle) degrees
                    Set VariableSet SB_Bomb[SB_Loop] = (Last created unit)
                    Special Effect - Create a special effect attached to the origin (attachpoint) of SB_Bomb[SB_Loop] using Abilities\Spells\Human\Brilliance\Brilliance.mdl
                    Set VariableSet SB_SFX[SB_Loop] = (Last created special effect)
                    Custom script: call RemoveLocation (udg_SB_Loc[4])
                  Else - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      If - Conditions
                        SB_CurrentScale[SB_Loop] Less than SB_MaxScale[SB_Loop]
                      Then - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          If - Conditions
                            SB_FT_Count[SB_Loop] Equal to 1.00
                          Then - Actions
                            Set VariableSet SB_FT_Count[SB_Loop] = 0.00
                            Set VariableSet SB_FTValue[SB_Loop] = (SB_FTValue[SB_Loop] - 1)
                          Else - Actions
                            Set VariableSet SB_FT_Count[SB_Loop] = (SB_FT_Count[SB_Loop] + 0.02)
                        Set VariableSet SB_CurrentScale[SB_Loop] = (SB_CurrentScale[SB_Loop] + 1.60)
                      Else - Actions
                        Set VariableSet SB_Loc[5] = (Position of SB_Bomb[SB_Loop])
                        Unit - Make SB_Bomb[SB_Loop] Explode on death
                        Special Effect - Destroy SB_SFX[SB_Loop]
                        Unit - Kill SB_Bomb[SB_Loop]
                        Unit - Create 1.Explosion for (Owner of SB_Hero[SB_Loop]) at SB_Loc[5] facing 0.00 degrees
                        Animation - Play (Last created unit)'s birth (animationname) animation
                        Unit - Add a 7.17 second Generic expiration timer to (Last created unit)
                        Set VariableSet SB_Group[1] = (Units within SB_AOE[SB_Loop] of SB_Loc[5] matching ((((Matching unit) belongs to an enemy of (Owner of SB_Hero[SB_Loop]).) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) is Magic Immune) Equal to False)))).)
                        Unit Group - Pick every unit in SB_Group[1] and do (Actions)
                          Loop - Actions
                            Unit - Create 1.Peasant for (Owner of SB_Hero[SB_Loop]) at SB_Loc[5] facing Default building facing degrees
                            Unit - Add Slow to (Last created unit)
                            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 - Cause SB_Hero[SB_Loop] to damage (Picked unit), dealing SB_Damage[SB_Loop] damage of attack type Spells and damage type Normal
                        Destructible - Pick every destructible within SB_AOE[SB_Loop] of SB_Loc[5] 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
                                Set VariableSet SB_Loc[6] = (Position of (Picked destructible))
                                Special Effect - Create a special effect at SB_Loc[6] using Abilities\Spells\Items\AIfb\AIfbSpecialArt.mdl
                                Special Effect - Destroy (Last created special effect)
                                Destructible - Kill (Picked destructible)
                                Custom script: call RemoveLocation (udg_SB_Loc[6])
                              Else - Actions
                        Custom script: call RemoveLocation (udg_SB_Loc[5])
                        Custom script: call DestroyGroup (udg_SB_Group[1])
                        Set VariableSet SB_CurrentScale[SB_Loop] = 0.00
                        Set VariableSet SB_DistanceCheck[SB_Loop] = 0.00
                        Set VariableSet SB_Bomb[SB_Loop] = No unit
                        Set VariableSet SB_Boolean[SB_Loop] = False
                        Set VariableSet SB = (SB - 1)
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          If - Conditions
                            SB Equal to 0
                          Then - Actions
                            Trigger - Turn off (This trigger)
                            Set VariableSet SB_Times = 0
                          Else - Actions
          Else - Actions
Effects
  Events
    Unit - A unit Dies
  Conditions
    ((Dying unit) is Mechanical) Equal to True
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Random integer number between 1 and 2) Equal to 1
      Then - Actions
        Unit - Create 1.Footman for (Owner of (Dying unit)) at (Position of (Dying unit)) facing Default building facing degrees
        Unit - Add a 4.50 second Generic expiration timer to (Last created unit)
      Else - Actions
        Special Effect - Create a special effect at (Position of (Dying unit)) using NewMassiveEX.mdx
    Special Effect - Destroy (Last created special effect)
Fire Wall
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Fire Wall
  Actions
    -------- ------------------------------------------------------------------------------------------------- --------
    -------- Getting the Spell constants --------
    -------- ------------------------------------------------------------------------------------------------- --------
    Set VariableSet Fire_Wall_Caster = (Triggering unit)
    Set VariableSet Fire_Wall_Owner = (Owner of Fire_Wall_Caster)
    Set VariableSet Fire_Wall_Ability_Level = (Level of (Ability being cast) for Fire_Wall_Caster)
    Set VariableSet Fire_Wall_Location = (Target point of ability being cast)
    -------- ------------------------------------------------------------------------------------------------- --------
    -------- Setting the Spell values --------
    -------- ------------------------------------------------------------------------------------------------- --------
    Set VariableSet Fire_Wall_Duration = 10.00
    Set VariableSet Fire_Wall_Distance = 70.00
    Set VariableSet Fire_Wall_Dummy_Ability = FireWall(dummy)
    -------- ------------------------------------------------------------------------------------------------- --------
    -------- Creating and setting the dummy unit --------
    -------- ------------------------------------------------------------------------------------------------- --------
    Unit - Create 1.Dummy(Fire Wall) for Fire_Wall_Owner at Fire_Wall_Location facing Default building facing degrees
    Unit - Add a Fire_Wall_Duration second Generic expiration timer to (Last created unit)
    Unit - Add Fire_Wall_Dummy_Ability to (Last created unit)
    Unit - Set level of Fire_Wall_Dummy_Ability for (Last created unit) to Fire_Wall_Ability_Level
    Unit - Order (Last created unit) to Night Elf Demon Hunter - Activate Immolation.
    -------- ------------------------------------------------------------------------------------------------- --------
    -------- Creating special effect --------
    -------- ------------------------------------------------------------------------------------------------- --------
    Special Effect - Create a special effect at Fire_Wall_Location using Abilities\Weapons\RedDragonBreath\RedDragonMissile.mdl
    Special Effect - Destroy (Last created special effect)
    For each (Integer A) from 1 to 5, do (Actions)
      Loop - Actions
        -------- ------------------------------------------------------------------------------------------------- --------
        -------- Setting the location --------
        -------- ------------------------------------------------------------------------------------------------- --------
        Set VariableSet Fire_Wall_Loop_Location = (Fire_Wall_Location offset by (Fire_Wall_Distance x (Real((Integer A)))) towards ((Facing of Fire_Wall_Caster) - 90.00) degrees.)
        -------- ------------------------------------------------------------------------------------------------- --------
        -------- Creating and setting the dummy unit --------
        -------- ------------------------------------------------------------------------------------------------- --------
        Unit - Create 1.Dummy(Fire Wall) for Fire_Wall_Owner at Fire_Wall_Loop_Location facing Default building facing degrees
        Unit - Add a Fire_Wall_Duration second Generic expiration timer to (Last created unit)
        Unit - Add Fire_Wall_Dummy_Ability to (Last created unit)
        Unit - Set level of Fire_Wall_Dummy_Ability for (Last created unit) to Fire_Wall_Ability_Level
        Unit - Order (Last created unit) to Night Elf Demon Hunter - Activate Immolation.
        -------- ------------------------------------------------------------------------------------------------- --------
        -------- Creating special effect --------
        -------- ------------------------------------------------------------------------------------------------- --------
        Special Effect - Create a special effect at Fire_Wall_Loop_Location using Abilities\Weapons\RedDragonBreath\RedDragonMissile.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect at Fire_Wall_Loop_Location using Abilities\Spells\Human\Feedback\SpellBreakerAttack.mdl
        Special Effect - Destroy (Last created special effect)
        -------- ------------------------------------------------------------------------------------------------- --------
        -------- Setting the location --------
        -------- ------------------------------------------------------------------------------------------------- --------
        Set VariableSet Fire_Wall_Loop_Location_2 = (Fire_Wall_Location offset by (Fire_Wall_Distance x (Real((Integer A)))) towards ((Facing of Fire_Wall_Caster) + 90.00) degrees.)
        -------- ------------------------------------------------------------------------------------------------- --------
        -------- Creating and setting the dummy unit --------
        -------- ------------------------------------------------------------------------------------------------- --------
        Unit - Create 1.Dummy(Fire Wall) for Fire_Wall_Owner at Fire_Wall_Loop_Location_2 facing Default building facing degrees
        Unit - Add a Fire_Wall_Duration second Generic expiration timer to (Last created unit)
        Unit - Add Fire_Wall_Dummy_Ability to (Last created unit)
        Unit - Set level of Fire_Wall_Dummy_Ability for (Last created unit) to Fire_Wall_Ability_Level
        Unit - Order (Last created unit) to Night Elf Demon Hunter - Activate Immolation.
        -------- ------------------------------------------------------------------------------------------------- --------
        -------- Creating special effect --------
        -------- ------------------------------------------------------------------------------------------------- --------
        Special Effect - Create a special effect at Fire_Wall_Loop_Location_2 using Abilities\Weapons\RedDragonBreath\RedDragonMissile.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect at Fire_Wall_Loop_Location_2 using Abilities\Spells\Human\Feedback\SpellBreakerAttack.mdl
        Special Effect - Destroy (Last created special effect)
        -------- ------------------------------------------------------------------------------------------------- --------
        -------- Clearing leaks --------
        -------- ------------------------------------------------------------------------------------------------- --------
        Custom script: call RemoveLocation(udg_Fire_Wall_Loop_Location)
        Custom script: call RemoveLocation(udg_Fire_Wall_Loop_Location_2)
    -------- ------------------------------------------------------------------------------------------------- --------
    -------- Clearing leaks --------
    -------- ------------------------------------------------------------------------------------------------- --------
    Custom script: call RemoveLocation(udg_Fire_Wall_Location)
Trere
  Events
    Time - Every 40.00 seconds of game time
  Conditions
  Actions
    Destructible - Pick every destructible in (Entire map) and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Picked destructible) is dead) Equal to True
          Then - Actions
            Destructible - Resurrect (Picked destructible) with (Max life of (Picked destructible)) life and Show birth animation
          Else - Actions
Rain
  Events
    Player - Player 1 (Red) types a chat message containing -rain (stringnoformat) as An exact match
  Conditions
  Actions
    Environment - Create at (Entire map) the weather effect Lordaeron Rain (Heavy)
    Environment - Turn (Last created weather effect) On
Equip
  Events
    Unit - A unit Finishes research
  Conditions
    (Researched tech-type) Equal to R000 (techcode)
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        MillitaryEquipment1[(Player number of (Owner of (Researching unit)))] Equal to False
      Then - Actions
        Set VariableSet MillitaryEquipment1[(Player number of (Owner of (Researching unit)))] = True
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            MillitaryEquipment2[(Player number of (Owner of (Researching unit)))] Equal to False
          Then - Actions
            Set VariableSet MillitaryEquipment2[(Player number of (Owner of (Researching unit)))] = True
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                MillitaryEquipment3[(Player number of (Owner of (Researching unit)))] Equal to False
              Then - Actions
                Set VariableSet MillitaryEquipment3[(Player number of (Owner of (Researching unit)))] = True
              Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    MillitaryEquipment4[(Player number of (Owner of (Researching unit)))] Equal to False
                  Then - Actions
                    Set VariableSet MillitaryEquipment4[(Player number of (Owner of (Researching unit)))] = True
                  Else - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      If - Conditions
                        MillitaryEquipment4[(Player number of (Owner of (Researching unit)))] Equal to False
                      Then - Actions
                        Set VariableSet MillitaryEquipment4[(Player number of (Owner of (Researching unit)))] = True
                      Else - Actions
ChargesAddGUI
  Events
    Unit - A unit Acquires an item
  Conditions
    (Item-class of (Item being manipulated)) Equal to Charged
  Actions
    For each (Integer A) from 1 to 6, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Item-type of (Item carried by (Triggering unit) in slot (Integer A))) Equal to (Item-type of (Item being manipulated))
            (Item carried by (Triggering unit) in slot (Integer A)) Not equal to (Item being manipulated)
          Then - Actions
            Item - Set charges remaining in (Item carried by (Triggering unit) in slot (Integer A)) to ((Charges remaining in (Item carried by (Triggering unit) in slot (Integer A))) + (Charges remaining in (Item being manipulated)))
            Item - Remove (Item being manipulated)
          Else - Actions
Spawn Point Set
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Set as Primary Spawn Point
  Actions
    Set VariableSet PrimaryBuilding[(Player number of (Owner of (Triggering unit)))] = (Triggering unit)
    Floating Text - Create floating text that reads Spawn Point Set at (Position of (Triggering unit)) with Z offset 0, using font size 10, color (100%, 100%, 100%), and 0% transparency
    Floating Text - Set the velocity of (Last created floating text) to 64 towards 90 degrees
    Floating Text - Change (Last created floating text): Disable permanence
    Floating Text - Change the lifespan of (Last created floating text) to 1.50 seconds
Score
  Events
    Time - Elapsed game time is 0.50 seconds
  Conditions
  Actions
    Leaderboard - Create a leaderboard for (All players) titled Points
    Leaderboard - Add Player 6 (Orange) to (Last created leaderboard) with label Attacker and value 5000
    Leaderboard - Add Player 12 (Brown) to (Last created leaderboard) with label Defender and value 5000
    Leaderboard - Change the color of the label for Player 12 (Brown) in (Last created leaderboard) to (0.00%, 100.00%, 0.00%) with 0% transparency
    Leaderboard - Change the color of the value for Player 12 (Brown) in (Last created leaderboard) to (0.00%, 100.00%, 0.00%) with 0% transparency
Score End
  Events
    Time - Every 0.01 seconds of game time
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            Score[1] Equal to 0
            Townsd[1] Equal to 0
      Then - Actions
        Set VariableSet Winner = 2
        Trigger - Run Score_End_1 <gen> (checking conditions)
        Trigger - Turn off (This trigger)
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Or - Any (Conditions) are true
              Conditions
                Score[2] Equal to 0
                Townsd[2] Equal to 0
          Then - Actions
            Set VariableSet Winner = 1
            Trigger - Run Score_End_1 <gen> (checking conditions)
            Trigger - Turn off (This trigger)
          Else - Actions
Enmd
  Events
    Player - Player 1 (Red) types a chat message containing 123123 (stringnoformat) as An exact match
  Conditions
  Actions
    Set VariableSet Score[2] = 0
Enmd Copy
  Events
    Player - Player 1 (Red) types a chat message containing 234234 (stringnoformat) as An exact match
  Conditions
  Actions
    Set VariableSet Score[1] = 0
Score End 1
  Events
  Conditions
  Actions
    Cinematic - Turn cinematic mode On for (All players)
    Unit - Pause all units
    Player Group - Pick every player in (All players) and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Camera_001 for (Picked player) over 2.00 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Winner Equal to 1
      Then - Actions
        Wait 0.50 seconds
        Game - Display to (All players) the text: |cffffcc00The Attackers have succesfully conquered the little island!!Congratulations!!|rYou can get the latest verion of specops at hiveworkshop.com
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Unit - Create 1.SMG Infantry for Neutral Passive at (Random point in Region_001 <gen>) facing 270.00 degrees
        Unit - Create 1.SMG Infantry for Neutral Passive at (Random point in Region_001 <gen>) facing 270.00 degrees
        Unit - Create 1.SMG Infantry for Neutral Passive at (Random point in Region_001 <gen>) facing 270.00 degrees
        Unit - Create 1.SMG Infantry for Neutral Passive at (Random point in Region_001 <gen>) facing 270.00 degrees
        Unit - Create 1.SMG Infantry for Neutral Passive at (Random point in Region_001 <gen>) facing 270.00 degrees
        Unit - Create 1.SMG Infantry for Neutral Passive at (Random point in Region_001 <gen>) facing 270.00 degrees
        Unit - Create 1.SMG Infantry for Neutral Passive at (Random point in Region_001 <gen>) facing 270.00 degrees
        Sound - Stop the currently playing music theme
        Sound - Play War2IntroMusic <gen>
        Wait 15.00 seconds
        Trigger - Run Endyay <gen> (ignoring conditions)
      Else - Actions
        Sound - Stop the currently playing music theme
        Sound - Play War2IntroMusic <gen>
        Wait 0.50 seconds
        Game - Display to (All players) the text: |cffffcc00The Defenders have succesfully defended the little island!!Congratulations!!|rYou can get the latest verion of specops at hiveworkshop.com
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Set VariableSet UnitDieProp[1] = (Last created unit)
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Set VariableSet UnitDieProp[2] = (Last created unit)
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Set VariableSet UnitDieProp[3] = (Last created unit)
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Set VariableSet UnitDieProp[4] = (Last created unit)
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Set VariableSet UnitDieProp[5] = (Last created unit)
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Unit - Create 1.Destroyer for Neutral Passive at (Random point in Region_000 <gen>) facing 180.00 degrees
        Wait 3.00 seconds
        Unit - Kill UnitDieProp[1]
        Special Effect - Create a special effect at (Center of Region_000 <gen>) using NewMassiveEX.mdx
        Special Effect - Destroy (Last created special effect)
        Wait 3.00 seconds
        Unit - Kill UnitDieProp[2]
        Special Effect - Create a special effect at (Center of Region_000 <gen>) using NewMassiveEX.mdx
        Special Effect - Destroy (Last created special effect)
        Wait 3.00 seconds
        Unit - Kill UnitDieProp[3]
        Special Effect - Create a special effect at (Center of Region_000 <gen>) using NewMassiveEX.mdx
        Special Effect - Destroy (Last created special effect)
        Wait 3.00 seconds
        Unit - Kill UnitDieProp[4]
        Special Effect - Create a special effect at (Center of Region_000 <gen>) using NewMassiveEX.mdx
        Special Effect - Destroy (Last created special effect)
        Wait 3.00 seconds
        Unit - Kill UnitDieProp[5]
        Special Effect - Create a special effect at (Center of Region_000 <gen>) using NewMassiveEX.mdx
        Special Effect - Destroy (Last created special effect)
        Trigger - Run Endyay <gen> (ignoring conditions)
Endyay
  Events
  Conditions
  Actions
    Player Group - Pick every player in (All players) and do (Actions)
      Loop - Actions
        Game - Victory (Picked player) (Skip dialogs, Show scores)
Score Update
  Events
    Time - Every 0.01 seconds of game time
  Conditions
  Actions
    Leaderboard - Change the value for Player 6 (Orange) in (Last created leaderboard) to Score[1]
    Leaderboard - Change the value for Player 12 (Brown) in (Last created leaderboard) to Score[2]
Score Town Update
  Events
    Time - Every 5.00 seconds of game time
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Townsd[1] Equal to Townsd[2]
      Then - Actions
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Townsd[1] Greater than Townsd[2]
          Then - Actions
            Set VariableSet Score[2] = (Score[2] - (1 x (Townsd[1] / Townsd[2])))
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Townsd[2] Greater than Townsd[1]
              Then - Actions
                Set VariableSet Score[1] = (Score[1] - (1 x (Townsd[2] / Townsd[1])))
              Else - Actions
Unit Dies
  Events
    Unit - A unit Dies
  Conditions
  Actions
    Set VariableSet Kills[(Player number of (Owner of (Killing unit)))] = (Kills[(Player number of (Owner of (Killing unit)))] + 1)
Drop Item Gone
  Events
    Unit - A unit Dies
  Conditions
  Actions
    Hero - Drop the item from slot 1 of (Dying unit).
    Item - Remove (Last dropped item)
    Hero - Drop the item from slot 2 of (Dying unit).
    Item - Remove (Last dropped item)
    Hero - Drop the item from slot 3 of (Dying unit).
    Item - Remove (Last dropped item)
    Hero - Drop the item from slot 4 of (Dying unit).
    Item - Remove (Last dropped item)
    Hero - Drop the item from slot 5 of (Dying unit).
    Item - Remove (Last dropped item)
    Hero - Drop the item from slot 6 of (Dying unit).
    Item - Remove (Last dropped item)
Napalm Strike
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Napalm Strike
  Actions
    -------- ------------------------------------------------------------------------------------------------- --------
    -------- Getting the Spell constants --------
    -------- ------------------------------------------------------------------------------------------------- --------
    Set VariableSet Napalm_Strike_Caster = (Triggering unit)
    Set VariableSet Napalm_Strike_Location = (Target point of ability being cast)
    Set VariableSet Napalm_Strike_Owner = (Owner of Napalm_Strike_Caster)
    Set VariableSet Napalm_Strike_Ability_Level = (Level of (Ability being cast) for Napalm_Strike_Caster)
    -------- ------------------------------------------------------------------------------------------------- --------
    -------- Setting the Spell values --------
    -------- ------------------------------------------------------------------------------------------------- --------
    Set VariableSet Napalm_Strike_Area_of_Effect = 225.00
    Set VariableSet Napalm_Strike_Base_Damage = 90.00
    Set VariableSet Napalm_Strike_Total_Damage = (Napalm_Strike_Base_Damage x (Real(Napalm_Strike_Ability_Level)))
    Set VariableSet Napalm_Strike_Dummy_Ability = Napalm Strike(dummy)
    Set VariableSet Napalm_Strike_Damage_Group = (Units within Napalm_Strike_Area_of_Effect of Napalm_Strike_Location matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Owner of (Matching unit)) is an enemy of (Owner of Napalm_Strike_Caster).) Equal to True))).)
    For each (Integer A) from 1 to 25, do (Actions)
      Loop - Actions
        -------- ------------------------------------------------------------------------------------------------- --------
        -------- Creating and setting the dummy --------
        -------- ------------------------------------------------------------------------------------------------- --------
        Unit - Create 1.Peasant for Napalm_Strike_Owner at Napalm_Strike_Location facing Default building facing degrees
        Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
        Animation - Change (Last created unit) flying height to (20.00 x (Real((Integer A)))) at 0.00
        -------- ------------------------------------------------------------------------------------------------- --------
        -------- Creating special effect --------
        -------- ------------------------------------------------------------------------------------------------- --------
        Special Effect - Create a special effect attached to the chest (attachpoint) of (Last created unit) using Abilities\Spells\Human\Feedback\SpellBreakerAttack.mdl
        Special Effect - Destroy (Last created special effect)
    Unit Group - Pick every unit in Napalm_Strike_Damage_Group and do (Actions)
      Loop - Actions
        -------- ------------------------------------------------------------------------------------------------- --------
        -------- Damaging the Arera and creating special effect --------
        -------- ------------------------------------------------------------------------------------------------- --------
        Unit - Cause Napalm_Strike_Caster to damage (Picked unit), dealing Napalm_Strike_Total_Damage damage of attack type Spells and damage type Normal
        -------- ------------------------------------------------------------------------------------------------- --------
        -------- Creating special effect --------
        -------- ------------------------------------------------------------------------------------------------- --------
        Special Effect - Create a special effect attached to the chest (attachpoint) of (Picked unit) using Abilities\Weapons\RedDragonBreath\RedDragonMissile.mdl
        Special Effect - Destroy (Last created special effect)
    -------- ------------------------------------------------------------------------------------------------- --------
    -------- Creating special effect --------
    -------- ------------------------------------------------------------------------------------------------- --------
    Special Effect - Create a special effect at Napalm_Strike_Location using Abilities\Spells\Other\Doom\DoomDeath.mdl
    Special Effect - Destroy (Last created special effect)
    Special Effect - Create a special effect at Napalm_Strike_Location using Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl
    Special Effect - Destroy (Last created special effect)
    Special Effect - Create a special effect at Napalm_Strike_Location using NewGroundEX.mdx
    Special Effect - Destroy (Last created special effect)
    -------- ------------------------------------------------------------------------------------------------- --------
    -------- Creating and setting the dummy --------
    -------- ------------------------------------------------------------------------------------------------- --------
    Unit - Create 1.Peasant for Napalm_Strike_Owner at Napalm_Strike_Location facing Default building facing degrees
    Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
    Unit - Add Napalm_Strike_Dummy_Ability to (Last created unit)
    Unit - Set level of Napalm_Strike_Dummy_Ability for (Last created unit) to Napalm_Strike_Ability_Level
    Unit - Order (Last created unit) to Human Blood Mage - Flame Strike.Napalm_Strike_Location
    -------- ------------------------------------------------------------------------------------------------- --------
    -------- Clearing leaks --------
    -------- ------------------------------------------------------------------------------------------------- --------
    Custom script: call RemoveLocation(udg_Napalm_Strike_Location)
    Custom script: call DestroyGroup(udg_Napalm_Strike_Damage_Group)
Reset Number of Kills
  Events
    Time - Every 50.00 seconds of game time
  Conditions
  Actions
    Player Group - Pick every player in (All players) and do (Actions)
      Loop - Actions
        Set VariableSet Kills[(Player number of (Picked player))] = 0
Check Kill Number
  Events
    Player - Player 1 (Red) types a chat message containing -kills (stringnoformat) as An exact match
  Conditions
  Actions
    Game - Display to (All players) the text: (String(Kills[1]))
    Game - Display to (All players) the text: (String(Kills[2]))
    Game - Display to (All players) the text: (String(Kills[3]))
    Game - Display to (All players) the text: (String(Kills[4]))
    Game - Display to (All players) the text: (String(Kills[5]))
    Game - Display to (All players) the text: (String(Kills[7]))
    Game - Display to (All players) the text: (String(Kills[8]))
    Game - Display to (All players) the text: (String(Kills[9]))
    Game - Display to (All players) the text: (String(Kills[10]))
    Game - Display to (All players) the text: (String(Kills[11]))
Choose Nation
  Events
    Time - Elapsed game time is 0.01 seconds
  Conditions
  Actions
    Dialog - Change the title of ChooseNation to Choose your Nation
    Dialog - Create a dialog button for ChooseNation labelled Korea
    Set VariableSet ChooseNationButton[1] = (Last created dialog Button)
    Dialog - Create a dialog button for ChooseNation labelled Iraq
    Set VariableSet ChooseNationButton[2] = (Last created dialog Button)
    Dialog - Create a dialog button for ChooseNation labelled United States
    Set VariableSet ChooseNationButton[3] = (Last created dialog Button)
    Dialog - Create a dialog button for ChooseNation labelled Soviet Russia
    Set VariableSet ChooseNationButton[4] = (Last created dialog Button)
    Player Group - Pick every player in (All players) and do (Actions)
      Loop - Actions
        Dialog - Show ChooseNation for (Picked player)
Korea
  Events
    Dialog - A dialog button is clicked for ChooseNation
  Conditions
    (Clicked dialog button) Equal to ChooseNationButton[1]
  Actions
    Set VariableSet Nation[(Player number of (Triggering player))] = 1
    Game - Display to (All players) the text: ((Name of (Triggering player)) + has chosen Korea)
    Dialog - Hide ChooseNation for (Triggering player)
    Player - Set the current research level of R005 (techcode) to 1 for (Triggering player)
    Hero - Make (Owner of (Last restored unit)) Heroes gain 40.00% experience from future kills
    Set VariableSet Hero[(Player number of (Triggering player))] = (Last created unit)
Iraq
  Events
    Dialog - A dialog button is clicked for ChooseNation
  Conditions
    (Clicked dialog button) Equal to ChooseNationButton[2]
  Actions
    Set VariableSet Nation[(Player number of (Triggering player))] = 2
    Game - Display to (All players) the text: ((Name of (Triggering player)) + has chosen Iraq)
    Dialog - Hide ChooseNation for (Triggering player)
    Player - Set the current research level of R006 (techcode) to 1 for (Triggering player)
US
  Events
    Dialog - A dialog button is clicked for ChooseNation
  Conditions
    (Clicked dialog button) Equal to ChooseNationButton[3]
  Actions
    Set VariableSet Nation[(Player number of (Triggering player))] = 3
    Game - Display to (All players) the text: ((Name of (Triggering player)) + has chosen United States)
    Dialog - Hide ChooseNation for (Triggering player)
    Countdown Timer - Start Paratrooper as a One-shot timer that will expire in 420.00 seconds
    Countdown Timer - Create a timer window for (Last started timer) with title Superweapons
USSR
  Events
    Dialog - A dialog button is clicked for ChooseNation
  Conditions
    (Clicked dialog button) Equal to ChooseNationButton[4]
  Actions
    Set VariableSet Nation[(Player number of (Triggering player))] = 4
    Game - Display to (All players) the text: ((Name of (Triggering player)) + has chosen Soviet Russia)
    Dialog - Hide ChooseNation for (Triggering player)
    Player - Set the current research level of R007 (techcode) to 1 for (Triggering player)
Paratrooper Expire
  Events
    Time - Paratrooper expires
  Conditions
  Actions
    Countdown Timer - Destroy (Last created timer window)
    Player Group - Pick every player in (All players) and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Nation[(Player number of (Picked player))] Equal to 3
          Then - Actions
            Unit - Add Paratrooper to Circle[(Player number of (Picked player))]
            Game - Display to (Player group((Picked player))) the text: |cffffcc00Paratrooper is now ready at your Circle of Power|r
          Else - Actions
Paratrooper Cast
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Paratrooper
  Actions
    Countdown Timer - Start Paratrooper as a One-shot timer that will expire in 420.00 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((Triggering player) is an ally of Player 1 (Red).) Equal to True
      Then - Actions
        Unit - Create 1.Cobra Attack Helicopter for Player 6 (Orange) at (Center of Region_003 <gen>) facing Default building facing degrees
        Unit - Set the custom value of (Last created unit) to (Player number of (Owner of (Triggering unit)))
        Unit - Add Paratrooper (Archimonde) to (Last created unit)
        Unit - Order (Last created unit) to Special Archimonde - Dark Portal.(Target point of ability being cast)
      Else - Actions
        Unit - Create 1.Cobra Attack Helicopter for Player 12 (Brown) at (Center of Region_003 <gen>) facing Default building facing degrees
        Unit - Set the custom value of (Last created unit) to (Player number of (Owner of (Triggering unit)))
        Unit - Add Paratrooper (Archimonde) to (Last created unit)
        Unit - Order (Last created unit) to Special Archimonde - Dark Portal.(Target point of ability being cast)
Paratrooper Cast Copy
  Events
    Unit - A unit Spawns a summoned unit
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Summoned unit)) Equal to SMG Infantry
        (Unit-type of (Summoned unit)) Equal to AK-47 Infantry
        (Unit-type of (Summoned unit)) Equal to AK-47 Sergeant
  Actions
    Unit - Change ownership of (Summoned unit) to (Player((Custom value of (Summoning unit)))) and Change color
    Unit - Change ownership of (Summoning unit) to (Player((Custom value of (Summoning unit)))) and Change color
    Unit - Remove Paratrooper (Archimonde) from (Summoning unit)
Capital
  Events
    Unit - A unit Finishes construction
  Conditions
    (Unit-type of (Constructed structure)) Equal to Capital
  Actions
    Game - Display to (All players) the text: ((Name of (Owner of (Triggering unit))) + has finished building a capital)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((Owner of (Triggering unit)) is an ally of Player 6 (Orange).) Equal to True
      Then - Actions
        Set VariableSet Townsd[1] = (Townsd[1] + 1)
        Unit - Remove CapitalBuilder[(Player number of (Owner of (Constructed structure)))] from the game
        Unit - Create 1.Starter Builder for (Owner of (Constructed structure)) at (Position of (Triggering unit)) facing Default building facing degrees
        Set VariableSet StarterBuilder[(Player number of (Owner of (Constructed structure)))] = (Last created unit)
        Unit - Change ownership of (Constructed structure) to Player 6 (Orange) and Change color
      Else - Actions
        Set VariableSet Townsd[2] = (Townsd[2] + 1)
        Unit - Remove CapitalBuilder[(Player number of (Owner of (Constructed structure)))] from the game
        Unit - Create 1.Starter Builder for (Owner of (Constructed structure)) at (Position of (Triggering unit)) facing Default building facing degrees
        Set VariableSet StarterBuilder[(Player number of (Owner of (Constructed structure)))] = (Last created unit)
        Unit - Change ownership of (Constructed structure) to Player 12 (Brown) and Change color
First Spawn
  Events
    Unit - A unit Finishes construction
  Conditions
    (Unit-type of (Constructed structure)) Equal to Spawn Point
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        PrimaryBuilding[(Player number of (Owner of (Constructed structure)))] Equal to No unit
      Then - Actions
        Set VariableSet PrimaryBuilding[(Player number of (Owner of (Triggering unit)))] = (Constructed structure)
        Unit - Remove StarterBuilder[(Player number of (Owner of (Triggering unit)))] from the game
        Game - Display to (All players) the text: ((Name of (Triggering player)) + has placed his first spawn point)
        Game - Display to (Player group((Owner of (Constructed structure)))) the text: |cffffcc00You can now buy units at the edge of the map|r
        Unit - Create 1.Circle of Power (large) for (Owner of (Constructed structure)) at (Random point in Region_002 <gen>) facing Default building facing degrees
        Camera - Pan camera for (Owner of (Constructed structure)) to (Center of Region_002 <gen>) over 0 seconds
      Else - Actions
5 minutes - 300
10 minutes - 600
15 minutes - 900
20 minutes - 1200
25 minutes -1500
30 minutes - 1800
AFK System Initialization
  Events
    Map initialization
  Conditions
  Actions
    -------- Set Timer for all Players to 0 and Booleans to False --------
    -------- **Maybe this is not necessary since they are all at 0 by defaut --------
    -------- **And also Booleans are False by default --------
    -------- **But i wanted to set them manually just to be sure --------
    For each (Integer A) from 1 to 12, do (Actions)
      Loop - Actions
        Set VariableSet AFK_Integer[1] = (AFK_Integer[1] + 1)
        Set VariableSet AFK_Time[AFK_Integer[1]] = 0
        Set VariableSet AFK_Boolean[AFK_Integer[1]] = False
    -------- Set the maximum time that will allow a player to be afk --------
    -------- **Check Trigger Comment for help with this one --------
    Set VariableSet AFK_TimeLimit = 120
    -------- This is the message that will be displayed when kicked out of game --------
    Set VariableSet AFK_String = You have been kicked out of game for being afk for too long!!
AFK_Boolean Help:
True = Not afk
False = afk
(to change the value of the boolean the player that is going afk must type "-afk" to prevent this trigger from kicking him out of game)
AFK System loop
  Events
    Time - Every 1.00 seconds of game time
  Conditions
  Actions
    -------- Every 1 second increases the afk time for each player and even if they are active this still increases --------
    Set VariableSet AFK_Integer[1] = 0
    -------- Check if Player has succeeded the Time Limit and kick him out of the game!! :D --------
    For each (Integer A) from 1 to 12, do (Actions)
      Loop - Actions
        Set VariableSet AFK_Integer[1] = (AFK_Integer[1] + 1)
        Set VariableSet AFK_Time[AFK_Integer[1]] = (AFK_Time[AFK_Integer[1]] + 1)
        -------- The Boolean to kick out of game the player must be false because if it's true --------
        -------- that means that he used the -afk command to go afk instead of just leaving --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            AFK_Time[AFK_Integer[1]] Greater than or equal to AFK_TimeLimit
            AFK_Boolean[(Player number of (Triggering player))] Equal to False
          Then - Actions
            -------- If contidions are true you defeat him with the AFK_String --------
            Game - Defeat (Player(AFK_Integer[1])) with the message: AFK_String
          Else - Actions
        -------- check for afk countdowns and if they expired notify all players --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Remaining time for AFK_Timer[AFK_Integer[1]]) Equal to 0.00
          Then - Actions
            -------- Notify all players that the countdown has expired --------
            Set VariableSet AFK_Boolean[AFK_Integer[1]] = False
            -------- Make every unit he owns Vulnerable and Unpause it --------
            Unit Group - Pick every unit in (Units owned by (Player(AFK_Integer[1])).) and do (Actions)
              Loop - Actions
                Unit - Unpause (Picked unit)
                Unit - Make (Picked unit) Vulnerable
          Else - Actions
AFK System action
  Events
    Unit - A unit Learns a skill
    Unit - A unit Uses an item
    Unit - A unit Loses an item
    Unit - A unit Begins casting an ability
    Unit - A unit Is issued an order targeting an object
    Unit - A unit Is issued an order targeting a point
    Unit - A unit Is issued an order with no target
  Conditions
  Actions
    -------- When unit does any of the above actions the timer for owner of triggering unit will be set to 0 --------
    Set VariableSet AFK_Time[(Player number of (Triggering player))] = 0
AFK System commands
  Events
    Player - Player 1 (Red) types a chat message containing (stringnoformat) as A substring
    Player - Player 2 (Blue) types a chat message containing (stringnoformat) as A substring
    Player - Player 3 (Teal) types a chat message containing (stringnoformat) as A substring
    Player - Player 4 (Purple) types a chat message containing (stringnoformat) as A substring
    Player - Player 5 (Yellow) types a chat message containing (stringnoformat) as A substring
    Player - Player 6 (Orange) types a chat message containing (stringnoformat) as A substring
    Player - Player 7 (Green) types a chat message containing (stringnoformat) as A substring
    Player - Player 8 (Pink) types a chat message containing (stringnoformat) as A substring
    Player - Player 9 (Gray) types a chat message containing (stringnoformat) as A substring
    Player - Player 10 (Light Blue) types a chat message containing (stringnoformat) as A substring
    Player - Player 11 (Dark Green) types a chat message containing (stringnoformat) as A substring
    Player - Player 12 (Brown) types a chat message containing (stringnoformat) as A substring
  Conditions
  Actions
    -------- First of all you set the Timer for triggering player to 0 --------
    -------- because when he types a message that means that he is not afk any more --------
    Set VariableSet AFK_Time[(Player number of (Triggering player))] = 0
    -------- Now we check if the typed message contains the word "-afk" --------
    -------- **This option makes the player unable to get kicked by the system --------
    -------- **but if timer expires then he can be kicked if he still is afk for too long --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Substring((Entered chat string), 1, 4)) Equal to -afk
        AFK_Boolean[(Player number of (Triggering player))] Equal to False
      Then - Actions
        -------- Create and Start the Countdown for remainning afk time --------
        Countdown Timer - Create a timer window for AFK_Timer[(Player number of (Triggering player))] with title ((Name of (Triggering player)) + (will be afk for : + (Substring((Entered chat string), 5, 7))))
        Set VariableSet AFK_TimerWindow[(Player number of (Triggering player))] = (Last created timer window)
        Countdown Timer - Start AFK_Timer[(Player number of (Triggering player))] as a One-shot timer that will expire in (Real((Substring((Entered chat string), 5, 7)))) seconds
        -------- Set the Boolean for triggerig player to true to avoid kicking out of game --------
        Set VariableSet AFK_Boolean[(Player number of (Triggering player))] = True
        -------- Set the time that he submitted to be afk --------
        Set VariableSet AFK_afk_limit[(Player number of (Triggering player))] = (Integer((Substring((Entered chat string), 5, 7))))
        -------- Notify all players that triggering player is going to be afk --------
        Game - Display to (All players) for 5.00 seconds the text: ((Name of (Triggering player)) + (is going to be afk for + ((Substring((Entered chat string), 5, 7)) + seconds!!)))
        -------- Make every unit he owns Invulnerable and Pause it --------
        Unit Group - Pick every unit in (Units owned by (Triggering player).) and do (Actions)
          Loop - Actions
            Unit - Pause (Picked unit)
            Unit - Make (Picked unit) Invulnerable
      Else - Actions
        -------- Now we check if the typed message contains the word "-back" --------
        -------- **When an afk player comes back he can has to type "-back" but he can still come back and not type it --------
        -------- **but he/she will be in observe mode since all his units are paused so he is forced to type it --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Substring((Entered chat string), 1, 5)) Equal to -back
            AFK_Boolean[(Player number of (Triggering player))] Equal to True
          Then - Actions
            -------- Destroy the Countdown Timer --------
            Countdown Timer - Destroy AFK_TimerWindow[(Player number of (Triggering player))]
            -------- Notify all players that triggering player is no longer afk --------
            Game - Display to (All players) for 5.00 seconds the text: ((Name of (Triggering player)) + is no longer afk!!)
            -------- Make every unit he owns Vulnerable and Unpause it --------
            Unit Group - Pick every unit in (Units owned by (Triggering player).) and do (Actions)
              Loop - Actions
                Unit - Unpause (Picked unit)
                Unit - Make (Picked unit) Vulnerable
          Else - Actions