Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Trigger Viewer

CityOfTerrorII_1.2j_protected.w3x
Variables
Variables
Editing
TEST skipcinematic
TEST zombies
TEST guns
TEST set wave
TEST spawn player2marine
TEST InfectionLevel
TEST fadefilter
Get Animation Index
CopyPaste
Main
Init
Init Allies
Init Preload
Init Ranks
Init Hash Main
Add CrowForm DmgTake
Player Selected Unit
Player Leaves
GetPlayerCount RecreateMB
Remove Dead Units
Remove Dead Units Countdown
Burning
GetPoint AwayFromMarines
GetPoint CloseToMarines
GetPoint VeryCloseToMarines
GetPoint VeryCloseToUG2
Effects
Blood DmgTake
Blood Death
Blinking Lights Init
Blinking Lights Blink
Fire & Explosions
Create Explosion
Explosive Destructibles Init
Explosive Destructibles Detonate
Catch Fire
Sounds
Init Sound
Sound Play xSoundPlay
Ladders
Ladder Init
Ladder Select
Ladder ClimbUp
Ladder ClimbDown
Survival Events
Tutorial
E Tutorial Start
E Tutorial VillagerFloats
E Tutorial VillagerDeath
E Tutorial EnterNextArea
E Tutorial Over
E Tutorial Over 2
E Spawn Starting Weapons
Scientist
E Scientist Psst
E Scientist Message
E Scientist TakeBlood
E Scientist SerumUse
E Scientist Follow
E Scientist Help NPCs
E Forest Ranger
E ForestRanger Activate
E ForestRanger Follow
Sentry Bots
E Rejected Death
E Sentry Bot Activate
E Sentry Bot AI
E Sentry Bot Smart Order
E Sentry Bot HealDmgTaken
E Sentry Bot Pause
Tank
E Tank Item Drop
E Tank Fix
E Tank Load
E Tank Unload and Damage
E Tank Death
End
E GameEnd
E GameEnd LightFlash
Modes
Mod Init
Mod Select
Mod Select Guns
AM Init
AM RecreateWeapons
AM Monster Spawn
AM Victory and Warning
AM DroppedWeaponRemove
AM OrderZombie
Marines
Item Management
Weapon Init
Weapon Aquire
Weapon AquireMeele
Weapon AquireSpecial
Weapon UseItem
Weapon UseItemMeele
Weapon UseItemSpecial
Weapon Drop
Nade Aquire
Nade UseItem
Ammo Aquire
Ammo UseItem
Marine Armor Aq
Marine Armor LQS Spell
Stacking
StackingItem Init
StackingItem Aq
StackingItem Drop
StackingItem Drop ChangeType
Marine Action Management
Marine Init
Marine ToggleClickAction
Marine SetMonsterOrder
Marine ResetMonsterOrder
doubleclickshoot init
doubleclickshoot onMouseDown
doubleclickshoot onMouseDown Code
doubleclickshoot onMouseMove
doubleclickshoot onMouseMove Code
doubleclickshoot onMouseUp
doubleclickshoot onMouseUp Code
reselect marine init
reselect marine onMouseDown
reselect marine when selecting
Marine Smart Order
Marine Order Stop
Marine FireWhenAngleOk
Marine ExecFire
Marine ExecMeele
Marine SpawnBullets
Marine Reload
Marine Reload CheckForEmptyAmmo
Marine Reload WeaponReloadSingle
Marine Reload Custom
Marine Nade Throw
Marine Nade Death
Missle Management
Missle Init
Missle Fly
Missle Fly DamageUnits
Missle BFG RL
Missle Chlorine
Missle Chlorine Dmg
Missle BFG Alt
Various
Marine Set Movement Speed
Marine Select Class
Marine Death
Marine Revive
Marine DmgTake
Marine Infection Main
Marine DontAttTransformed
Marine Flashlight Move
SMG
SMG Init
SMG Smart Order
SMG Select
SMG Ammo Float
SMG Heat
SMG Refill
SMG WithinRange
Marine Spells
MS Infection Remove
MS NightvisionToggle
MS Nightvision NoMana
Medic
MS Heal
MS Combat Cocktail
MS Revive
MS Revive 1sec check
Explosives
MS Place Mine Barricade
MS Mine AutoDetonate
MS Mine Death
Engineer
MS MG PackUp TargetCheck
MS MG PackUp
MS MG SetUp
Operator
MS Ping Dropoff Point
MS Track Enemies
MS Airstrike Cast FirstPoint
MS Airstrike Cast Destination
MS Airstrike Main
EliteFighter
MS Concentrate
MS ScarifyBullets Begin
MS ScarifyBullets Finish
MS Leap
Items
MS Medic Items
MS LQS Shockwave
MS Plant Explosives Flares
MS FlareDeath
Jetpack & Velocity
Jet Pack Init
Jet Pack Toggle
Jet Pack SteerON Left
Jet Pack SteerON Right
Jet Pack SteerON Up
Jet Pack SteerON Down
Jet Pack SteerOFF Left
Jet Pack SteerOFF Right
Jet Pack SteerOFF Up
Jet Pack SteerOFF Down
Jet Pack Main
Jet Pack TurnOff JetPack unit
Velocity
Velocity PowerPush PPunit
Velocity PowerPush PPPoint
Monsters
Spawn
MonsterType Init
MonsterType Init Relaxed
MonsterType Init Training
Monster Spawn
Monster Spawn Items
Monster Spawn Items Get P2
Monster Spawn GetPoint 1st
Monster Spawn GetPoint 2nd
Monster Spawn GetPoint 3rd
Monster Spawn GetPoint 4th
Monster AttackOrder
Monster Spawn Heretics
Monster Spawn Effects Events
Special
Monster FlyingAddToAdjustUG
Monster FlyingRemFromAdjustUG
Monster SpellCooldown
Monster WithinRange Spells Far
Monster WithinRange Spells Close
Monster CrawlUpDown Start
Monster CrawlUp
Monster Heretic Summon
Monster Abom Death
Monster Abom Blow
Monster Abom Death Infection
Monster Acid Spit
Monster Stampede
Monster SuturedCadavre Blow
Monster Carnivore SpawnBreed Order
Monster Carnivore SpawnBreed Cast
Monster Carnivore SpawnBreed Main
Monster Black Hole Cast
Monster Black Hole Main
Monster MindFlayer Death
Music Weather and Commands
Music
Music Init
Music Play
Weather
Weather Main
Command System
Command Init
Command Input
Camera
Camera SetForPlayer PlayerCamSet
Camera SetForPlayer Nightvision
Difficulty
Difficulty Set Chooser
Auto-Attack
AutoAttack MoveDummy
AutoAttack AttackUnit
AutoAttack DmgTake
Multiboard
MB Create
MB Create Zombie
MB Refresh
AnimatedBars & SMG Ammo
HealthBar Init
HealthBar AddUnit
HealthBar RemoveUnit
HealthBar Loop
HeatlhBar LoopVisibility

		
Name Type Is Array Initial Value
AM_CreditLimitVictory integer No
AM_GameWinner player No PlayerNP
AM_MaxMonsterSpawn integer No
AM_MonsterSpawn_IconPath string Yes
AM_MonsterSpawn_Itemtypes itemcode Yes
AM_MonsterSpawn_TypeCount integer No
AM_MonsterSpawn_Unittypes unitcode Yes
AM_MonsterSpawnTable hashtable No
AM_Player_VictoryWarningShow boolean Yes
AM_WeaponSpawn_Count integer No
AM_WeaponSpawn_Origin location Yes
AM_WeaponSpawn_SpawnedAmmo item Yes
AM_WeaponSpawn_SpawnedGun item Yes
AM_WeaponSpawn_Type integer Yes
AttackOrderCheck_A integer No
AttackOrderCheck_P location No
AttackOrderCheck_r real No
AttackOrderCheck_r2 real No
AttackOrderCheck_UG group No
AttackOrderCheck_unit unit No
AttackOrderCheck_x integer No
AutoAttack_key integer No
AutoAttack_Unit unit No
b boolean No
BlinkingLights_Count integer No
BlinkingLights_Points location Yes
BlinkingLights_UG group No
BlinkingLights_Units unit Yes
BloodDmgTake_P location No
dest destructable No
Event_ForestRanger unit No
Event_ForestRanger_Index integer No
Event_Scientist_Index integer No
Explosion_A integer No
Explosion_Caster unit No
Explosion_MaxDmg real No
Explosion_Origin location No
Explosion_OriginTarget location No
Explosion_r real No
Explosion_Range real No
Explosion_Target unit No
Explosion_TargetZ real No
Explosion_Type integer No
Explosion_UG group No
Explosion_x integer No
Explosion_Z real No
Game_ActivePlayerCount integer No
Game_AdminPlayer player No Player00
Game_BaseCliffLevel integer No
Game_BaseTerrainHeight real No
Game_Difficulty integer No
Game_FlyBoundsBottom real No
Game_FlyBoundsLeft real No
Game_FlyBoundsRight real No
Game_FlyBoundsTop real No
Game_Mod integer No
Game_Options_MissleDmgFactor real No
Game_Options_NoJetpack boolean No
Game_Over boolean No
Game_WorldDamage unit No
Gravity real No 5.00
Hash_Main hashtable No
HealthBar texttag No
HealthBar2 texttag No
HealthBar_UG group No
HealthHash hashtable No
HealthPGThatCanSee force No
HealthStatus real No
IsTriggerOrder boolean No
item item No
ItemsToMakeStack item Yes
ItemsToMakeStackCount integer No
JetPack_MaxTotalHeight real No
JetPack_Speed real No
JetPack_SteerSensivity real No 0.10
JetPackOff_unit unit No
JetPackOff_x integer No
LadderClimb_Point location No
LadderClimb_UG group No
LastClickedPoint location Yes
LastClickedTime real Yes
lightning lightning No
Marine_DmgTake_r real No
Marine_Fire_Item item No
Marine_Fire_ItemKey integer No
Marine_Fire_P location No
Marine_Fire_P_md location No
Marine_Fire_Target location No
Marine_Fire_Target_md location No
Marine_Fire_Unit unit No
Marine_Fire_Unit_md unit No
Marine_Fire_UnitKey integer No
Marine_Fire_UnitKey_md integer No
Marine_Fire_WeaponTypeIndex integer No
Marine_Hash hashtable No
Marine_Infection_x integer No
Marine_Nade_Target location No
Marine_Nade_ThrowDummy unit No
Marine_Reload_2ndTry boolean No
Marine_Reload_Item item No
Marine_Reload_ItemKey integer No
Marine_Reload_rWait real No
Marine_Reload_Unit unit No
Marine_Reload_UnitKey integer No
Marine_Revive_P location No
Marine_Revive_Unit unit No
Marine_Revive_x integer No
MarineDeath_A integer No
MarineSetMMSpeed_Factor real No
MarineSetMMSpeed_Item item No
MarineSetMMSpeed_r real No
MarineSetMMSpeed_unit unit No
MarineSetMMSpeed_x integer No
Maxplayers integer No 6
MB_Marines multiboard No
MB_ToggleState integer No
MB_Zombies multiboard No
Missle_angle real No
Missle_BulletSource unit No
Missle_CollisionCheckInterval integer No
Missle_currheight real No
Missle_Hash hashtable No
Missle_key integer No
Missle_PreviousHitUnit unit No
Missle_Speed real No
Missle_unit unit No
Missle_unitshit integer No
Missle_utype unitcode No
Missles_CriticalNumberForFrags integer No 40
Monster_Carnivore unit No
Monster_Carnivore_AllowSpawn boolean No
Monster_EndBoss unit No
MonsterType_1st unitcode Yes
MonsterType_1st_SpawnDist integer Yes
MonsterType_1stMaxCount integer Yes
MonsterType_1stSpawnedCount integer Yes
MonsterType_2nd unitcode Yes
MonsterType_2nd_SpawnDist integer Yes
MonsterType_2nd_X1stFirst integer Yes
MonsterType_2ndMaxCount integer Yes
MonsterType_2ndSpawnedCount integer Yes
MonsterType_3rd unitcode Yes
MonsterType_3rd_SpawnDist integer Yes
MonsterType_3rd_X2ndFirst integer Yes
MonsterType_3rdMaxCount integer Yes
MonsterType_3rdSpawnedCount integer Yes
MonsterType_4th unitcode Yes
MonsterType_4th_SpawnDist integer Yes
MonsterType_4th_X4rdFirst integer Yes
MonsterType_4thMaxCount integer Yes
MonsterType_4thSpawnedCount integer Yes
MonsterType_TypeCount integer Yes
MonsterType_WaveCount integer No
MonsterType_WaveIndex integer No
MonsterType_WaveMsg string Yes
MouseTimer timer No
Music_CurrentTrackIndex integer No
Music_PlayerOn boolean Yes
Music_RndSoundList sound Yes
Music_RndSoundList_Count integer No
Music_Soundlist sound Yes
Music_Soundlist_Count integer No
Music_Soundlist_Duration real Yes
Music_Soundlist_Pitch real Yes
Music_TimePassed real No
NPCSmartOrder_AllowFire boolean No
NPCSmartOrder_key integer No
NPCSmartOrder_P location No
NPCSmartOrder_r real No
NPCSmartOrder_r2 real No
NPCSmartOrder_Target location No
P location No
P2 location No
P3 location No
P_BloodUnitDeath location No
P_PlaceStuff location No
P_SoundPlay location No
P_ZombieEnterMap location No
PG force No
player player No
Player_AllowSelectClass boolean Yes
Player_AutoAttackDummy unit Yes
Player_AutoAttackON boolean Yes
Player_AutouseMG boolean Yes
Player_Bounty integer Yes
Player_CamDistance real Yes
Player_CamLock boolean Yes
Player_CamSet player No
Player_CamSet_r real No
Player_CamSetx integer No
Player_CamSetx2 integer No
Player_ColorCode string Yes
Player_JetPack_Steer_DownON boolean Yes
Player_JetPack_Steer_LeftON boolean Yes
Player_JetPack_Steer_RightON boolean Yes
Player_JetPack_Steer_UpON boolean Yes
Player_Kills integer Yes
Player_Marine unit Yes
Player_Monsterowner player No Player11
Player_MouseDownAfterDblClick boolean Yes
Player_MouseDownCount integer Yes
Player_MouseUpCount integer Yes
Player_NPCAllies player No Player09
Player_SelectedUnit unit Yes
Player_TutorialStep integer Yes
PowerPush_AngleXY real No
PowerPush_Key integer No
PowerPush_P location No
PowerPush_PowerXY real No
PowerPush_PowerZ real No
PowerPush_r real No
PowerPush_r2 real No
PowerPush_Target location No
PowerPush_Unit unit No
r real No
r2 real No
r2_md real No
r3 real No
r4 real No
r5 real No
r6 real No
r7 real No
r_md real No
r_x real No
r_x2 real No
r_y real No
r_y2 real No
r_ZombieEnterMap real No
RankNameFull string Yes
RankShortcut string Yes
RankXPReq integer Yes
region rect No
s string No
Selection_unit unit No
SentryBotOrigin location Yes
SMG_Ammo integer Yes
SMG_Count integer No
SMG_DefaultAngle real Yes
SMG_Float texttag Yes
SMG_FloatCreated boolean Yes
SMG_FloatUpdateA integer No
SMG_Heat integer Yes
SMG_HeatCritical integer No
SMG_Unit unit Yes
Sound_Hash hashtable No
StackableItem_Charges integer No
StackableItem_Count integer No
StackableItem_intA integer No
StackableItem_Name string No
StackableItem_StackCount integer Yes
StackableItem_Type integer No
StackableItem_TypeInventory itemcode Yes
StackableItem_TypePowerUp itemcode Yes
StackableItem_x integer No
StateString string No
Tank_ItemsDelivered integer No
Tank_ItemsDropped integer No
UG group No
UG2 group No
UG_AirstrikeCasters group No
UG_AliveMarines group No
UG_AliveZombies group No
UG_BlackHole group No
UG_Burning group No
UG_ChainsawCooldownUnits group No
UG_CrawlUpMonsters group No
UG_DeadUnits group No
UG_EnemyAliveMarines group Yes
UG_FireWhenAngleOk group No
UG_FlashlightUnits group No
UG_FlyingAdjustHeight group No
UG_Heretics group No
UG_md group No
UG_Missles group No
UG_Monster_AbomBlow group No
UG_MonsterSpellCooldown group No
UG_OrderStop group No
UG_RecentlyClimbed group No
UG_RemoveInfection group No
UG_RemoveLightning group No
UG_SentryBotTargets group Yes
UG_SpawnBullets group No
UG_Stampede group No
UG_SuturedCadavreBlow group No
UG_TutorialVillagers group No
UG_UnitsThatAreAttacking group No
UG_Velocity group No
UG_ZombiesAttackOrder group No
unit unit No
unit2 unit No
unit_Climb unit No
unit_md unit No
unittype unitcode No
Velocity_IsDroppedOffGhoul boolean No
Velocity_Maximum real No 100.00
Velocity_Minimum real No -100.00
Velocity_MoveOffObstacle boolean No
vX real No
vY real No
vZ real No
Wave_WeaponDropPoint location No
WeaponAquire_Item item No
WeaponAquire_Unit unit No
WeaponAquire_UnitKey integer No
WeaponAquire_x integer No
WeaponData_Count integer No
WeaponData_GunSpawnCount integer No
WeaponData_GunSpawnList integer Yes
WeaponData_Hash hashtable No
WeaponData_ItemType itemcode Yes
WeaponData_ItemTypeAmmo itemcode Yes
WeaponData_ItemTypeAmmoAlt itemcode Yes
WeaponData_ItemTypeAmmoAltStck itemcode Yes
WeaponData_ItemTypeAmmoStck itemcode Yes
WeaponData_MissleType unitcode Yes
WeaponData_WeightSlowFactor real No
WeaponData_WeightSlowFactorEF real No
Weather_FilterIndex real No
x integer No
x2 integer No
x3 integer No
x4 integer No
x5 integer No
x_EnterStatMG integer No
x_md integer No
x_SoundPlay integer No
x_SoundPlay2 integer No
x_ZombieEnterMap integer No
y integer No
z1 real No
z2 real No
TEST skipcinematic
  Events
    Player - Player 1 (Red) types a chat message containing go (stringnoformat) as An exact match
  Conditions
  Actions
    Set VariableSet x = 0
    Set VariableSet MonsterType_WaveIndex = x
    Set VariableSet MonsterType_1stMaxCount[x] = 0
    Set VariableSet MonsterType_2ndMaxCount[x] = 0
    Set VariableSet MonsterType_3rdMaxCount[x] = 0
    Set VariableSet MonsterType_4thMaxCount[x] = 0
    Trigger - Turn on Monster_Spawn <gen>
    Trigger - Run Monster_Spawn <gen> (checking conditions)
    Unit - Move Player_Marine[1] instantly to (Center of WeaponSpawn01 <gen>)
    Set VariableSet unit = Player_Marine[1]
    Unit - Add Sprint to unit
    Unit - Add Nightvision to unit
    Unit - Add Reload to unit
    Unit - Add Select Class to unit
    -------- Starting Items --------
    Set VariableSet x = 10
    Item - Create WeaponData_ItemType[x] at P
    Item - Set the custom value of (Last created item) to x
    Item - Set charges remaining in (Last created item) to 200
    Hero - Give (Last created item) to unit
    Item - Create WeaponData_ItemTypeAmmo[x] at P
    Item - Set the custom value of (Last created item) to x
    Item - Set charges remaining in (Last created item) to 999
    Hero - Give (Last created item) to unit
