1. Are you planning to upload your awesome map to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. We have recently started the 16th edition of the Mini Mapping Contest. The theme is mini RPG. Do check it out and have fun.
    Dismiss Notice
  5. Choose your ride to damnation in the 5th Special Effect Contest Poll.
    Dismiss Notice
  6. The winners of the 13th Techtree Contest have been announced!
    Dismiss Notice
  7. The 13th Music Contest Poll is up! Vote for the best tracks in this symphony of frost and flame.
    Dismiss Notice
  8. Race against the odds and Reforge, Don't Refund. The 14th Techtree Contest has begun!
    Dismiss Notice
  9. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Trigger Viewer

WorldWarZ2.19v.w3x
Variables
triggers
init
GetHost
Zombify
Delete Death
Bug Fix
ConvertBuilding
Quest
Updates
System
Experience Points
Player Description
Trade Units
Say Host
Menu
Kick Feature
Kick Feature 2
Anti Enter
Unable Attack
function GameCache takes nothing returns gamecache
    if udg_cache == null then
        set udg_cache = InitGameCache("gethost")
    endif
    return udg_cache
endfunction

function GetHostId takes nothing returns integer
    //This stores the Id + 1 for each player.
    call StoreInteger(GameCache(), "missionKey", "key", GetPlayerId(GetLocalPlayer()) + 1)
    //Setup the TriggerSyncReady call.
    call TriggerSyncStart()
    //Sync the value of the entry for each player.
    //Each value will sync to the value of the host.
    call SyncStoredInteger(GameCache(), "missionKey", "key")
    //Wait until the Game Cache syncs the key for everyone.
    call TriggerSyncReady()
    //Return the synced value as a id.
    return GetStoredInteger(GameCache(), "missionKey", "key") - 1
endfunction

function GetHostAverage takes nothing returns nothing
    local integer array id
    local integer max = 0
    local integer t = 0
    local integer i = 0
    set udg_Host = null
    loop
         exitwhen i > 11
         set id[i] = 0
         set i = i + 1
    endloop
    set i = 0
    loop
         exitwhen i > 5         
         set t = GetHostId()
         set id[t] = id[t] + 1
         if id[t] > id[max] then
                set max = t
         endif
         set i = i + 1
         call TriggerSleepAction(1)       
    endloop
    set udg_Host = Player(max)
endfunction

Name Type Is Array Initial Value
AllyAbility integer Yes 1
boolean01 boolean No
boolean02 boolean No
boolean03 boolean No
boolean04 boolean No
boolean05 boolean No
boolean06 boolean No
boolean07 boolean No
boolean08 boolean No
boolean09 boolean No
boolean10 boolean No
boolean11 boolean No
boolean12 boolean No
boolean13 boolean No
booleans01 boolean Yes
booleans02 boolean Yes
booleans03 boolean Yes
booleans04 boolean Yes
button01 button No
button02 button No
button03 button No
button04 button No
cache gamecache No
dialog01 dialog No
dialog02 dialog No
force01 force No
force02 force No
force03 force No
group01 group No
group02 group No
group03 group No
group04 group No
Host player No
integer01 integer No
integer02 integer No
integer03 integer No
integer04 integer No
integer05 integer No
integer06 integer No
integer07 integer No
integer08 integer No
integer09 integer No
integers01 integer Yes
integers02 integer Yes
leaderboard01 leaderboard No
location01 location No
Menu dialog No
MenuTabs button Yes
player01 player No
player02 player No
player03 player No
player04 player No
player05 player No
PlayerChoice dialog No
PlayerDescription string Yes
PlayerObjective player No
Players button Yes
players01 player Yes
players02 player Yes
RealNames string Yes
rect01 rect No
rect02 rect No
rect03 rect No
rect04 rect No
rect05 rect No
rect06 rect No
rect07 rect No
rect08 rect No
rect09 rect No
rect10 rect No
rect11 rect No
rect12 rect No
rect13 rect No
rect14 rect No
rect15 rect No
rect16 rect No
rect17 rect No
rect18 rect No
rect19 rect No
rect20 rect No
rect21 rect No
rect22 rect No
rect23 rect No
rect24 rect No
rect25 rect No
rect26 rect No
rect27 rect No
rect28 rect No
rect29 rect No
rect30 rect No
rect31 rect No
rect32 rect No
rect33 rect No
rect34 rect No
rect35 rect No
rect36 rect No
rect37 rect No
rect38 rect No
rect39 rect No
rect40 rect No
rect41 rect No
sound01 sound No
sound02 sound No
sound03 sound No
sound04 sound No
sound05 sound No
sound06 sound No
sound07 sound No
string01 string No
string02 string No
strings01 string Yes
strings02 string Yes
strings03 string Yes
strings04 string Yes
strings05 string Yes
timer01 timer No
timerdialog01 timerdialog No
trigger01 trigger No
trigger02 trigger No
trigger03 trigger No
trigger04 trigger No
trigger05 trigger No
trigger06 trigger No
trigger07 trigger No
trigger08 trigger No
trigger09 trigger No
trigger10 trigger No
trigger11 trigger No
trigger12 trigger No
trigger13 trigger No
trigger14 trigger No
trigger15 trigger No
trigger16 trigger No
trigger17 trigger No
trigger18 trigger No
trigger19 trigger No
trigger20 trigger No
trigger21 trigger No
trigger22 trigger No
trigger23 trigger No
trigger24 trigger No
trigger25 trigger No
trigger26 trigger No
trigger27 trigger No
trigger28 trigger No
trigger29 trigger No
trigger30 trigger No
trigger31 trigger No
trigger32 trigger No
trigger33 trigger No
trigger34 trigger No
trigger35 trigger No
trigger36 trigger No
trigger37 trigger No
trigger38 trigger No
trigger39 trigger No
trigger40 trigger No
trigger41 trigger No
trigger42 trigger No
trigger43 trigger No
trigger44 trigger No
trigger45 trigger No
unit01 unit No
unit02 unit No
unit03 unit No
unit04 unit No
unit05 unit No
//TESH.scrollpos=-1
//TESH.alwaysfold=0
// Map deprotected by X-deprotect (version 2006-10-02) by zibada
// http://dimon.xgm.ru/xdep/
// Visit our modmaking community at http://xgm.ru/
// You should try it too! lol


function InitGlobals2 takes nothing returns nothing
    local integer i=0
    set udg_group01=CreateGroup()
    set i=0
    loop
        exitwhen(i>1)
        set udg_strings01[i]=""
        set i=i+1
    endloop
    set i=0
    loop
        exitwhen(i>1)
        set udg_strings02[i]=""
        set i=i+1
    endloop
    set udg_integer01=0
    set udg_integer02=0
    set udg_force01=CreateForce()
    set udg_group02=CreateGroup()
    set udg_group03=CreateGroup()
    set udg_boolean01=false
    set i=0
    loop
        exitwhen(i>1)
        set udg_strings03[i]=""
        set i=i+1
    endloop
    set udg_integer03=0
    set udg_integer04=0
    set i=0
    loop
        exitwhen(i>1)
        set udg_strings04[i]=""
        set i=i+1
    endloop
    set i=0
    loop
        exitwhen(i>1)
        set udg_strings05[i]=""
        set i=i+1
    endloop
    set udg_integer05=0
    set udg_dialog01=DialogCreate()
    set udg_dialog02=DialogCreate()
    set udg_force02=CreateForce()
    set i=0
    loop
        exitwhen(i>1)
        set udg_booleans01[i]=false
        set i=i+1
    endloop
    set udg_integer06=0
    set i=0
    loop
        exitwhen(i>1)
        set udg_integers01[i]=0
        set i=i+1
    endloop
    set udg_integer07=0
    set udg_integer08=0
    set udg_string01=""
    set udg_boolean02=false
    set udg_string02=""
    set udg_boolean03=false
    set udg_boolean04=false
    set i=0
    loop
        exitwhen(i>12)
        set udg_booleans02[i]=true
        set i=i+1
    endloop
    set udg_boolean05=false
    set udg_boolean06=false
    set udg_boolean07=false
    set udg_boolean08=false
    set udg_boolean09=false
    set udg_boolean10=false
    set udg_boolean11=false
    set udg_boolean12=false
    set udg_boolean13=false
    set udg_integer09=0
    set i=0
    loop
        exitwhen(i>1)
        set udg_booleans03[i]=false
        set i=i+1
    endloop
    set udg_group04=CreateGroup()
    set i=0
    loop
        exitwhen(i>1)
        set udg_integers02[i]=0
        set i=i+1
    endloop
    set i=0
    loop
        exitwhen(i>1)
        set udg_booleans04[i]=false
        set i=i+1
    endloop
    set udg_timer01=CreateTimer()
    set udg_force03=CreateForce()
endfunction

//***************************************************************************
//*
//*Sounds
//*
//***************************************************************************
//***************************************************************************
//*
//*Items
//*
//***************************************************************************
function CreateAllItems takes nothing returns nothing
    local integer itemID
    call CreateItem('I000',7808.6,-7862.5)
endfunction

//***************************************************************************
//*
//*Unit Creation
//*
//***************************************************************************
//===========================================================================
function CreateBuildingsForStartUpOfPlayer0 takes nothing returns nothing
    local player p=Player(0)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h013',2176.0,3328.0,270.000)
    set u=CreateUnit(p,'h01Z',5504.0,5760.0,270.000)
    set u=CreateUnit(p,'h021',10304.0,2624.0,270.000)
    set u=CreateUnit(p,'hgtw',6464.0,-896.0,270.000)
    set u=CreateUnit(p,'h020',-448.0,5376.0,270.000)
    set u=CreateUnit(p,'h01O',-1728.0,3392.0,270.000)
    set u=CreateUnit(p,'h00A',192.0,5440.0,270.000)
    set u=CreateUnit(p,'hgtw',6784.0,3328.0,270.000)
    set u=CreateUnit(p,'n002',12576.0,9376.0,270.000)
    set u=CreateUnit(p,'n002',13088.0,8800.0,270.000)
    set u=CreateUnit(p,'n002',3296.0,8736.0,270.000)
    set u=CreateUnit(p,'n002',3104.0,7840.0,270.000)
    set u=CreateUnit(p,'n002',4448.0,8672.0,270.000)
    set u=CreateUnit(p,'n002',6048.0,6048.0,270.000)
    set u=CreateUnit(p,'n002',2016.0,4448.0,270.000)
    set u=CreateUnit(p,'h00Z',7808.0,5952.0,270.000)
    set u=CreateUnit(p,'n002',-96.0,4832.0,270.000)
    set u=CreateUnit(p,'n002',9952.0,2848.0,270.000)
    set u=CreateUnit(p,'hgtw',8320.0,8576.0,270.000)
    set u=CreateUnit(p,'hgtw',-1664.0,5888.0,270.000)
    set u=CreateUnit(p,'n002',-288.0,12256.0,270.000)
    set u=CreateUnit(p,'hgtw',1984.0,2944.0,270.000)
    set u=CreateUnit(p,'hgtw',10624.0,2176.0,270.000)
    set u=CreateUnit(p,'h00Z',-256.0,12096.0,270.000)
    set u=CreateUnit(p,'h00A',-2560.0,10112.0,270.000)
    set u=CreateUnit(p,'n002',-2592.0,10400.0,270.000)
    set u=CreateUnit(p,'n002',96.0,4832.0,270.000)
    set u=CreateUnit(p,'n002',288.0,4832.0,270.000)
endfunction

//===========================================================================
function CreateUnitsForStartUpOfPlayer0 takes nothing returns nothing
    local player p=Player(0)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h00O',444.1,3770.3,226.700)
    set u=CreateUnit(p,'h00H',6292.2,-868.4,288.990)
    set u=CreateUnit(p,'h00H',6164.4,-868.4,288.990)
    set u=CreateUnit(p,'h00H',6312.0,-983.8,288.990)
    set u=CreateUnit(p,'h00H',6184.2,-983.8,288.990)
    set u=CreateUnit(p,'h00H',6763.2,-802.8,288.990)
    set u=CreateUnit(p,'h00H',6635.4,-802.8,288.990)
    set u=CreateUnit(p,'h00O',738.6,3491.1,226.700)
    set u=CreateUnit(p,'h00O',594.2,3627.1,226.700)
    set u=CreateUnit(p,'h00H',6761.1,-931.5,288.990)
    set u=CreateUnit(p,'h00H',13208.2,8961.4,106.153)
    set u=CreateUnit(p,'h00H',2873.8,2909.2,288.990)
    set u=CreateUnit(p,'h00H',2872.8,2797.0,288.990)
    set u=CreateUnit(p,'h00H',2748.6,2787.1,288.990)
    set u=CreateUnit(p,'h00H',6633.3,-931.5,288.990)
    set u=CreateUnit(p,'h00H',2620.8,2787.1,288.990)
    set u=CreateUnit(p,'h00H',2613.6,3016.2,288.990)
    set u=CreateUnit(p,'h00H',2723.1,3027.2,288.990)
    set u=CreateUnit(p,'h00H',2871.3,3043.8,288.990)
    set u=CreateUnit(p,'h00H',2615.3,2893.5,288.990)
    set u=CreateUnit(p,'h00H',2742.3,2903.9,288.990)
    set u=CreateUnit(p,'h00H',1614.7,4678.9,288.990)
    set u=CreateUnit(p,'h00H',1613.8,4566.8,288.990)
    set u=CreateUnit(p,'h00H',1489.5,4556.9,288.990)
    set u=CreateUnit(p,'h00H',1361.7,4556.9,288.990)
    set u=CreateUnit(p,'h00H',1354.6,4785.9,288.990)
    set u=CreateUnit(p,'h00H',1464.0,4796.9,288.990)
    set u=CreateUnit(p,'h00H',1612.2,4813.5,288.990)
    set u=CreateUnit(p,'h00H',1356.3,4663.3,288.990)
    set u=CreateUnit(p,'h00H',1483.3,4673.7,288.990)
    set u=CreateUnit(p,'h00H',10060.6,2135.8,288.990)
    set u=CreateUnit(p,'h00H',9932.8,2135.8,288.990)
    set u=CreateUnit(p,'h00H',5888.7,5814.2,288.990)
    set u=CreateUnit(p,'h00H',5760.9,5814.2,288.990)
    set u=CreateUnit(p,'h00H',5753.7,6043.3,288.990)
    set u=CreateUnit(p,'h00H',5863.2,6054.3,288.990)
    set u=CreateUnit(p,'h00H',10053.5,2232.4,288.990)
    set u=CreateUnit(p,'h00H',5755.4,5920.6,288.990)
    set u=CreateUnit(p,'h00H',5882.4,5931.0,288.990)
    set u=CreateUnit(p,'h00H',9925.7,2232.4,288.990)
    set u=CreateUnit(p,'h00P',2427.4,3140.8,235.752)
    set u=CreateUnit(p,'h00H',10616.1,2314.8,288.990)
    set u=CreateUnit(p,'h00H',10488.3,2314.8,288.990)
    set u=CreateUnit(p,'h00H',-108.4,5486.5,288.990)
    set u=CreateUnit(p,'h00H',-109.4,5374.4,288.990)
    set u=CreateUnit(p,'h00H',-110.9,5621.1,288.990)
    set u=CreateUnit(p,'h00H',-741.2,5426.2,288.990)
    set u=CreateUnit(p,'h00H',-742.1,5314.1,288.990)
    set u=CreateUnit(p,'h00H',-743.7,5560.9,288.990)
    set u=CreateUnit(p,'h00H',12949.2,9545.9,288.990)
    set u=CreateUnit(p,'h00H',13311.6,8949.9,288.990)
    set u=CreateUnit(p,'h00H',13003.0,9422.4,288.990)
    set u=CreateUnit(p,'h00H',13282.1,9046.0,288.990)
    set u=CreateUnit(p,'h00H',12883.6,9689.4,288.990)
    set u=CreateUnit(p,'h03T',-1611.7,8363.1,89.245)
    set u=CreateUnit(p,'h00H',10612.0,2390.6,288.990)
    set u=CreateUnit(p,'h00H',10484.2,2390.6,288.990)
    set u=CreateUnit(p,'h00H',4195.8,8084.9,288.990)
    set u=CreateUnit(p,'h00H',4004.0,7905.0,288.990)
    set u=CreateUnit(p,'h00H',4100.6,7993.4,288.990)
    set u=CreateUnit(p,'h00H',4105.0,8184.4,179.621)
    set u=CreateUnit(p,'h00H',4016.2,8078.0,94.035)
    set u=CreateUnit(p,'h00H',10061.7,2330.8,288.990)
    set u=CreateUnit(p,'h00H',9933.9,2330.8,288.990)
    set u=CreateUnit(p,'H02H',2476.3,2799.2,288.990)
    call SetUnitState(u,UNIT_STATE_MANA,15)
    set u=CreateUnit(p,'h00H',13200.9,9110.6,34.619)
    set u=CreateUnit(p,'h00H',13059.7,9281.5,135.608)
    set u=CreateUnit(p,'h00H',-169.2,12447.4,194.837)
    set u=CreateUnit(p,'h00H',-366.9,12536.6,24.973)
    set u=CreateUnit(p,'hbot',-459.9,8869.7,103.970)
    set u=CreateUnit(p,'hbot',-682.7,8852.2,103.970)
    set u=CreateUnit(p,'hbot',-875.9,8840.5,103.970)
    set u=CreateUnit(p,'hbot',-1075.8,8795.3,103.970)
    set u=CreateUnit(p,'h00Y',-355.1,4801.6,329.336)
    set u=CreateUnit(p,'h00H',3907.9,7971.2,111.262)
    set u=CreateUnit(p,'h00H',13131.4,9026.4,231.291)
    set u=CreateUnit(p,'h00H',12878.6,9470.6,316.482)
    set u=CreateUnit(p,'h00O',898.3,3332.4,226.700)
endfunction

//===========================================================================
function CreateBuildingsForStartUpOfPlayer1 takes nothing returns nothing
    local player p=Player(1)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h005',-11712.0,3904.0,270.000)
    set u=CreateUnit(p,'hgtw',-11968.0,3456.0,270.000)
    set u=CreateUnit(p,'hgtw',-11584.0,3456.0,270.000)
    set u=CreateUnit(p,'h00I',-13760.0,2880.0,270.000)
    set u=CreateUnit(p,'n002',-11360.0,4000.0,270.000)
    set u=CreateUnit(p,'h00A',-14400.0,2560.0,270.000)
    set u=CreateUnit(p,'hgtw',-11072.0,5120.0,270.000)
    set u=CreateUnit(p,'h00A',-14272.0,2560.0,270.000)
    set u=CreateUnit(p,'h00A',-14400.0,2688.0,270.000)
    set u=CreateUnit(p,'h03H',-11584.0,4544.0,270.000)
    set u=CreateUnit(p,'n002',-11232.0,5024.0,270.000)
endfunction

//===========================================================================
function CreateUnitsForStartUpOfPlayer1 takes nothing returns nothing
    local player p=Player(1)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h00H',-12355.4,3908.1,92.720)
    set u=CreateUnit(p,'h00H',-12245.9,3919.1,92.720)
    set u=CreateUnit(p,'h00H',-12097.7,3935.7,92.720)
    set u=CreateUnit(p,'h00H',-12353.7,3785.4,92.720)
    set u=CreateUnit(p,'h00H',-12226.7,3795.9,92.720)
    set u=CreateUnit(p,'h00H',-12095.2,3801.1,92.720)
    set u=CreateUnit(p,'h00H',-12348.2,3679.1,92.720)
    set u=CreateUnit(p,'h00H',-12220.4,3679.1,92.720)
    set u=CreateUnit(p,'h00H',-12096.1,3689.0,92.720)
    set u=CreateUnit(p,'hbot',-12017.1,3164.0,258.160)
    set u=CreateUnit(p,'hbot',-11611.1,3141.6,258.160)
    set u=CreateUnit(p,'hbot',-12247.5,3059.3,258.160)
    set u=CreateUnit(p,'hbot',-11325.8,3184.7,258.160)
    set u=CreateUnit(p,'H02G',-12193.5,4073.4,119.930)
    set u=CreateUnit(p,'h00Y',-11798.6,3618.6,334.071)
    set u=CreateUnit(p,'h00B',-12219.0,3584.4,92.720)
    set u=CreateUnit(p,'h00C',-12355.3,3577.9,92.720)
    set u=CreateUnit(p,'h00C',-12104.9,3564.9,92.720)
    set u=CreateUnit(p,'h03I',-11763.4,4536.5,120.304)
