global OnMapLoad = function() { //Trigger-Section OnTrigger("The Allies have captured the forward bunker!", OnFlagTake); OnTrigger("The Axis have reclaimed the forward bunker!", OnFlagRet); OnTrigger("The main gate has been destroyed!", OnFlagSec); OnTrigger("The side door has been destroyed!", OnSide); OnTrigger("Allied Command Post constructed. Charge speed increased!", OnAllCP); OnTrigger("The Allies have captured the keycard. The generator has been started!", OnKeyCap); OnTrigger("The Truck has been repaired!", OnTruckrep); OnTrigger("goldrush_axis_truck_barrier1", OnFirstBar); OnTrigger("goldrush_axis_truck_barrier2", OnSecBar); SetAvailableMapGoals( TEAM.AXIS, false, ".*" ); SetAvailableMapGoals( TEAM.ALLIES, false, ".*" ); MGA = GetGoal("MAP_DYNAMITE_TARGET_maingate"); if (MGA) { MGA.SetAvailable(TEAM.ALLIES, true); MGA.Bias = 5.0; } SGA = GetGoal("MAP_DYNAMITE_TARGET_sidedoor"); if (SGA) { SGA.SetAvailable(TEAM.ALLIES, true); SGA.Bias = 1.0; } //Axis Flag Defense First Stage SetAvailableMapGoals(TEAM.AXIS, true, "ATTACK_AFlag.*"); SetAvailableMapGoals(TEAM.AXIS, true, "PLANT_MINE_GOAL_Amine.*"); SetAvailableMapGoals(TEAM.ALLIES, true, "ATTACK_Flag.*"); }; global OnFlagTake = function (trigger) { SetAvailableMapGoals(TEAM.AXIS, false, "ATTACK_AFlag.*"); SetAvailableMapGoals(TEAM.ALLIES, false, "ATTACK_Flag.*"); SetAvailableMapGoals(TEAM.ALLIES, true, "ATTACK_BFlag.*"); SetAvailableMapGoals(TEAM.AXIS, true, "ATTACK_Flag.*"); CPA = GetGoal("MAP_CONSTRUCTION_axis_cp_open"); if (CPA) { CPA.SetAvailable(TEAM.AXIS, true); CPA.Bias = 0.25; } }; global OnFlagRet = function (trigger) { SetAvailableMapGoals(TEAM.AXIS, true, "ATTACK_AFlag.*"); SetAvailableMapGoals(TEAM.ALLIES, true, "ATTACK_Flag.*"); SetAvailableMapGoals(TEAM.ALLIES, false, "ATTACK_BFlag.*"); SetAvailableMapGoals(TEAM.AXIS, false, "ATTACK_Flag.*"); }; global OnFlagSec = function (trigger) { //disabled First-Stage-Stuff SetAvailableMapGoals(TEAM.AXIS, false, "ATTACK_AFlag.*"); SetAvailableMapGoals(TEAM.ALLIES, false, "ATTACK_Flag.*"); SetAvailableMapGoals(TEAM.ALLIES, false, "ATTACK_BFlag.*"); SetAvailableMapGoals(TEAM.AXIS, false, "ATTACK_Flag.*"); SetAvailableMapGoals(TEAM.AXIS, false, "PLANT_MINE_GOAL_Amine.*"); //enables CommandPost-Attack etc SetAvailableMapGoals(TEAM.ALLIES, true, "MAP_SNIPER_SPOT_CPA.*"); SetAvailableMapGoals(TEAM.ALLIES, true, "ATTACK_CPA.*"); SetAvailableMapGoals(TEAM.AXIS, true, "ATTACK_CPB.*"); SGA = GetGoal("MAP_DYNAMITE_TARGET_sidedoor"); if (SGA) { SGA.SetAvailable(TEAM.ALLIES, true); SGA.Bias = 1.5; } CPA = GetGoal("MAP_CONSTRUCTION_axis_cp_open"); if (CPA) { CPA.SetAvailable(TEAM.AXIS, true); CPA.Bias = 2.0; } CPB = GetGoal("MAP_CONSTRUCTION_allied_cp_open"); if (CPB) { CPB.SetAvailable(TEAM.ALLIES, true); CPB.Bias = 2.0; } DPA = GetGoal("MAP_DYNAMITE_TARGET_allied_cp_open"); if (DPA) { DPA.SetAvailable(TEAM.AXIS, true); DPA.SetAvailable(TEAM.ALLIES, true); DPA.Bias = 2.0; } //enable Keycard and Truck on a low Level CTC = GetGoal("MAP_CONSTRUCTION_truck_construct"); if (CTC) { CTC.SetAvailable(TEAM.ALLIES, true); CTC.Bias = 0.25; } GKC = GetGoal("MAP_FLAG_keycard_flag"); if (GKC) { GKC.SetAvailable(TEAM.ALLIES, true); GKC.Bias = 0.75; } GKCCP = GetGoal("MAP_CAPPOINT_236"); if (GKCCP) { GKCCP.SetAvailable(TEAM.ALLIES, true); GKCCP.Bias = 0.75; } FTBa = GetGoal("MAP_CONSTRUCTION_defense3"); if (FTBa) { FTBa.SetAvailable(TEAM.AXIS, true); FTBa.Bias = 1.0; } }; global OnSide = function (trigger) { global Side = 1; CPB = GetGoal("MAP_CONSTRUCTION_allied_cp_open"); if (CPB) { CPB.SetAvailable(TEAM.ALLIES, true); } }; global OnAllCP = function (trigger) { global CP = 1; DPA = GetGoal("MAP_DYNAMITE_TARGET_allied_cp_open"); if (DPA) { DPA.SetAvailable(TEAM.AXIS, false); } CTC = GetGoal("MAP_CONSTRUCTION_truck_construct"); if (CTC) { CTC.SetAvailable(TEAM.ALLIES, true); CTC.Bias = 2.0; } //disables CommandPost-Attack etc SetAvailableMapGoals(TEAM.ALLIES, false, "MAP_SNIPER_SPOT_CPA.*"); SetAvailableMapGoals(TEAM.ALLIES, false, "ATTACK_CPA.*"); SetAvailableMapGoals(TEAM.AXIS, false, "ATTACK_CPB.*"); //enables Keycard-Attack SetAvailableMapGoals(TEAM.ALLIES, true, "ATTACK_KeyA.*"); SetAvailableMapGoals(TEAM.AXIS, true, "ATTACK_Keyd.*"); }; global OnKeyCap = function (trigger) { //disables Keycard-Attack SetAvailableMapGoals(TEAM.ALLIES, false, "ATTACK_KeyA.*"); SetAvailableMapGoals(TEAM.AXIS, false, "ATTACK_Keyd.*"); //enables Keycard-Attack SetAvailableMapGoals(TEAM.ALLIES, true, "ATTACK_TruckA.*"); SetAvailableMapGoals(TEAM.AXIS, true, "ATTACK_TruckD.*"); //Increase truck construct bias + first barrier CTC = GetGoal("MAP_CONSTRUCTION_truck_construct"); if (CTC) { CTC.SetAvailable(TEAM.ALLIES, true); CTC.Bias = 5.0; } FTBa = GetGoal("MAP_CONSTRUCTION_defense3"); if (FTBa) { FTBa.SetAvailable(TEAM.AXIS, true); FTBa.Bias = 1.0; } }; global OnTruckrep = function (trigger) { FTBa = GetGoal("MAP_CONSTRUCTION_defense3"); if (FTBa) { FTBa.SetAvailable(TEAM.AXIS, true); FTBa.Bias = 3.0; } DTBa = GetGoal("MAP_DYNAMITE_TARGET_defense3"); if (DTBa) { DTBa.SetAvailable(TEAM.ALLIES, true); DTBa.Bias = 3.0; } FTBb = GetGoal("MAP_CONSTRUCTION_defense4"); if (FTBb) { FTBb.SetAvailable(TEAM.AXIS, true); FTBb.Bias = 0.75; } SetAvailableMapGoals(TEAM.ALLIES, true, "ATTACK_KeyA.*"); SetAvailableMapGoals(TEAM.AXIS, true, "ATTACK_Keyd.*"); //enables Keycard-Attack SetAvailableMapGoals(TEAM.ALLIES, false, "ATTACK_TruckA.*"); SetAvailableMapGoals(TEAM.AXIS, false, "ATTACK_TruckD.*"); }; global OnFirstBar = function (trigger) { FTBa = GetGoal("MAP_CONSTRUCTION_defense3"); if (FTBa) { FTBa.SetAvailable(TEAM.AXIS, false); } DTBa = GetGoal("MAP_DYNAMITE_TARGET_defense3"); if (DTBa) { DTBa.SetAvailable(TEAM.ALLIES, false); } FTBb = GetGoal("MAP_CONSTRUCTION_defense4"); if (FTBb) { FTBb.SetAvailable(TEAM.AXIS, true); FTBb.Bias = 5.0; } DTBb = GetGoal("MAP_DYNAMITE_TARGET_defense4"); if (DTBb) { DTBb.SetAvailable(TEAM.ALLIES, true); DTBb.Bias = 5.0; } SetAvailableMapGoals(TEAM.ALLIES, false, "ATTACK_KeyA.*"); SetAvailableMapGoals(TEAM.AXIS, false, "ATTACK_Keyd.*"); SetAvailableMapGoals(TEAM.ALLIES, true, "ATTACK_SecBa.*"); SetAvailableMapGoals(TEAM.AXIS, true, "ATTACK_SecBa.*"); }; global OnSecBar = function (trigger) { FTBb = GetGoal("MAP_CONSTRUCTION_defense4"); if (FTBb) { FTBb.SetAvailable(TEAM.AXIS, false); } DTBb = GetGoal("MAP_DYNAMITE_TARGET_defense4"); if (DTBb) { DTBb.SetAvailable(TEAM.ALLIES, false); } }; global OnBotJoin = function( _param ) { foreach ( gameId and bot in BotTable ) { //ensure the bot is set if (bot) { if ( bot.GetTeam() == TEAM.AXIS && bot.GetClass() == CLASS.SOLDIER ) { if ( bot.HasWeapon(WEAPON.FLAMETHROWER) ) { bot.PickNewPrimaryWeapon(WEAPON.PANZERFAUST); } } if ( bot.GetTeam() == TEAM.AXIS && bot.GetClass() == CLASS.COVERTOPS && bot.HasWeapon(WEAPON.STEN) ) { bot.PickNewPrimaryWeapon(WEAPON.K43); } } } };