TEST zombies
  Events
    Player - Player 1 (Red) types a chat message containing z (stringnoformat) as An exact match
  Conditions
  Actions
    Set VariableSet P = ((Position of Player_Marine[1]) offset by 800.00 towards (Facing of Player_Marine[1]) degrees.)
    For each (Integer A) from 1 to 10, do (Actions)
      Loop - Actions
        Unit - Create 1.Zombie (Slow) for Player_Monsterowner at P facing (Random angle) degrees
    Unit - Create 1.Flesh Thing for Player_Monsterowner at P facing (Random angle) degrees
TEST guns
  Events
    Player - Player 1 (Red) types a chat message containing guns (stringnoformat) as An exact match
    Time - Elapsed game time is 3.00 seconds
  Conditions
  Actions
    -------- Starting Items --------
    For each (Integer B) from 1 to Maxplayers, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Player((Integer B))) slot status) Equal to Is playing
          Then - Actions
            Set VariableSet P2 = (Position of Player_Marine[(Integer B)])
            Item - Create |cff7DBEF1Weapon [|rChainsaw|cff7DBEF1] at P2
            For each (Integer A) from 1 to WeaponData_Count, do (Actions)
              Loop - Actions
                Set VariableSet P = (P2 offset by (((Real((Integer A))) x 64.00), 0))
                Item - Create WeaponData_ItemType[(Integer A)] at P
                Item - Set the custom value of (Last created item) to (Integer A)
                Item - Set charges remaining in (Last created item) to (Load 6 of (Integer A) from WeaponData_Hash.)
                Custom script: call RemoveLocation(udg_P)
                Set VariableSet P = (P2 offset by (((Real((Integer A))) x 64.00), -64.00))
                Item - Create WeaponData_ItemTypeAmmoStck[(Integer A)] at P
                Item - Set the custom value of (Last created item) to (Integer A)
                Item - Set charges remaining in (Last created item) to 99
                Custom script: call RemoveLocation(udg_P)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    WeaponData_ItemTypeAmmoAlt[(Integer A)] Not equal to |cff7DBEF1Magazine [|r9mm (for USP)|cff7DBEF1]
                  Then - Actions
                    Set VariableSet P = (P2 offset by (((Real((Integer A))) x 64.00), -128.00))
                    Item - Create WeaponData_ItemTypeAmmoAltStck[(Integer A)] at P
                    Item - Set the custom value of (Last created item) to (Integer A)
                    Item - Set charges remaining in (Last created item) to 99
                    Custom script: call RemoveLocation(udg_P)
                  Else - Actions
            Set VariableSet P = (P2 offset by (0.00, 128.00))
            Item - Create |cff7DBEF1HE-Nades at P
            Item - Set charges remaining in (Last created item) to 6
            Custom script: call RemoveLocation(udg_P)
            Set VariableSet P = (P2 offset by (64.00, 128.00))
            Item - Create |cff7DBEF1Frags at P
            Item - Set charges remaining in (Last created item) to 6
            Custom script: call RemoveLocation(udg_P)
            Custom script: call RemoveLocation(udg_P2)
          Else - Actions
TEST set wave
  Events
    Player - Player 1 (Red) types a chat message containing wave (stringnoformat) as A substring
  Conditions
    (Substring((Entered chat string), 1, 4)) Equal to wave
  Actions
    Set VariableSet x = (Integer((Substring((Entered chat string), 5, (Length of (Entered chat string))))))
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        x Less than 1
      Then - Actions
        Set VariableSet x = 1
      Else - Actions
    Game - Display to (All players) for 1.00 seconds the text: (wave + (String(x)))
    Set VariableSet x = (x - 1)
    Set VariableSet MonsterType_WaveIndex = x
    Set VariableSet MonsterType_1stMaxCount[x] = 0
    Set VariableSet MonsterType_2ndMaxCount[x] = 0
    Set VariableSet MonsterType_3rdMaxCount[x] = 0
    Set VariableSet MonsterType_4thMaxCount[x] = 0
    Trigger - Turn on Monster_Spawn <gen>
    Trigger - Run Monster_Spawn <gen> (checking conditions)
TEST spawn player2marine
  Events
    Player - Player 1 (Red) types a chat message containing k (stringnoformat) as An exact match
  Conditions
  Actions
    Unit - Create 1.Marine for Player 2 (Blue) at (Position of Player_Marine[1]) facing Default building facing degrees
    Set VariableSet Player_Marine[2] = (Last created unit)
    Animation - Change (Last created unit) flying height to 500.00 at 0.00
    Player - Make Player 1 (Red) treat Player 2 (Blue) as an Enemy
    Player - Make Player 2 (Blue) treat Player 1 (Red) as an Enemy
    Unit - Kill (Last created unit)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility across (Playable map area)
TEST InfectionLevel
  Events
    Player - Player 1 (Red) types a chat message containing aa (stringnoformat) as An exact match
  Conditions
  Actions
    Set VariableSet unit = Player_Marine[1]
    Custom script: set udg_x = GetHandleId(udg_unit)
    Set VariableSet Marine_Infection_x = 50
    Hashtable - Save Marine_Infection_x as 27 of x in Marine_Hash.
    Hero - Add 50 experience to unit, Hide level-up graphics
TEST fadefilter
  Events
    Player - Player 1 (Red) types a chat message containing nv (stringnoformat) as A substring
  Conditions
    (Substring((Entered chat string), 1, 2)) Equal to nv
  Actions
    Set VariableSet x = (Integer((Substring((Entered chat string), 3, (Length of (Entered chat string))))))
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        x Less than or equal to 0
      Then - Actions
        Cinematic - Hide filter
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        x Equal to 1
      Then - Actions
        Cinematic - Apply a filter over 9999.00 seconds using Additive blending on texture White Mask, starting with color (0.00%, 100%, 0.00%) and 80.00% transparency and ending with color (0%, 100.00%, 0%) and 80.00% transparency
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        x Equal to 2
      Then - Actions
        Cinematic - Apply a filter over 9999.00 seconds using Modulated blending on texture White Mask, starting with color (50.00%, 100.00%, 50.00%) and 80.00% transparency and ending with color (0%, 100.00%, 0%) and 80.00% transparency
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        x Equal to 3
      Then - Actions
        Cinematic - Apply a filter over 9999.00 seconds using Modulated 2x blending on texture White Mask, starting with color (50.00%, 100%, 50.00%) and 80.00% transparency and ending with color (0%, 100.00%, 0%) and 80.00% transparency
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        x Equal to 4
      Then - Actions
        Cinematic - Apply a filter over 9999.00 seconds using Key alpha blending on texture White Mask, starting with color (0.00%, 100%, 0.00%) and 0.00% transparency and ending with color (0%, 100.00%, 0%) and 0.00% transparency
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        x Equal to 5
      Then - Actions
        Cinematic - Apply a filter over 9999.00 seconds using Normal blending on texture White Mask, starting with color (0.00%, 100%, 0.00%) and 80.00% transparency and ending with color (0%, 100.00%, 0%) and 80.00% transparency
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        x Equal to 6
      Then - Actions
        Cinematic - Apply a filter over 9999.00 seconds using Additive blending on texture White Mask, starting with color (0.00%, 100%, 0.00%) and 20.00% transparency and ending with color (0%, 100.00%, 0%) and 20.00% transparency
        Environment - Set fog to style Linear, z-start 2000.00, z-end 5000.00, density 0.50 and color (8.00%, 5.00%, 10.00%)
        Set VariableSet player = Player 1 (Red)
        Unit Group - Pick every unit in UG_AliveZombies and do (Actions)
          Loop - Actions
            Custom script: if GetLocalPlayer( ) == udg_player then
            Animation - Change (Picked unit)'s vertex coloring to (100%, 50.00%, 50.00%) with 0% transparency
            Custom script: endif
        Unit Group - Pick every unit in UG_TutorialVillagers and do (Actions)
          Loop - Actions
            Custom script: if GetLocalPlayer( ) == udg_player then
            Animation - Change (Picked unit)'s vertex coloring to (100%, 50.00%, 50.00%) with 0% transparency
            Custom script: endif
      Else - Actions