endfunction

//===========================================================================
function CreateBuildingsForStartUpOfPlayer2 takes nothing returns nothing
    local player p=Player(2)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h01A',576.0,-4800.0,270.000)
    set u=CreateUnit(p,'h024',448.0,-5760.0,270.000)
    set u=CreateUnit(p,'hgtw',-1472.0,-4160.0,270.000)
    set u=CreateUnit(p,'n002',864.0,-5216.0,270.000)
    set u=CreateUnit(p,'n002',288.0,-4448.0,270.000)
endfunction

//===========================================================================
function CreateUnitsForStartUpOfPlayer2 takes nothing returns nothing
    local player p=Player(2)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h012',229.5,-5251.7,146.070)
    set u=CreateUnit(p,'h012',400.4,-5204.8,146.070)
    set u=CreateUnit(p,'h012',118.6,-5342.4,146.070)
    set u=CreateUnit(p,'hbot',-1143.7,-5010.9,210.210)
    set u=CreateUnit(p,'hbot',-999.6,-5278.7,210.210)
    set u=CreateUnit(p,'hbot',-727.1,-5456.0,210.210)
    set u=CreateUnit(p,'hbot',-538.4,-5698.2,210.210)
    set u=CreateUnit(p,'h00H',-253.9,-5173.8,146.070)
    set u=CreateUnit(p,'h00H',-258.1,-5055.5,146.070)
    set u=CreateUnit(p,'h00H',-152.0,-5179.8,146.070)
    set u=CreateUnit(p,'h00H',-156.1,-5061.5,146.070)
    set u=CreateUnit(p,'h00H',-50.5,-5182.8,146.070)
    set u=CreateUnit(p,'h00H',-54.7,-5064.5,146.070)
    set u=CreateUnit(p,'h00H',51.4,-5188.8,146.070)
    set u=CreateUnit(p,'h00H',47.3,-5070.5,146.070)
    set u=CreateUnit(p,'h00H',-253.1,-4952.2,146.070)
    set u=CreateUnit(p,'h00H',-151.1,-4958.2,146.070)
    set u=CreateUnit(p,'h00H',-49.7,-4961.2,146.070)
    set u=CreateUnit(p,'h00H',52.2,-4967.2,146.070)
    set u=CreateUnit(p,'H02L',313.6,-5398.4,146.070)
    call SetUnitState(u,UNIT_STATE_MANA,15)
    set u=CreateUnit(p,'h00Y',232.4,-5039.9,13.700)
endfunction

//===========================================================================
function CreateBuildingsForStartUpOfPlayer3 takes nothing returns nothing
    local player p=Player(3)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h01L',-4480.0,-3968.0,270.000)
    set u=CreateUnit(p,'h01K',-5312.0,-3264.0,270.000)
    set u=CreateUnit(p,'n002',14432.0,-10336.0,270.000)
    set u=CreateUnit(p,'n002',14816.0,-9952.0,270.000)
    set u=CreateUnit(p,'n002',14880.0,-12640.0,270.000)
    set u=CreateUnit(p,'h00A',13888.0,-12416.0,270.000)
    set u=CreateUnit(p,'h00A',13888.0,-12992.0,270.000)
    set u=CreateUnit(p,'h00A',13888.0,-13120.0,270.000)
    set u=CreateUnit(p,'hgtw',-2880.0,-5120.0,270.000)
    set u=CreateUnit(p,'hgtw',-4736.0,-5120.0,270.000)
    set u=CreateUnit(p,'hgtw',-3904.0,-2496.0,270.000)
    set u=CreateUnit(p,'hgtw',10304.0,-12416.0,270.000)
    set u=CreateUnit(p,'hgtw',13568.0,-10304.0,270.000)
    set u=CreateUnit(p,'hgtw',13312.0,-9728.0,270.000)
    set u=CreateUnit(p,'n002',-4384.0,-3168.0,270.000)
    set u=CreateUnit(p,'n002',-4768.0,-3360.0,270.000)
endfunction

//===========================================================================
function CreateUnitsForStartUpOfPlayer3 takes nothing returns nothing
    local player p=Player(3)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'z000',8800.8,-12987.9,195.770)
    set u=CreateUnit(p,'h00H',14248.2,-9730.8,226.780)
    set u=CreateUnit(p,'h00H',14247.2,-9842.9,226.780)
    set u=CreateUnit(p,'h00H',14122.9,-9852.8,226.780)
    set u=CreateUnit(p,'h00H',13995.1,-9852.8,226.780)
    set u=CreateUnit(p,'h00H',13989.7,-9746.4,226.780)
    set u=CreateUnit(p,'h00H',14116.7,-9736.0,226.780)
    set u=CreateUnit(p,'h00H',14254.4,-9968.7,226.780)
    set u=CreateUnit(p,'h00H',14253.5,-10080.8,226.780)
    set u=CreateUnit(p,'h00H',14129.2,-10090.7,226.780)
    set u=CreateUnit(p,'h00H',14001.4,-10090.7,226.780)
    set u=CreateUnit(p,'h00H',13995.9,-9984.4,226.780)
    set u=CreateUnit(p,'h00H',14122.9,-9974.0,226.780)
    set u=CreateUnit(p,'z000',14074.7,-12692.9,195.770)
    set u=CreateUnit(p,'z000',14036.7,-12606.3,195.770)
    set u=CreateUnit(p,'z000',14024.0,-12783.7,195.770)
    set u=CreateUnit(p,'z000',14518.0,-12608.9,195.770)
    set u=CreateUnit(p,'z000',14498.1,-12760.1,195.770)
    set u=CreateUnit(p,'h00H',14253.1,-12285.4,226.780)
    set u=CreateUnit(p,'h00H',14258.6,-12391.8,226.780)
    set u=CreateUnit(p,'h00H',14163.0,-12290.8,226.780)
    set u=CreateUnit(p,'h00H',14168.5,-12397.2,226.780)
    set u=CreateUnit(p,'h00H',8650.1,-12713.1,226.780)
    set u=CreateUnit(p,'h00H',8655.6,-12819.5,226.780)
    set u=CreateUnit(p,'h00H',8659.4,-13127.5,226.780)
    set u=CreateUnit(p,'h00H',8664.9,-13233.9,226.780)
    set u=CreateUnit(p,'h00H',9921.7,-12445.7,226.780)
    set u=CreateUnit(p,'h00N',-4866.7,-2239.4,76.090)
    set u=CreateUnit(p,'h00N',-5000.3,-2256.6,76.090)
    set u=CreateUnit(p,'h00N',-4730.7,-2240.5,76.090)
    set u=CreateUnit(p,'hbot',-5638.7,-3774.2,215.990)
    set u=CreateUnit(p,'hbot',-5697.0,-3513.7,215.990)
    set u=CreateUnit(p,'hbot',-5902.9,-3190.2,215.990)
    set u=CreateUnit(p,'hbot',-6021.8,-2817.7,215.990)
    set u=CreateUnit(p,'h00H',-4721.5,-2510.6,76.090)
    set u=CreateUnit(p,'h00H',-4722.5,-2622.7,76.090)
    set u=CreateUnit(p,'h00H',-4846.7,-2632.6,76.090)
    set u=CreateUnit(p,'h00H',-4974.5,-2632.6,76.090)
    set u=CreateUnit(p,'h00H',-4981.7,-2403.5,76.090)
    set u=CreateUnit(p,'h00H',-4872.2,-2392.6,76.090)
    set u=CreateUnit(p,'h00H',-4724.0,-2376.0,76.090)
    set u=CreateUnit(p,'h00H',-4980.0,-2526.2,76.090)
    set u=CreateUnit(p,'h00H',-4853.0,-2515.8,76.090)
    set u=CreateUnit(p,'H02M',13774.0,-9938.9,182.730)
    set u=CreateUnit(p,'h00Y',-4864.3,-2771.5,302.342)
endfunction

//===========================================================================
function CreateBuildingsForStartUpOfPlayer4 takes nothing returns nothing
    local player p=Player(4)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h01H',-12352.0,960.0,270.000)
    set u=CreateUnit(p,'h01G',-11008.0,448.0,270.000)
    set u=CreateUnit(p,'n002',-11808.0,96.0,270.000)
    set u=CreateUnit(p,'n002',-12000.0,224.0,270.000)
    set u=CreateUnit(p,'n002',-13664.0,-13088.0,270.000)
    set u=CreateUnit(p,'n002',-13472.0,-12192.0,270.000)
    set u=CreateUnit(p,'n002',-13664.0,-12640.0,270.000)
    set u=CreateUnit(p,'n002',-10592.0,-9504.0,270.000)
    set u=CreateUnit(p,'n002',-10528.0,-10144.0,270.000)
    set u=CreateUnit(p,'hgtw',-9472.0,-9664.0,270.000)
    set u=CreateUnit(p,'hgtw',-9472.0,-10304.0,270.000)
    set u=CreateUnit(p,'hgtw',-14848.0,-12352.0,270.000)
    set u=CreateUnit(p,'hgtw',-14144.0,-12352.0,270.000)
    set u=CreateUnit(p,'hgtw',-14720.0,-9216.0,270.000)
endfunction

//===========================================================================
function CreateUnitsForStartUpOfPlayer4 takes nothing returns nothing
    local player p=Player(4)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h00M',-11564.4,686.9,313.910)
    set u=CreateUnit(p,'h00M',-11421.7,694.4,313.910)
    set u=CreateUnit(p,'h00M',-11496.4,855.9,313.910)
    set u=CreateUnit(p,'hbot',-12335.7,1419.7,92.540)
    set u=CreateUnit(p,'hbot',-12173.4,1478.1,92.540)
    set u=CreateUnit(p,'hbot',-11952.7,1696.3,92.540)
    set u=CreateUnit(p,'hbot',-12571.9,1449.0,92.540)
    set u=CreateUnit(p,'H02D',-14483.2,-12197.9,71.018)
    set u=CreateUnit(p,'h00H',-11383.4,449.9,288.990)
    set u=CreateUnit(p,'h00H',-11643.6,557.0,288.990)
    set u=CreateUnit(p,'h00H',-11534.2,568.0,288.990)
    set u=CreateUnit(p,'h00H',-11385.9,584.5,288.990)
    set u=CreateUnit(p,'h00H',-11641.9,434.3,288.990)
    set u=CreateUnit(p,'h00H',-11514.9,444.7,288.990)
    set u=CreateUnit(p,'h00H',-11384.4,337.8,288.990)
    set u=CreateUnit(p,'h00H',-11508.6,327.9,288.990)
    set u=CreateUnit(p,'h00H',-11636.4,327.9,288.990)
    set u=CreateUnit(p,'h00H',-11331.2,-301.1,288.990)
    set u=CreateUnit(p,'h00H',-11455.4,-311.0,288.990)
    set u=CreateUnit(p,'h00H',-11583.2,-311.0,288.990)
    set u=CreateUnit(p,'h00H',-11450.6,-412.8,288.990)
    set u=CreateUnit(p,'h00H',-14015.0,-12340.2,76.090)
    set u=CreateUnit(p,'h00H',-14365.7,-12612.6,76.090)
    set u=CreateUnit(p,'h00H',-14490.0,-12622.5,76.090)
    set u=CreateUnit(p,'h00H',-14617.8,-12622.5,76.090)
    set u=CreateUnit(p,'h00H',-14976.4,-12352.6,76.090)
    set u=CreateUnit(p,'h00H',-14709.6,-12340.2,76.090)
    set u=CreateUnit(p,'h00H',-14259.6,-12346.4,76.090)
    set u=CreateUnit(p,'h00H',-13719.0,-12086.1,76.090)
    set u=CreateUnit(p,'h00H',-14496.2,-12505.7,76.090)
    set u=CreateUnit(p,'h00H',-13788.4,-12199.9,76.090)
    set u=CreateUnit(p,'h00H',-13793.0,-12298.9,146.070)
    set u=CreateUnit(p,'h00H',-13791.4,-12394.3,146.070)
    set u=CreateUnit(p,'h00H',-13804.4,-12508.0,146.070)
    set u=CreateUnit(p,'h00H',-13788.0,-12917.8,146.070)
    set u=CreateUnit(p,'h00H',-13790.5,-13025.2,146.070)
    set u=CreateUnit(p,'h00H',-13797.2,-13132.2,146.070)
    set u=CreateUnit(p,'h00H',-10083.9,-9537.2,288.990)
    set u=CreateUnit(p,'h00H',-10078.0,-9625.9,288.990)
    set u=CreateUnit(p,'h00H',-10066.9,-9778.9,288.990)
    set u=CreateUnit(p,'h00H',-10061.0,-9867.6,288.990)
    set u=CreateUnit(p,'h00H',-10065.8,-10022.4,288.990)
    set u=CreateUnit(p,'h00H',-10059.8,-10111.1,288.990)
    set u=CreateUnit(p,'h00H',-10064.7,-10269.4,288.990)
    set u=CreateUnit(p,'h00H',-10058.8,-10358.1,288.990)
    set u=CreateUnit(p,'h00H',-9450.3,-10161.0,288.990)
    set u=CreateUnit(p,'h00H',-9442.0,-10403.7,288.990)
    set u=CreateUnit(p,'h00H',-9463.5,-9772.8,288.990)
    set u=CreateUnit(p,'h00H',-9452.7,-9505.2,288.990)
    set u=CreateUnit(p,'h00H',-10168.9,-10049.7,288.990)
    set u=CreateUnit(p,'h00H',-10164.9,-9810.7,288.990)
    set u=CreateUnit(p,'h00H',-10185.6,-9574.7,288.990)
    set u=CreateUnit(p,'h00H',-10155.3,-10313.7,288.990)
    set u=CreateUnit(p,'h00H',-10052.4,-10851.4,288.990)
    set u=CreateUnit(p,'h00H',-10176.6,-10861.3,288.990)
    set u=CreateUnit(p,'h00H',-10304.4,-10861.3,288.990)
    set u=CreateUnit(p,'h00H',-9668.8,-10838.2,288.990)
    set u=CreateUnit(p,'h00H',-9793.1,-10848.1,288.990)
    set u=CreateUnit(p,'h00H',-9920.9,-10848.1,288.990)
    set u=CreateUnit(p,'h00H',-14732.7,-9087.1,288.990)
    set u=CreateUnit(p,'h00H',-14621.0,-9299.5,288.990)
    set u=CreateUnit(p,'h00H',-14347.0,-12757.2,76.090)
    set u=CreateUnit(p,'h00H',-14471.3,-12767.1,76.090)
    set u=CreateUnit(p,'h00H',-14599.1,-12767.1,76.090)
    set u=CreateUnit(p,'h00Y',-11459.0,-197.6,77.687)
endfunction

//===========================================================================
function CreateBuildingsForStartUpOfPlayer5 takes nothing returns nothing
    local player p=Player(5)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h00A',-13696.0,-6976.0,270.000)
    set u=CreateUnit(p,'h003',-13056.0,-5248.0,270.000)
    set u=CreateUnit(p,'n002',-13088.0,-6176.0,270.000)
    set u=CreateUnit(p,'n002',-12960.0,-5856.0,270.000)
    set u=CreateUnit(p,'n002',-14048.0,-5152.0,270.000)
    set u=CreateUnit(p,'h01C',-12928.0,-6720.0,270.000)
    set u=CreateUnit(p,'hgtw',-12736.0,-4672.0,270.000)
    set u=CreateUnit(p,'hgtw',-11904.0,-6080.0,270.000)
    set u=CreateUnit(p,'hgtw',-13632.0,-6144.0,270.000)
endfunction

//===========================================================================
function CreateUnitsForStartUpOfPlayer5 takes nothing returns nothing
    local player p=Player(5)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h00D',-12642.0,-6180.8,92.720)
    set u=CreateUnit(p,'h00H',-12381.9,-5945.1,92.720)
    set u=CreateUnit(p,'h00H',-12382.8,-6057.2,92.720)
    set u=CreateUnit(p,'h00H',-12507.1,-6067.1,92.720)
    set u=CreateUnit(p,'h00H',-12634.9,-6067.1,92.720)
    set u=CreateUnit(p,'h00H',-12642.1,-5838.1,92.720)
    set u=CreateUnit(p,'h00H',-12532.6,-5827.1,92.720)
    set u=CreateUnit(p,'h00H',-12384.4,-5810.5,92.720)
    set u=CreateUnit(p,'h00H',-12640.4,-5960.7,92.720)
    set u=CreateUnit(p,'h00H',-12513.4,-5950.3,92.720)
    set u=CreateUnit(p,'hbot',-14574.7,-2311.2,81.150)
    set u=CreateUnit(p,'hbot',-14314.6,-2312.6,81.150)
    set u=CreateUnit(p,'hbot',-14833.9,-2270.4,81.150)
    set u=CreateUnit(p,'hbot',-14032.4,-2305.6,81.150)
    set u=CreateUnit(p,'H02F',-12534.4,-5656.6,81.910)
    call SetUnitState(u,UNIT_STATE_MANA,15)
    set u=CreateUnit(p,'h00D',-12516.4,-6181.2,92.720)
    set u=CreateUnit(p,'h00D',-12399.0,-6191.3,92.720)
    set u=CreateUnit(p,'h00D',-12397.1,-6311.8,92.720)
    set u=CreateUnit(p,'h00D',-12527.9,-6282.7,92.720)
    set u=CreateUnit(p,'h00D',-12642.5,-6284.2,92.720)
    set u=CreateUnit(p,'h00Y',-12808.0,-6368.1,132.279)
endfunction

//===========================================================================
function CreateBuildingsForStartUpOfPlayer6 takes nothing returns nothing
    local player p=Player(6)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'hgtw',3584.0,-4224.0,270.000)
    set u=CreateUnit(p,'h027',4032.0,-4416.0,270.000)
    set u=CreateUnit(p,'h026',3904.0,-6336.0,270.000)
    set u=CreateUnit(p,'h00A',3584.0,-6784.0,270.000)
    set u=CreateUnit(p,'n002',4320.0,-5088.0,270.000)
    set u=CreateUnit(p,'n002',4128.0,-5088.0,270.000)
endfunction

//===========================================================================
function CreateUnitsForStartUpOfPlayer6 takes nothing returns nothing
    local player p=Player(6)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'H02E',4323.2,-4690.0,288.990)
    call SetUnitState(u,UNIT_STATE_MANA,15)
    set u=CreateUnit(p,'h02C',4584.0,-4828.4,283.650)
    set u=CreateUnit(p,'h02C',4726.5,-4812.3,283.650)
    set u=CreateUnit(p,'h00H',4708.3,-4586.9,288.990)
    set u=CreateUnit(p,'h00H',4707.3,-4699.0,288.990)
    set u=CreateUnit(p,'h00H',4583.1,-4708.9,288.990)
    set u=CreateUnit(p,'h00H',4455.2,-4708.9,288.990)
    set u=CreateUnit(p,'h00H',4448.1,-4479.8,288.990)
    set u=CreateUnit(p,'h00H',4557.5,-4468.9,288.990)
    set u=CreateUnit(p,'h00H',4705.8,-4452.3,288.990)
    set u=CreateUnit(p,'h00H',4449.8,-4602.5,288.990)
    set u=CreateUnit(p,'h00H',4576.8,-4592.1,288.990)
    set u=CreateUnit(p,'h02C',4452.7,-4802.9,283.650)
    set u=CreateUnit(p,'hbot',4123.7,-3901.0,103.970)
    set u=CreateUnit(p,'hbot',4361.0,-3963.5,108.970)
    set u=CreateUnit(p,'hbot',4590.7,-3967.9,103.970)
    set u=CreateUnit(p,'hbot',4815.5,-3981.8,103.970)
    set u=CreateUnit(p,'h00Y',4105.6,-4812.6,317.493)
endfunction

//===========================================================================
function CreateBuildingsForStartUpOfPlayer7 takes nothing returns nothing
    local player p=Player(7)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h01M',-2880.0,2624.0,270.000)
    set u=CreateUnit(p,'h01N',-4416.0,4224.0,270.000)
    set u=CreateUnit(p,'h00A',-2752.0,2176.0,270.000)
    set u=CreateUnit(p,'n002',-3296.0,3744.0,270.000)
