global OnBotJoin = function( _param ) { //loop through the BotTable and set TargetBreakableDist for every bot in it. foreach ( gameId and bot in BotTable ) { //ensure the bot is set if (bot) { bot.MaxViewDistance = 1500.0; } } }; global comments = 1; global Atower = 0; global Btower = 0; global Agate = 0; global Bgate = 0; global OnBA = function(trigger) { cBA = GetGoal("MAP_CAPPOINT_BAmmo"); if (cBA) { cBA.SetAvailable(TEAM.ALLIES, false); } }; global OnAA = function(trigger) { cAA = GetGoal("MAP_CAPPOINT_AAmmo"); if (cAA) { cAA.SetAvailable(TEAM.AXIS, false); } }; global OnBE = function(trigger) { cBE = GetGoal("MAP_CAPPOINT_BEngie"); if (cBE) { cBE.SetAvailable(TEAM.ALLIES, false); } }; global OnAE = function(trigger) { cAE = GetGoal("MAP_CAPPOINT_AEngie"); if (cAE) { cAE.SetAvailable(TEAM.AXIS, false); } }; global OnBS = function(trigger) { cBS = GetGoal("MAP_CAPPOINT_BSpawn"); if (cBS) { cBS.SetAvailable(TEAM.ALLIES, false); } }; global OnAS = function(trigger) { cAS = GetGoal("MAP_CAPPOINT_ASpawn"); if (cAS) { cAS.SetAvailable(TEAM.AXIS, false); } }; global OnBM = function(trigger) { cBM = GetGoal("MAP_CAPPOINT_BMedic"); if (cBM) { cBM.SetAvailable(TEAM.ALLIES, false); } }; global OnAM = function(trigger) { cAM = GetGoal("MAP_CAPPOINT_AMedic"); if (cAM) { cAM.SetAvailable(TEAM.AXIS, false); } }; global OnBC = function(trigger) { cBC = GetGoal("MAP_CAPPOINT_BCovert"); if (cBC) { cBC.SetAvailable(TEAM.ALLIES, false); } }; global OnAC = function(trigger) { cAC = GetGoal("MAP_CAPPOINT_ACovert"); if (cAC) { cAC.SetAvailable(TEAM.AXIS, false); } }; global OnBtowerThree = function(trigger) { global Btower = Btower + 1; }; global OnBgateThree = function(trigger) { global Bgate = Bgate + 1; mGateMGB = GetGoal("MAP_MOUNTABLE_MG42_gate_allied_mg"); if (mGateMGB) { mGateMGB.SetAvailable(TEAM.ALLIES, true); mGateMGB.Bias = 2.5; } }; global OnBfrontdefence = function(trigger) { if ( Btower == 1) { cBT = GetGoal("MAP_CAPPOINT_BTower"); if (cBT) { cBT.SetAvailable(TEAM.ALLIES, false); } } if ( Bgate == 1) { cBG = GetGoal("MAP_CAPPOINT_BGate"); if (cBG) { cBG.SetAvailable(TEAM.ALLIES, false); } } }; global OnAtowerThree = function(trigger) { global Atower = Atower + 1; }; global OnAgateThree = function(trigger) { global Agate = Agate + 1; mGateMGA = GetGoal("MAP_MOUNTABLE_MG42_gate_axis_mg"); if (mGateMGA) { mGateMGA.SetAvailable(TEAM.AXIS, true); mGateMGA.Bias = 2.5; } }; global OnAfrontdefence = function(trigger) { if ( Agate == 1) { cAG = GetGoal("MAP_CAPPOINT_AGate"); if (cAG) { cAG.SetAvailable(TEAM.AXIS, false); } } if ( Atower == 1) { cAT = GetGoal("MAP_CAPPOINT_ATower"); if (cAT) { cAT.SetAvailable(TEAM.AXIS, false); } } }; global OnBOut = function(trigger) { dAOut = GetGoal("MAP_DYNAMITE_TARGET_outpost_axis_con"); if (dAOut) { dAOut.SetAvailable(TEAM.ALLIES, true); dAOut.Bias = 1.5; } cAOut = GetGoal("MAP_CONSTRUCTION_outpost_axis_con"); if (cAOut) { cAOut.SetAvailable(TEAM.AXIS, true); cAOut.Bias = 1.5; } }; global OnAOut = function(trigger) { dBOut = GetGoal("MAP_DYNAMITE_TARGET_outpost_allied_con"); if (dBOut) { dBOut.SetAvailable(TEAM.AXIS, true); dBOut.Bias = 1.5; } cBOut = GetGoal("MAP_CONSTRUCTION_outpost_allied_con"); if (cBOut) { cBOut.SetAvailable(TEAM.ALLIES, true); cBOut.Bias = 1.5; } }; global OnMapLoad = function() { //Triggersection OnTrigger("^DThe Allied Armory has been upgraded to ^lLevel 4^D! ^fRocketguns carry additional ammunition!", OnBA); OnTrigger("^1The Axis Armory has been upgraded to ^lLevel 4^1! ^jRocketguns carry additional ammunition!", OnAA); OnTrigger("^DThe Allied Engineering Shack has been upgraded to ^lLevel 4^D! ^fLandmine sentry active!", OnBE); OnTrigger("^1The Axis Engineering Shack has been upgraded to ^lLevel 4^1! ^jLandmine sentry active!", OnAE); OnTrigger("^DThe Allies have mounted Upgraded Machine Guns!.", OnBfrontdefence); OnTrigger("^DThe Allies have built a Super Assault Tower!", OnBtowerThree); OnTrigger("^1The Axis have mounted Upgraded Machine Guns!.", OnAfrontdefence); OnTrigger("^1The Axis have built a Super Assault Tower!", OnAtowerThree); OnTrigger("^DThe Allied Tactical Shack has been upgraded to ^lLevel 4^D! ^fEnemy team doors unlocked!", OnBC); OnTrigger("^1The Axis Tactical Shack has been upgraded to ^lLevel 4^1! ^JEnemy team doors unlocked!", OnAC); OnTrigger("^DThe Allies have mounted an MG!", OnBgateThree); OnTrigger("^1The Axis have mounted an MG!", OnAgateThree); OnTrigger("^DThe Allied Infirmary has been upgraded to ^lLevel 4^D! ^fDefensive supplies active!", OnBM); OnTrigger("^1The Axis Infirmary has been upgraded to ^lLevel 4^1! ^JDefensive supplies active!", OnAM); OnTrigger("^DThe Allied Spawn has been upgraded to ^lLevel 4^D!", OnBS); OnTrigger("^1The Axis Spawn has been upgraded to ^lLevel 4^1!", OnAS); OnTrigger("^2Synergy Bonus! ^gThe Axis have built an Outpost!", OnBOut); OnTrigger("^2Synergy Bonus! ^gThe Allies have built an Outpost!", OnAOut); cAS = GetGoal ("MAP_CAPPOINT_ASpawn"); if (cAS) { cAS.Bias = 2.25; } cAM = GetGoal ("MAP_CAPPOINT_AMedic"); if (cAM) { cAM.Bias = 2.0; } cAA = GetGoal ("MAP_CAPPOINT_AAmmo"); if (cAA) { cAA.Bias = 2.0; } cAC = GetGoal ("MAP_CAPPOINT_ACovert"); if (cAC) { cAC.Bias = 2.0; } cAE = GetGoal ("MAP_CAPPOINT_AEngie"); if (cAE) { cAE.Bias = 2.0; } cAT = GetGoal ("MAP_CAPPOINT_ATower"); if (cAT) { cAT.Bias = 1.25; } cAG = GetGoal ("MAP_CAPPOINT_AGate"); if (cAG) { cAG.Bias = 1.25; } cAFF = GetGoal ("MAP_CAPPOINT_AFenceFront"); if (cAFF) { cAFF.Bias = 0.75; } cAFL = GetGoal ("MAP_CAPPOINT_ASideleft"); if (cAFL) { cAFL.Bias = 0.75; } cAFR = GetGoal ("MAP_CAPPOINT_ASideright"); if (cAFR) { cAFR.Bias = 0.75; } cBS = GetGoal ("MAP_CAPPOINT_BSpawn"); if (cBS) { cBS.Bias = 2.25; } cBM = GetGoal ("MAP_CAPPOINT_BMedic"); if (cBM) { cBM.Bias = 2.0; } cBA = GetGoal ("MAP_CAPPOINT_BAmmo"); if (cBA) { cBA.Bias = 2.0; } cBC = GetGoal ("MAP_CAPPOINT_BCovert"); if (cBC) { cBC.Bias = 2.0; } cBE = GetGoal ("MAP_CAPPOINT_BEngie"); if (cBE) { cBE.Bias = 2.0; } cBT = GetGoal ("MAP_CAPPOINT_BTower"); if (cBT) { cBT.Bias = 1.25; } cBG = GetGoal ("MAP_CAPPOINT_BGate"); if (cBG) { cBG.Bias = 1.25; } cBFF = GetGoal ("MAP_CAPPOINT_BFenceFront"); if (cBFF) { cBFF.Bias = 0.75; } cBFL = GetGoal ("MAP_CAPPOINT_BSideleft"); if (cBFL) { cBFL.Bias = 0.75; } cBFR = GetGoal ("MAP_CAPPOINT_BSideright"); if (cBFR) { cBFR.Bias = 0.75; } dBBasewall = GetGoal("MAP_DYNAMITE_TARGET_basewall_allied_toi"); if (dBBasewall) { dBBasewall.Bias = 1.50; } dBUnderBase = GetGoal("MAP_DYNAMITE_TARGET_Allied_Underbase_Door"); if (dBUnderBase) { dBUnderBase.Bias = 1.50; } dABasewall = GetGoal("MAP_DYNAMITE_TARGET_318"); if (dABasewall) { dABasewall.Bias = 1.50; } dAUnderBase = GetGoal("MAP_DYNAMITE_TARGET_320"); if (dAUnderBase) { dAUnderBase.Bias = 1.50; } //disabled_stuff mWoodenMGA = GetGoal("MAP_MOUNTABLE_MG42_asstower_axis_woodenmg"); if (mWoodenMGA) { mWoodenMGA.SetAvailable(TEAM.ALLIES, false); mWoodenMGA.SetAvailable(TEAM.AXIS, false); } mWoodenMGB = GetGoal("MAP_MOUNTABLE_MG42_asstower_allied_woodenmg"); if (mWoodenMGB) { mWoodenMGB.SetAvailable(TEAM.AXIS, false); mWoodenMGB.SetAvailable(TEAM.ALLIES, false); } mUberMGA = GetGoal("MAP_MOUNTABLE_MG42_asstower_axis_ubermg"); if (mUberMGA) { mUberMGA.SetAvailable(TEAM.ALLIES, false); mUberMGA.SetAvailable(TEAM.AXIS, false); } mUberMGB = GetGoal("MAP_MOUNTABLE_MG42_asstower_allied_ubermg"); if (mUberMGB) { mUberMGB.SetAvailable(TEAM.AXIS, false); mUberMGB.SetAvailable(TEAM.ALLIES, false); } mSuperMGA = GetGoal("MAP_MOUNTABLE_MG42_asstower_axis_supermg"); if (mSuperMGA) { mSuperMGA.SetAvailable(TEAM.ALLIES, false); mSuperMGA.SetAvailable(TEAM.AXIS, false); } mSuperMGB = GetGoal("MAP_MOUNTABLE_MG42_asstower_allied_supermg"); if (mSuperMGB) { mSuperMGB.SetAvailable(TEAM.AXIS, false); mSuperMGB.SetAvailable(TEAM.ALLIES, false); } mGateMGA = GetGoal("MAP_MOUNTABLE_MG42_gate_axis_mg"); if (mGateMGA) { mGateMGA.SetAvailable(TEAM.ALLIES, false); mGateMGA.SetAvailable(TEAM.AXIS, false); } mGateMGB = GetGoal("MAP_MOUNTABLE_MG42_gate_allied_mg"); if (mGateMGB) { mGateMGB.SetAvailable(TEAM.AXIS, false); mGateMGB.SetAvailable(TEAM.ALLIES, false); } //these are the goals that cause the 'engineer plant dynamite in wrong locations' problem.All must be disabled. cTowerGunA = GetGoal("MAP_CONSTRUCTION_towergun_axis_con"); if (cTowerGunA) { cTowerGunA.SetAvailable(TEAM.AXIS, false); } dTowerGunA = GetGoal("MAP_DYNAMITE_TARGET_towergun_axis_con"); if (dTowerGunA) { dTowerGunA.SetAvailable(TEAM.ALLIES, false); } cTowerGunB = GetGoal("MAP_CONSTRUCTION_towergun_allied_con"); if (cTowerGunB) { cTowerGunB.SetAvailable(TEAM.ALLIES, false); } dTowerGunB = GetGoal("MAP_DYNAMITE_TARGET_towergun_allied_con"); if (dTowerGunB) { dTowerGunB.SetAvailable(TEAM.AXIS, false); } cAOut = GetGoal("MAP_CONSTRUCTION_outpost_axis_con"); if (cAOut) { cAOut.SetAvailable(TEAM.AXIS, false); } dAOut = GetGoal("MAP_DYNAMITE_TARGET_outpost_axis_con"); if (dAOut) { dAOut.SetAvailable(TEAM.ALLIES, false); } cBOut = GetGoal("MAP_CONSTRUCTION_outpost_allied_con"); if (cBOut) { cBOut.SetAvailable(TEAM.ALLIES, false); } dBOut = GetGoal("MAP_DYNAMITE_TARGET_outpost_allied_con"); if (dBOut) { dBOut.SetAvailable(TEAM.AXIS, false); } cGateA = GetGoal("MAP_CONSTRUCTION_gate_axis_con"); if (cGateA) { cGateA.SetAvailable(TEAM.AXIS, false); } dGateA = GetGoal("MAP_DYNAMITE_TARGET_gate_axis_con"); if (dGateA) { dGateA.SetAvailable(TEAM.ALLIES, false); } cGateB = GetGoal("MAP_CONSTRUCTION_gate_allied_con"); if (cGateB) { cGateB.SetAvailable(TEAM.ALLIES, false); } dGateB = GetGoal("MAP_DYNAMITE_TARGET_gate_allied_con"); if (dGateB) { dGateB.SetAvailable(TEAM.AXIS, false); } if (comments == 1) { print("Goals disabled by default: "); print("All Mount Axis MG42 for Allies and all Mount Allies MG42 for Axis."); print("Misdetected Goals for both teams"); } };