Get Animation Index
  Events
    Player - Player 1 (Red) types a chat message containing - (stringnoformat) as A substring
  Conditions
  Actions
    Set VariableSet unit = (Random unit from (Units currently selected by (Triggering player)))
    Set VariableSet x = (Integer((Substring((Entered chat string), 2, (Length of (Entered chat string))))))
    Custom script: call SetUnitAnimationByIndex(udg_unit,udg_x)
bj_forLoopAIndex
bj_forLoopBIndex
CopyPaste
  Events
  Conditions
  Actions
    Custom script: local effect eff
    Custom script: local lightning lightn
    Custom script: local unit tempunit
    Custom script: local destructable tempdest
    Custom script: local item tempitem
    Custom script: set tempitem = GetManipulatedItem()
    Custom script: set tempunit = GetTriggerUnit()
    Custom script: set tempunit = GetSpellTargetUnit()
    Custom script: set tempunit = GetKillingUnit()
    Custom script: set tempunit = GetEventDamageSource()
    Custom script: set tempunit = GetEnumUnit()
    Custom script: set tempunit = bj_lastReplacedUnit
    Custom script: set tempunit = bj_lastCreatedUnit
    Custom script: set tempdest = GetDyingDestructable()
    Wait 1.00 seconds
    Custom script: set udg_item = tempitem
    Custom script: set udg_unit = tempunit
    Custom script: set udg_dest = tempdest
    Custom script: set eff = bj_lastCreatedEffect
    Custom script: set lightn = bj_lastCreatedLightning
    Wait 1.00 seconds
    Custom script: call DestroyEffectBJ(eff)
    Custom script: call DestroyLightning(lightn)
    -------- Custom functions --------
    Custom script: if GetLocalPlayer( ) == udg_player then
    Custom script: endif
    Custom script: set udg_r5 = GetLocationZ(udg_P2)
    Custom script: set udg_x = GetHandleId(udg_unit)
    Custom script: set udg_r = GetLocationZ(udg_P)
    Custom script: call SetUnitX (udg_unit, udg_r_x)
    Custom script: call SetUnitY (udg_unit, udg_r_y)
    Custom script: call SetDayNightModels("","")
    Custom script: set udg_UG = CreateGroup ()
    -------- Anti_Leak --------
    Set VariableSet UG = (Units within 150.00 of P matching ((((Matching unit) is alive) Equal to True) and (((Owner of (Triggering unit)) is an enemy of (Owner of (Matching unit)).) Equal to True)).)
    Custom script: call DestroyGroup(udg_UG)
    Set VariableSet UG2 = (Units of type Chicken)
    Custom script: call DestroyGroup(udg_UG2)
    Set VariableSet P = (Position of (Triggering unit))
    Set VariableSet P = (Position of (Picked unit))
    Custom script: call RemoveLocation(udg_P)
    Set VariableSet P2 = (Position of (Picked unit))
    Custom script: call RemoveLocation(udg_P2)
    Set VariableSet P3 = (Position of (Picked unit))
    Custom script: call RemoveLocation(udg_P3)
    Set VariableSet PG = (Player group((Owner of (Triggering unit))))
    Custom script: call DestroyForce(udg_PG)
    Set VariableSet region = (Region centered at P2 with size (, ))
    Custom script: call RemoveRect(udg_region)
Player10: NPC Allies
Player12: Monsterowner

Armor types:
Unarmored = Flesh: 100% from all
Heavy: 100% from explosions, rest 50%
Fortified = Hardened Skin: 50% from bullets, rest 100%
Normal/Medium = Kevlar: 70% from bullets and explosions, rest 100%
Light/Small (Ethereal): 100% from fire, rest 30%

pierce = bullets
magic = fire
spells = chemicals
siege = explosions
normal = meele
Init
  Events
    Map initialization
  Conditions
  Actions
    -------- General --------
    Set VariableSet Game_Difficulty = 1
    Set VariableSet Game_BaseCliffLevel = 8
    Set VariableSet Game_BaseTerrainHeight = 768.00
    Set VariableSet Game_Options_MissleDmgFactor = 1.00
    Set VariableSet Game_FlyBoundsLeft = -5350.00
    Set VariableSet Game_FlyBoundsRight = 5310.00
    Set VariableSet Game_FlyBoundsBottom = -5600.00
    Set VariableSet Game_FlyBoundsTop = 9170.00
    Game - Disable drag-selection functionality (Disable drag-selection box)
    Game - Set the time of day to 24.00
    Game - Set game speed to Fastest
    Game - Disable ally color button and Disable creep camp button
    Game - Hide creep camps on the minimap.
    Quest - Create a Optional quest titled Commands with the description Player commands:|cffff0000-aa|r Toggles automatic attacking.|cffff0000-m|r Toggles background music.|cffff0000-clock|r Locks the camera to your marine.|cffff0000-c close/medium/far/[2000<x<3300]|r Set camera distance.|cffff0000-class|r Change your class (Arena and Training Mode only).Admin commands: (The first active player is admin)|cffff0000-nj|r No jetpack mode.|cffff0000-hd|r Missles & explosions deal only half the damage to Marines (Arena Mode only).|cffff0000-limit x|r Set credit limit for victory to x (Arena Mode only)., using icon path ReplaceableTextures\CommandButtons\BTNSpellBookBLS.blp
    Quest - Create a Optional quest titled Credits with the description Map created by kleinerhauck.Visit www.christopherhauck.de or www.hiveworkshop.com for the latest version.Thanks to |cffff0000frostloh|r and |cffff0000AngelCarnage|r for ideas and motivation.Thanks to |cffff0000Frotty|r for the idea to detonate remotes with hero icons.Thanks to the following people for their great models/skins!|cffff0000Kofi_Banan|r Buildings & Phone Booth|cffff0000Deolrin|r Crate|cffff0000Dionesiist|r Creature from wave 2|cffff0000L_Lawliet|r Blood splatters|cffff0000Thrikodius|r Ammo Box|cffff0000Happy Tauren|r Medkit|cffff0000Death_Minion_|r (Chlorine) Gas Cloud|cffff0000The_Silent|r Installation Computer|cffff0000Scythy Dervish|r Laboratory ground tile|cffff0000Mr. Bob|r Spider Bob|cffff0000chilla_killa|r Laptop|cffff0000WILL THE ALMIGHTY|r Mind Flayer (End Boss)|cffff0000Illidan(Evil)X|r Tank and Containers|cffff0000MassiveMaster|r Street Tiles|cffff0000Trollschnitzel|r Oil Drum|cffff0000anarchianbedlam|r Danger Zone Post|cffff0000crl|r Blood Plague Cloud|cffff0000tee.dubs|r Bloody Chainsaw|cffff0000modafoka|r Resident Evil UISounds:|cffff0000Cobbot|r Marine Soundset|cffff0000CSS & Quake3|r Weapon Sounds|cffff0000Blizzard|r Music (Low-pitched)|cffff0000Free-sound-sites|r Others, using icon path ReplaceableTextures\CommandButtons\BTNSpellBookBLS.blp
    Custom script: call SetDayNightModels("","")
    Environment - Set fog to style Linear, z-start 2300.00, z-end 3400.00, density 0.50 and color (8.00%, 5.00%, 10.00%)
    Destructible - Pick every destructible in (Playable map area) and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Or - Any (Conditions) are true
              Conditions
                (Destructible-type of (Picked destructible)) Equal to OTip (destructablecode)
                (Destructible-type of (Picked destructible)) Equal to OTis (destructablecode)
                (Destructible-type of (Picked destructible)) Equal to YTlb (destructablecode)
                (Destructible-type of (Picked destructible)) Equal to Ytlc (destructablecode)
                (Destructible-type of (Picked destructible)) Equal to B000 (destructablecode)
                (Destructible-type of (Picked destructible)) Equal to YTpb (destructablecode)
                (Destructible-type of (Picked destructible)) Equal to YTpc (destructablecode)
          Then - Actions
            Destructible - Make (Picked destructible) Invulnerable
          Else - Actions
    -------- Colors --------
    Set VariableSet Player_ColorCode[1] = |cffFF0202
    Set VariableSet Player_ColorCode[2] = |cff0041FF
    Set VariableSet Player_ColorCode[3] = |cff1BE6B8
    Set VariableSet Player_ColorCode[4] = |cff530080
    Set VariableSet Player_ColorCode[5] = |cffFFFC00
    Set VariableSet Player_ColorCode[6] = |cffFE890D
    -------- Players --------
    Player - Turn Gives bounty Off for Player_Monsterowner
    Player - Change color of Player_Monsterowner to Maroon, Changing color of existing units
    Player - Set name of Player_Monsterowner to |cffff0000Unidentified|r
    Player - Set name of Player_NPCAllies to |cff7DBEF1Allied Forces|r
    Player - Make Player_Monsterowner treat Player_NPCAllies as an Enemy
    Player - Make Player_NPCAllies treat Player_Monsterowner as an Enemy
    Visibility - Create an initially Enabled visibility modifier for Player_Monsterowner emitting Visibility across (Playable map area)
    Set VariableSet Game_ActivePlayerCount = 0
    For each (Integer A) from 1 to Maxplayers, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Player((Integer A))) slot status) Equal to Is playing
          Then - Actions
            Set VariableSet Player_AllowSelectClass[(Integer A)] = False
            Set VariableSet Game_ActivePlayerCount = (Game_ActivePlayerCount + 1)
            Trigger - Add to Player_Selected_Unit <gen> the event ((Player((Integer A))) Selects a unit)
            Trigger - Add to SMG_Select <gen> the event ((Player((Integer A))) Selects a unit)
            Trigger - Add to Ladder_Select <gen> the event ((Player((Integer A))) Selects a unit)
            Player - Disable True Sight SpellBook for (Player((Integer A)))
            Trigger - Add to Player_Leaves <gen> the event ((Player((Integer A))) leaves the game)
            Set VariableSet Player_CamLock[(Integer A)] = False
            Set VariableSet Player_CamDistance[(Integer A)] = 2900.00
            Camera - Set (Player((Integer A)))'s camera Distance to target to Player_CamDistance[(Integer A)] over 0 seconds
            Set VariableSet Player_AutoAttackON[(Integer A)] = False
          Else - Actions
    -------- Various --------
    Set VariableSet UG = (Units of type Sentry Bot)
    Set VariableSet x = 0
    Unit Group - Pick every unit in UG and do (Actions)
      Loop - Actions
        Animation - Change (Picked unit)'s animation speed to 0.00% of its original speed
        Unit - Make (Picked unit) Invulnerable
        Unit - Pause (Picked unit)
        Set VariableSet x = (x + 1)
        Unit - Set the custom value of (Picked unit) to x
        Set VariableSet SentryBotOrigin[x] = (Position of (Picked unit))
    Custom script: call DestroyGroup(udg_UG)
    Unit - Turn collision for Scientist 0028 <gen> Off.
    Set VariableSet P = (Point(2654.00, -4144.00))
    Unit - Move Scientist 0028 <gen> instantly to P
    Custom script: call RemoveLocation(udg_P)
    -------- No MouseHover Tooltips --------
    Set VariableSet UG = (Units in NoSpawn <gen>)
    Unit Group - Pick every unit in UG and do (Actions)
      Loop - Actions
        Custom script: call UnitAddAbility(GetEnumUnit(), 'Aloc')
        Unit - Hide (Picked unit)
        Custom script: call UnitRemoveAbility(GetEnumUnit(), 'Aloc')
        Unit - Unhide (Picked unit)
    Custom script: call DestroyGroup(udg_UG)
Init Allies
  Events
    Time - Elapsed game time is 0.01 seconds
  Conditions
  Actions
    For each (Integer A) from 1 to Maxplayers, do (Actions)
      Loop - Actions
        Player - Make Player_NPCAllies treat (Player((Integer A))) as an Ally
        Player - Make (Player((Integer A))) treat Player_NPCAllies as an Ally
        For each (Integer B) from 1 to Maxplayers, do (Actions)
          Loop - Actions
            Player - Make (Player((Integer B))) treat (Player((Integer A))) as an Ally
            Player - Make (Player((Integer A))) treat (Player((Integer B))) as an Ally