endfunction

//===========================================================================
function CreateUnitsForStartUpOfPlayer7 takes nothing returns nothing
    local player p=Player(7)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h00H',-3436.1,3033.2,226.780)
    set u=CreateUnit(p,'h00H',-3437.0,2921.1,226.780)
    set u=CreateUnit(p,'h00H',-3561.3,2911.2,226.780)
    set u=CreateUnit(p,'h00H',-3689.1,2911.2,226.780)
    set u=CreateUnit(p,'h00H',-3694.6,3017.6,226.780)
    set u=CreateUnit(p,'h00H',-3567.6,3028.0,226.780)
    set u=CreateUnit(p,'h00H',-3429.8,2795.3,226.780)
    set u=CreateUnit(p,'h00H',-3430.8,2683.2,226.780)
    set u=CreateUnit(p,'h00H',-3555.0,2673.3,226.780)
    set u=CreateUnit(p,'h00H',-3682.8,2673.3,226.780)
    set u=CreateUnit(p,'h00H',-3688.3,2779.7,226.780)
    set u=CreateUnit(p,'h00H',-3561.3,2790.1,226.780)
    set u=CreateUnit(p,'h010',-3385.1,3288.2,138.030)
    set u=CreateUnit(p,'h010',-3252.7,3335.6,116.415)
    set u=CreateUnit(p,'h010',-3378.5,3134.6,116.689)
    set u=CreateUnit(p,'hbot',-6640.4,4752.2,103.970)
    set u=CreateUnit(p,'hbot',-6350.0,4785.8,103.970)
    set u=CreateUnit(p,'hbot',-6103.0,4799.3,103.970)
    set u=CreateUnit(p,'hbot',-5892.1,4792.5,103.970)
    set u=CreateUnit(p,'H02K',-3508.9,3322.5,138.030)
    call SetUnitState(u,UNIT_STATE_MANA,15)
    set u=CreateUnit(p,'h00Y',-3284.5,2973.4,151.990)
endfunction

//===========================================================================
function CreateBuildingsForStartUpOfPlayer8 takes nothing returns nothing
    local player p=Player(8)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h00A',-8384.0,1024.0,270.000)
    set u=CreateUnit(p,'h00A',-6848.0,2816.0,270.000)
    set u=CreateUnit(p,'h01V',-7360.0,3456.0,270.000)
    set u=CreateUnit(p,'h01X',-7872.0,960.0,270.000)
    set u=CreateUnit(p,'h01U',-8256.0,3904.0,270.000)
    set u=CreateUnit(p,'n002',-6880.0,3680.0,270.000)
    set u=CreateUnit(p,'n002',-6880.0,3360.0,270.000)
endfunction

//===========================================================================
function CreateUnitsForStartUpOfPlayer8 takes nothing returns nothing
    local player p=Player(8)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h00L',-6766.5,3205.3,283.650)
    set u=CreateUnit(p,'h00L',-6873.1,3205.3,283.650)
    set u=CreateUnit(p,'h00L',-6979.8,3205.3,283.650)
    set u=CreateUnit(p,'h00H',-7107.3,2640.2,226.780)
    set u=CreateUnit(p,'h00H',-7108.3,2528.1,226.780)
    set u=CreateUnit(p,'h00H',-7232.5,2518.1,226.780)
    set u=CreateUnit(p,'h00H',-7360.3,2518.1,226.780)
    set u=CreateUnit(p,'h00H',-7367.5,2747.2,226.780)
    set u=CreateUnit(p,'h00H',-7258.1,2758.2,226.780)
    set u=CreateUnit(p,'h00H',-7109.8,2774.8,226.780)
    set u=CreateUnit(p,'h00H',-7365.8,2624.5,226.780)
    set u=CreateUnit(p,'h00H',-7238.8,2634.9,226.780)
    set u=CreateUnit(p,'h00H',-7101.1,2402.2,226.780)
    set u=CreateUnit(p,'h00H',-7359.5,2386.6,226.780)
    set u=CreateUnit(p,'h00H',-7232.5,2397.0,226.780)
    set u=CreateUnit(p,'hbot',-7800.4,2653.5,210.210)
    set u=CreateUnit(p,'hbot',-7800.3,3811.1,210.210)
    set u=CreateUnit(p,'hbot',-7780.2,3570.8,210.210)
    set u=CreateUnit(p,'hbot',-7765.1,2865.6,210.210)
    set u=CreateUnit(p,'H02I',-7096.5,3002.1,226.780)
    call SetUnitState(u,UNIT_STATE_MANA,15)
    set u=CreateUnit(p,'h00Y',-7263.6,3057.2,40.870)
endfunction

//===========================================================================
function CreateBuildingsForStartUpOfPlayer9 takes nothing returns nothing
    local player p=Player(9)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h01S',-8768.0,6272.0,270.000)
    set u=CreateUnit(p,'h009',-7488.0,6976.0,270.000)
    set u=CreateUnit(p,'hgtw',-8000.0,7296.0,270.000)
    set u=CreateUnit(p,'hgtw',-7744.0,5888.0,270.000)
    set u=CreateUnit(p,'hgtw',-8832.0,5760.0,270.000)
    set u=CreateUnit(p,'n002',-8032.0,6368.0,270.000)
endfunction

//===========================================================================
function CreateUnitsForStartUpOfPlayer9 takes nothing returns nothing
    local player p=Player(9)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h011',-8420.5,6819.4,158.610)
    set u=CreateUnit(p,'h011',-8248.2,6911.3,158.610)
    set u=CreateUnit(p,'h011',-8439.9,6645.5,158.610)
    set u=CreateUnit(p,'hbot',-10610.4,6790.6,210.210)
    set u=CreateUnit(p,'hbot',-10761.3,6952.0,210.210)
    set u=CreateUnit(p,'hbot',-10493.9,6618.9,210.210)
    set u=CreateUnit(p,'hbot',-10808.4,7187.9,210.210)
    set u=CreateUnit(p,'h00H',-8057.0,6192.6,158.610)
    set u=CreateUnit(p,'h00H',-8057.9,6080.5,158.610)
    set u=CreateUnit(p,'h00H',-8182.2,6070.6,158.610)
    set u=CreateUnit(p,'h00H',-8310.0,6070.6,158.610)
    set u=CreateUnit(p,'h00H',-8315.4,6177.0,158.610)
    set u=CreateUnit(p,'h00H',-8188.4,6187.4,158.610)
    set u=CreateUnit(p,'h00H',-8052.0,5988.0,158.610)
    set u=CreateUnit(p,'h00H',-8310.5,5972.4,158.610)
    set u=CreateUnit(p,'h00H',-8183.5,5982.8,158.610)
    set u=CreateUnit(p,'H02J',-7977.5,6994.6,158.610)
    call SetUnitState(u,UNIT_STATE_MANA,15)
    set u=CreateUnit(p,'h00Y',-8254.7,6669.0,159.625)
endfunction

//===========================================================================
function CreateBuildingsForStartUpOfPlayer10 takes nothing returns nothing
    local player p=Player(10)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'u004',4096.0,-10368.0,270.000)
    set u=CreateUnit(p,'u004',4800.0,-10496.0,270.000)
    set u=CreateUnit(p,'u004',4160.0,-12736.0,270.000)
    set u=CreateUnit(p,'u004',4224.0,-12160.0,270.000)
    set u=CreateUnit(p,'u004',-2048.0,-12608.0,270.000)
    set u=CreateUnit(p,'u004',-12032.0,-13056.0,270.000)
    set u=CreateUnit(p,'u004',-12608.0,-12352.0,270.000)
    set u=CreateUnit(p,'u004',-13504.0,-10560.0,270.000)
    set u=CreateUnit(p,'u004',-1088.0,-12160.0,270.000)
    set u=CreateUnit(p,'u004',-1472.0,-12608.0,270.000)
endfunction

//===========================================================================
function CreateUnitsForStartUpOfPlayer10 takes nothing returns nothing
    local player p=Player(10)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'n000',-10125.5,-12780.4,111.833)
    set u=CreateUnit(p,'n000',-10056.2,-12780.4,111.833)
    set u=CreateUnit(p,'n000',-8685.6,-11673.8,170.403)
    set u=CreateUnit(p,'n000',-8849.7,-12095.5,267.042)
    set u=CreateUnit(p,'n000',-8416.2,-11755.1,115.953)
    set u=CreateUnit(p,'n000',-8806.8,-12644.7,70.776)
    set u=CreateUnit(p,'n000',-8759.8,-12962.9,6.317)
    set u=CreateUnit(p,'n000',-8091.3,-13217.9,260.252)
    set u=CreateUnit(p,'n000',-7661.1,-12447.8,356.308)
    set u=CreateUnit(p,'n000',-7339.3,-12874.0,306.868)
    set u=CreateUnit(p,'n000',-7735.8,-12893.3,88.454)
    set u=CreateUnit(p,'n000',-7187.4,-12447.8,195.837)
    set u=CreateUnit(p,'n000',-12854.9,-10403.0,333.764)
    set u=CreateUnit(p,'n000',-13064.4,-10833.6,103.824)
    set u=CreateUnit(p,'n000',-12774.6,-11331.3,346.278)
    set u=CreateUnit(p,'n000',-13022.5,-10608.2,180.489)
    set u=CreateUnit(p,'n000',9467.0,915.3,138.179)
    set u=CreateUnit(p,'n000',-12107.3,-12522.8,66.975)
    set u=CreateUnit(p,'n000',-11903.8,-12812.2,79.862)
    set u=CreateUnit(p,'n000',-11710.6,-13004.3,182.170)
    set u=CreateUnit(p,'n000',-11547.3,-12641.1,111.833)
    set u=CreateUnit(p,'n000',-11966.6,-12646.6,259.725)
    set u=CreateUnit(p,'n000',-11050.8,-12558.4,152.978)
    set u=CreateUnit(p,'n000',-11144.6,-12002.7,110.822)
    set u=CreateUnit(p,'n000',-11270.1,-12143.4,126.314)
    set u=CreateUnit(p,'n000',-11542.3,-11506.9,8.833)
    set u=CreateUnit(p,'n000',-11572.4,-10376.2,151.187)
    set u=CreateUnit(p,'n000',-11863.9,-9547.2,63.459)
    set u=CreateUnit(p,'n000',-12231.5,-9240.3,301.617)
    set u=CreateUnit(p,'n000',-11590.3,-10128.8,287.499)
    set u=CreateUnit(p,'n000',-12566.7,-10523.3,62.789)
    set u=CreateUnit(p,'n000',-12229.7,-10613.4,309.494)
    set u=CreateUnit(p,'n000',-12759.0,-9118.8,325.469)
    set u=CreateUnit(p,'n000',-12635.6,-9311.5,14.601)
    set u=CreateUnit(p,'n000',-13103.9,-9161.7,272.118)
    set u=CreateUnit(p,'n000',-3622.5,-9775.3,319.525)
    set u=CreateUnit(p,'n000',9539.1,909.5,94.694)
    set u=CreateUnit(p,'n000',-3925.5,-11480.8,106.219)
    set u=CreateUnit(p,'n000',-3562.1,-11441.0,172.754)
    set u=CreateUnit(p,'n000',-3841.9,-11219.4,117.129)
    set u=CreateUnit(p,'n000',-3917.8,-11244.3,158.867)
    set u=CreateUnit(p,'n000',-4010.6,-12198.6,262.603)
    set u=CreateUnit(p,'n000',-3963.8,-12511.6,128.972)
    set u=CreateUnit(p,'n000',-3326.6,-12628.5,169.557)
    set u=CreateUnit(p,'n000',-2845.6,-12467.0,250.935)
    set u=CreateUnit(p,'n000',-1716.0,-11301.1,84.476)
    set u=CreateUnit(p,'n000',-1143.6,-11209.4,140.519)
    set u=CreateUnit(p,'n000',-9981.9,-12780.4,111.833)
    set u=CreateUnit(p,'n000',-10121.6,-12880.5,111.833)
    set u=CreateUnit(p,'n000',-10052.3,-12880.5,111.833)
    set u=CreateUnit(p,'n000',-9978.0,-12880.5,111.833)
    set u=CreateUnit(p,'n000',-10330.8,-12774.6,111.833)
    set u=CreateUnit(p,'n000',-10261.5,-12774.6,111.833)
    set u=CreateUnit(p,'n000',-10187.2,-12774.6,111.833)
    set u=CreateUnit(p,'n000',-10326.9,-12874.7,111.833)
    set u=CreateUnit(p,'n000',-10257.6,-12874.7,111.833)
    set u=CreateUnit(p,'n000',-10183.3,-12874.7,111.833)
    set u=CreateUnit(p,'n000',9493.8,830.1,351.518)
    set u=CreateUnit(p,'n000',4128.4,-10693.4,148.770)
    set u=CreateUnit(p,'n000',4526.2,-10659.9,318.350)
    set u=CreateUnit(p,'n000',4406.5,-10911.1,99.078)
    set u=CreateUnit(p,'n000',4257.0,-10778.8,355.452)
    set u=CreateUnit(p,'n000',4388.0,-10673.3,221.722)
    set u=CreateUnit(p,'n000',4426.3,-10612.1,310.637)
    set u=CreateUnit(p,'n000',4564.9,-10917.2,249.870)
    set u=CreateUnit(p,'n000',4475.7,-10923.3,146.727)
    set u=CreateUnit(p,'n000',4202.5,-11009.9,327.260)
    set u=CreateUnit(p,'n000',3676.9,-11458.2,202.308)
    set u=CreateUnit(p,'n000',3665.1,-11364.3,74.501)
    set u=CreateUnit(p,'n000',4508.8,-12920.1,106.724)
    set u=CreateUnit(p,'n000',4747.2,-12963.8,38.970)
    set u=CreateUnit(p,'n000',4540.1,-12683.5,302.979)
    set u=CreateUnit(p,'n000',4627.4,-12289.1,321.635)
    set u=CreateUnit(p,'n000',4751.1,-12761.0,75.039)
    set u=CreateUnit(p,'n000',7255.7,-11316.7,344.377)
    set u=CreateUnit(p,'n000',7535.7,-11224.5,343.685)
    set u=CreateUnit(p,'n000',7381.6,-10736.0,125.336)
    set u=CreateUnit(p,'n000',7274.0,-10686.4,163.284)
    set u=CreateUnit(p,'n000',7124.1,-10688.0,275.370)
    set u=CreateUnit(p,'n000',7198.9,-11129.1,306.583)
    set u=CreateUnit(p,'n000',7188.9,-10338.4,298.914)
    set u=CreateUnit(p,'n000',7525.5,-11639.6,102.626)
    set u=CreateUnit(p,'n000',7720.3,-11576.5,233.576)
endfunction

//===========================================================================
function CreateBuildingsForStartUpOfPlayer11 takes nothing returns nothing
    local player p=Player(11)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'u004',-5440.0,-12160.0,270.000)
    set u=CreateUnit(p,'u004',-4544.0,-12608.0,270.000)
    set u=CreateUnit(p,'u004',-6400.0,-9152.0,270.000)
    set u=CreateUnit(p,'u004',11328.0,-9216.0,270.000)
    set u=CreateUnit(p,'u004',9984.0,-11008.0,270.000)
    set u=CreateUnit(p,'u004',-6400.0,-10176.0,270.000)
    set u=CreateUnit(p,'u004',6336.0,-9344.0,270.000)
    set u=CreateUnit(p,'u004',9152.0,-11136.0,270.000)
    set u=CreateUnit(p,'u004',1408.0,-11904.0,270.000)
    set u=CreateUnit(p,'u004',1408.0,-11264.0,270.000)
endfunction

//===========================================================================
function CreateUnitsForStartUpOfPlayer11 takes nothing returns nothing
    local player p=Player(11)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'n000',13895.0,9724.3,190.553)
    set u=CreateUnit(p,'n000',-7168.0,-9804.1,209.960)
    set u=CreateUnit(p,'n000',-7164.2,-9917.7,209.960)
    set u=CreateUnit(p,'n000',-7165.5,-10032.0,209.960)
    set u=CreateUnit(p,'n000',-7161.8,-10145.6,209.960)
    set u=CreateUnit(p,'n000',-7168.1,-9564.1,209.960)
    set u=CreateUnit(p,'n000',-7164.3,-9677.7,209.960)
    set u=CreateUnit(p,'n000',-7066.1,-9571.3,209.960)
    set u=CreateUnit(p,'n000',-7062.4,-9684.8,209.960)
    set u=CreateUnit(p,'n000',-6972.9,-9556.9,209.960)
    set u=CreateUnit(p,'n000',-6969.2,-9670.5,209.960)
    set u=CreateUnit(p,'n000',-7073.5,-9794.8,209.960)
    set u=CreateUnit(p,'n000',-7069.8,-9908.4,209.960)
    set u=CreateUnit(p,'n000',-6980.3,-9780.5,209.960)
    set u=CreateUnit(p,'n000',-6976.6,-9894.0,209.960)
    set u=CreateUnit(p,'n000',-7080.7,-10013.3,209.960)
    set u=CreateUnit(p,'n000',-7077.0,-10126.9,209.960)
    set u=CreateUnit(p,'n000',-6987.5,-9998.9,209.960)
    set u=CreateUnit(p,'n000',-6983.8,-10112.5,209.960)
    set u=CreateUnit(p,'n000',-4766.6,-12267.6,224.556)
    set u=CreateUnit(p,'n000',-5019.1,-12302.6,63.096)
    set u=CreateUnit(p,'n000',-5065.3,-12662.2,222.963)
    set u=CreateUnit(p,'n000',-4844.7,-12773.8,98.946)
    set u=CreateUnit(p,'n000',-5263.0,-12497.2,104.802)
    set u=CreateUnit(p,'n000',-4772.5,-12033.8,247.771)
    set u=CreateUnit(p,'n000',-1946.4,-9206.0,129.983)
    set u=CreateUnit(p,'n000',-1561.0,-9131.1,128.203)
    set u=CreateUnit(p,'n000',-1719.5,-9324.3,206.428)
    set u=CreateUnit(p,'n000',-1768.0,-9368.9,163.624)
    set u=CreateUnit(p,'n000',-1724.6,-9131.1,352.892)
    set u=CreateUnit(p,'n000',-1182.9,-9239.4,314.614)
    set u=CreateUnit(p,'n000',-1190.1,-9179.0,110.877)
    set u=CreateUnit(p,'n000',-1422.1,-9311.4,216.822)
    set u=CreateUnit(p,'n000',-1372.4,-9239.4,103.297)
    set u=CreateUnit(p,'n000',-3362.0,-9895.4,59.822)
    set u=CreateUnit(p,'n000',-4050.8,-9628.7,25.665)
    set u=CreateUnit(p,'n000',-3050.7,-9917.8,57.856)
    set u=CreateUnit(p,'n000',-2839.6,-10161.1,356.429)
    set u=CreateUnit(p,'n000',-3457.7,-9708.7,295.926)
    set u=CreateUnit(p,'n000',-4781.8,-9539.5,7.691)
    set u=CreateUnit(p,'n000',-4509.6,-9909.0,266.317)
    set u=CreateUnit(p,'n000',-2212.4,-10294.6,232.665)
    set u=CreateUnit(p,'n000',-1546.0,-9837.2,84.092)
    set u=CreateUnit(p,'n000',-6369.9,-12456.9,302.045)
    set u=CreateUnit(p,'n000',-6236.4,-11567.6,17.546)
    set u=CreateUnit(p,'n000',-5420.6,-11271.1,88.234)
    set u=CreateUnit(p,'n000',-5169.2,-10886.0,9.921)
    set u=CreateUnit(p,'n000',-5098.6,-10339.9,351.705)
    set u=CreateUnit(p,'n000',-5099.0,-9637.2,211.878)
    set u=CreateUnit(p,'n000',5057.1,-10706.8,122.611)
    set u=CreateUnit(p,'n000',3198.1,-10212.5,107.428)
    set u=CreateUnit(p,'n000',3445.4,-9076.3,108.581)
    set u=CreateUnit(p,'n000',4179.4,-8960.1,213.042)
    set u=CreateUnit(p,'n000',3099.5,-8862.8,214.075)
    set u=CreateUnit(p,'n000',3478.4,-9866.4,340.718)
    set u=CreateUnit(p,'n000',3286.6,-10878.9,192.212)
    set u=CreateUnit(p,'n000',3240.6,-11340.3,29.367)
    set u=CreateUnit(p,'n000',3169.7,-11372.2,125.753)
    set u=CreateUnit(p,'n000',3066.5,-10854.3,128.280)
    set u=CreateUnit(p,'n000',3127.4,-10946.9,182.368)
    set u=CreateUnit(p,'n000',3101.3,-11571.4,351.639)
    set u=CreateUnit(p,'n000',3299.5,-10452.4,188.026)
    set u=CreateUnit(p,'n000',1686.0,-11264.2,179.280)
    set u=CreateUnit(p,'n000',1666.8,-11695.4,179.236)
    set u=CreateUnit(p,'n000',1659.1,-11745.3,334.830)
    set u=CreateUnit(p,'n000',1491.9,-11539.5,155.384)
    set u=CreateUnit(p,'n000',1306.8,-11539.5,16.810)
    set u=CreateUnit(p,'n000',1259.4,-11539.5,27.917)
    set u=CreateUnit(p,'n000',1166.3,-11592.5,42.299)
    set u=CreateUnit(p,'n000',1179.1,-11695.4,305.748)
    set u=CreateUnit(p,'n000',1158.0,-11806.3,222.040)
    set u=CreateUnit(p,'n000',2226.5,-11573.0,70.963)
    set u=CreateUnit(p,'n000',2568.7,-11573.0,331.193)
    set u=CreateUnit(p,'n000',8513.6,-10790.0,337.280)
    set u=CreateUnit(p,'n000',8445.0,-10467.3,349.716)
    set u=CreateUnit(p,'n000',8299.5,-9234.7,260.076)
    set u=CreateUnit(p,'n000',8669.4,-9034.7,345.260)
    set u=CreateUnit(p,'n000',9713.4,-10872.3,71.501)
    set u=CreateUnit(p,'n000',9590.5,-10463.3,68.425)
    set u=CreateUnit(p,'n000',10095.3,-9816.9,158.021)
    set u=CreateUnit(p,'n000',10465.6,-9170.0,120.020)
    set u=CreateUnit(p,'n000',11257.0,-9399.3,3.538)
    set u=CreateUnit(p,'n000',11515.1,-9399.3,182.412)
    set u=CreateUnit(p,'n000',11381.8,-10398.7,256.407)
    set u=CreateUnit(p,'n000',11553.0,-11056.1,306.517)
    set u=CreateUnit(p,'n000',11327.0,-11459.2,308.593)
    set u=CreateUnit(p,'n000',11335.4,-9975.4,193.047)
    set u=CreateUnit(p,'n000',13950.6,9879.4,190.553)
    set u=CreateUnit(p,'n000',13847.9,9824.1,257.363)