Init Preload
  Events
    Map initialization
  Conditions
  Actions
    Set VariableSet unit = Ladder, Bottom 0016 <gen>
    Unit - Add Sprint to unit
    Unit - Add Nightvision to unit
    Unit - Add Reload to unit
    Unit - Add Select Class to unit
    Unit - Add Airstrike to unit
    Unit - Add Airstrike Target to unit
    Unit - Add Ping Dropoff Point to unit
    Unit - Add Motivation Aura to unit
    Unit - Add Construct Barricade to unit
    Unit - Add Pack Up Stationary MG to unit
    Unit - Add Setup Stationary MG to unit
    Unit - Add First Aid Treatment to unit
    Unit - Add Inject Combat Cocktail to unit
    Unit - Add Revive to unit
    Unit - Add Place Anti-Person Mine to unit
    Unit - Add Place Anti-Tank Mine to unit
    Unit - Add Place Remote-Controlled Mine to unit
    Unit - Add Leap to unit
    Unit - Add Concentrate to unit
    Unit - Add Scarify Bullets to unit
    Unit - Remove Sprint from unit
    Unit - Remove Nightvision from unit
    Unit - Remove Reload from unit
    Unit - Remove Select Class from unit
    Unit - Remove Airstrike from unit
    Unit - Remove Airstrike Target from unit
    Unit - Remove Ping Dropoff Point from unit
    Unit - Remove Motivation Aura from unit
    Unit - Remove Construct Barricade from unit
    Unit - Remove Setup Stationary MG from unit
    Unit - Remove Pack Up Stationary MG from unit
    Unit - Remove First Aid Treatment from unit
    Unit - Remove Inject Combat Cocktail from unit
    Unit - Remove Revive from unit
    Unit - Remove Place Anti-Person Mine from unit
    Unit - Remove Place Anti-Tank Mine from unit
    Unit - Remove Place Remote-Controlled Mine from unit
    Unit - Remove Leap from unit
    Unit - Remove Concentrate from unit
    Unit - Remove Scarify Bullets from unit
Init Ranks
  Events
    Map initialization
  Conditions
  Actions
    -------- Ranks --------
    Set VariableSet x = 1
    Set VariableSet RankXPReq[x] = 0
    Set VariableSet RankShortcut[x] = PVT
    Set VariableSet RankNameFull[x] = Private
    Set VariableSet x = 2
    Set VariableSet RankXPReq[x] = 500
    Set VariableSet RankShortcut[x] = PFC
    Set VariableSet RankNameFull[x] = Private First Class
    Set VariableSet x = 3
    Set VariableSet RankXPReq[x] = (RankXPReq[(x - 1)] x 2)
    Set VariableSet RankShortcut[x] = Cpl
    Set VariableSet RankNameFull[x] = Corporal
    Set VariableSet x = 4
    Set VariableSet RankXPReq[x] = (RankXPReq[(x - 1)] x 2)
    Set VariableSet RankShortcut[x] = Sgt
    Set VariableSet RankNameFull[x] = Sergeant
    Set VariableSet x = 5
    Set VariableSet RankXPReq[x] = 3000
    Set VariableSet RankShortcut[x] = SSgt
    Set VariableSet RankNameFull[x] = Staff Sergeant
    Set VariableSet x = 6
    Set VariableSet RankXPReq[x] = 5000
    Set VariableSet RankShortcut[x] = SgtFC
    Set VariableSet RankNameFull[x] = Sergeant First Class
    Set VariableSet x = 7
    Set VariableSet RankXPReq[x] = 10000
    Set VariableSet RankShortcut[x] = MSgt
    Set VariableSet RankNameFull[x] = Master Sergeant
    Set VariableSet x = 8
    Set VariableSet RankXPReq[x] = 15000
    Set VariableSet RankShortcut[x] = 1Sgt
    Set VariableSet RankNameFull[x] = First Sergeant
    Set VariableSet x = 9
    Set VariableSet RankXPReq[x] = 20000
    Set VariableSet RankShortcut[x] = SgtM
    Set VariableSet RankNameFull[x] = Sergeant Major
    Set VariableSet x = 10
    Set VariableSet RankXPReq[x] = 25000
    Set VariableSet RankShortcut[x] = CSM
    Set VariableSet RankNameFull[x] = Command Sergeant Major
    Set VariableSet x = 11
    Set VariableSet RankXPReq[x] = 30000
    Set VariableSet RankShortcut[x] = 2Lt
    Set VariableSet RankNameFull[x] = Second Lieutenant
    Set VariableSet x = 12
    Set VariableSet RankXPReq[x] = 40000
    Set VariableSet RankShortcut[x] = 1Lt
    Set VariableSet RankNameFull[x] = First Lieutenant
    Set VariableSet x = 13
    Set VariableSet RankXPReq[x] = 50000
    Set VariableSet RankShortcut[x] = Cpt
    Set VariableSet RankNameFull[x] = Captain
    Set VariableSet x = 14
    Set VariableSet RankXPReq[x] = 65000
    Set VariableSet RankShortcut[x] = Maj
    Set VariableSet RankNameFull[x] = Major
    Set VariableSet x = 15
    Set VariableSet RankXPReq[x] = 75000
    Set VariableSet RankShortcut[x] = LtC
    Set VariableSet RankNameFull[x] = Lieutenant Colonel
    Set VariableSet x = 16
    Set VariableSet RankXPReq[x] = 100000
    Set VariableSet RankShortcut[x] = Col
    Set VariableSet RankNameFull[x] = Colonel
    Set VariableSet x = 17
    Set VariableSet RankXPReq[x] = 150000
    Set VariableSet RankShortcut[x] = BG
    Set VariableSet RankNameFull[x] = Brigadier General
    Set VariableSet x = 18
    Set VariableSet RankXPReq[x] = 200000
    Set VariableSet RankShortcut[x] = MG
    Set VariableSet RankNameFull[x] = Major General
    Set VariableSet x = 19
    Set VariableSet RankXPReq[x] = 250000
    Set VariableSet RankShortcut[x] = LtG
    Set VariableSet RankNameFull[x] = Lieutenant General
    Set VariableSet x = 20
    Set VariableSet RankXPReq[x] = 300000
    Set VariableSet RankShortcut[x] = Gen
    Set VariableSet RankNameFull[x] = General
    Set VariableSet x = 21
    Set VariableSet RankXPReq[x] = 500000
    Set VariableSet RankShortcut[x] = |cffffcc00GA|r
    Set VariableSet RankNameFull[x] = General of the Army
00: Remove Corpse Countdown
01: Right Nade Thrower Unit
02: Burning effect
03: Burning time (real)
04: Weapon Empty (bool) (gegen bug dass bei 1 charge bei click waffe leer wird)
05: Weapon Ammo type (ammo in weapon)
06: Velocity X
07: Velocity Y
08: Velocity Z
09: Dust Effect created (bool)
10: Dust Effect L
11: Dust Effect R
12: ZombieIsAttackingUnit (integer, für Vorhalten bei SmartOrder)
13: Mine flare effect
14: Mine light effect
15: Heretic SummonProgress
16: Heretic SummonProgress TogetherKey
17: Heretic Summon Point
18: CrawlUp Angle (Facing muss +90° gedreht werden)
19: MonsterSpellCooldown (real)
20: Scavenger Ghouls Carried Count
21: Scavenger Ghoul Effect 1
22: Scavenger Ghoul Effect 2
23: FlyingUnitAdjustHeight - Previous Terrain Height
24: MonsterSpellCooldown alternate (real)
25: Stampede counter (real)
26: Stampede Angle
27: SuturedCadavreBlow index
28: Flare light effect
29: SentryBotAI missle has hit unit (bool)
30: AM: Burning caster

100: Abom Blow index
101...105: Abom Blow effect

201...203 or 208: Ammo type in chamber 1..3 or 8 (ammo in weapon)
Init Hash Main
  Events
    Map initialization
  Conditions
  Actions
    Hashtable - Create a hashtable
    Set VariableSet Hash_Main = (Last created hashtable)
Add CrowForm DmgTake
  Events
    Unit - A unit enters (Playable map area)
  Conditions
  Actions
    Unit - Add Crow Form to (Triggering unit)
    Unit - Remove Crow Form from (Triggering unit)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Race of (Triggering unit)) Not equal to Orc
      Then - Actions
        Trigger - Add to Catch_Fire <gen> the event ((Triggering unit) Takes damage)
        Trigger - Add to Missle_Chlorine_Dmg <gen> the event ((Triggering unit) Takes damage)
        Trigger - Add to E_Sentry_Bot_HealDmgTaken <gen> the event ((Triggering unit) Takes damage)
        Trigger - Add to AutoAttack_DmgTake <gen> the event ((Triggering unit) Takes damage)
        -------- Blood effect --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Not equal to Souldrainer
            (Unit-type of (Triggering unit)) Not equal to Mind Flayer
            ((Triggering unit) is Mechanical) Equal to False
          Then - Actions
            Trigger - Add to Blood_DmgTake <gen> the event ((Triggering unit) Takes damage)
          Else - Actions
        -------- No MouseHover Tooltips --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Not equal to Marine
            (Owner of (Triggering unit)) Not equal to Player_NPCAllies
          Then - Actions
            Custom script: call UnitAddAbility(GetTriggerUnit(), 'Aloc')
            Unit - Hide (Triggering unit)
            Custom script: call UnitRemoveAbility(GetTriggerUnit(), 'Aloc')
            Unit - Unhide (Triggering unit)
          Else - Actions
      Else - Actions
Player Selected Unit
  Events
  Conditions
    (Owner of (Triggering unit)) Equal to (Triggering player)
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            (Unit-type of (Triggering unit)) Equal to Detonate remote-controlled mines
            (Unit-type of (Triggering unit)) Equal to Toggle Flashlight
        (Player_Marine[(Player number of (Triggering player))] is alive) Equal to True
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Detonate remote-controlled mines
          Then - Actions
            Set VariableSet P = (Position of Player_Marine[(Player number of (Triggering player))])
            Set VariableSet UG = (Units within 1800.00 of P matching ((((Matching unit) is alive) Equal to True) and ((Unit-type of (Matching unit)) Equal to Remote-Controlled Mine)).)
            Unit Group - Pick every unit in UG and do (Actions)
              Loop - Actions
                Unit - Kill (Picked unit)
            Custom script: call DestroyGroup(udg_UG)
            Custom script: call RemoveLocation(udg_P)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Toggle Flashlight
          Then - Actions
            Set VariableSet unit2 = Player_Marine[(Player number of (Triggering player))]
            Custom script: set udg_x = GetHandleId(udg_unit2)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (unit2 is in UG_FlashlightUnits.) Equal to True
              Then - Actions
                Unit Group - Remove unit2 from UG_FlashlightUnits.
                Set VariableSet unit = (Load 39 of x in Marine_Hash.)
                Unit - Remove unit from the game
              Else - Actions
                Unit Group - Add unit2 to UG_FlashlightUnits
                Set VariableSet P = (Position of Player_Marine[(Player number of (Triggering player))])
                Unit - Create 1.Flashlight for (Triggering player) at P facing Default building facing degrees
                Custom script: call RemoveLocation(udg_P)
                Hashtable - Save Handle Of(Last created unit) as 39 of x in Marine_Hash.
          Else - Actions
        Trigger - Turn off (This trigger)
        Selection - Select Player_SelectedUnit[(Player number of (Triggering player))] for (Triggering player)
        Trigger - Turn on (This trigger)
      Else - Actions
        Set VariableSet Selection_unit = Player_SelectedUnit[(Player number of (Triggering player))]
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Selection_unit Not equal to (Triggering unit)
            (Unit-type of Selection_unit) Equal to Stationary MG
            (Owner of Selection_unit) Equal to (Triggering player)
          Then - Actions
            Unit - Change ownership of Selection_unit to Neutral Passive and Change color
          Else - Actions
        Set VariableSet Player_SelectedUnit[(Player number of (Triggering player))] = (Triggering unit)
Player Leaves
  Events
  Conditions
  Actions
    Game - Display to (All players) for 5.00 seconds the text: (Player_ColorCode[(Player number of (Triggering player))] + ((Name of (Triggering player)) + |r chickened out.))
    Set VariableSet Player_MouseDownAfterDblClick[(Player number of (Triggering player))] = False
    Set VariableSet Player_TutorialStep[(Player number of (Triggering player))] = 99
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Level of Set Difficulty for Player_Marine[(Player number of (Triggering player))]) Equal to 1
      Then - Actions
        Trigger - Turn on Difficulty_Set_Chooser <gen>
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Owner of Tank 0005 <gen>) Equal to (Triggering player)
      Then - Actions
        Set VariableSet P = (Position of Tank 0005 <gen>)
        Unit - Order Tank 0005 <gen> to Unload All At.P
        Custom script: call RemoveLocation(udg_P)
        Set VariableSet PG = (All players matching ((((Matching player) is an ally of Player 1 (Red).) Equal to True) and (((Matching player) slot status) Equal to Is playing)).)
        Unit - Change ownership of Tank 0005 <gen> to (Player((Player number of (Random player from PG)))) and Retain color
        Custom script: call DestroyForce(udg_PG)
      Else - Actions
    Trigger - Run GetPlayerCount_RecreateMB <gen> (checking conditions)
    For each (Integer A) from 1 to 6, do (Actions)
      Loop - Actions
        Hero - Drop the item from slot (Integer A) of Player_Marine[(Player number of (Triggering player))].
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Game_AdminPlayer
      Then - Actions
        For each (Integer A) from 1 to Maxplayers, do (Actions)
          Loop - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                ((Player((Integer A))) slot status) Equal to Is playing
              Then - Actions
                Set VariableSet Game_AdminPlayer = (Player((Integer A)))
                Custom script: exitwhen true
              Else - Actions
      Else - Actions
GetPlayerCount RecreateMB
  Events
    Time - Elapsed game time is 1.00 seconds
  Conditions
  Actions
    Wait 0.10 seconds
    Set VariableSet Game_ActivePlayerCount = 0
    For each (Integer A) from 1 to Maxplayers, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Player((Integer A))) slot status) Equal to Is playing
          Then - Actions
            Set VariableSet Game_ActivePlayerCount = (Game_ActivePlayerCount + 1)
          Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Game_Mod Equal to 1
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Game_ActivePlayerCount Less than or equal to 2
          Then - Actions
            Set VariableSet AM_MaxMonsterSpawn = 50
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Game_ActivePlayerCount Equal to 3
          Then - Actions
            Set VariableSet AM_MaxMonsterSpawn = 40
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Game_ActivePlayerCount Equal to 4
          Then - Actions
            Set VariableSet AM_MaxMonsterSpawn = 35
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Game_ActivePlayerCount Equal to 5
          Then - Actions
            Set VariableSet AM_MaxMonsterSpawn = 30
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Game_ActivePlayerCount Greater than or equal to 6
          Then - Actions
            Set VariableSet AM_MaxMonsterSpawn = 25
          Else - Actions
      Else - Actions
    For each (Integer A) from 1 to Maxplayers, do (Actions)
      Loop - Actions
        Player - Set (Player((Integer A))).Food max to AM_MaxMonsterSpawn
    Trigger - Run MB_Create <gen> (checking conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Game_Mod Equal to 1
      Then - Actions
        Trigger - Run MB_Create_Zombie <gen> (checking conditions)
      Else - Actions
Remove Dead Units
  Events
    Unit - A unit Dies
  Conditions
    ((Dying unit) is A Hero) Equal to False
  Actions
    Unit Group - Add (Triggering unit) to UG_DeadUnits
    Unit Group - Remove (Triggering unit) from UG_AliveZombies.
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((Triggering unit) is A flying unit) Equal to True
      Then - Actions
        Unit Group - Remove (Triggering unit) from UG_FlyingAdjustHeight.
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Unit-type of (Triggering unit)) Equal to Light Red (Nades)
      Then - Actions
        -------- Effekt von Mine entfernen --------
        Special Effect - Destroy (Load 13 of (Key (Triggering unit).) in Hash_Main.)
        Unit - Remove (Triggering unit) from the game
        Skip remaining actions
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Player number of (Owner of (Killing unit))) Less than or equal to Maxplayers
        (Player number of (Owner of (Killing unit))) Greater than 0
        (Owner of (Triggering unit)) Equal to Player_Monsterowner
      Then - Actions
        Set VariableSet Player_Kills[(Player number of (Owner of (Killing unit)))] = (Player_Kills[(Player number of (Owner of (Killing unit)))] + 1)
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Race of (Triggering unit)) Equal to Orc
      Then - Actions
        Hashtable - Save 15 as 0 of (Key (Triggering unit).) in Hash_Main.
      Else - Actions
        Hashtable - Save 60 as 0 of (Key (Triggering unit).) in Hash_Main.
Remove Dead Units Countdown
  Events
    Time - Every 10.00 seconds of game time
  Conditions
  Actions
    Unit Group - Pick every unit in UG_DeadUnits and do (Actions)
      Loop - Actions
        Set VariableSet x = (Load 0 of (Key (Picked unit).) from Hash_Main.)
        Set VariableSet x = (x - 10)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            x Less than 0
          Then - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Unit-type of (Picked unit)) Equal to Missle (BFG)
              Then - Actions
                Special Effect - Destroy (Load 6 of (Key (Picked unit).) in Missle_Hash.)
                Special Effect - Destroy (Load 7 of (Key (Picked unit).) in Missle_Hash.)
              Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Unit-type of (Picked unit)) Not equal to Heretic Spawn Placeholder
              Then - Actions
                -------- Bei Placeholder nicht löschen weil auf seinem Key Summontarget usw gespeichert ist --------
                Hashtable - Clear all child hashtables of child (Key (Picked unit).) in Hash_Main.
              Else - Actions
            Hashtable - Clear all child hashtables of child (Key (Picked unit).) in Marine_Hash.
            Hashtable - Clear all child hashtables of child (Key (Picked unit).) in Missle_Hash.
            Unit Group - Remove (Picked unit) from UG_DeadUnits.
            Unit - Remove (Picked unit) from the game
          Else - Actions
            Hashtable - Save x as 0 of (Key (Picked unit).) in Hash_Main.
Burning
  Events
    Time - Every 1.00 seconds of game time
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Number of units in UG_Burning) Equal to 0
      Then - Actions
        Trigger - Turn off (This trigger)
      Else - Actions
        Unit Group - Pick every unit in UG_Burning and do (Actions)
          Loop - Actions
            Set VariableSet r = (Load 3 of (Key (Picked unit).) from Hash_Main.)
            Set VariableSet r = (r - 1)
            Hashtable - Save r as 3 of (Key (Picked unit).) in Hash_Main.
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Or - Any (Conditions) are true
                  Conditions
                    ((Picked unit) is alive) Equal to False
                    r Less than or equal to 0.00
                    ((Picked unit) is Mechanical) Equal to True
              Then - Actions
                Set VariableSet r = 0.00
                Unit Group - Remove (Picked unit) from UG_Burning.
                Special Effect - Destroy (Load 2 of (Key (Picked unit).) in Hash_Main.)
              Else - Actions
            Set VariableSet r2 = ((Max life of (Picked unit)) x 0.05)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                r2 Less than 25.00
              Then - Actions
                Set VariableSet r2 = 25.00
              Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                r2 Greater than 75.00
              Then - Actions
                Set VariableSet r2 = 75.00
              Else - Actions
            Set VariableSet unit = No unit
            Set VariableSet unit = (Load 30 of (Key (Picked unit).) in Hash_Main.)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                unit Equal to No unit
              Then - Actions
                Set VariableSet unit = (Picked unit)
              Else - Actions
            Unit - Cause unit to damage (Picked unit), dealing r2 damage of attack type Magic and damage type Normal