endfunction

//===========================================================================
function CreateNeutralHostileBuildings takes nothing returns nothing
    local player p=Player(PLAYER_NEUTRAL_AGGRESSIVE)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'n001',-8992.0,-7072.0,270.000)
    set u=CreateUnit(p,'h01Q',-9472.0,7872.0,270.000)
    set u=CreateUnit(p,'h01R',-5824.0,8896.0,270.000)
    set u=CreateUnit(p,'h01T',-10048.0,10304.0,270.000)
    set u=CreateUnit(p,'h019',-14912.0,4736.0,270.000)
    set u=CreateUnit(p,'h017',-13824.0,6464.0,270.000)
    set u=CreateUnit(p,'h016',-12416.0,8768.0,270.000)
    set u=CreateUnit(p,'hgtw',-5440.0,9024.0,270.000)
    set u=CreateUnit(p,'h00U',5504.0,2048.0,270.000)
    set u=CreateUnit(p,'h00V',12416.0,6144.0,270.000)
    set u=CreateUnit(p,'h00W',10112.0,6464.0,270.000)
    set u=CreateUnit(p,'h014',576.0,1408.0,270.000)
    set u=CreateUnit(p,'h01Y',12544.0,3072.0,270.000)
    set u=CreateUnit(p,'h015',2880.0,-64.0,270.000)
    set u=CreateUnit(p,'hgtw',2496.0,192.0,270.000)
    set u=CreateUnit(p,'h01I',-5952.0,-6016.0,270.000)
    set u=CreateUnit(p,'h01J',-6528.0,-4544.0,270.000)
    set u=CreateUnit(p,'hgtw',-7232.0,-3840.0,270.000)
    set u=CreateUnit(p,'h006',-9984.0,3136.0,270.000)
    set u=CreateUnit(p,'hgtw',8256.0,-6912.0,270.000)
    set u=CreateUnit(p,'h00X',3328.0,6848.0,270.000)
    set u=CreateUnit(p,'h01P',-5440.0,2624.0,270.000)
    set u=CreateUnit(p,'h000',3776.0,1728.0,270.000)
    set u=CreateUnit(p,'h001',3840.0,4352.0,270.000)
    set u=CreateUnit(p,'h002',-5952.0,-1024.0,270.000)
    set u=CreateUnit(p,'h004',-11520.0,-1536.0,270.000)
    set u=CreateUnit(p,'h007',-4032.0,1600.0,270.000)
    set u=CreateUnit(p,'h008',-576.0,-2816.0,270.000)
    set u=CreateUnit(p,'h01W',-9664.0,1984.0,270.000)
    set u=CreateUnit(p,'hgtw',8256.0,-7296.0,270.000)
    set u=CreateUnit(p,'hgtw',2432.0,-4416.0,270.000)
    set u=CreateUnit(p,'hgtw',6464.0,-6656.0,270.000)
    set u=CreateUnit(p,'h01F',-9728.0,-768.0,270.000)
    set u=CreateUnit(p,'n001',-15456.0,-416.0,270.000)
    set u=CreateUnit(p,'n001',-9056.0,-5472.0,270.000)
    set u=CreateUnit(p,'hgtw',-12544.0,-3392.0,270.000)
    set u=CreateUnit(p,'hgtw',12928.0,2816.0,270.000)
    set u=CreateUnit(p,'h029',1856.0,-5696.0,270.000)
    set u=CreateUnit(p,'h028',2240.0,-4800.0,270.000)
    set u=CreateUnit(p,'h01E',-11264.0,-4736.0,270.000)
    set u=CreateUnit(p,'h01D',-13376.0,-3136.0,270.000)
    set u=CreateUnit(p,'h018',-13120.0,5184.0,270.000)
    set u=CreateUnit(p,'h023',128.0,-1856.0,270.000)
    set u=CreateUnit(p,'h022',-2496.0,-1920.0,270.000)
    set u=CreateUnit(p,'hgtw',-2688.0,-2240.0,270.000)
    set u=CreateUnit(p,'h02Y',14720.0,-3136.0,270.000)
    set u=CreateUnit(p,'h03K',5440.0,-2368.0,270.000)
    set u=CreateUnit(p,'h033',10944.0,-448.0,270.000)
    set u=CreateUnit(p,'h02N',10624.0,-7424.0,270.000)
    set u=CreateUnit(p,'h038',-576.0,512.0,270.000)
    set u=CreateUnit(p,'h03C',14336.0,-7296.0,270.000)
    set u=CreateUnit(p,'hgtw',-9216.0,1984.0,270.000)
    set u=CreateUnit(p,'hgtw',-9856.0,3520.0,270.000)
    set u=CreateUnit(p,'hgtw',2112.0,-6144.0,270.000)
    set u=CreateUnit(p,'h00E',-13376.0,10240.0,270.000)
    set u=CreateUnit(p,'h00F',-14016.0,8384.0,270.000)
    set u=CreateUnit(p,'h00G',-15168.0,6720.0,270.000)
    set u=CreateUnit(p,'h02R',1216.0,-3584.0,270.000)
    set u=CreateUnit(p,'h034',11264.0,-2880.0,270.000)
    set u=CreateUnit(p,'h036',13632.0,320.0,270.000)
    set u=CreateUnit(p,'h00A',-13952.0,1088.0,270.000)
    set u=CreateUnit(p,'h01B',-14784.0,-4352.0,270.000)
    set u=CreateUnit(p,'h035',6784.0,0.0,270.000)
    set u=CreateUnit(p,'hgtw',-12928.0,5504.0,270.000)
    set u=CreateUnit(p,'h00J',-7488.0,9472.0,270.000)
    set u=CreateUnit(p,'h00Q',-6016.0,10688.0,270.000)
    set u=CreateUnit(p,'h00R',-7360.0,11840.0,270.000)
    set u=CreateUnit(p,'hgtw',-6912.0,11648.0,270.000)
    set u=CreateUnit(p,'h00S',7872.0,-5056.0,270.000)
    set u=CreateUnit(p,'h00T',6720.0,-7040.0,270.000)
    set u=CreateUnit(p,'hgtw',12096.0,6400.0,270.000)
    set u=CreateUnit(p,'h02A',5632.0,-5184.0,270.000)
    set u=CreateUnit(p,'h02S',-13632.0,1088.0,270.000)
    set u=CreateUnit(p,'h02B',1088.0,-7616.0,270.000)
    set u=CreateUnit(p,'hgtw',64.0,-7424.0,270.000)
    set u=CreateUnit(p,'h03F',-9152.0,768.0,270.000)
    set u=CreateUnit(p,'h03G',-4352.0,5504.0,270.000)
    set u=CreateUnit(p,'h039',14720.0,3968.0,270.000)
    set u=CreateUnit(p,'h02O',-2944.0,-384.0,270.000)
    set u=CreateUnit(p,'h02P',-3456.0,-4416.0,270.000)
    set u=CreateUnit(p,'h02Q',-6976.0,-2112.0,270.000)
    set u=CreateUnit(p,'h02T',-10432.0,7424.0,270.000)
    set u=CreateUnit(p,'h02U',-4224.0,10880.0,270.000)
    set u=CreateUnit(p,'h02V',-5568.0,7232.0,270.000)
    set u=CreateUnit(p,'h02W',-4160.0,6848.0,270.000)
    set u=CreateUnit(p,'n001',-2912.0,-7584.0,270.000)
    set u=CreateUnit(p,'n001',3488.0,-2080.0,270.000)
    set u=CreateUnit(p,'hgtw',-6272.0,-6208.0,270.000)
    set u=CreateUnit(p,'h03L',-7488.0,-640.0,270.000)
    set u=CreateUnit(p,'h03M',-10048.0,-3712.0,270.000)
endfunction