uses P, P2, x, UG, r6
GetPoint AwayFromMarines
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        x Greater than 15
      Then - Actions
        Set VariableSet P = (Center of Tutorial_OverMarineEnd <gen>)
        Skip remaining actions
      Else - Actions
    Custom script: set udg_r6 = GetLocationZ(udg_P)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            (Terrain cliff level at P) Not equal to Game_BaseCliffLevel
            r6 Less than Game_BaseTerrainHeight
            (NoSpawn <gen> contains P) Equal to True
      Then - Actions
        Set VariableSet x = (x + 1)
        Custom script: call RemoveLocation(udg_P)
        Set VariableSet P = (Random point in (Playable map area))
        Trigger - Run (This trigger) (checking conditions)
        Skip remaining actions
      Else - Actions
    Destructible - Pick every destructible within 256.00 of P 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
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Or - Any (Conditions) are true
                  Conditions
                    (Destructible-type of (Picked destructible)) Equal to OTip (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to OTis (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to YTlb (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to Ytlc (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to YTpb (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to YTfb (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to JTtw (destructablecode)
                    (Substring((Name of (Picked destructible)), 1, 7)) Equal to Blocker
              Then - Actions
                Set VariableSet x = (x + 1)
                Custom script: call RemoveLocation(udg_P)
                Set VariableSet P = (Random point in (Playable map area))
                Trigger - Run (This trigger) (checking conditions)
                Skip remaining actions
              Else - Actions
          Else - Actions
    Unit Group - Pick every unit in UG_AliveMarines and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Picked unit) is alive) Equal to True
          Then - Actions
            Set VariableSet P2 = (Position of (Picked unit))
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Distance between P and P2) Less than 2000.00
              Then - Actions
                Custom script: call RemoveLocation(udg_P2)
                Set VariableSet x = (x + 1)
                Custom script: call RemoveLocation(udg_P)
                Set VariableSet P = (Random point in (Playable map area))
                Trigger - Run (This trigger) (checking conditions)
                Skip remaining actions
              Else - Actions
                Custom script: call RemoveLocation(udg_P2)
          Else - Actions
uses P, P2, x, x2, UG, loopint B, r6
GetPoint CloseToMarines
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            x Greater than 15
            (Number of units in UG_AliveMarines) Equal to 0
      Then - Actions
        Set VariableSet P = (Center of Tutorial_OverMarineEnd <gen>)
        Skip remaining actions
      Else - Actions
    Custom script: set udg_r6 = GetLocationZ(udg_P)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            (Terrain cliff level at P) Not equal to Game_BaseCliffLevel
            r6 Less than Game_BaseTerrainHeight
            (NoSpawn <gen> contains P) Equal to True
      Then - Actions
        Set VariableSet x = (x + 1)
        Custom script: call RemoveLocation(udg_P)
        Set VariableSet P2 = (Position of (Random unit from UG_AliveMarines))
        Set VariableSet P = (P2 offset by (Random real number between 1200.00 and 1700.00) towards (Random angle) degrees.)
        Custom script: call RemoveLocation(udg_P2)
        Trigger - Run (This trigger) (checking conditions)
        Skip remaining actions
      Else - Actions
    -------- Mehr Platz für Heretics --------
    For each (Integer B) from 1 to 10, do (Actions)
      Loop - Actions
        Set VariableSet P2 = (P offset by 256 towards ((Real((Integer B))) x 36.00) degrees.)
        Custom script: set udg_r6 = GetLocationZ(udg_P2)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Or - Any (Conditions) are true
              Conditions
                (Terrain cliff level at P2) Not equal to Game_BaseCliffLevel
                ((Playable map area) contains P2) Equal to False
                r6 Less than Game_BaseTerrainHeight
                (NoSpawn <gen> contains P2) Equal to True
          Then - Actions
            Set VariableSet x = (x + 1)
            Custom script: call RemoveLocation(udg_P)
            Custom script: call RemoveLocation(udg_P2)
            Set VariableSet P2 = (Position of (Random unit from UG_AliveMarines))
            Set VariableSet P = (P2 offset by (Random real number between 1200.00 and 1700.00) towards (Random angle) degrees.)
            Custom script: call RemoveLocation(udg_P2)
            Trigger - Run (This trigger) (checking conditions)
            Skip remaining actions
          Else - Actions
            Custom script: call RemoveLocation(udg_P2)
    Destructible - Pick every destructible within 256.00 of P 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
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Or - Any (Conditions) are true
                  Conditions
                    (Destructible-type of (Picked destructible)) Equal to OTip (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to OTis (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to YTlb (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to Ytlc (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to YTpb (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to YTfb (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to JTtw (destructablecode)
                    (Substring((Name of (Picked destructible)), 1, 7)) Equal to Blocker
              Then - Actions
                Set VariableSet x = (x + 1)
                Custom script: call RemoveLocation(udg_P)
                Set VariableSet P2 = (Position of (Random unit from UG_AliveMarines))
                Set VariableSet P = (P2 offset by (Random real number between 1200.00 and 1700.00) towards (Random angle) degrees.)
                Custom script: call RemoveLocation(udg_P2)
                Trigger - Run (This trigger) (checking conditions)
                Skip remaining actions
              Else - Actions
          Else - Actions
    Set VariableSet x2 = 0
    Unit Group - Pick every unit in UG_AliveMarines and do (Actions)
      Loop - Actions
        Set VariableSet P2 = (Position of (Picked unit))
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Distance between P and P2) Greater than or equal to 1200.00
            (Distance between P and P2) Less than or equal to 1700.00
          Then - Actions
            Set VariableSet x2 = 1
          Else - Actions
        Custom script: call RemoveLocation(udg_P2)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        x2 Equal to 0
      Then - Actions
        Set VariableSet x = (x + 1)
        Custom script: call RemoveLocation(udg_P)
        Set VariableSet P2 = (Position of (Random unit from UG_AliveMarines))
        Set VariableSet P = (P2 offset by (Random real number between 1200.00 and 1700.00) towards (Random angle) degrees.)
        Custom script: call RemoveLocation(udg_P2)
        Trigger - Run (This trigger) (checking conditions)
        Skip remaining actions
      Else - Actions
uses P, P2, x, x2, UG, r6
GetPoint VeryCloseToMarines
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            x Greater than 15
            (Number of units in UG_AliveMarines) Equal to 0
      Then - Actions
        Set VariableSet P = (Center of Tutorial_OverMarineEnd <gen>)
        Skip remaining actions
      Else - Actions
    Custom script: set udg_r6 = GetLocationZ(udg_P)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            (Terrain cliff level at P) Not equal to Game_BaseCliffLevel
            r6 Less than Game_BaseTerrainHeight
            (NoSpawn <gen> contains P) Equal to True
      Then - Actions
        Set VariableSet x = (x + 1)
        Custom script: call RemoveLocation(udg_P)
        Set VariableSet P2 = (Position of (Random unit from UG_AliveMarines))
        Set VariableSet P = (P2 offset by (Random real number between 100.00 and 500.00) towards (Random angle) degrees.)
        Custom script: call RemoveLocation(udg_P2)
        Trigger - Run (This trigger) (checking conditions)
        Skip remaining actions
      Else - Actions
    Destructible - Pick every destructible within 196.00 of P 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
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Or - Any (Conditions) are true
                  Conditions
                    (Destructible-type of (Picked destructible)) Equal to OTip (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to OTis (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to YTlb (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to Ytlc (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to YTpb (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to YTfb (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to JTtw (destructablecode)
                    (Substring((Name of (Picked destructible)), 1, 7)) Equal to Blocker
              Then - Actions
                Set VariableSet x = (x + 1)
                Custom script: call RemoveLocation(udg_P)
                Set VariableSet P2 = (Position of (Random unit from UG_AliveMarines))
                Set VariableSet P = (P2 offset by (Random real number between 100.00 and 500.00) towards (Random angle) degrees.)
                Custom script: call RemoveLocation(udg_P2)
                Trigger - Run (This trigger) (checking conditions)
                Skip remaining actions
              Else - Actions
          Else - Actions
    Set VariableSet x2 = 0
    Unit Group - Pick every unit in UG_AliveMarines and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            x2 Equal to 0
          Then - Actions
            Set VariableSet P2 = (Position of (Picked unit))
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Distance between P and P2) Greater than or equal to 100.00
                (Distance between P and P2) Less than or equal to 500.00
              Then - Actions
                Set VariableSet x2 = 1
              Else - Actions
            Custom script: call RemoveLocation(udg_P2)
          Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        x2 Equal to 0
      Then - Actions
        Set VariableSet x = (x + 1)
        Custom script: call RemoveLocation(udg_P)
        Set VariableSet P2 = (Position of (Random unit from UG_AliveMarines))
        Set VariableSet P = (P2 offset by (Random real number between 100.00 and 500.00) towards (Random angle) degrees.)
        Custom script: call RemoveLocation(udg_P2)
        Trigger - Run (This trigger) (checking conditions)
        Skip remaining actions
      Else - Actions
uses P, P2, x, x2, UG, r6, UG2 (possible targets)
GetPoint VeryCloseToUG2
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            x Greater than 15
            (Number of units in UG_AliveMarines) Equal to 0
      Then - Actions
        Set VariableSet P = (Center of Tutorial_OverMarineEnd <gen>)
        Skip remaining actions
      Else - Actions
    Custom script: set udg_r6 = GetLocationZ(udg_P)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            (Terrain cliff level at P) Not equal to Game_BaseCliffLevel
            r6 Less than Game_BaseTerrainHeight
            (NoSpawn <gen> contains P) Equal to True
      Then - Actions
        Set VariableSet x = (x + 1)
        Custom script: call RemoveLocation(udg_P)
        Set VariableSet P2 = (Position of (Random unit from UG_AliveMarines))
        Set VariableSet P = (P2 offset by (Random real number between 100.00 and 500.00) towards (Random angle) degrees.)
        Custom script: call RemoveLocation(udg_P2)
        Trigger - Run (This trigger) (checking conditions)
        Skip remaining actions
      Else - Actions
    Destructible - Pick every destructible within 196.00 of P 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
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Or - Any (Conditions) are true
                  Conditions
                    (Destructible-type of (Picked destructible)) Equal to OTip (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to OTis (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to YTlb (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to Ytlc (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to YTpb (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to YTfb (destructablecode)
                    (Destructible-type of (Picked destructible)) Equal to JTtw (destructablecode)
                    (Substring((Name of (Picked destructible)), 1, 7)) Equal to Blocker
              Then - Actions
                Set VariableSet x = (x + 1)
                Custom script: call RemoveLocation(udg_P)
                Set VariableSet P2 = (Position of (Random unit from UG_AliveMarines))
                Set VariableSet P = (P2 offset by (Random real number between 100.00 and 500.00) towards (Random angle) degrees.)
                Custom script: call RemoveLocation(udg_P2)
                Trigger - Run (This trigger) (checking conditions)
                Skip remaining actions
              Else - Actions
          Else - Actions
    Set VariableSet x2 = 0
    Unit Group - Pick every unit in UG2 and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            x2 Equal to 0
          Then - Actions
            Set VariableSet P2 = (Position of (Picked unit))
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Distance between P and P2) Greater than or equal to 100.00
                (Distance between P and P2) Less than or equal to 500.00
              Then - Actions
                Set VariableSet x2 = 1
              Else - Actions
            Custom script: call RemoveLocation(udg_P2)
          Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        x2 Equal to 0
      Then - Actions
        Set VariableSet x = (x + 1)
        Custom script: call RemoveLocation(udg_P)
        Set VariableSet P2 = (Position of (Random unit from UG_AliveMarines))
        Set VariableSet P = (P2 offset by (Random real number between 100.00 and 500.00) towards (Random angle) degrees.)
        Custom script: call RemoveLocation(udg_P2)
        Trigger - Run (This trigger) (checking conditions)
        Skip remaining actions
      Else - Actions
Blood DmgTake
  Events
  Conditions
    (Damage taken) Greater than 2.00
  Actions
    Custom script: local effect bloodeff
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Unit-type of (Damage source)) Equal to The Crusher
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Damage source) is in UG_Stampede.) Equal to True
          Then - Actions
            Special Effect - Create a special effect attached to the chest (attachpoint) of (Triggering unit) using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
            Set VariableSet PowerPush_PowerXY = 5.00
          Else - Actions
            Special Effect - Create a special effect attached to the chest (attachpoint) of (Triggering unit) using Abilities\Weapons\HydraliskImpact\HydraliskImpact.mdl
            Set VariableSet PowerPush_PowerXY = 15.00
        Set VariableSet PowerPush_Unit = (Triggering unit)
        Set VariableSet PowerPush_AngleXY = (Facing of (Damage source))
        Set VariableSet PowerPush_PowerZ = 0.00
        Trigger - Run Velocity_PowerPush_PPunit <gen> (checking conditions)
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Random integer number between 1 and 4) Equal to 1
      Then - Actions
        Special Effect - Create a special effect attached to the chest (attachpoint) of (Triggering unit) using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Random integer number between 1 and 3) Equal to 1
          Then - Actions
            Special Effect - Create a special effect attached to the chest (attachpoint) of (Triggering unit) using Abilities\Weapons\HydraliskImpact\HydraliskImpact.mdl
          Else - 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
                Special Effect - Create a special effect attached to the hand (attachpoint) of (Triggering unit) using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
              Else - Actions
                Special Effect - Create a special effect attached to the head (attachpoint) of (Triggering unit) using Objects\Spawnmodels\Critters\Albatross\CritterBloodAlbatross.mdl
    Custom script: set bloodeff = bj_lastCreatedEffect
    Wait 2.00 seconds
    Custom script: call DestroyEffectBJ(bloodeff)
Blood Death
  Events
    Unit - A unit Dies
  Conditions
    (Race of (Triggering unit)) Not equal to Orc
    (Unit-type of (Triggering unit)) Not equal to Villager (Infected)
    (Unit-type of (Triggering unit)) Not equal to Souldrainer
    (Unit-type of (Triggering unit)) Not equal to Mind Flayer
    ((Triggering unit) is Mechanical) Equal to False
  Actions
    Custom script: local effect bloodeff
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Unit-type of (Triggering unit)) Not equal to Maggot
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Current flying height of (Triggering unit)) Less than 100.00
          Then - Actions
            Set VariableSet P_BloodUnitDeath = (Position of (Triggering unit))
            Special Effect - Create a special effect at P_BloodUnitDeath using Blood Burst.mdx
            Custom script: call RemoveLocation(udg_P_BloodUnitDeath)
            Custom script: set bloodeff = bj_lastCreatedEffect
            Wait 300.00 seconds
            Custom script: call DestroyEffectBJ(bloodeff)
          Else - Actions
      Else - Actions
        Animation - Change (Triggering unit)'s vertex coloring to (70.00%, 30.00%, 45.00%) with 30.00% transparency
Blinking Lights Init
  Events
    Time - Elapsed game time is 0.01 seconds
  Conditions
  Actions
    Set VariableSet BlinkingLights_UG = (Units owned by Neutral Passive of type Flashlight)
    Unit Group - Pick every unit in BlinkingLights_UG and do (Actions)
      Loop - Actions
        Set VariableSet BlinkingLights_Count = (BlinkingLights_Count + 1)
        Set VariableSet BlinkingLights_Points[BlinkingLights_Count] = (Position of (Picked unit))
        Set VariableSet unit = (Picked unit)
        Custom script: call UnitAddAbility(udg_unit, 'Aloc')
        Set VariableSet BlinkingLights_Units[BlinkingLights_Count] = (Picked unit)
Blinking Lights Blink
  Events
    Time - Every 0.30 seconds of game time
  Conditions
  Actions
    For each (Integer A) from 1 to BlinkingLights_Count, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Random integer number between 1 and 3) Equal to 1
          Then - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                BlinkingLights_Units[(Integer A)] Equal to No unit
              Then - Actions
                Unit - Create 1.Flashlight for Neutral Passive at BlinkingLights_Points[(Integer A)] facing Default building facing degrees
                Set VariableSet unit = (Last created unit)
                Custom script: call UnitAddAbility(udg_unit, 'Aloc')
                Set VariableSet BlinkingLights_Units[(Integer A)] = (Last created unit)
              Else - Actions
                Unit - Remove BlinkingLights_Units[(Integer A)] from the game
                Set VariableSet BlinkingLights_Units[(Integer A)] = No unit
          Else - Actions
input:
Explosion_Origin
Explosion_Type (integer; 1: normal, 2: fragment, 3: normal (red. range) & fragment, 4: wie 3, aber nur ein missle)
Explosion_Range (real)
Explosion_MaxDmg (real)
Explosion_Caster
Create Explosion
  Events
  Conditions
  Actions
    Custom script: local effect eff
    Custom script: local location loc
    Custom script: set loc = OffsetLocation (udg_Explosion_Origin, 0.1, 0)
    Custom script: set udg_Explosion_Z = GetLocationZ(udg_Explosion_Origin)
    -------- Light --------
    Unit - Create 1.Light Red (Nades) for Neutral Passive at Explosion_Origin facing Default building facing degrees
    Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
    -------- Fragment Explosion --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            Explosion_Type Equal to 2
            Explosion_Type Equal to 3
            Explosion_Type Equal to 4
      Then - Actions
        -------- Explosion damage --------
        Set VariableSet Explosion_UG = (Units within Explosion_Range of Explosion_Origin matching (((Matching unit) is alive) Equal to True).)
        Set VariableSet Explosion_x = (Number of units in Explosion_UG)
        For each (Integer Explosion_A) from 1 to Explosion_x, do (Actions)
          Loop - Actions
            Set VariableSet Explosion_Target = (Random unit from Explosion_UG)
            Unit Group - Remove Explosion_Target from Explosion_UG.
            Set VariableSet Explosion_OriginTarget = (Position of Explosion_Target)
            Custom script: set udg_Explosion_TargetZ = GetLocationZ(udg_Explosion_OriginTarget)
            Set VariableSet Explosion_TargetZ = (Abs((Explosion_Z - Explosion_TargetZ)))
            Set VariableSet Explosion_TargetZ = (Explosion_TargetZ / Explosion_Range)
            Set VariableSet Explosion_TargetZ = (1.00 - Explosion_TargetZ)
            Set VariableSet Explosion_r = (Distance between Explosion_Origin and Explosion_OriginTarget)
            Set VariableSet Explosion_r = (Explosion_r / Explosion_Range)
            Set VariableSet Explosion_r = (1.00 - Explosion_r)
            Set VariableSet Explosion_r = (Explosion_TargetZ x Explosion_r)
            Set VariableSet Explosion_r = (Explosion_MaxDmg x Explosion_r)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Or - Any (Conditions) are true
                  Conditions
                    Explosion_Type Equal to 3
                    Explosion_Type Equal to 4
              Then - Actions
                Set VariableSet Explosion_r = (Explosion_r x 0.67)
              Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Unit-type of Explosion_Target) Equal to Marine
              Then - Actions
                Set VariableSet Explosion_r = (Explosion_r x Game_Options_MissleDmgFactor)
              Else - Actions
            Unit - Cause Explosion_Caster to damage Explosion_Target, dealing Explosion_r damage of attack type Pierce and damage type Normal
            Custom script: call RemoveLocation(udg_Explosion_OriginTarget)
        Custom script: call DestroyGroup(udg_Explosion_UG)
        -------- Fragments --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Explosion_Type Not equal to 4
          Then - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Number of units in UG_Missles) Less than Missles_CriticalNumberForFrags
              Then - Actions
                For each (Integer Explosion_A) from 1 to 7, do (Actions)
                  Loop - Actions
                    Unit - Create 1.Missle (Standard Rifle) for (Owner of Explosion_Caster) at Explosion_Origin facing (Random angle) degrees
                    -------- z facing --------
                    Hashtable - Save (Random real number between 0.10 and 2.00) as 2 of (Key (Last created unit).) in Missle_Hash.
                    -------- WeaponType --------
                    Hashtable - Save 2 as 0 of (Key (Last created unit).) in Missle_Hash.
                    Unit Group - Add (Last created unit) to UG_Missles
              Else - Actions
            For each (Integer Explosion_A) from 1 to 4, do (Actions)
              Loop - Actions
                Unit - Create 1.Missle (Standard Rifle) for (Owner of Explosion_Caster) at Explosion_Origin facing (Random angle) degrees
                -------- z facing --------
                Hashtable - Save (Random real number between 0.05 and 0.40) as 2 of (Key (Last created unit).) in Missle_Hash.
                -------- WeaponType --------
                Hashtable - Save 2 as 0 of (Key (Last created unit).) in Missle_Hash.
                Unit Group - Add (Last created unit) to UG_Missles
          Else - Actions
            Unit - Create 1.Missle (Standard Rifle) for (Owner of Explosion_Caster) at Explosion_Origin facing (Random angle) degrees
            -------- z facing --------
            Hashtable - Save (Random real number between 0.10 and 2.00) as 2 of (Key (Last created unit).) in Missle_Hash.
            -------- WeaponType --------
            Hashtable - Save 2 as 0 of (Key (Last created unit).) in Missle_Hash.
            Unit Group - Add (Last created unit) to UG_Missles
        Trigger - Turn on Missle_Fly <gen>
        Special Effect - Create a special effect at Explosion_Origin using Abilities\Spells\Other\TinkerRocket\TinkerRocketMissile.mdl
        Special Effect - Destroy (Last created special effect)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Explosion_Type Not equal to 3
            Explosion_Type Not equal to 4
          Then - Actions
            Custom script: call RemoveLocation(udg_Explosion_Origin)
          Else - Actions
      Else - Actions
    -------- Normale Explosion nach Fragments! (weg. range red. und effekt wait) --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            Explosion_Type Equal to 1
            Explosion_Type Equal to 3
            Explosion_Type Equal to 4
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Or - Any (Conditions) are true
              Conditions
                Explosion_Type Equal to 3
                Explosion_Type Equal to 4
          Then - Actions
            Set VariableSet Explosion_MaxDmg = (Explosion_MaxDmg x 0.33)
            Set VariableSet Explosion_Range = (Explosion_Range x 0.66)
          Else - Actions
        Set VariableSet Explosion_UG = (Units within Explosion_Range of Explosion_Origin matching (((Matching unit) is alive) Equal to True).)
        Set VariableSet Explosion_x = (Number of units in Explosion_UG)
        For each (Integer Explosion_A) from 1 to Explosion_x, do (Actions)
          Loop - Actions
            Set VariableSet Explosion_Target = (Random unit from Explosion_UG)
            Unit Group - Remove Explosion_Target from Explosion_UG.
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Or - Any (Conditions) are true
                  Conditions
                    (Unit-type of Explosion_Target) Equal to Explosives
                    (Unit-type of Explosion_Target) Equal to Remote-Controlled Mine
                    (Unit-type of Explosion_Target) Equal to Anti-Tank Mine
                    (Unit-type of Explosion_Target) Equal to Anti-Person Mine
              Then - Actions
                Unit - Add a 0.10 second Generic expiration timer to Explosion_Target
              Else - Actions
                Set VariableSet Explosion_OriginTarget = (Position of Explosion_Target)
                Custom script: set udg_Explosion_TargetZ = GetLocationZ(udg_Explosion_OriginTarget)
                Set VariableSet Explosion_TargetZ = (Abs((Explosion_Z - Explosion_TargetZ)))
                Set VariableSet Explosion_TargetZ = (Explosion_TargetZ / Explosion_Range)
                Set VariableSet Explosion_TargetZ = (1.00 - Explosion_TargetZ)
                Set VariableSet Explosion_r = (Distance between Explosion_Origin and Explosion_OriginTarget)
                Set VariableSet Explosion_r = (Explosion_r / Explosion_Range)
                Set VariableSet Explosion_r = (1.00 - Explosion_r)
                Set VariableSet Explosion_r = (Explosion_TargetZ x Explosion_r)
                Set VariableSet Explosion_r = (Explosion_MaxDmg x Explosion_r)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Unit-type of Explosion_Target) Equal to Marine
                  Then - Actions
                    Set VariableSet Explosion_r = (Explosion_r x Game_Options_MissleDmgFactor)
                  Else - Actions
                Unit - Cause Explosion_Caster to damage Explosion_Target, dealing Explosion_r damage of attack type Siege and damage type Normal
                Custom script: call RemoveLocation(udg_Explosion_OriginTarget)
        Custom script: call DestroyGroup(udg_Explosion_UG)
        Special Effect - Create a special effect at Explosion_Origin using Abilities\Weapons\DemolisherFireMissile\DemolisherFireMissile.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect at Explosion_Origin using Abilities\Spells\Other\Doom\DoomDeath.mdl
        Custom script: set eff = bj_lastCreatedEffect
        Custom script: call RemoveLocation(udg_Explosion_Origin)
      Else - Actions
    Wait 0.10 seconds
    Custom script: set udg_P = loc
    -------- Blow up destructibles --------
    Set VariableSet Explosion_x = 0
    Destructible - Pick every destructible within 300.00 of P and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Destructible-type of (Picked destructible)) Equal to B00F (destructablecode)
            ((Picked destructible) is alive) Equal to True
            Explosion_x Equal to 0
          Then - Actions
            Set VariableSet Explosion_x = 1
            Destructible - Kill (Picked destructible)
          Else - Actions
    Wait 2.00 seconds
    Custom script: call DestroyEffectBJ(eff)
Explosive Destructibles Init
  Events
    Map initialization
  Conditions
  Actions
    Set VariableSet Game_WorldDamage = Dummy 0004 <gen>
    Destructible - Pick every destructible in (Playable map area) and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Destructible-type of (Picked destructible)) Equal to B00F (destructablecode)
          Then - Actions
            Trigger - Add to Explosive_Destructibles_Detonate <gen> the event ((Picked destructible) dies)
          Else - Actions
Explosive Destructibles Detonate
  Events
  Conditions
  Actions
    Custom script: local location loc
    Custom script: local destructable tempdest
    Custom script: set tempdest = GetDyingDestructable()
    Set VariableSet Explosion_Caster = Game_WorldDamage
    Set VariableSet Explosion_Origin = (Position of (Dying destructible))
    Custom script: set loc = OffsetLocation (udg_Explosion_Origin, 0.1, 0)
    Set VariableSet Explosion_Range = 500.00
    Set VariableSet Explosion_MaxDmg = 400.00
    Set VariableSet Explosion_Type = 1
    Trigger - Run Create_Explosion <gen> (checking conditions)
    Wait 0.10 seconds
    Custom script: set udg_dest = tempdest
    Trigger - Turn off (This trigger)
    Destructible - Remove dest
    Trigger - Turn on (This trigger)
    -------- Flames --------
    Wait 0.50 seconds
    Custom script: set udg_P = loc
    For each (Integer A) from 1 to (Random integer number between 4 and 8), do (Actions)
      Loop - Actions
        Set VariableSet P2 = (P offset by (Random real number between 48.00 and 128.00) towards (Random angle) degrees.)
        Unit - Create 1.Burning Oil for Neutral Hostile at P2 facing (Random angle) degrees
        Custom script: call RemoveLocation(udg_P2)
        Unit - Add a (Random real number between 30.00 and 45.00) second Generic expiration timer to (Last created unit)
    Wait 0.50 seconds
    Custom script: set udg_P = loc
    For each (Integer A) from 1 to (Random integer number between 3 and 6), do (Actions)
      Loop - Actions
        Set VariableSet P2 = (P offset by (Random real number between 96.00 and 256.00) towards (Random angle) degrees.)
        Unit - Create 1.Burning Oil for Neutral Hostile at P2 facing (Random angle) degrees
        Custom script: call RemoveLocation(udg_P2)
        Unit - Add a (Random real number between 30.00 and 45.00) second Generic expiration timer to (Last created unit)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Game_Mod Equal to 1
      Then - Actions
        Wait 60.00 seconds
        Custom script: set udg_P = loc
        Destructible - Create a B00F (destructablecode) at P facing (Random angle) with scale 0.80 and variation 0
        Trigger - Add to Explosive_Destructibles_Detonate <gen> the event ((Last created destructible) dies)
      Else - Actions
    Custom script: call RemoveLocation(udg_P)
Catch Fire
  Events
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Damage source)) Equal to Road Flare
        (Unit-type of (Damage source)) Equal to Burning Oil
  Actions
    Set VariableSet P2 = (Position of (Triggering unit))
    Set VariableSet P3 = (Position of (Damage source))
    Custom script: set udg_r = GetLocationZ(udg_P2)
    Custom script: set udg_r2 = GetLocationZ(udg_P3)
    Set VariableSet r = (r + (Current flying height of (Triggering unit)))
    Set VariableSet r2 = (r2 + (Current flying height of (Damage source)))
    Custom script: call RemoveLocation(udg_P2)
    Custom script: call RemoveLocation(udg_P3)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Abs((r - r2))) Less than 96.00
      Then - Actions
        Hashtable - Save 2.00 as 3 of (Key (Triggering unit).) in Hash_Main.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Triggering unit) is in UG_Burning.) Equal to False
          Then - Actions
            Special Effect - Create a special effect attached to the chest (attachpoint) of (Triggering unit) using Environment\LargeBuildingFire\LargeBuildingFire2.mdl
            Hashtable - Save Handle Of(Last created special effect) as 2 of (Key (Triggering unit).) in Hash_Main.
            -------- Burning caster für kill (arena mod) --------
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Player number of (Owner of (Damage source))) Less than or equal to Maxplayers
              Then - Actions
                Hashtable - Save Handle OfPlayer_Marine[(Player number of (Owner of (Damage source)))] as 30 of (Key (Triggering unit).) in Hash_Main.
              Else - Actions
            Unit Group - Add (Triggering unit) to UG_Burning
          Else - Actions
        Trigger - Turn on Burning <gen>
      Else - Actions