//===========================================================================
function CreateNeutralHostile takes nothing returns nothing
    local player p=Player(PLAYER_NEUTRAL_AGGRESSIVE)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'h030',-8940.5,-6919.8,289.740)
    set u=CreateUnit(p,'h030',-9169.3,-7093.8,17.930)
    set u=CreateUnit(p,'h030',-9465.5,2246.7,108.680)
    set u=CreateUnit(p,'h030',-9374.1,2115.0,108.680)
    set u=CreateUnit(p,'h030',-9333.8,2233.3,108.680)
    set u=CreateUnit(p,'h030',-9645.9,3349.3,108.680)
    set u=CreateUnit(p,'h030',-9711.1,3196.9,108.680)
    set u=CreateUnit(p,'h030',-9716.3,3577.9,108.680)
    set u=CreateUnit(p,'h030',-9576.8,3511.7,108.680)
    set u=CreateUnit(p,'h00H',3775.3,4063.2,150.070)
    set u=CreateUnit(p,'h030',-15137.0,5089.1,108.680)
    set u=CreateUnit(p,'h030',-15315.1,5109.5,108.680)
    set u=CreateUnit(p,'h030',-15282.8,-338.1,265.987)
    set u=CreateUnit(p,'h030',-15313.1,-636.3,140.827)
    set u=CreateUnit(p,'h030',-15264.7,5802.9,108.680)
    set u=CreateUnit(p,'h030',9961.3,-7116.7,108.680)
    set u=CreateUnit(p,'h030',9991.1,-7467.1,108.680)
    set u=CreateUnit(p,'h030',9985.4,-7714.9,108.680)
    set u=CreateUnit(p,'h025',-14977.1,6991.2,156.910)
    set u=CreateUnit(p,'h031',-13085.4,904.1,254.814)
    set u=CreateUnit(p,'h031',-13095.4,815.1,146.771)
    set u=CreateUnit(p,'h031',-13098.8,725.3,355.682)
    set u=CreateUnit(p,'h031',-13134.7,618.0,109.142)
    set u=CreateUnit(p,'h031',-13217.8,645.2,185.125)
    set u=CreateUnit(p,'h031',-13219.9,767.7,231.972)
    set u=CreateUnit(p,'h031',-13219.4,868.0,187.389)
    set u=CreateUnit(p,'h031',-13252.0,982.1,220.381)
    set u=CreateUnit(p,'h031',-3919.8,-4578.0,300.925)
    set u=CreateUnit(p,'h031',-3911.2,-4458.5,209.252)
    set u=CreateUnit(p,'h031',-3887.6,-4324.3,233.302)
    set u=CreateUnit(p,'h031',-3866.5,-4180.7,74.841)
    set u=CreateUnit(p,'h031',-3842.3,-4614.0,188.839)
    set u=CreateUnit(p,'h031',-3832.3,-4481.3,67.711)
    set u=CreateUnit(p,'h031',-3920.8,-4392.1,185.576)
    set u=CreateUnit(p,'h031',-3883.7,-4253.3,184.884)
    set u=CreateUnit(p,'h031',-3996.5,5409.9,65.931)
    set u=CreateUnit(p,'h031',-4021.9,5515.9,92.189)
    set u=CreateUnit(p,'h031',-4083.4,5615.6,252.693)
    set u=CreateUnit(p,'h030',-3893.8,5524.6,315.790)
    set u=CreateUnit(p,'h030',3455.1,-1921.6,312.768)
    set u=CreateUnit(p,'h030',3318.5,-1990.6,105.153)
    set u=CreateUnit(p,'h030',-4002.1,5713.8,171.480)
    set u=CreateUnit(p,'h030',-4179.9,5743.2,91.431)
    set u=CreateUnit(p,'h030',-7688.4,-343.9,269.085)
    set u=CreateUnit(p,'h030',-7485.4,-325.8,294.794)
    set u=CreateUnit(p,'h030',-7633.4,-196.7,197.903)
    set u=CreateUnit(p,'h030',-7239.1,-2252.0,108.680)
    set u=CreateUnit(p,'h030',-8868.7,-5329.4,79.467)
    set u=CreateUnit(p,'h030',-8913.8,-7294.6,6.427)
    set u=CreateUnit(p,'h030',-7868.1,-457.2,82.631)
    set u=CreateUnit(p,'h030',-8750.2,-7088.4,143.409)
    set u=CreateUnit(p,'hbot',-9423.4,-7303.4,215.990)
    set u=CreateUnit(p,'hbot',-9261.6,-5634.2,215.990)
    set u=CreateUnit(p,'hbot',-3059.7,-7810.5,215.990)
    set u=CreateUnit(p,'hbot',3163.0,-2108.0,215.990)
    set u=CreateUnit(p,'hbot',-15458.9,-78.1,215.990)
    set u=CreateUnit(p,'h030',409.4,-7575.8,79.467)
    set u=CreateUnit(p,'h030',650.9,-7572.9,79.467)
    set u=CreateUnit(p,'h030',543.7,-7459.3,79.467)
    set u=CreateUnit(p,'h031',336.3,-7369.7,340.340)
    set u=CreateUnit(p,'h031',313.0,-7481.8,340.340)
    set u=CreateUnit(p,'h031',403.9,-7420.3,340.340)
    set u=CreateUnit(p,'h031',-6792.4,-4137.6,340.340)
    set u=CreateUnit(p,'h031',-7135.0,-3660.1,340.340)
    set u=CreateUnit(p,'h031',-6867.8,-3505.4,340.340)
    set u=CreateUnit(p,'h031',-7095.3,-4190.0,340.340)
    set u=CreateUnit(p,'h030',-7042.4,-3979.7,108.680)
    set u=CreateUnit(p,'h030',-6938.6,-3994.4,108.680)
    set u=CreateUnit(p,'h030',-7066.1,-4070.5,108.680)
    set u=CreateUnit(p,'h030',-6968.3,-4118.6,108.680)
    set u=CreateUnit(p,'h030',-8754.4,-5363.7,108.680)
    set u=CreateUnit(p,'h030',-7247.8,-2104.4,108.680)
    set u=CreateUnit(p,'h030',-14105.5,6472.3,108.680)
    set u=CreateUnit(p,'h030',-11196.3,-5019.0,108.680)
    set u=CreateUnit(p,'h030',-11279.6,-5023.7,108.680)
    set u=CreateUnit(p,'h031',-11246.9,-5091.3,340.340)
    set u=CreateUnit(p,'h031',-11246.8,-5180.3,340.340)
    set u=CreateUnit(p,'h031',-11157.3,-5138.6,340.340)
    set u=CreateUnit(p,'h031',-14641.5,-4022.5,340.340)
    set u=CreateUnit(p,'h031',-14611.9,-4610.1,340.340)
    set u=CreateUnit(p,'h031',-14573.2,-4188.8,340.340)
    set u=CreateUnit(p,'h031',-14469.0,-4356.7,340.340)
    set u=CreateUnit(p,'h031',-14483.3,-4595.1,340.340)
    set u=CreateUnit(p,'h031',-13149.0,-2924.2,340.340)
    set u=CreateUnit(p,'h031',-13076.8,-3111.4,340.340)
    set u=CreateUnit(p,'h031',-13114.0,-3349.1,340.340)
    set u=CreateUnit(p,'h031',-12673.5,-3291.7,340.340)
    set u=CreateUnit(p,'h031',-12723.9,-3387.7,340.340)
    set u=CreateUnit(p,'h030',-12838.7,-3095.3,108.680)
    set u=CreateUnit(p,'h030',-11417.5,-1823.7,108.680)
    set u=CreateUnit(p,'h030',-11298.6,-1799.9,108.680)
    set u=CreateUnit(p,'h030',-11287.4,-1701.0,108.680)
    set u=CreateUnit(p,'h030',-9920.9,-974.0,108.680)
    set u=CreateUnit(p,'h030',-9945.5,-721.7,108.680)
    set u=CreateUnit(p,'h030',-9975.9,-858.3,108.680)
    set u=CreateUnit(p,'h030',-13883.1,1289.9,108.680)
    set u=CreateUnit(p,'h030',-13799.8,1405.2,108.680)
    set u=CreateUnit(p,'h030',-13731.9,1491.9,108.680)
    set u=CreateUnit(p,'h030',-13977.0,1210.0,108.680)
    set u=CreateUnit(p,'h030',-13044.1,5593.6,108.680)
    set u=CreateUnit(p,'h030',-13179.4,5590.0,108.680)
    set u=CreateUnit(p,'h030',-13296.7,5521.9,108.680)
    set u=CreateUnit(p,'h030',-13605.3,6647.3,108.680)
    set u=CreateUnit(p,'h030',-13571.1,6357.0,108.680)
    set u=CreateUnit(p,'h030',-14056.8,6190.0,108.680)
    set u=CreateUnit(p,'h030',-11366.9,-5015.3,108.680)
    set u=CreateUnit(p,'h030',-15448.6,5818.3,108.680)
    set u=CreateUnit(p,'h030',-15346.8,4622.9,108.680)
    set u=CreateUnit(p,'h030',-15133.1,4625.4,108.680)
    set u=CreateUnit(p,'h030',-12686.7,8780.5,108.680)
    set u=CreateUnit(p,'h030',-12674.2,8582.3,108.680)
    set u=CreateUnit(p,'h030',-13963.0,8699.2,108.680)
    set u=CreateUnit(p,'h030',-13728.1,8535.2,108.680)
    set u=CreateUnit(p,'h030',-13691.0,9977.9,108.680)
    set u=CreateUnit(p,'h030',-13791.2,10282.1,108.680)
    set u=CreateUnit(p,'h030',-13668.7,10278.3,108.680)
    set u=CreateUnit(p,'h031',-5330.6,2317.7,340.340)
    set u=CreateUnit(p,'h031',-5227.3,2723.4,340.340)
    set u=CreateUnit(p,'h031',-5421.9,2318.0,340.340)
    set u=CreateUnit(p,'h031',769.2,1719.6,340.340)
    set u=CreateUnit(p,'h031',-5174.5,2643.4,340.340)
    set u=CreateUnit(p,'h030',-4292.9,1783.0,108.680)
    set u=CreateUnit(p,'h030',-4226.4,1843.3,108.680)
    set u=CreateUnit(p,'h030',-3759.1,1642.0,108.680)
    set u=CreateUnit(p,'h030',-3803.3,1810.9,108.680)
    set u=CreateUnit(p,'h030',-7833.7,-335.4,13.964)
    set u=CreateUnit(p,'h030',-3879.9,5399.3,141.370)
    set u=CreateUnit(p,'h031',993.9,1719.5,66.546)
    set u=CreateUnit(p,'h031',846.0,1737.2,307.824)
    set u=CreateUnit(p,'h030',-3236.7,-494.2,108.680)
    set u=CreateUnit(p,'h030',-3336.4,-499.5,108.680)
    set u=CreateUnit(p,'h030',-3306.7,-395.8,108.680)
    set u=CreateUnit(p,'h030',-3323.9,-598.7,108.680)
    set u=CreateUnit(p,'h030',-3204.4,-603.8,108.680)
    set u=CreateUnit(p,'h030',-2132.3,-1893.1,108.680)
    set u=CreateUnit(p,'h030',-2328.5,-1662.4,108.680)
    set u=CreateUnit(p,'h030',-661.8,-2282.3,108.680)
    set u=CreateUnit(p,'h030',-485.0,-2282.5,108.680)
    set u=CreateUnit(p,'h030',-163.9,-1925.7,108.680)
    set u=CreateUnit(p,'h030',-115.2,-1677.2,108.680)
    set u=CreateUnit(p,'h030',-253.7,-1794.4,108.680)
    set u=CreateUnit(p,'h030',904.7,-3293.7,165.680)
    set u=CreateUnit(p,'h030',937.8,-3199.8,165.680)
    set u=CreateUnit(p,'h030',1036.7,-3290.0,165.680)
    set u=CreateUnit(p,'h030',1052.1,-3143.9,165.680)
    set u=CreateUnit(p,'h030',805.8,-3302.1,165.680)
    set u=CreateUnit(p,'h030',703.0,-3220.2,165.680)
    set u=CreateUnit(p,'h030',832.8,-3185.2,165.680)
    set u=CreateUnit(p,'h030',7753.6,-4708.4,108.680)
    set u=CreateUnit(p,'h030',7901.0,-4729.9,108.680)
    set u=CreateUnit(p,'h030',7625.1,-4709.6,108.680)
    set u=CreateUnit(p,'h030',7014.3,-6909.7,108.680)
    set u=CreateUnit(p,'h030',6845.9,-6679.6,108.680)
    set u=CreateUnit(p,'h030',6542.4,-6768.4,108.680)
    set u=CreateUnit(p,'h030',5910.3,-5088.1,108.680)
    set u=CreateUnit(p,'h030',6025.6,-5122.5,108.680)
    set u=CreateUnit(p,'h030',11962.9,6333.2,108.680)
    set u=CreateUnit(p,'h030',12243.4,6531.4,108.680)
    set u=CreateUnit(p,'h030',11963.8,6400.7,108.680)
    set u=CreateUnit(p,'h030',9381.5,6880.3,108.680)
    set u=CreateUnit(p,'h030',9325.4,6833.3,108.680)
    set u=CreateUnit(p,'h030',10106.9,6112.5,108.680)
    set u=CreateUnit(p,'h030',9740.9,6429.4,108.680)
    set u=CreateUnit(p,'h030',9519.7,6423.8,108.680)
    set u=CreateUnit(p,'h030',9733.6,6806.8,108.680)
    set u=CreateUnit(p,'h030',10093.9,6735.4,108.680)
    set u=CreateUnit(p,'h031',933.3,1671.0,340.340)
    set u=CreateUnit(p,'h031',919.8,1819.5,340.340)
    set u=CreateUnit(p,'h031',855.3,1565.7,340.340)
    set u=CreateUnit(p,'h031',810.2,1827.7,340.340)
    set u=CreateUnit(p,'h031',1105.9,1626.8,340.340)
    set u=CreateUnit(p,'h031',3974.8,1445.6,340.340)
    set u=CreateUnit(p,'h031',3893.4,1440.2,340.340)
    set u=CreateUnit(p,'h031',3934.1,1304.6,340.340)
    set u=CreateUnit(p,'h031',5548.8,1740.9,340.340)
    set u=CreateUnit(p,'h031',5742.0,1871.0,340.340)
    set u=CreateUnit(p,'h031',5689.5,1710.8,340.340)
    set u=CreateUnit(p,'h031',5597.7,1627.7,340.340)
    set u=CreateUnit(p,'h031',5775.1,1751.1,340.340)
    set u=CreateUnit(p,'h031',5735.3,1627.7,340.340)
    set u=CreateUnit(p,'h031',694.4,1783.9,286.763)
    set u=CreateUnit(p,'h031',2687.8,360.8,340.340)
    set u=CreateUnit(p,'h031',2810.1,395.1,340.340)
    set u=CreateUnit(p,'h031',-3845.4,6522.9,340.340)
    set u=CreateUnit(p,'h031',-3821.0,6673.9,340.340)
    set u=CreateUnit(p,'h031',-3701.4,6603.0,340.340)
    set u=CreateUnit(p,'h031',-3742.3,6483.7,340.340)
    set u=CreateUnit(p,'h031',-3911.1,6632.3,340.340)
    set u=CreateUnit(p,'h031',-3880.2,6809.8,340.340)
    set u=CreateUnit(p,'h031',-5269.8,7417.8,340.340)
    set u=CreateUnit(p,'h031',-5202.6,7233.3,340.340)
    set u=CreateUnit(p,'h031',-5141.9,7409.1,340.340)
    set u=CreateUnit(p,'h031',-5120.6,7320.7,340.340)
    set u=CreateUnit(p,'h031',-5254.7,7351.2,340.340)
    set u=CreateUnit(p,'h031',-9815.4,10443.2,340.340)
    set u=CreateUnit(p,'h031',-9806.4,10007.0,340.340)
    set u=CreateUnit(p,'h031',-9903.9,9994.4,340.340)
    set u=CreateUnit(p,'h031',-9668.1,10364.5,340.340)
    set u=CreateUnit(p,'h031',-9707.8,10118.8,340.340)
    set u=CreateUnit(p,'h031',-10269.7,7682.3,340.340)
    set u=CreateUnit(p,'h031',-10152.1,7524.7,340.340)
    set u=CreateUnit(p,'h031',-10163.0,7643.7,340.340)
    set u=CreateUnit(p,'h031',-4645.5,10914.0,340.340)
    set u=CreateUnit(p,'h031',12898.7,3147.3,340.340)
    set u=CreateUnit(p,'h031',12770.2,3383.5,340.340)
    set u=CreateUnit(p,'h031',12890.9,3340.4,340.340)
    set u=CreateUnit(p,'h031',12825.5,3227.3,340.340)
    set u=CreateUnit(p,'h031',-5735.9,-821.8,340.340)
    set u=CreateUnit(p,'h031',-5636.8,-876.7,340.340)
    set u=CreateUnit(p,'h031',-5704.8,-961.4,340.340)
    set u=CreateUnit(p,'h031',-3293.7,-4158.9,340.340)
    set u=CreateUnit(p,'h031',-3235.4,-4218.9,340.340)
    set u=CreateUnit(p,'h031',-3226.1,-4086.4,340.340)
    set u=CreateUnit(p,'h031',-3309.1,-4073.5,340.340)
    set u=CreateUnit(p,'h030',2717.1,239.7,108.680)
    set u=CreateUnit(p,'h030',2815.2,272.6,108.680)
    set u=CreateUnit(p,'h030',3812.8,1488.7,108.680)
    set u=CreateUnit(p,'h030',12950.3,3218.1,108.680)
    set u=CreateUnit(p,'h030',3629.5,6650.9,108.680)
    set u=CreateUnit(p,'h030',3498.4,6573.8,108.680)
    set u=CreateUnit(p,'h030',3655.5,6510.6,108.680)
    set u=CreateUnit(p,'h030',3217.0,6285.6,108.680)
    set u=CreateUnit(p,'h030',-5643.6,9149.2,108.680)
    set u=CreateUnit(p,'h030',-5543.6,9155.1,108.680)
    set u=CreateUnit(p,'h030',-5579.3,9021.0,108.680)
    set u=CreateUnit(p,'h030',-7707.9,9790.9,108.680)
    set u=CreateUnit(p,'h030',-7576.1,9782.1,108.680)
    set u=CreateUnit(p,'h030',-7624.5,9910.0,108.680)
    set u=CreateUnit(p,'h030',-7041.7,11856.9,108.680)
    set u=CreateUnit(p,'h030',-6905.7,11862.4,108.680)
    set u=CreateUnit(p,'h030',-7058.5,12000.4,108.680)
    set u=CreateUnit(p,'h030',-6927.6,11993.7,108.680)
    set u=CreateUnit(p,'h030',-209.3,296.7,221.140)
    set u=CreateUnit(p,'h030',-281.4,462.0,182.379)
    set u=CreateUnit(p,'h030',14415.5,-7649.0,108.680)
    set u=CreateUnit(p,'h030',14293.9,-7660.7,108.680)
    set u=CreateUnit(p,'h030',14165.7,-7680.5,108.680)
    set u=CreateUnit(p,'h030',10343.1,-7344.2,108.680)
    set u=CreateUnit(p,'h030',10943.5,-7193.1,108.680)
    set u=CreateUnit(p,'h030',5759.6,-2578.2,165.712)
    set u=CreateUnit(p,'h030',5778.6,-2477.8,134.707)
    set u=CreateUnit(p,'h030',5729.0,-2656.5,257.319)
    set u=CreateUnit(p,'h030',5784.8,-2554.3,31.773)
    set u=CreateUnit(p,'h030',5829.9,-2525.8,221.634)
    set u=CreateUnit(p,'h030',5711.7,-2370.5,323.480)
    set u=CreateUnit(p,'h030',5551.7,-2622.2,250.155)
    set u=CreateUnit(p,'h030',-10367.8,-3731.6,213.713)
    set u=CreateUnit(p,'h030',-10313.5,-3609.0,73.226)
    set u=CreateUnit(p,'h030',-10422.7,-3622.3,21.721)
    set u=CreateUnit(p,'h030',-10277.6,-3859.0,156.044)
    set u=CreateUnit(p,'h030',-10508.6,-3813.2,13.920)
    set u=CreateUnit(p,'h030',10662.6,-7706.8,108.680)
    set u=CreateUnit(p,'h030',14454.9,-3048.9,108.680)
    set u=CreateUnit(p,'h030',14508.6,-2934.1,108.680)
    set u=CreateUnit(p,'h030',14391.5,-3171.3,108.680)
    set u=CreateUnit(p,'h031',-614.0,209.2,45.968)
    set u=CreateUnit(p,'h031',-503.5,215.2,67.974)
    set u=CreateUnit(p,'h031',-399.3,245.2,197.936)
    set u=CreateUnit(p,'h031',-535.3,134.5,179.039)
endfunction

//===========================================================================
function CreateNeutralPassive2 takes nothing returns nothing
    local player p=Player(PLAYER_NEUTRAL_PASSIVE)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u=CreateUnit(p,'nvlw',10518.7,2885.4,110.317)
    set u=CreateUnit(p,'nvk2',10619.5,2860.4,139.476)
    set u=CreateUnit(p,'nvl2',10452.7,2922.6,318.437)
    set u=CreateUnit(p,'nvlk',-9689.5,10265.6,136.048)
    set u=CreateUnit(p,'nvk2',-9727.1,10318.3,285.203)
    set u=CreateUnit(p,'nvlw',-9352.1,8197.3,125.907)
    set u=CreateUnit(p,'nvlw',-9423.8,8259.5,332.852)
    set u=CreateUnit(p,'nvl2',-12294.3,-6714.9,190.091)
    set u=CreateUnit(p,'nvil',-12407.4,-6753.9,51.275)
    set u=CreateUnit(p,'nvk2',-14778.4,-3176.5,210.592)
    set u=CreateUnit(p,'nvlw',-14865.3,-3235.7,232.412)
    set u=CreateUnit(p,'nvlw',-10599.9,-4078.7,245.497)
    set u=CreateUnit(p,'nvl2',-10650.6,-4230.3,11.173)
    set u=CreateUnit(p,'nvil',-10539.4,-4188.8,164.910)
    set u=CreateUnit(p,'nvk2',-5922.0,8585.1,253.473)
    set u=CreateUnit(p,'nvlw',-5953.1,8451.9,44.946)
    set u=CreateUnit(p,'nvil',-5566.4,8765.2,238.905)
    set u=CreateUnit(p,'nvl2',-5570.7,8644.9,115.437)
    set u=CreateUnit(p,'n00C',-8543.1,3654.2,287.005)
    set u=CreateUnit(p,'n00C',5122.7,-3361.9,280.533)
    set u=CreateUnit(p,'n00C',8066.5,6040.8,49.561)
    set u=CreateUnit(p,'n00C',-315.8,10564.7,235.071)
endfunction

//===========================================================================
//===========================================================================
//===========================================================================
//***************************************************************************
//*
//*Regions
//*
//***************************************************************************
function CreateRegions2 takes nothing returns nothing
    local weathereffect we
    set udg_rect01=Rect(-480.0,3808.0,-192.0,4064.0)
    set udg_rect02=Rect(2528.0,192.0,2912.0,512.0)
    set udg_rect03=Rect(-15040.0,-13408.0,-14752.0,-13120.0)
    set udg_rect04=Rect(-11456.0,864.0,-11136.0,1120.0)
    set udg_rect05=Rect(-12000.0,704.0,-11456.0,1376.0)
    set udg_rect06=Rect(-14752.0,-13408.0,-14368.0,-13120.0)
    set udg_rect07=Rect(-9152.0,5632.0,-7264.0,8960.0)
    set we=AddWeatherEffect(udg_rect07,'SNls')
    call EnableWeatherEffect(we,true)
    set udg_rect08=Rect(-10560.0,6560.0,-1984.0,12288.0)
    set we=AddWeatherEffect(udg_rect08,'SNls')
    call EnableWeatherEffect(we,true)
    set udg_rect09=Rect(-3808.0,5664.0,15584.0,6592.0)
    set we=AddWeatherEffect(udg_rect09,'SNls')
    call EnableWeatherEffect(we,true)
    set udg_rect10=Rect(-1952.0,6624.0,15584.0,10112.0)
    set we=AddWeatherEffect(udg_rect10,'SNls')
    call EnableWeatherEffect(we,true)
    set udg_rect11=Rect(1792.0,10080.0,15616.0,12640.0)
    set we=AddWeatherEffect(udg_rect11,'SNhs')
    call EnableWeatherEffect(we,true)
    set udg_rect12=Rect(-2240.0,5120.0,512.0,5568.0)
    set we=AddWeatherEffect(udg_rect12,'SNls')
    call EnableWeatherEffect(we,true)
    set udg_rect13=Rect(-1376.0,3872.0,-448.0,5024.0)
    set we=AddWeatherEffect(udg_rect13,'SNls')
    call EnableWeatherEffect(we,true)
    set udg_rect14=Rect(-1152.0,3040.0,544.0,4672.0)
    set udg_rect15=Rect(-32.0,1120.0,15584.0,3776.0)
    set udg_rect16=Rect(512.0,3872.0,15616.0,5696.0)
    set udg_rect17=Rect(5216.0,-4096.0,7328.0,2080.0)
    set udg_rect18=Rect(1824.0,-256.0,5184.0,1152.0)
    set udg_rect19=Rect(14528.0,-9504.0,14816.0,-9152.0)
    set udg_rect20=Rect(14176.0,-9504.0,14528.0,-9152.0)
    set udg_rect21=Rect(-768.0,-13824.0,0.0,-13440.0)
    set udg_rect22=Rect(-5632.0,-2016.0,-5344.0,-1760.0)
    set udg_rect23=Rect(-5344.0,-2176.0,-4832.0,-1568.0)
    set udg_rect24=Rect(-15744.0,1088.0,-15264.0,1504.0)
    set udg_rect25=Rect(-14656.0,2656.0,-14496.0,3008.0)
    set udg_rect26=Rect(-14528.0,2592.0,-14240.0,2880.0)
    set udg_rect27=Rect(-14272.0,1152.0,-14144.0,1536.0)
    set udg_rect28=Rect(-14048.0,1056.0,-13728.0,1472.0)
    set udg_rect29=Rect(-13088.0,-2464.0,-12704.0,-2336.0)
    set udg_rect30=Rect(-13120.0,-2720.0,-12544.0,-2496.0)
    set udg_rect31=Rect(14272.0,9536.0,15072.0,10240.0)
    set udg_rect32=Rect(-6912.0,-448.0,-5568.0,-64.0)
    set we=AddWeatherEffect(udg_rect32,'SNls')
    call EnableWeatherEffect(we,true)
    set udg_rect33=Rect(-5440.0,-64.0,-5184.0,32.0)
    set we=AddWeatherEffect(udg_rect33,'SNls')
    call EnableWeatherEffect(we,true)
    set udg_rect34=Rect(-15072.0,2816.0,-10944.0,11360.0)
    set we=AddWeatherEffect(udg_rect34,'RLlr')
    call EnableWeatherEffect(we,true)
    set udg_rect35=Rect(-13152.0,2880.0,-11008.0,4576.0)
    set we=AddWeatherEffect(udg_rect35,'RLhr')
    call EnableWeatherEffect(we,true)
    set udg_rect36=Rect(-8960.0,544.0,-8640.0,864.0)
    set we=AddWeatherEffect(udg_rect36,'SNhs')
    call EnableWeatherEffect(we,true)
    set udg_rect37=Rect(-7680.0,448.0,-7648.0,480.0)
    set we=AddWeatherEffect(udg_rect37,'SNhs')
    call EnableWeatherEffect(we,true)
    set udg_rect38=Rect(-10592.0,-3616.0,-10528.0,-3552.0)
    set we=AddWeatherEffect(udg_rect38,'SNhs')
    call EnableWeatherEffect(we,true)
    set udg_rect39=Rect(-15488.0,-13632.0,0.0,-8640.0)
    set udg_rect40=Rect(32.0,-13760.0,15520.0,-8704.0)
    set udg_rect41=Rect(3552.0,3136.0,3584.0,3168.0)
endfunction

//***************************************************************************
//*
//*Triggers
//*
//***************************************************************************
//===========================================================================
//Trigger:Money gain
//===========================================================================
function Trig_Money_gain_Actions takes nothing returns nothing
    call AdjustPlayerStateBJ(20,Player(1),PLAYER_STATE_RESOURCE_GOLD)
    call AdjustPlayerStateBJ(10,Player(1),PLAYER_STATE_RESOURCE_LUMBER)
endfunction

//===========================================================================
//===========================================================================
//Trigger:Map Initlization
//===========================================================================
function Trig_Map_Initlization_Func010002002 takes nothing returns boolean
    return(RectContainsUnit(udg_rect31,GetFilterUnit())==true)
endfunction

function Trig_Map_Initlization_Func019Func001Func003Func002C takes nothing returns boolean
    if((GetPlayerName(udg_player02)=="Nos-Feratu"))then
        return true
    endif
    if((GetPlayerName(udg_player02)=="MrAppies"))then
        return true
    endif
    if((GetPlayerName(udg_player02)=="MrApples."))then
        return true
    endif
    if((GetPlayerName(udg_player02)=="Mr.Apples"))then
        return true
    endif
    return false
endfunction

function Trig_Map_Initlization_Func019Func001Func003C takes nothing returns boolean
    if(not Trig_Map_Initlization_Func019Func001Func003Func002C())then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func019Func001Func008001001 takes nothing returns boolean
    return(udg_player02!=Player(10))
endfunction

function Trig_Map_Initlization_Func019Func001Func008001002 takes nothing returns boolean
    return(udg_player02!=Player(11))
endfunction

function Trig_Map_Initlization_Func019Func001Func008001 takes nothing returns boolean
    return GetBooleanAnd(Trig_Map_Initlization_Func019Func001Func008001001(),Trig_Map_Initlization_Func019Func001Func008001002())
endfunction

function Trig_Map_Initlization_Func019Func001Func013002002 takes nothing returns boolean
    return(IsUnitType(GetFilterUnit(),UNIT_TYPE_TOWNHALL)==true)
endfunction

function Trig_Map_Initlization_Func019Func001Func014Func002002003 takes nothing returns boolean
    return(GetUnitTypeId(GetFilterUnit())=='owtw')
endfunction

function Trig_Map_Initlization_Func019Func001Func014Func003A takes nothing returns nothing
    call SetUnitOwner(GetEnumUnit(),udg_player02,true)
endfunction

function Trig_Map_Initlization_Func019Func001Func014A takes nothing returns nothing
    set udg_location01=GetUnitLoc(GetEnumUnit())
    set udg_group03=GetUnitsInRangeOfLocMatching(2500.00,udg_location01,Condition(function Trig_Map_Initlization_Func019Func001Func014Func002002003))
    call ForGroupBJ(udg_group03,function Trig_Map_Initlization_Func019Func001Func014Func003A)
    call DestroyGroup(udg_group03)
    call RemoveLocation(udg_location01)
endfunction