Damit der gleiche Sound mehrfach abgespielt werden kann gleichzeitig

0: Anzahl Kopien des Sounds
1-9: Sounds
10: Zuletzt abgespielte Kopie
Init Sound
  Events
    Map initialization
  Conditions
  Actions
    Hashtable - Create a hashtable
    Set VariableSet Sound_Hash = (Last created hashtable)
    Set VariableSet x = 1
    Hashtable - Save 4 as 0 of x in Sound_Hash.
    Hashtable - Save Handle Ofm3_insertshell <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofm3_insertshell01 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Ofm3_insertshell02 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Ofm3_insertshell03 <gen> as 4 of x in Sound_Hash.
    Set VariableSet x = 2
    Hashtable - Save 2 as 0 of x in Sound_Hash.
    Hashtable - Save Handle Ofsinglegunshot <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofsinglegunshot01 <gen> as 2 of x in Sound_Hash.
    Set VariableSet x = 3
    Hashtable - Save 3 as 0 of x in Sound_Hash.
    Hashtable - Save Handle OfClipEmpty_Pistol <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle OfClipEmpty_Pistol01 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle OfClipEmpty_Pistol02 <gen> as 3 of x in Sound_Hash.
    Set VariableSet x = 4
    Hashtable - Save 6 as 0 of x in Sound_Hash.
    Hashtable - Save Handle Ofchainsaw <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofchainsaw01 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Ofchainsaw02 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Ofchainsaw03 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle Ofchainsaw04 <gen> as 5 of x in Sound_Hash.
    Hashtable - Save Handle Ofchainsaw05 <gen> as 6 of x in Sound_Hash.
    Set VariableSet x = 5
    Hashtable - Save 5 as 0 of x in Sound_Hash.
    Hashtable - Save Handle Ofchainsaw_gauntlet_hit <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofchainsaw_gauntlet_hit01 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Ofchainsaw_gauntlet_hit02 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Ofchainsaw_gauntlet_hit03 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle Ofchainsaw_gauntlet_hit04 <gen> as 5 of x in Sound_Hash.
    For each (Integer A) from 1 to x, do (Actions)
      Loop - Actions
        Hashtable - Save 1 as 10 of (Integer A) in Sound_Hash.
    -------- Weapons: 100 + WeaponTypeIndex --------
    Set VariableSet x = 101
    Hashtable - Save Handle Ofusp <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofusp01 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Ofusp02 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Ofusp03 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle Ofusp04 <gen> as 5 of x in Sound_Hash.
    Set VariableSet x = (x + 1)
    Hashtable - Save Handle Ofm3 <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofm301 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Ofm302 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Ofm303 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle Ofm304 <gen> as 5 of x in Sound_Hash.
    Set VariableSet x = (x + 1)
    Hashtable - Save Handle Ofmp5 <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofmp501 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Ofmp502 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Ofmp503 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle Ofmp504 <gen> as 5 of x in Sound_Hash.
    Set VariableSet x = (x + 1)
    Hashtable - Save Handle Ofawp <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofawp01 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Ofawp02 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Ofawp03 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle Ofawp04 <gen> as 5 of x in Sound_Hash.
    Set VariableSet x = (x + 1)
    Hashtable - Save Handle Ofm249 <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofm24901 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Ofm24902 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Ofm24903 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle Ofm24904 <gen> as 5 of x in Sound_Hash.
    Set VariableSet x = (x + 1)
    Hashtable - Save Handle Ofrl <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofrl01 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Ofrl02 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Ofrl03 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle Ofrl04 <gen> as 5 of x in Sound_Hash.
    Set VariableSet x = (x + 1)
    Hashtable - Save Handle Ofbfg <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofbfg01 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Ofbfg02 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Ofbfg03 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle Ofbfg04 <gen> as 5 of x in Sound_Hash.
    Set VariableSet x = (x + 1)
    Hashtable - Save Handle Offlame_loop <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Offlame_loop01 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Offlame_loop02 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Offlame_loop03 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle Offlame_loop04 <gen> as 5 of x in Sound_Hash.
    Set VariableSet x = (x + 1)
    Hashtable - Save Handle Ofrailgun <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofrailgun01 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Ofrailgun02 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Ofrailgun03 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle Ofrailgun04 <gen> as 5 of x in Sound_Hash.
    Set VariableSet x = (x + 1)
    Hashtable - Save Handle OfLightningShieldTarget <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle OfLightningShieldTarget01 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle OfLightningShieldTarget02 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle OfLightningShieldTarget03 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle OfLightningShieldTarget04 <gen> as 5 of x in Sound_Hash.
    Set VariableSet x = (x + 1)
    Hashtable - Save Handle Ofdeagle <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofdeagle01 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Ofdeagle02 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Ofdeagle03 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle Ofdeagle04 <gen> as 5 of x in Sound_Hash.
    Set VariableSet x = (x + 1)
    Hashtable - Save Handle Ofm3_nopump <gen> as 1 of x in Sound_Hash.
    Hashtable - Save Handle Ofm3_nopump01 <gen> as 2 of x in Sound_Hash.
    Hashtable - Save Handle Ofm3_nopump02 <gen> as 3 of x in Sound_Hash.
    Hashtable - Save Handle Ofm3_nopump03 <gen> as 4 of x in Sound_Hash.
    Hashtable - Save Handle Ofm3_nopump04 <gen> as 5 of x in Sound_Hash.
    For each (Integer A) from 101 to x, do (Actions)
      Loop - Actions
        Hashtable - Save 5 as 0 of (Integer A) in Sound_Hash.
        Hashtable - Save 1 as 10 of (Integer A) in Sound_Hash.