function Trig_Map_Initlization_Func019Func001Func016C takes nothing returns boolean
    if(not(udg_boolean01==false))then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func019Func001Func017C takes nothing returns boolean
    if((GetPlayerSlotState(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_SLOT_STATE_EMPTY))then
        return true
    endif
    if((GetPlayerSlotState(ConvertedPlayer(GetForLoopIndexA()))!=PLAYER_SLOT_STATE_PLAYING))then
        return true
    endif
    if((GetPlayerSlotState(ConvertedPlayer(GetForLoopIndexA()))==PLAYER_SLOT_STATE_LEFT))then
        return true
    endif
    if((GetPlayerController(ConvertedPlayer(GetForLoopIndexA()))!=MAP_CONTROL_USER))then
        return true
    endif
    return false
endfunction

function Trig_Map_Initlization_Func019Func001C takes nothing returns boolean
    if(not Trig_Map_Initlization_Func019Func001Func017C())then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001Func001Func001Func001Func001Func003Func001C takes nothing returns boolean
    if(not(GetPlayerColor(udg_player02)==PLAYER_COLOR_BROWN))then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001Func001Func001Func001Func001Func003C takes nothing returns boolean
    if(not(GetPlayerColor(udg_player02)==PLAYER_COLOR_AQUA))then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
    if(not(GetPlayerColor(udg_player02)==PLAYER_COLOR_LIGHT_BLUE))then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
    if(not(GetPlayerColor(udg_player02)==PLAYER_COLOR_LIGHT_GRAY))then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
    if(not(GetPlayerColor(udg_player02)==PLAYER_COLOR_PINK))then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
    if(not(GetPlayerColor(udg_player02)==PLAYER_COLOR_GREEN))then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001C takes nothing returns boolean
    if(not(GetPlayerColor(udg_player02)==PLAYER_COLOR_ORANGE))then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001C takes nothing returns boolean
    if(not(GetPlayerColor(udg_player02)==PLAYER_COLOR_YELLOW))then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func033Func002Func001Func001Func001C takes nothing returns boolean
    if(not(GetPlayerColor(udg_player02)==PLAYER_COLOR_PURPLE))then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func033Func002Func001Func001C takes nothing returns boolean
    if(not(GetPlayerColor(udg_player02)==PLAYER_COLOR_CYAN))then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func033Func002Func001C takes nothing returns boolean
    if(not(GetPlayerColor(udg_player02)==PLAYER_COLOR_BLUE))then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func033Func002C takes nothing returns boolean
    if(not(GetPlayerColor(udg_player02)==PLAYER_COLOR_RED))then
        return false
    endif
    return true
endfunction

function Trig_Map_Initlization_Func033A takes nothing returns nothing
    set udg_player02=GetEnumPlayer()
    if(Trig_Map_Initlization_Func033Func002C())then
        set udg_strings03[GetConvertedPlayerId(udg_player02)]=(("|c00FF0303"+GetPlayerName(udg_player02))+"|r")
        set udg_players01[1]=udg_player02
    else
        if(Trig_Map_Initlization_Func033Func002Func001C())then
            set udg_strings03[GetConvertedPlayerId(udg_player02)]=(("|c000042FF"+GetPlayerName(udg_player02))+"|r")
            set udg_players01[2]=udg_player02
        else
            if(Trig_Map_Initlization_Func033Func002Func001Func001C())then
                set udg_strings03[GetConvertedPlayerId(udg_player02)]=(("|c001CE6B9"+GetPlayerName(udg_player02))+"|r")
                set udg_players01[3]=udg_player02
            else
                if(Trig_Map_Initlization_Func033Func002Func001Func001Func001C())then
                    set udg_strings03[GetConvertedPlayerId(udg_player02)]=(("|c00540081"+GetPlayerName(udg_player02))+"|r")
                    set udg_players01[4]=udg_player02
                else
                    if(Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001C())then
                        set udg_strings03[GetConvertedPlayerId(udg_player02)]=(("|c00FFFC01"+GetPlayerName(udg_player02))+"|r")
                        set udg_players01[5]=udg_player02
                    else
                        if(Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001C())then
                            set udg_strings03[GetConvertedPlayerId(udg_player02)]=(("|c00FEBA0E"+GetPlayerName(udg_player02))+"|r")
                            set udg_players01[6]=udg_player02
                        else
                            if(Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001Func001C())then
                                set udg_strings03[GetConvertedPlayerId(udg_player02)]=(("|c0020C000"+GetPlayerName(udg_player02))+"|r")
                                set udg_players01[7]=udg_player02
                            else
                                if(Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001Func001Func001C())then
                                    set udg_strings03[GetConvertedPlayerId(udg_player02)]=(("|c00E55BB0"+GetPlayerName(udg_player02))+"|r")
                                    set udg_players01[8]=udg_player02
                                else
                                    if(Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001Func001Func001Func001C())then
                                        set udg_strings03[GetConvertedPlayerId(udg_player02)]=(("|c00959697"+GetPlayerName(udg_player02))+"|r")
                                        set udg_players01[9]=udg_player02
                                    else
                                        if(Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001Func001Func001Func001Func001C())then
                                            set udg_strings03[GetConvertedPlayerId(udg_player02)]=(("|c007EBFF1"+GetPlayerName(udg_player02))+"|r")
                                            set udg_players01[10]=udg_player02
                                        else
                                            if(Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001Func001Func001Func001Func001Func003C())then
                                                set udg_strings03[GetConvertedPlayerId(udg_player02)]=(("|c00106246"+GetPlayerName(udg_player02))+"|r")
                                                set udg_players01[11]=udg_player02
                                            else
                                                if(Trig_Map_Initlization_Func033Func002Func001Func001Func001Func001Func001Func001Func001Func001Func001Func003Func001C())then
                                                    set udg_strings03[GetConvertedPlayerId(udg_player02)]=(("|c004E2A04"+GetPlayerName(udg_player02))+"|r")
                                                    set udg_players01[12]=udg_player02
                                                else
                                                endif
                                            endif
                                        endif
                                    endif
                                endif
                            endif
                        endif
                    endif
                endif
            endif
        endif
    endif
endfunction

function Trig_Map_Initlization_Actions takes nothing returns nothing
    //Melee
    call ConditionalTriggerExecute(udg_trigger03)
    //Quests
    call ConditionalTriggerExecute(udg_trigger04)
    //Option Setup
    call ConditionalTriggerExecute(udg_trigger06)
    //Dialog Setup
    call ConditionalTriggerExecute(udg_trigger05)
    //Misc Setup
    set udg_group01=GetUnitsOfPlayerMatching(Player(PLAYER_NEUTRAL_AGGRESSIVE),Condition(function Trig_Map_Initlization_Func010002002))
    set udg_player01=Player(10)
    call SetForceAllianceStateBJ(udg_force01,udg_force01,bj_ALLIANCE_UNALLIED)
    call SetPlayerAllianceStateBJ(Player(10),Player(11),bj_ALLIANCE_ALLIED_VISION)
    call SetPlayerAllianceStateBJ(Player(11),Player(10),bj_ALLIANCE_ALLIED_VISION)
    call SetPlayerFlagBJ(PLAYER_STATE_GIVES_BOUNTY,true,Player(10))
    call SetPlayerFlagBJ(PLAYER_STATE_GIVES_BOUNTY,true,Player(11))
    //Player Setup
    set bj_forLoopAIndex=1
    set bj_forLoopAIndexEnd=12
    loop
        exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
        if(Trig_Map_Initlization_Func019Func001C())then
            call ShareEverythingWithTeam(ConvertedPlayer(GetForLoopIndexA()))
        else
            set udg_player02=ConvertedPlayer(GetForLoopIndexA())
            if(Trig_Map_Initlization_Func019Func001Func003C())then
                call CustomDefeatBJ(udg_player02,"Poser!")
            else
            endif
            call SetPlayerName(udg_players01[GetForLoopIndexA()],((udg_strings01[GetForLoopIndexA()]+GetPlayerName(udg_players01[GetForLoopIndexA()]))+"|r"))
            set udg_strings02[GetConvertedPlayerId(udg_player02)]=GetPlayerName(udg_player02)
            set udg_players02[udg_integer01]=udg_player02
            set udg_integer02=(udg_integer02+1)
            if(Trig_Map_Initlization_Func019Func001Func008001())then
                call ForceAddPlayerSimple(udg_player02,udg_force03)
            else
                call DoNothing()
            endif
            call ForceAddPlayerSimple(udg_player02,udg_force01)
            call SetCameraFieldForPlayer(udg_player02,CAMERA_FIELD_TARGET_DISTANCE,2820.00,0)
            call SetPlayerStateBJ(udg_player02,PLAYER_STATE_RESOURCE_GOLD,50)
            call SetPlayerFlagBJ(PLAYER_STATE_GIVES_BOUNTY,true,udg_player02)
            set udg_group02=GetUnitsOfPlayerMatching(udg_player02,Condition(function Trig_Map_Initlization_Func019Func001Func013002002))
            call ForGroupBJ(udg_group02,function Trig_Map_Initlization_Func019Func001Func014A)
            call DestroyGroup(udg_group02)
            if(Trig_Map_Initlization_Func019Func001Func016C())then
                set udg_player03=udg_player02
                set udg_boolean01=true
            else
            endif
        endif
        set bj_forLoopAIndex=bj_forLoopAIndex+1
    endloop
    //Player Name/Color Setup
    call SetPlayerName(Player(0),"Soviet Union")
    call SetPlayerName(Player(1),"United Kingdom")
    call SetPlayerName(Player(2),"Greece")
    call SetPlayerName(Player(3),"Italy")
    call SetPlayerName(Player(4),"France")
    call SetPlayerName(Player(5),"Spain")
    call SetPlayerName(Player(6),"Turkey")
    call SetPlayerName(Player(7),"Poland")
    call SetPlayerName(Player(8),"Germany")
    call SetPlayerName(Player(9),"Sweden")
    call SetPlayerName(Player(10),"Zombie Force")
    call SetPlayerName(Player(11),"Zombie Force")
    call ForForce(udg_force01,function Trig_Map_Initlization_Func033A)
    set udg_boolean01=false
    set udg_group02=null
    set udg_group03=null
    set udg_location01=null
    call DestroyTrigger(GetTriggeringTrigger())
endfunction

//===========================================================================
//===========================================================================
//Trigger:Melee Setup
//===========================================================================
function Trig_Melee_Setup_Actions takes nothing returns nothing
    call SetMapFlag(MAP_FOG_MAP_EXPLORED,true)
    call SetMapFlag(MAP_RESOURCE_TRADING_ALLIES_ONLY,false)
    call SetMapFlag(MAP_LOCK_ALLIANCE_CHANGES,true)
    call SetMapFlag(MAP_LOCK_RESOURCE_TRADING,false)
    call SetGameSpeed(MAP_SPEED_FASTEST)
    call SetMapFlag(MAP_OBSERVERS_ON_DEATH,true)
    call SetMapFlag(MAP_SHARED_ADVANCED_CONTROL,true)
    call MeleeStartingVisibility()
    call MeleeStartingHeroLimit()
    call MeleeGrantHeroItems()
    call MeleeStartingResources()
    call MeleeClearExcessUnits()
    call MeleeStartingAI()
    call SetMapFlag(MAP_ALLIANCE_CHANGES_HIDDEN,false)
    call DestroyTrigger(GetTriggeringTrigger())
endfunction

//===========================================================================
//===========================================================================
//Trigger:Quests
//===========================================================================
function Trig_Quests_Actions takes nothing returns nothing
    call FlashQuestDialogButtonBJ()
    call DestroyTrigger(GetTriggeringTrigger())
endfunction

//===========================================================================
//===========================================================================
//Trigger:Dialogs
//===========================================================================
function Trig_Dialogs_Actions takes nothing returns nothing
    call DialogAddButtonBJ(udg_dialog01,"Decline")
    set udg_button01=GetLastCreatedButtonBJ()
    call DialogAddButtonBJ(udg_dialog01,"Accept")
    set udg_button02=GetLastCreatedButtonBJ()
    call DialogAddButtonBJ(udg_dialog02,"Decline")
    set udg_button03=GetLastCreatedButtonBJ()
    call DialogAddButtonBJ(udg_dialog02,"Accept")
    set udg_button04=GetLastCreatedButtonBJ()
    call DestroyTrigger(GetTriggeringTrigger())
endfunction

//===========================================================================
//===========================================================================
//Trigger:Setup
//===========================================================================
function Trig_Setup_Func003C takes nothing returns boolean
    return true
endfunction

function Trig_Setup_Func005C takes nothing returns boolean
    return true
endfunction

function Trig_Setup_Actions takes nothing returns nothing
    //BLACKLIST
    //Blocked Names
    if(Trig_Setup_Func003C())then
    else
        set udg_strings04[1]="xX_Jericho_Xx"
        set udg_strings04[2]="Black-Emo"
    endif
    //Colors
    if(Trig_Setup_Func005C())then
    else
        set udg_strings01[1]="|c00FF0303"
        set udg_strings01[1]="|c00FF0303"
        set udg_strings01[2]="|c000042FF"
        set udg_strings01[3]="|c001CE6B9"
        set udg_strings01[4]="|c00540081"
        set udg_strings01[5]="|c00FFFC01"
        set udg_strings01[6]="|c00FEBA0E"
        set udg_strings01[7]="|c0020C000"
        set udg_strings01[8]="|c00E55BB0"
        set udg_strings01[9]="|c00959697"
        set udg_strings01[10]="|c007EBFF1"
        set udg_strings01[11]="|c00106246"
        set udg_strings01[12]="|c004E2A04"
    endif
    //Tips
    set udg_strings05[1]="Want to view the game from a different angle? Type -cam (any number between 1 and 5000) to set your camera distance, make it as exact as you want but going farther than 2800 might be dark."
    set udg_strings05[2]="Sick of people backstabbing you? You can create a Permanent Alliance by using the -pa (player) command. A Permanent Alliance cannot be broken, unless both of you agree to by typing -break. You may have only one Permanent Ally at a time."
    set udg_strings05[3]="Does making sure people ally you back get frustrating sometimes? You can use -allyreq to request they ally you also, if they don't, you don't."
    set udg_strings05[4]="Curious how many units you have? Type -count."
    set udg_strings05[5]="Humans: Remember you will not be able to defeat the zombie infestation unless you go down into the Catacombs located in France and Italy, where their main base is loacted."
    set udg_strings05[6]="Don't let your soliders melee with zombies if they have guns, it doesn't work well, and can make the zombie army even bigger."
    set udg_strings05[7]="Found a bug? Or just want to chat? Whisper me: Vicboyy at US WEST and EUROPE. Vicboy at US EAST and ASIA."
    call DestroyTrigger(GetTriggeringTrigger())
endfunction

//===========================================================================
//===========================================================================
//Trigger:PreloadRemove
//===========================================================================
function Trig_PreloadRemove_Func001C takes nothing returns boolean
    if(not(IsUnitGroupEmptyBJ(udg_group01)==true))then
        return false
    endif
    return true
endfunction

function Trig_PreloadRemove_Actions takes nothing returns nothing
    if(Trig_PreloadRemove_Func001C())then
        call DestroyGroup(udg_group01)
        set udg_group01=null
        call DestroyTrigger(GetTriggeringTrigger())
    else
        set udg_unit01=GroupPickRandomUnit(udg_group01)
        call GroupRemoveUnitSimple(udg_unit01,udg_group01)
        call RemoveUnit(udg_unit01)
    endif
endfunction

//===========================================================================
//===========================================================================
//Trigger:Welcome
//===========================================================================
function Trig_Welcome_Func007A takes nothing returns nothing
    call LeaderboardAddItemBJ(GetEnumPlayer(),udg_leaderboard01,GetPlayerName(GetEnumPlayer()),0)
endfunction

function Trig_Welcome_Actions takes nothing returns nothing
    call StartTimerBJ(udg_timer01,true,30)
    call CreateTimerDialogBJ(udg_timer01,"Income")
    set udg_timerdialog01=GetLastCreatedTimerDialogBJ()
    call CreateLeaderboardBJ(udg_force01,"Resources")
    set udg_leaderboard01=GetLastCreatedLeaderboard()
    call LeaderboardDisplayBJ(true,udg_leaderboard01)
    call ForForce(udg_force01,function Trig_Welcome_Func007A)
    call StartSound(udg_sound01)
    set udg_force02=bj_FORCE_PLAYER[0]
    call DisplayTextToForce(udg_force02,"|c00ff471aYou are The Soviet Union. Your Russian Tanks are great war machines, but it would be wise to rally your forces before any battle with the zombies. You have taken control of the Ukraine amidst the Great Panic and reestablished the Union. You will be hit with zombies from the north and south. In case your allies to the west become overrun, retreat behind the great river flowing through Russia and hold the bridges carefully.|r")
    call DestroyForce(udg_force02)
    set udg_force02=bj_FORCE_PLAYER[1]
    call DisplayTextToForce(udg_force02,"|c00ff471aYou are The United Kingdom. Watch your eastern forces as infected refugees from the United States will surely come to your nation. Take over Ireland, there are 2 cities there. Use your Combi Carbines, their speed and range make the, very useful. focus on supporting your allies, especially France.|r")
    call DestroyForce(udg_force02)
    set udg_force02=bj_FORCE_PLAYER[2]
    call DisplayTextToForce(udg_force02,"|c00ff471aYou are Greece. Your job is to defend Italy and the Soviets. Your nation may be small at the moment, but with your generals quickly conquer your cities, including the island of Crete to the south.|r")
    call DestroyForce(udg_force02)
    set udg_force02=bj_FORCE_PLAYER[3]
    call DisplayTextToForce(udg_force02,"|c00ff471aYou are Italy. Your forces are just as important as those of France. Below you lie the Roman Catacombs, a center of the zombie forces. You have some forces down there currently, make sure they stay there and defend that land. Be sure to notice Sicily, Sardinia, and Corsica, as there are cities on those islands.|r")
    call DestroyForce(udg_force02)
    set udg_force02=bj_FORCE_PLAYER[4]
    call DisplayTextToForce(udg_force02,"|c00ff471aYou are France. You have an enormous responsibility: defend the Catacombs, the burial ground that lies beneath France. This burial ground is the main source of the Zombie force and if they escape they will wreak havoc on humanity. Be prepared to be overwhelmed, if you do not receive support from Spain or Germany. Watch the city of Brest, as infected USA refugees come to your nation. Kill them quickly and focus on the catacombs.|r")
    call DestroyForce(udg_force02)
    set udg_force02=bj_FORCE_PLAYER[5]
    call DisplayTextToForce(udg_force02,"|c00ff471aYou are Spain. You currently command Madrid and a small army, take all of Spain and make sure to provide France with support. be prepared to deal with infected refugees, as they will be at your nation soon. Kill the infected and quickly provide the rest of your allies with support.|r")
    call DestroyForce(udg_force02)
    set udg_force02=bj_FORCE_PLAYER[6]
    call DisplayTextToForce(udg_force02,"|c00ff471aYou are Turkey. You have cities to the east that have fallen to the Infected. It would be wise to take them out as soon as possible. Stand strong and clear the middle east of zombies and thier infected cities.|r")
    call DestroyForce(udg_force02)
    set udg_force02=bj_FORCE_PLAYER[7]
    call DisplayTextToForce(udg_force02,"|c00ff471aYou are Poland. Though a small nation, you can take back the rest of your land and gain great power. You have great potential strength and your job is to make sure that Russia does not fall, if it does, you should surely be ready to face The Swarm soon enough.|r")
    call DestroyForce(udg_force02)
    set udg_force02=bj_FORCE_PLAYER[8]
    call DisplayTextToForce(udg_force02,"|c00ff471aYou are Germany. Your snipers are superior and can take down stray zombies in no time, take all of Germany and part of Holland (Amsterdam). Your main goal is to ensure that the zombies don't make it out of the catacombs. Back up Italy and France in their war with the zombies.|r")
    call DestroyForce(udg_force02)
    set udg_force02=bj_FORCE_PLAYER[9]
    call DisplayTextToForce(udg_force02,"|c00ff471aYou are Sweden. Your job is you quickly seize all of Sweden and get to Russia, you are his support in the north while Turkey is helping him in the south. You have quite a bit of land to take, be just use your powerful knights.|r")
    call DestroyForce(udg_force02)
    set udg_force02=GetPlayersAllies(Player(10))
    call DisplayTextToForce(udg_force02,"|cff0000ffYou are the Undead Swarm. You have forces in Russia and can attack the cities to infest them and create zombies there. Your main force is in the catacombs, both beneath Rome and Paris. Defend them and break out as soon as possible, it shouldn't be hard. Show no mercy to the humans because they will only come back to haunt you with ocean side attacks.|r")
    call DestroyForce(udg_force02)
    set udg_force02=null
    call TriggerSleepAction(40.00)
    call DisplayTextToForce(udg_force01,"|cff0000ffIf your camera becomes messed up just type \n-Cam 3000\nto bring the camera back to its original height.\nCheck the quests for additions and have fun!|r")
    call DestroyTrigger(GetTriggeringTrigger())
endfunction

//===========================================================================
//===========================================================================
//Trigger:Reminder
//===========================================================================
function Trig_Reminder_Func001Func001Func001Func011C takes nothing returns boolean
    if((StringCase(udg_strings02[GetForLoopIndexA()],false)==StringCase(udg_strings04[GetForLoopIndexB()],false)))then
        return true
    endif
    return false
endfunction

function Trig_Reminder_Func001Func001Func001C takes nothing returns boolean
    if(not Trig_Reminder_Func001Func001Func001Func011C())then
        return false
    endif
    if(not(udg_booleans03[GetForLoopIndexA()]==false))then
        return false
    endif
    return true
endfunction

function Trig_Reminder_Actions takes nothing returns nothing
    set bj_forLoopAIndex=1
    set bj_forLoopAIndexEnd=12
    loop
        exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
        set bj_forLoopBIndex=1
        set bj_forLoopBIndexEnd=12
        loop
            exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
            if(Trig_Reminder_Func001Func001Func001C())then
                set udg_force02=GetForceOfPlayer(ConvertedPlayer(GetForLoopIndexA()))
                call DisplayTextToForce(udg_force02,"|c0056D0FFREMINDER: Enter your password now!!!!|r")
                call DisplayTextToForce(udg_force02,"|c0056D0FFREMINDER: Enter your password now!!!!|r")
                call DisplayTextToForce(udg_force02,"|c0056D0FFREMINDER: Enter your password now!!!!|r")
                call DisplayTextToForce(udg_force02,"|c0056D0FFREMINDER: Enter your password now!!!!|r")
                call DisplayTextToForce(udg_force02,"|c0056D0FFREMINDER: Enter your password now!!!!|r")
                call DisplayTextToForce(udg_force02,"|c0056D0FFREMINDER: Enter your password now!!!!|r")
                call DisplayTextToForce(udg_force02,"|c0056D0FFREMINDER: Enter your password now!!!!|r")
                call DisplayTextToForce(udg_force02,"|c0056D0FFREMINDER: Enter your password now!!!!|r")
                call DestroyForce(udg_force02)
            else
            endif
            set bj_forLoopBIndex=bj_forLoopBIndex+1
        endloop
        set bj_forLoopAIndex=bj_forLoopAIndex+1
    endloop
    set udg_force02=null
endfunction

//===========================================================================
//===========================================================================
//Trigger:Check Names
//===========================================================================
function Trig_Check_Names_Func001Func001Func001Func006A takes nothing returns nothing
    call KillUnit(GetEnumUnit())
endfunction

function Trig_Check_Names_Func001Func001Func001Func008C takes nothing returns boolean
    if((StringCase(udg_strings02[GetForLoopIndexA()],false)==StringCase(udg_strings04[GetForLoopIndexB()],false)))then
        return true
    endif
    return false
endfunction

function Trig_Check_Names_Func001Func001Func001C takes nothing returns boolean
    if(not Trig_Check_Names_Func001Func001Func001Func008C())then
        return false
    endif
    if(not(udg_booleans03[GetForLoopIndexA()]==false))then
        return false
    endif
    return true
endfunction

function Trig_Check_Names_Actions takes nothing returns nothing
    set bj_forLoopAIndex=1
    set bj_forLoopAIndexEnd=12
    loop
        exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
        set bj_forLoopBIndex=1
        set bj_forLoopBIndexEnd=12
        loop
            exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
            if(Trig_Check_Names_Func001Func001Func001C())then
                set udg_booleans01[GetForLoopIndexA()]=true
                set udg_strings02[GetForLoopIndexA()]="Annoying Spoofer"
                set udg_strings03[GetForLoopIndexA()]=(SubStringBJ(udg_strings03[GetForLoopIndexA()],1,10)+("Annoying Spoofer"+"|r"))
                call SetPlayerName(ConvertedPlayer(GetForLoopIndexA()),"Annoying Spoofer")
                set udg_group02=GetUnitsOfPlayerAll(ConvertedPlayer(GetForLoopIndexA()))
                call ForGroupBJ(udg_group02,function Trig_Check_Names_Func001Func001Func001Func006A)
                call DestroyGroup(udg_group02)
            else
            endif
            set bj_forLoopBIndex=bj_forLoopBIndex+1
        endloop
        set bj_forLoopAIndex=bj_forLoopAIndex+1
    endloop
    set udg_group02=null
    call DestroyTrigger(GetTriggeringTrigger())
endfunction

//===========================================================================
//===========================================================================
//Trigger:Spawn Refugees
//===========================================================================
function Trig_Spawn_Refugees_Actions takes nothing returns nothing
    call DisplayTextToForce(udg_force01,"Boats of refugees from the USA are arriving in Europe.")
    //ZOMBIES
    set udg_location01=GetRectCenter(udg_rect26)
    call CreateNUnitsAtLoc(6,'n000',Player(11),udg_location01,bj_UNIT_FACING)
    call CreateNUnitsAtLoc(6,'n000',Player(10),udg_location01,bj_UNIT_FACING)
    call RemoveLocation(udg_location01)
    call CreateNUnitsAtLoc(6,'n000',Player(11),udg_location01,bj_UNIT_FACING)
    call CreateNUnitsAtLoc(6,'n000',Player(10),udg_location01,bj_UNIT_FACING)
    set udg_location01=GetRectCenter(udg_rect30)
    call CreateNUnitsAtLoc(6,'n000',Player(10),udg_location01,bj_UNIT_FACING)
    call CreateNUnitsAtLoc(6,'n000',Player(11),udg_location01,bj_UNIT_FACING)
    call RemoveLocation(udg_location01)
    set udg_location01=null
    call DestroyTrigger(GetTriggeringTrigger())
endfunction

//===========================================================================
//===========================================================================
//Trigger:West Catacombs
//===========================================================================
function Trig_West_Catacombs_Conditions takes nothing returns boolean
    if(not(IsUnitType(GetTriggerUnit(),UNIT_TYPE_FLYING)==true))then
        return false
    endif
    return true
endfunction

function Trig_West_Catacombs_Actions takes nothing returns nothing
    set udg_player02=GetTriggerPlayer()
    set udg_force02=GetForceOfPlayer(udg_player02)
    call DisplayTextToForce(udg_force02,"|c00ff471aPlanes are not allowed in the catacombs.")
    call SetUnitPositionLoc(GetTriggerUnit(),GetRectCenter(udg_rect04))
endfunction

//===========================================================================
//===========================================================================
//Trigger:East Catacombs
//===========================================================================
function Trig_East_Catacombs_Conditions takes nothing returns boolean
    if(not(IsUnitType(GetTriggerUnit(),UNIT_TYPE_FLYING)==true))then
        return false
    endif
    return true
endfunction

function Trig_East_Catacombs_Actions takes nothing returns nothing
    set udg_player02=GetTriggerPlayer()
    set udg_force02=GetForceOfPlayer(udg_player02)
    call DisplayTextToForce(udg_force02,"|c00ff471aPlanes are not allowed in the catacombs.")
    call SetUnitPositionLoc(GetTriggerUnit(),GetRectCenter(udg_rect22))
endfunction

//===========================================================================
//===========================================================================
//Trigger:Guard Tower Capture
//===========================================================================
function Trig_Guard_Tower_Capture_Func002Func002Func002C takes nothing returns boolean
    if(not(IsUnitType(GetAttacker(),UNIT_TYPE_UNDEAD)==false))then
        return false
    endif
    return true
endfunction

function Trig_Guard_Tower_Capture_Func002Func002C takes nothing returns boolean
    if(not(IsUnitInGroup(GetTriggerUnit(),udg_group04)==false))then
        return false
    endif
    return true
endfunction

function Trig_Guard_Tower_Capture_Func002C takes nothing returns boolean
    if(not(GetUnitTypeId(GetTriggerUnit())=='hgtw'))then
        return false
    endif
    if(not(GetUnitLifePercent(GetTriggerUnit())<=30.00))then
        return false
    endif
    return true
endfunction

function Trig_Guard_Tower_Capture_Actions takes nothing returns nothing
    if(Trig_Guard_Tower_Capture_Func002C())then
        if(Trig_Guard_Tower_Capture_Func002Func002C())then
            if(Trig_Guard_Tower_Capture_Func002Func002Func002C())then
                call SetUnitOwner(GetTriggerUnit(),GetOwningPlayer(GetAttacker()),true)
                call SetUnitLifePercentBJ(GetTriggerUnit(),100)
                call GroupAddUnitSimple(GetTriggerUnit(),udg_group04)
                call TriggerSleepAction(3.00)
                call GroupRemoveUnitSimple(GetTriggerUnit(),udg_group04)
            else
            endif
        else
            call IssueImmediateOrderBJ(GetAttacker(),"stop")
        endif
    else
    endif
endfunction

//===========================================================================
//===========================================================================
//Trigger:Upgrade
//===========================================================================
function Trig_Upgrade_Conditions takes nothing returns boolean
    if(not(IsUnitType(GetTriggerUnit(),UNIT_TYPE_TOWNHALL)==true))then
        return false
    endif
    return true
endfunction

function Trig_Upgrade_Actions takes nothing returns nothing
endfunction

//===========================================================================
//===========================================================================
//Trigger:Capture
//===========================================================================
function Trig_Capture_Func001Func003Func002C takes nothing returns boolean
    if(not(IsUnitType(GetAttacker(),UNIT_TYPE_UNDEAD)==true))then
        return false
    endif
    return true
endfunction

function Trig_Capture_Func001Func003C takes nothing returns boolean
    if(not(IsUnitInGroup(GetTriggerUnit(),udg_group04)==false))then
        return false
    endif
    return true
endfunction

function Trig_Capture_Func001C takes nothing returns boolean
    if(not(IsUnitType(GetTriggerUnit(),UNIT_TYPE_TOWNHALL)==true))then
        return false
    endif
    if(not(GetUnitTypeId(GetTriggerUnit())!='hgtw'))then
        return false
    endif
    if(not(GetUnitLifePercent(GetTriggerUnit())<=30.00))then
        return false
    endif
    return true
endfunction

function Trig_Capture_Actions takes nothing returns nothing
    if(Trig_Capture_Func001C())then
        if(Trig_Capture_Func001Func003C())then
            if(Trig_Capture_Func001Func003Func002C())then
                call SetUnitOwner(GetTriggerUnit(),GetOwningPlayer(GetAttacker()),true)
                call ReplaceUnitBJ(GetTriggerUnit(),'u000',bj_UNIT_STATE_METHOD_DEFAULTS)
                call GroupAddUnitSimple(GetTriggerUnit(),udg_group04)
                call TriggerSleepAction(3.00)
                call GroupRemoveUnitSimple(GetTriggerUnit(),udg_group04)
            else
                call SetUnitOwner(GetTriggerUnit(),GetOwningPlayer(GetAttacker()),true)
                call SetUnitLifePercentBJ(GetTriggerUnit(),100)
                call GroupAddUnitSimple(GetTriggerUnit(),udg_group04)
                call TriggerSleepAction(3.00)
                call GroupRemoveUnitSimple(GetTriggerUnit(),udg_group04)
            endif
        else
            call IssueImmediateOrderBJ(GetAttacker(),"stop")
        endif
    else
    endif
endfunction

//===========================================================================
//===========================================================================
//Trigger:Leaderboard and Income
//===========================================================================
function Trig_Leaderboard_and_Income_Func001002002001 takes nothing returns boolean
    return(IsUnitType(GetFilterUnit(),UNIT_TYPE_TOWNHALL)==true)
endfunction

function Trig_Leaderboard_and_Income_Func001002002002 takes nothing returns boolean
    return(GetUnitTypeId(GetFilterUnit())!='hgtw')
endfunction

function Trig_Leaderboard_and_Income_Func001002002 takes nothing returns boolean
    return GetBooleanAnd(Trig_Leaderboard_and_Income_Func001002002001(),Trig_Leaderboard_and_Income_Func001002002002())
endfunction

function Trig_Leaderboard_and_Income_Func002A takes nothing returns nothing
    set udg_integers02[GetConvertedPlayerId(GetOwningPlayer(GetEnumUnit()))]=(udg_integers02[GetConvertedPlayerId(GetOwningPlayer(GetEnumUnit()))]+3)
endfunction

function Trig_Leaderboard_and_Income_Func004002002 takes nothing returns boolean
    return(GetUnitTypeId(GetTriggerUnit())=='u000')
endfunction

function Trig_Leaderboard_and_Income_Func005A takes nothing returns nothing
    set udg_integers02[GetConvertedPlayerId(GetOwningPlayer(GetEnumUnit()))]=(udg_integers02[GetConvertedPlayerId(GetOwningPlayer(GetEnumUnit()))]+3)
    call DestroyGroup(udg_group02)
endfunction

function Trig_Leaderboard_and_Income_Func006002001 takes nothing returns boolean
    return(GetPlayerSlotState(GetFilterPlayer())==PLAYER_SLOT_STATE_PLAYING)
endfunction

function Trig_Leaderboard_and_Income_Func007A takes nothing returns nothing
    call AdjustPlayerStateBJ(udg_integers02[GetConvertedPlayerId(GetEnumPlayer())],GetEnumPlayer(),PLAYER_STATE_RESOURCE_GOLD)
    call AdjustPlayerStateBJ(udg_integers02[GetConvertedPlayerId(GetEnumPlayer())],GetEnumPlayer(),PLAYER_STATE_RESOURCE_LUMBER)
    call ForceAddPlayerSimple(GetEnumPlayer(),udg_force01)
endfunction

function Trig_Leaderboard_and_Income_Func008002002 takes nothing returns boolean
    return(IsUnitAliveBJ(GetFilterUnit())==true)
endfunction

function Trig_Leaderboard_and_Income_Func011002002 takes nothing returns boolean
    return(IsUnitAliveBJ(GetFilterUnit())==true)
endfunction

function Trig_Leaderboard_and_Income_Func014A takes nothing returns nothing
    call LeaderboardAddItemBJ(GetEnumPlayer(),udg_leaderboard01,GetPlayerName(GetEnumPlayer()),udg_integers02[GetConvertedPlayerId(GetEnumPlayer())])
    set udg_integers02[GetConvertedPlayerId(GetEnumPlayer())]=0
endfunction

function Trig_Leaderboard_and_Income_Actions takes nothing returns nothing
    set udg_group02=GetUnitsInRectMatching(GetPlayableMapRect(),Condition(function Trig_Leaderboard_and_Income_Func001002002))
    call ForGroupBJ(udg_group02,function Trig_Leaderboard_and_Income_Func002A)
    call DestroyGroup(udg_group02)
    set udg_group02=GetUnitsInRectMatching(GetPlayableMapRect(),Condition(function Trig_Leaderboard_and_Income_Func004002002))
    call ForGroupBJ(udg_group02,function Trig_Leaderboard_and_Income_Func005A)
    set udg_force02=GetPlayersMatching(Condition(function Trig_Leaderboard_and_Income_Func006002001))
    call ForForce(udg_force02,function Trig_Leaderboard_and_Income_Func007A)
    set udg_group02=GetUnitsOfPlayerMatching(Player(10),Condition(function Trig_Leaderboard_and_Income_Func008002002))
    set udg_integers02[11]=CountUnitsInGroup(udg_group02)
    call DestroyGroup(udg_group02)
    set udg_group02=GetUnitsOfPlayerMatching(Player(11),Condition(function Trig_Leaderboard_and_Income_Func011002002))
    set udg_integers02[12]=CountUnitsInGroup(udg_group02)
    call DestroyGroup(udg_group02)
    call ForForce(udg_force01,function Trig_Leaderboard_and_Income_Func014A)
    call DestroyForce(udg_force02)
    set udg_group02=null
    set udg_force02=null
endfunction

//===========================================================================
//===========================================================================
//Trigger:Player Leaves
//===========================================================================
function Trig_Player_Leaves_Func009C takes nothing returns boolean
    if(not(udg_integers01[udg_integer06]>0))then
        return false
    endif
    return true
endfunction

function Trig_Player_Leaves_Actions takes nothing returns nothing
    call ShareEverythingWithTeam(GetTriggerPlayer())
    call ForceRemovePlayerSimple(GetTriggerPlayer(),udg_force01)
    call LeaderboardSetPlayerItemLabelColorBJ(GetTriggerPlayer(),udg_leaderboard01,20.00,20.00,20,0)
    call LeaderboardSetPlayerItemValueColorBJ(GetTriggerPlayer(),udg_leaderboard01,20.00,20.00,20,0)
    set udg_integer06=GetConvertedPlayerId(GetTriggerPlayer())
    call ForceRemovePlayerSimple(udg_player02,udg_force01)
    call DisplayTimedTextToForce(udg_force01,60.00,(udg_strings03[udg_integer06]+" has left the game!"))
    call StartSound(udg_sound07)
    if(Trig_Player_Leaves_Func009C())then
        set udg_force02=GetForceOfPlayer(ConvertedPlayer(udg_integers01[udg_integer06]))
        call DisplayTimedTextToForce(udg_force02,10.00,"|cffff0000Your Permanent Ally has left the game.|r\n")
        call DestroyForce(udg_force02)
        set udg_integers01[GetConvertedPlayerId(ConvertedPlayer(udg_integers01[udg_integer06]))]=0
    else
        call DoNothing()
    endif
    set udg_group02=null
    set udg_force02=null
endfunction

//===========================================================================
//===========================================================================
//Trigger:Left In
//===========================================================================
function Trig_Left_In_Func001C takes nothing returns boolean
    if(not(IsUnitType(GetTriggerUnit(),UNIT_TYPE_FLYING)==true))then
        return false
    endif
    return true
endfunction

function Trig_Left_In_Actions takes nothing returns nothing
    if(Trig_Left_In_Func001C())then
        call DoNothing()
    else
        set udg_location01=GetRectCenter(udg_rect06)
        call SetUnitPositionLoc(GetTriggerUnit(),udg_location01)
        call RemoveLocation(udg_location01)
        call IssueImmediateOrderBJ(GetTriggerUnit(),"stop")
        set udg_location01=null
    endif
endfunction

//===========================================================================
//===========================================================================
//Trigger:Left Out
//===========================================================================
function Trig_Left_Out_Actions takes nothing returns nothing
    set udg_location01=GetRectCenter(udg_rect05)
    call SetUnitPositionLoc(GetTriggerUnit(),udg_location01)
    call RemoveLocation(udg_location01)
    call IssueImmediateOrderBJ(GetTriggerUnit(),"stop")
    set udg_location01=null
endfunction

//===========================================================================
//===========================================================================
//Trigger:Right In
//===========================================================================
function Trig_Right_In_Func001C takes nothing returns boolean
    if(not(IsUnitType(GetTriggerUnit(),UNIT_TYPE_FLYING)==true))then
        return false
    endif
    return true
endfunction

function Trig_Right_In_Actions takes nothing returns nothing
    if(Trig_Right_In_Func001C())then
        call DoNothing()
    else
        set udg_location01=GetRectCenter(udg_rect20)
        call SetUnitPositionLoc(GetTriggerUnit(),udg_location01)
        call RemoveLocation(udg_location01)
        call IssueImmediateOrderBJ(GetTriggerUnit(),"stop")
        set udg_location01=null
    endif
endfunction

//===========================================================================
//===========================================================================
//Trigger:Right Out
//===========================================================================
function Trig_Right_Out_Actions takes nothing returns nothing
    set udg_location01=GetRectCenter(udg_rect23)
    call SetUnitPositionLoc(GetTriggerUnit(),udg_location01)
    call RemoveLocation(udg_location01)
    call IssueImmediateOrderBJ(GetTriggerUnit(),"stop")
    set udg_location01=null
endfunction

//===========================================================================
//===========================================================================
//Trigger:Decay
//===========================================================================
function Trig_Decay_Conditions takes nothing returns boolean
    if(not(GetSpellAbilityId()=='A002'))then
        return false
    endif
    return true
endfunction

function Trig_Decay_Actions takes nothing returns nothing
    call UnitApplyTimedLifeBJ(1.00,'BTLF',GetTriggerUnit())
endfunction

//===========================================================================
//===========================================================================
//Trigger:NameCheck
//===========================================================================
function Trig_NameCheck_Conditions takes nothing returns boolean
    if(not(SubStringBJ(GetEventPlayerChatString(),1,11)=="-namecheck "))then
        return false
    endif
    return true
endfunction

function Trig_NameCheck_Func002Func001C takes nothing returns boolean
    if(not(StringCase(GetPlayerName(ConvertedPlayer(GetForLoopIndexA())),false)==StringCase(udg_string02,false)))then
        return false
    endif
    if(not(StringCase(GetPlayerName(ConvertedPlayer(GetForLoopIndexA())),false)==StringCase(udg_string02,false)))then
        return false
    endif
    return true
endfunction

function Trig_NameCheck_Actions takes nothing returns nothing
    set udg_string02=SubStringBJ(GetEventPlayerChatString(),12,StringLength(GetEventPlayerChatString()))
    set bj_forLoopAIndex=1
    set bj_forLoopAIndexEnd=12
    loop
        exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
        if(Trig_NameCheck_Func002Func001C())then
            set udg_force02=GetForceOfPlayer(GetTriggerPlayer())
            call DisplayTimedTextToForce(udg_force02,30,(udg_strings03[GetForLoopIndexA()]+(" real Username is "+udg_strings02[GetForLoopIndexA()])))
            call DestroyForce(udg_force02)
        else
        endif
        set bj_forLoopAIndex=bj_forLoopAIndex+1
    endloop
    set udg_force02=null
endfunction

//===========================================================================
//===========================================================================
//Trigger:Count
//===========================================================================
function Trig_Count_Func002002002001 takes nothing returns boolean
    return(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false)
endfunction

function Trig_Count_Func002002002002 takes nothing returns boolean
    return(IsUnitAliveBJ(GetFilterUnit())==true)
endfunction

function Trig_Count_Func002002002 takes nothing returns boolean
    return GetBooleanAnd(Trig_Count_Func002002002001(),Trig_Count_Func002002002002())
endfunction

function Trig_Count_Func003002002001 takes nothing returns boolean
    return(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==true)
endfunction

function Trig_Count_Func003002002002 takes nothing returns boolean
    return(IsUnitAliveBJ(GetFilterUnit())==true)
endfunction

function Trig_Count_Func003002002 takes nothing returns boolean
    return GetBooleanAnd(Trig_Count_Func003002002001(),Trig_Count_Func003002002002())
endfunction

function Trig_Count_Actions takes nothing returns nothing
    set udg_force02=GetForceOfPlayer(GetTriggerPlayer())
    set udg_group02=GetUnitsOfPlayerMatching(GetTriggerPlayer(),Condition(function Trig_Count_Func002002002))
    set udg_group03=GetUnitsOfPlayerMatching(GetTriggerPlayer(),Condition(function Trig_Count_Func003002002))
    call DisplayTimedTextToForce(udg_force02,30,("You have "+(I2S(CountUnitsInGroup(udg_group02))+(" units and "+(I2S(CountUnitsInGroup(udg_group03))+" buildings under your control.")))))
    call DestroyForce(udg_force02)
    call DestroyGroup(udg_group02)
    call DestroyGroup(udg_group03)
    set udg_force02=null
    set udg_group02=null
    set udg_group03=null
endfunction

//===========================================================================
//===========================================================================
//Trigger:Camera Set
//
//2820
//===========================================================================
function Trig_Camera_Set_Conditions takes nothing returns boolean
    if(not(SubStringBJ(GetEventPlayerChatString(),1,5)=="-cam "))then
        return false
    endif
    return true
endfunction

function Trig_Camera_Set_Func001Func003C takes nothing returns boolean
    if(not(udg_integer06>99))then
        return false
    endif
    if(not(udg_integer06<=5000))then
        return false
    endif
    return true
endfunction

function Trig_Camera_Set_Func001C takes nothing returns boolean
    if(not(SubStringBJ(GetEventPlayerChatString(),6,10)=="reset"))then
        return false
    endif
    return true
endfunction

function Trig_Camera_Set_Actions takes nothing returns nothing
    if(Trig_Camera_Set_Func001C())then
        call SetCameraFieldForPlayer(GetTriggerPlayer(),CAMERA_FIELD_TARGET_DISTANCE,2820.00,3.00)
    else
        set udg_integer06=S2I(SubStringBJ(GetEventPlayerChatString(),6,9))
        if(Trig_Camera_Set_Func001Func003C())then
            call SetCameraFieldForPlayer(GetTriggerPlayer(),CAMERA_FIELD_TARGET_DISTANCE,I2R(udg_integer06),3.00)
        else
        endif
    endif
    set udg_group02=null
endfunction

//===========================================================================
//===========================================================================
//Trigger:Tipper
//===========================================================================
function Trig_Tipper_Func002C takes nothing returns boolean
    if(not(udg_integer09<=udg_integer05))then
        return false
    endif
    return true
endfunction

function Trig_Tipper_Actions takes nothing returns nothing
    set udg_integer09=GetRandomInt(1,(udg_integer05*2))
    if(Trig_Tipper_Func002C())then
        call StartSound(udg_sound02)
        call DisplayTextToForce(udg_force01,(("|c000FC610Tip ("+(I2S(udg_integer09)+(" of "+I2S(udg_integer05))))+(")|r: |c001FF5FF"+(udg_strings05[udg_integer09]+"|r"))))
        call DisplayTimedTextToForce(udg_force01,20.00,"--->HiveWorkshop.com<---")
    else
    endif
endfunction

//===========================================================================
//===========================================================================
//Trigger:Ally
//===========================================================================
function Trig_Ally_Func001Func009C takes nothing returns boolean
    if((GetTriggerPlayer()==Player(10)))then
        return true
    endif
    if((GetTriggerPlayer()==Player(11)))then
        return true
    endif
    return false
endfunction

function Trig_Ally_Func001C takes nothing returns boolean
    if(not Trig_Ally_Func001Func009C())then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func002Func002C takes nothing returns boolean
    if(not(SubStringBJ(GetEventPlayerChatString(),1,3)=="-a "))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func002C takes nothing returns boolean
    if(not(SubStringBJ(GetEventPlayerChatString(),1,6)=="-ally "))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func002C takes nothing returns boolean
    if((StringCase(udg_string02,false)=="gray"))then
        return true
    endif
    if((StringCase(udg_string02,false)=="grey"))then
        return true
    endif
    return false
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func001C takes nothing returns boolean
    if((StringCase(udg_string02,false)=="light blue"))then
        return true
    endif
    if((StringCase(udg_string02,false)=="lb"))then
        return true
    endif
    return false
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func001C takes nothing returns boolean
    if((StringCase(udg_string02,false)=="dark green"))then
        return true
    endif
    if((StringCase(udg_string02,false)=="dg"))then
        return true
    endif
    return false
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func002Func001Func001Func001C takes nothing returns boolean
    if((StringCase(udg_string02,false)==StringCase(udg_strings02[GetForLoopIndexA()],false)))then
        return true
    endif
    if((StringCase(udg_string02,false)==StringCase(GetPlayerName(ConvertedPlayer(GetForLoopIndexA())),false)))then
        return true
    endif
    return false
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func002Func001Func001C takes nothing returns boolean
    if(not Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func002Func001Func001Func001C())then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func002Func002Func001Func001A takes nothing returns nothing
    call SetPlayerAllianceStateBJ(GetTriggerPlayer(),GetEnumPlayer(),bj_ALLIANCE_ALLIED_VISION)
    set udg_force02=GetForceOfPlayer(GetEnumPlayer())
    call DisplayTextToForce(udg_force02,(udg_strings03[GetConvertedPlayerId(GetTriggerPlayer())]+" |c00C70000 allied you.|r"))
    call DestroyForce(udg_force02)
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func002Func002Func001C takes nothing returns boolean
    if(not(StringCase(udg_string02,false)=="all"))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func002Func002C takes nothing returns boolean
    if(not(udg_boolean03==true))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func002C takes nothing returns boolean
    if(not(StringCase(udg_string02,false)=="brown"))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002C takes nothing returns boolean
    if(not Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func001C())then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003C takes nothing returns boolean
    if(not Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func001C())then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001C takes nothing returns boolean
    if(not Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func002C())then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001C takes nothing returns boolean
    if(not(StringCase(udg_string02,false)=="pink"))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002C takes nothing returns boolean
    if(not(StringCase(udg_string02,false)=="green"))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001Func001C takes nothing returns boolean
    if(not(StringCase(udg_string02,false)=="orange"))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002Func001Func001Func001C takes nothing returns boolean
    if(not(StringCase(udg_string02,false)=="yellow"))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002Func001Func001C takes nothing returns boolean
    if(not(StringCase(udg_string02,false)=="purple"))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002Func001C takes nothing returns boolean
    if(not(StringCase(udg_string02,false)=="teal"))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003Func002C takes nothing returns boolean
    if(not(StringCase(udg_string02,false)=="blue"))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func003C takes nothing returns boolean
    if(not(StringCase(udg_string02,false)=="red"))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func004Func001Func001C takes nothing returns boolean
    if(not(IsPlayerAlly(GetTriggerPlayer(),udg_player02)==true))then
        return false
    endif
    if(not(GetPlayerAlliance(GetTriggerPlayer(),udg_player02,ALLIANCE_SHARED_VISION)==true))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func004Func001C takes nothing returns boolean
    if(not(udg_player02==Player(10)))then
        return false
    endif
    if(not(udg_player02==Player(11)))then
        return false
    endif
    return true
endfunction

function Trig_Ally_Func004Func002C takes nothing returns boolean
    if((GetConvertedPlayerId(udg_player02)>10))then
        return true
    endif
    if((GetTriggerPlayer()==udg_player02))then
        return true
    endif
    return false
endfunction

function Trig_Ally_Func004C takes nothing returns boolean
    if(not Trig_Ally_Func004Func002C())then
        return false
    endif
    return true
endfunction

function Trig_Ally_Actions takes nothing returns nothing
    if(Trig_Ally_Func001C())then
        set udg_force02=GetForceOfPlayer(GetTriggerPlayer())
        call DisplayTextToForce(udg_force02,"|c00C70000Error - Invalid Player. Zombies cannot ally.|r")
        call DestroyForce(udg_force02)
        set udg_force02=null
        if(GetLocalPlayer()==GetTriggerPlayer())then
            call StartSound(udg_sound03)
        endif
        return
    else
    endif
    if(Trig_Ally_Func002C())then
        set udg_string02=SubStringBJ(GetEventPlayerChatString(),7,StringLength(GetEventPlayerChatString()))
    else
        if(Trig_Ally_Func002Func002C())then
            set udg_string02=SubStringBJ(GetEventPlayerChatString(),4,StringLength(GetEventPlayerChatString()))
        else
            return
        endif
    endif
    if(Trig_Ally_Func003C())then
        set udg_player02=udg_players01[1]
    else
        if(Trig_Ally_Func003Func002C())then
            set udg_player02=udg_players01[2]
        else
            if(Trig_Ally_Func003Func002Func001C())then
                set udg_player02=udg_players01[3]
            else
                if(Trig_Ally_Func003Func002Func001Func001C())then
                    set udg_player02=udg_players01[4]
                else
                    if(Trig_Ally_Func003Func002Func001Func001Func001C())then
                        set udg_player02=udg_players01[5]
                    else
                        if(Trig_Ally_Func003Func002Func001Func001Func001Func001C())then
                            set udg_player02=udg_players01[6]
                        else
                            if(Trig_Ally_Func003Func002Func001Func001Func001Func001Func002C())then
                                set udg_player02=udg_players01[7]
                            else
                                if(Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001C())then
                                    set udg_player02=udg_players01[8]
                                else
                                    if(Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001C())then
                                        set udg_player02=udg_players01[9]
                                    else
                                        if(Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003C())then
                                            set udg_player02=udg_players01[10]
                                        else
                                            if(Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002C())then
                                                set udg_player02=udg_players01[11]
                                            else
                                                if(Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func002C())then
                                                    set udg_player02=udg_players01[12]
                                                else
                                                    set bj_forLoopAIndex=1
                                                    set bj_forLoopAIndexEnd=12
                                                    loop
                                                        exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
                                                        if(Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func002Func001Func001C())then
                                                            set udg_player02=ConvertedPlayer(GetForLoopIndexA())
                                                            set udg_boolean03=true
                                                            exitwhen true
                                                        else
                                                        endif
                                                        set bj_forLoopAIndex=bj_forLoopAIndex+1
                                                    endloop
                                                    if(Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func002Func002C())then
                                                        set udg_boolean03=false
                                                    else
                                                        if(Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func002Func002Func001C())then
                                                            call ForForce(udg_force03,function Trig_Ally_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func002Func002Func001Func001A)
                                                            //NO ALLY ZOMBIE
                                                            call SetPlayerAllianceStateBJ(GetTriggerPlayer(),Player(10),bj_ALLIANCE_UNALLIED)
                                                            call SetPlayerAllianceStateBJ(GetTriggerPlayer(),Player(11),bj_ALLIANCE_UNALLIED)
                                                            set udg_force02=GetForceOfPlayer(GetTriggerPlayer())
                                                            call DisplayTextToForce(udg_force02,("|c00C70000You are now allied with "+"everyone."))
                                                            call DestroyForce(udg_force02)
                                                            call DisplayTextToForce(udg_force01,(udg_strings03[GetConvertedPlayerId(GetTriggerPlayer())]+(" |c0000B100is now allied with everyone.|r "+"everyone.")))
                                                            set udg_force02=null
                                                            call StartSound(udg_sound02)
                                                            return
                                                        else
                                                            set udg_force02=GetForceOfPlayer(GetTriggerPlayer())
                                                            call DisplayTextToForce(udg_force02,"|c00C70000Error - Player Not Found. Please try again with either a player's color, original name, or current name.|r")
                                                            call DestroyForce(udg_force02)
                                                            set udg_force02=null
                                                            if(GetLocalPlayer()==GetTriggerPlayer())then
                                                                call StartSound(udg_sound03)
                                                            endif
                                                            return
                                                        endif
                                                    endif
                                                endif
                                            endif
                                        endif
                                    endif
                                endif
                            endif
                        endif
                    endif
                endif
            endif
        endif
    endif
    if(Trig_Ally_Func004C())then
        set udg_force02=GetForceOfPlayer(GetTriggerPlayer())
        call DisplayTextToForce(udg_force02,"|c00C70000Error - Invalid Player. The player must be a User and currently Playing. You also cannot ally a zombie.|r")
        call DestroyForce(udg_force02)
        set udg_force02=null
        if(GetLocalPlayer()==GetTriggerPlayer())then
            call StartSound(udg_sound03)
        endif
        return
    else
        if(Trig_Ally_Func004Func001C())then
            set udg_force02=GetForceOfPlayer(GetTriggerPlayer())
            call DisplayTextToForce(udg_force02,"|c00C70000Error - Invalid Player. You cannot ally a zombie.|r")
            call DestroyForce(udg_force02)
            set udg_force02=null
            if(GetLocalPlayer()==GetTriggerPlayer())then
                call StartSound(udg_sound03)
            endif
            return
        else
            if(Trig_Ally_Func004Func001Func001C())then
                set udg_force02=GetForceOfPlayer(GetTriggerPlayer())
                call DisplayTextToForce(udg_force02,"|c00C70000Error - Unneeded Command. You are already allied with that player.|r")
                call DestroyForce(udg_force02)
                set udg_force02=null
                if(GetLocalPlayer()==GetTriggerPlayer())then
                    call StartSound(udg_sound03)
                endif
                return
            else
                call SetPlayerAllianceStateBJ(GetTriggerPlayer(),udg_player02,bj_ALLIANCE_ALLIED_VISION)
                set udg_force02=GetForceOfPlayer(GetTriggerPlayer())
                call DisplayTextToForce(udg_force02,("|c0000B100You have allied "+(udg_strings03[GetConvertedPlayerId(udg_player02)]+".|r")))
                call DestroyForce(udg_force02)
                if(GetLocalPlayer()==GetTriggerPlayer())then
                    call StartSound(udg_sound02)
                endif
                set udg_force02=GetForceOfPlayer(udg_player02)
                call DisplayTextToForce(udg_force02,(udg_strings03[GetConvertedPlayerId(GetTriggerPlayer())]+" |c0000B100has allied you.|r"))
                call DestroyForce(udg_force02)
                if(GetLocalPlayer()==GetTriggerPlayer())then
                    call StartSound(udg_sound02)
                endif
                call DisplayTextToForce(udg_force01,(udg_strings03[GetConvertedPlayerId(GetTriggerPlayer())]+(" |c0000B100has allied|r "+(udg_strings03[GetConvertedPlayerId(udg_player02)]+"."))))
                set udg_force02=null
            endif
        endif
    endif
endfunction

//===========================================================================
//===========================================================================
//Trigger:UnAlly
//===========================================================================
function Trig_UnAlly_Func001Func009C takes nothing returns boolean
    if((GetTriggerPlayer()==Player(10)))then
        return true
    endif
    if((GetTriggerPlayer()==Player(11)))then
        return true
    endif
    return false
endfunction

function Trig_UnAlly_Func001C takes nothing returns boolean
    if(not Trig_UnAlly_Func001Func009C())then
        return false
    endif
    return true
endfunction

function Trig_UnAlly_Func002Func002C takes nothing returns boolean
    if(not(SubStringBJ(GetEventPlayerChatString(),1,5)=="-war "))then
        return false
    endif
    return true
endfunction

function Trig_UnAlly_Func002C takes nothing returns boolean
    if(not(SubStringBJ(GetEventPlayerChatString(),1,8)=="-unally "))then
        return false
    endif
    return true
endfunction

function Trig_UnAlly_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func002C takes nothing returns boolean
    if((StringCase(udg_string02,false)=="gray"))then
        return true
    endif
    if((StringCase(udg_string02,false)=="grey"))then
        return true
    endif
    return false
endfunction

function Trig_UnAlly_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func001C takes nothing returns boolean
    if((StringCase(udg_string02,false)=="light blue"))then
        return true
    endif
    if((StringCase(udg_string02,false)=="lb"))then
        return true
    endif
    return false
endfunction

function Trig_UnAlly_Func003Func002Func001Func001Func001Func001Func002Func001Func001Func003Func002Func001C takes nothing returns boolean
    if((StringCase(udg_string02,false)=="dark green"))then
        return true