Sound Play xSoundPlay
  Events
  Conditions
  Actions
    Set VariableSet x_SoundPlay2 = (Load 10 of x_SoundPlay from Sound_Hash.)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        x_SoundPlay2 Equal to (Load 0 of x_SoundPlay from Sound_Hash.)
      Then - Actions
        Set VariableSet x_SoundPlay2 = 1
      Else - Actions
        Set VariableSet x_SoundPlay2 = (x_SoundPlay2 + 1)
    Hashtable - Save x_SoundPlay2 as 10 of x_SoundPlay in Sound_Hash.
    Sound - Stop (Load x_SoundPlay2 of x_SoundPlay in Sound_Hash.) Immediately
    Sound - Play (Load x_SoundPlay2 of x_SoundPlay in Sound_Hash.) at 100% volume, located at P_SoundPlay with Z offset 0
    Custom script: call RemoveLocation(udg_P_SoundPlay)
Ladder Init
  Events
    Map initialization
  Conditions
  Actions
    Set VariableSet UG = (Units of type Ladder, Bottom)
    Unit Group - Pick every unit in UG and do (Actions)
      Loop - Actions
        Trigger - Add to Ladder_ClimbUp <gen> the event (A unit comes within 32.00 of (Picked unit))
        Animation - Change (Picked unit)'s vertex coloring to (100%, 100%, 100%) with 99.90% transparency
    Custom script: call DestroyGroup(udg_UG)
    Set VariableSet UG = (Units of type Ladder, Top)
    Unit Group - Pick every unit in UG and do (Actions)
      Loop - Actions
        Trigger - Add to Ladder_ClimbDown <gen> the event (A unit comes within 32.00 of (Picked unit))
        Animation - Change (Picked unit)'s vertex coloring to (100%, 100%, 100%) with 99.90% transparency
    Custom script: call DestroyGroup(udg_UG)
Ladder Select
  Events
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Triggering unit)) Equal to Ladder, Bottom
        (Unit-type of (Triggering unit)) Equal to Ladder, Top
  Actions
    Custom script: local unit tempunit
    Set VariableSet P = (Position of Player_Marine[(Player number of (Triggering player))])
    Set VariableSet P2 = (Position of (Triggering unit))
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Distance between P and P2) Less than 200.00
      Then - Actions
        Custom script: call RemoveLocation(udg_P)
        Custom script: call RemoveLocation(udg_P2)
        Selection - Select Player_Marine[(Player number of (Triggering player))] for (Triggering player)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Ladder, Bottom
          Then - Actions
            Set VariableSet LadderClimb_UG = (Units within 256.00 of P2 matching ((Unit-type of (Matching unit)) Equal to Ladder, Top).)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Ladder, Top
          Then - Actions
            Set VariableSet LadderClimb_UG = (Units within 256.00 of P2 matching ((Unit-type of (Matching unit)) Equal to Ladder, Bottom).)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Number of units in LadderClimb_UG) Greater than 0
          Then - Actions
            Trigger - Turn off Ladder_ClimbDown <gen>
            Trigger - Turn off Ladder_ClimbUp <gen>
            Set VariableSet LadderClimb_Point = (Position of (Random unit from LadderClimb_UG))
            Set VariableSet unit = Player_Marine[(Player number of (Triggering player))]
            Custom script: set tempunit = udg_unit
            Unit - Move unit instantly to LadderClimb_Point
            Unit Group - Add unit to UG_RecentlyClimbed
            Custom script: call RemoveLocation(udg_LadderClimb_Point)
            Custom script: call DestroyGroup(udg_LadderClimb_UG)
            Trigger - Turn on Ladder_ClimbDown <gen>
            Trigger - Turn on Ladder_ClimbUp <gen>
            Wait 1.00 seconds
            Custom script: set udg_unit = tempunit
            Unit Group - Remove unit from UG_RecentlyClimbed.
          Else - Actions
            Custom script: call DestroyGroup(udg_LadderClimb_UG)
      Else - Actions
        Custom script: call RemoveLocation(udg_P)
        Custom script: call RemoveLocation(udg_P2)
        Selection - Select Player_Marine[(Player number of (Triggering player))] for (Triggering player)
Ladder ClimbUp
  Events
  Conditions
    (Unit-type of (Triggering unit)) Equal to Marine
    ((Triggering unit) is in UG_RecentlyClimbed.) Equal to False
  Actions
    Custom script: local unit tempunit
    Custom script: set tempunit = GetTriggerUnit()
    Trigger - Turn off Ladder_ClimbDown <gen>
    Trigger - Turn off Ladder_ClimbUp <gen>
    Set VariableSet LadderClimb_Point = (Position of (Triggering unit))
    Set VariableSet LadderClimb_UG = (Units within 64.00 of LadderClimb_Point matching ((Unit-type of (Matching unit)) Equal to Ladder, Bottom).)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Number of units in LadderClimb_UG) Greater than 0
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Abs(((Current flying height of (Triggering unit)) - (Current flying height of (Random unit from LadderClimb_UG))))) Less than 50.00
          Then - Actions
            Custom script: call DestroyGroup(udg_LadderClimb_UG)
            Set VariableSet LadderClimb_UG = (Units within 256.00 of LadderClimb_Point matching ((Unit-type of (Matching unit)) Equal to Ladder, Top).)
            Set VariableSet LadderClimb_Point = (Position of (Random unit from LadderClimb_UG))
            Unit - Move (Triggering unit) instantly to LadderClimb_Point
            Unit Group - Add (Triggering unit) to UG_RecentlyClimbed
            Custom script: call RemoveLocation(udg_LadderClimb_Point)
            Custom script: call DestroyGroup(udg_LadderClimb_UG)
          Else - Actions
      Else - Actions
    Custom script: call DestroyGroup(udg_LadderClimb_UG)
    Custom script: call RemoveLocation(udg_LadderClimb_Point)
    Trigger - Turn on Ladder_ClimbDown <gen>
    Trigger - Turn on Ladder_ClimbUp <gen>
    Wait 1.00 seconds
    Custom script: set udg_unit = tempunit
    Unit Group - Remove unit from UG_RecentlyClimbed.
Ladder ClimbDown
  Events
  Conditions
    (Unit-type of (Triggering unit)) Equal to Marine
    ((Triggering unit) is in UG_RecentlyClimbed.) Equal to False
  Actions
    Custom script: local unit tempunit
    Custom script: set tempunit = GetTriggerUnit()
    Trigger - Turn off Ladder_ClimbDown <gen>
    Trigger - Turn off Ladder_ClimbUp <gen>
    Set VariableSet LadderClimb_Point = (Position of (Triggering unit))
    Set VariableSet LadderClimb_UG = (Units within 64.00 of LadderClimb_Point matching ((Unit-type of (Matching unit)) Equal to Ladder, Top).)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Number of units in LadderClimb_UG) Greater than 0
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Abs(((Current flying height of (Triggering unit)) - (Current flying height of (Random unit from LadderClimb_UG))))) Less than 50.00
          Then - Actions
            Custom script: call DestroyGroup(udg_LadderClimb_UG)
            Set VariableSet LadderClimb_UG = (Units within 256.00 of LadderClimb_Point matching ((Unit-type of (Matching unit)) Equal to Ladder, Bottom).)
            Set VariableSet LadderClimb_Point = (Position of (Random unit from LadderClimb_UG))
            Unit - Move (Triggering unit) instantly to LadderClimb_Point
            Unit Group - Add (Triggering unit) to UG_RecentlyClimbed
            Custom script: call RemoveLocation(udg_LadderClimb_Point)
            Custom script: call DestroyGroup(udg_LadderClimb_UG)
          Else - Actions
      Else - Actions
    Custom script: call DestroyGroup(udg_LadderClimb_UG)
    Custom script: call RemoveLocation(udg_LadderClimb_Point)
    Trigger - Turn on Ladder_ClimbDown <gen>
    Trigger - Turn on Ladder_ClimbUp <gen>
    Wait 1.00 seconds
    Custom script: set udg_unit = tempunit
    Unit Group - Remove unit from UG_RecentlyClimbed.
E Tutorial Start
  Events
  Conditions
  Actions
    Trigger - Turn on Difficulty_Set_Chooser <gen>
    Wait 0.50 seconds
    Set VariableSet UG = (Units of type Medic (Shop))
    Unit Group - Pick every unit in UG and do (Actions)
      Loop - Actions
        Unit - Remove (Picked unit) from the game
    Custom script: call DestroyGroup(udg_UG)
    Set VariableSet UG = (Units of type Zombie Master (Shop))
    Unit Group - Pick every unit in UG and do (Actions)
      Loop - Actions
        Unit - Remove (Picked unit) from the game
    Custom script: call DestroyGroup(udg_UG)
    For each (Integer A) from 1 to Maxplayers, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Player((Integer A))) slot status) Equal to Is playing
          Then - Actions
            Camera - Pan camera for (Player((Integer A))) to (Position of Player_Marine[(Integer A)]) over 0 seconds
            Unit - Unpause Player_Marine[(Integer A)]
            Selection - Select Player_Marine[(Integer A)] for (Player((Integer A)))
          Else - Actions
    Cinematic - Fade in over 2.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Set VariableSet UG_TutorialVillagers = (Units of type Villager (Infected))
    Unit Group - Pick every unit in UG_TutorialVillagers and do (Actions)
      Loop - Actions
        Unit - Set life of (Picked unit) to (Random real number between 15.00 and 50.00)
    Wait 2.00 seconds
    Floating Text - Create floating text that reads Okay, time to move in. Use your jetpack to fly over the barricades.Press |cffff0000E|r to start it, then use arrow keys or right clicks to fly. above Marine 0039 <gen> with Z offset 0, using font size 8.00, color (100%, 100%, 100%), and 0% transparency
    For each (Integer A) from 1 to Maxplayers, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Player((Integer A))) slot status) Not equal to Is playing
          Then - Actions
            Set VariableSet Player_TutorialStep[(Integer A)] = 99
          Else - Actions
    Set VariableSet P = (Center of Tutorial_ArrowKeysImg <gen>)
    Image - Create an image using AllArrowKeys.blp of size 128.00 at P with Z offset 0.00 using image type Selection
    Custom script: call RemoveLocation(udg_P)
    Image - Change the height state of (Last created image) to Enable at 800.00
    Image - Change (Last created image): Enable render always state
    Image - Show (Last created image)
    Trigger - Turn on E_Tutorial_EnterNextArea <gen>
E Tutorial VillagerFloats
  Events
    Time - Every 1.00 seconds of game time
  Conditions
  Actions
    Custom script: local texttag tempfloat
    Unit Group - Pick every unit in UG_TutorialVillagers and do (Actions)
      Loop - Actions
        Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - 1)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Random integer number between 1 and 3) Equal to 1
      Then - Actions
        Set VariableSet x = (Random integer number between 1 and 10)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            x Equal to 1
          Then - Actions
            Floating Text - Create floating text that reads Uah I'm feeling sick. above (Random unit from UG_TutorialVillagers) with Z offset 0, using font size 8.00, color (100%, 100%, 100%), and 0% transparency
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            x Equal to 2
          Then - Actions
            Floating Text - Create floating text that reads Hey, can you help me? above (Random unit from UG_TutorialVillagers) with Z offset 0, using font size 8.00, color (100%, 100%, 100%), and 0% transparency
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            x Equal to 3
          Then - Actions
            Floating Text - Create floating text that reads Better stay away from me, you'll catch the flu... above (Random unit from UG_TutorialVillagers) with Z offset 0, using font size 8.00, color (100%, 100%, 100%), and 0% transparency
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            x Equal to 4
          Then - Actions
            Floating Text - Create floating text that reads How did I get out here..? above (Random unit from UG_TutorialVillagers) with Z offset 0, using font size 8.00, color (100%, 100%, 100%), and 0% transparency
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            x Equal to 5
          Then - Actions
            Floating Text - Create floating text that reads My vision is blurry above (Random unit from UG_TutorialVillagers) with Z offset 0, using font size 8.00, color (100%, 100%, 100%), and 0% transparency
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            x Equal to 6
          Then - Actions
            Floating Text - Create floating text that reads Brains.... braiiiiiins... above (Random unit from UG_TutorialVillagers) with Z offset 0, using font size 8.00, color (100%, 100%, 100%), and 0% transparency
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            x Equal to 7
          Then - Actions
            Floating Text - Create floating text that reads Wait.. what? above (Random unit from UG_TutorialVillagers) with Z offset 0, using font size 8.00, color (100%, 100%, 100%), and 0% transparency
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            x Equal to 8
          Then - Actions
            Floating Text - Create floating text that reads Must.... feed.... above (Random unit from UG_TutorialVillagers) with Z offset 0, using font size 8.00, color (100%, 100%, 100%), and 0% transparency