global Map = { Ammo_Cabinet_cabinet_ammo_model = "AMMO_CABINET_cabinet_ammo_model", Ammo_Cabinet_cabinet_ammo_model2 = "AMMO_CABINET_cabinet_ammo_model2", Checkpoint_forward_flag = "CHECKPOINT_forward_flag", Health_Cabinet_cabinet_health_model = "HEALTH_CABINET_cabinet_health_model", Health_Cabinet_cabinet_health_model2 = "HEALTH_CABINET_cabinet_health_model2", Build_axis_compost_built = "MAP_CONSTRUCTION_axis_compost_built", Build_bunkerdefense = "MAP_CONSTRUCTION_bunkerdefense", Build_allied_mg42 = "MAP_CONSTRUCTION_allied_mg42", Build_allied_compost_built = "MAP_CONSTRUCTION_allied_compost_built", Build_axis_mg42 = "MAP_CONSTRUCTION_axis_mg42", Destroy_allied_compost_built = "MAP_DYNAMITE_TARGET_allied_compost_built", Destroy_maingate = "MAP_DYNAMITE_TARGET_maingate", Destroy_sideentrance = "MAP_DYNAMITE_TARGET_sideentrance", Destroy_88 = "MAP_DYNAMITE_TARGET_88", Destroy_vehicledepotdoor = "MAP_DYNAMITE_TARGET_vehicledepotdoor", Destroy_bunkerdefense = "MAP_DYNAMITE_TARGET_bunkerdefense", Destroy_allied_mg42 = "MAP_DYNAMITE_TARGET_allied_mg42", Destroy_axis_mg42 = "MAP_DYNAMITE_TARGET_axis_mg42", Mount_allied_mg = "MAP_MOUNTABLE_MG42_allied_mg", Mount_axis_mg = "MAP_MOUNTABLE_MG42_axis_mg", Repair_axis_mg = "MAP_REPAIR_MG42_axis_mg", Repair_allied_mg = "MAP_REPAIR_MG42_allied_mg", Flag_the_Enigma = "MAP_FLAG_the_Enigma", Cappoint_67 = "MAP_CAPPOINT_67", allied_mg42_Built = function( trigger ) { if ( TestMap ) { return; } print( "allied_mg42_Built" ); }, axis_compost_built_Built = function( trigger ) { if ( TestMap ) { return; } print( "axis_compost_built_Built" ); }, bunkerdefense_Built = function( trigger ) { if ( TestMap ) { return; } print( "bunkerdefense_Built" ); }, axis_mg42_Built = function( trigger ) { if ( TestMap ) { return; } print( "axis_mg42_Built" ); }, allied_compost_built_Built = function( trigger ) { if ( TestMap ) { return; } print( "allied_compost_built_Built" ); }, vehicledepotdoor_Destroyed = function( trigger ) { SetAvailableMapGoals( TEAM.ALLIES, true, "CHECKPOINT_forward_flag" ); SetAvailableMapGoals( TEAM.AXIS, false, "CHECKPOINT_forward_flag" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_DYNAMITE_TARGET_bunkerdefense" ); SetAvailableMapGoals( TEAM.ALLIES, true, "MAP_DYNAMITE_TARGET_sideentrance" ); SetAvailableMapGoals( TEAM.ALLIES, true, "MAP_DYNAMITE_TARGET_maingate" ); SetAvailableMapGoals( TEAM.ALLIES, true, "MAP_DYNAMITE_TARGET_88" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def8" ); SetAvailableMapGoals( TEAM.AXIS, false, "MAP_ARTY_TARGET_D_arty1" ); print( "vehicledepotdoor_Destroyed" ); }, allied_mg42_Destroyed = function( trigger ) { if ( TestMap ) { return; } print( "allied_mg42_Destroyed" ); }, maingate_Destroyed = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def1" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def2" ); SetAvailableMapGoals( TEAM.ALLIES, true, "MAP_FLAG_the_Enigma" ); SetBiasGoals( 3.0, "MAP_FLAG_the_Enigma" ); print( "maingate_Destroyed" ); }, allied_compost_built_Destroyed = function( trigger ) { if ( TestMap ) { return; } print( "allied_compost_built_Destroyed" ); }, dyn_planted = function( trigger ) { SetAvailableMapGoals( TEAM.ALLIES, true, "DEFEND_def11" ); print( "dyn_planted" ); }, dyn_defused = function( trigger ) { SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_def11" ); print( "dyn_defused" ); }, axis_mg42_Destroyed = function( trigger ) { if ( TestMap ) { return; } print( "axis_mg42_Destroyed" ); }, sideentrance_Destroyed = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def1" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def2" ); SetAvailableMapGoals( TEAM.ALLIES, true, "MAP_FLAG_the_Enigma" ); SetBiasGoals( 3.0, "MAP_FLAG_the_Enigma" ); print( "sideentrance_Destroyed" ); }, gun_destroyed = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def8" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def7" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def6" ); print( "gun_destroyed" ); }, obj_taken = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def1" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def2" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def3" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def4" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def5" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def10" ); SetAvailableMapGoals( TEAM.ALLIES, true, "MAP_DYNAMITE_TARGET_bunkerdefense" ); SetAvailableMapGoals( TEAM.AXIS, true, "CHECKPOINT_forward_flag" ); SetBiasGoals( 0.5, "CHECKPOINT_forward_flag" ); print( "obj_taken" ); }, obj_returned = function( trigger ) { SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def1" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def2" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def3" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def4" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def5" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def10" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_DYNAMITE_TARGET_bunkerdefense" ); //~ SetAvailableMapGoals( TEAM.AXIS, false, "CHECKPOINT_forward_flag" ); print( "obj_ret" ); }, obj_secure = function( trigger ) { SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_DYNAMITE_TARGET_sideentrance" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_DYNAMITE_TARGET_maingate" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_DYNAMITE_TARGET_bunkerdefense" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def6" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def7" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def3" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def4" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def5" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def9" ); SetBiasGoals( 5.5, "MAP_DYNAMITE_TARGET_88" ); print( "enigma delivered" ); }, bunkerdefense_Destroyed = function( trigger ) { SetAvailableMapGoals( TEAM.ALLIES, true, "MAP_DYNAMITE_TARGET_sideentrance" ); SetAvailableMapGoals( TEAM.AXIS, true, "DEFEND_def8" ); print( "bunkerdefense_Destroyed" ); }, Allies_Capture_Flag = function( trigger ) { SetAvailableMapGoals( TEAM.ALLIES, true, "MAP_FLAG_the_Enigma" ); print( "Allies_Capture_Flag" ); }, Axis_Capture_Flag = function( trigger ) { if ( TestMapOn ) { ETUtil.AutoTestMap(); } print( "Axis_Capture_Flag" ); }, }; global OnMapLoad = function() { if ( TestMapOn ) { ETUtil.AutoTestMap(); } OnTrigger( "MISSING_STRING", Map.axis_mg42_Built ); OnTrigger( "MISSING_STRING", Map.axis_compost_built_Built ); OnTrigger( "The Allied MG42 has been constructed.", Map.allied_mg42_Built ); OnTrigger( "The Depotdefenses has been constructed.", Map.bunkerdefense_Built ); OnTrigger( "MISSING_STRING", Map.allied_compost_built_Built ); OnTrigger( "The Allies have breached the Vehicledepotdoor!", Map.vehicledepotdoor_Destroyed ); OnTrigger( "Allies have breached the Mainbunkergate!", Map.maingate_Destroyed ); OnTrigger( "The Allies has destroyed the Depotdefenses!", Map.bunkerdefense_Destroyed ); OnTrigger( "The Allies destroyed the Bunker Sideentrance!", Map.sideentrance_Destroyed ); OnTrigger( "MISSING_STRING", Map.allied_mg42_Destroyed ); OnTrigger( "The Allies have destroyed the 88 mm Flakgun!", Map.gun_destroyed ); OnTrigger( "Allies have stolen the Enigma!", Map.obj_taken ); OnTrigger( "Axis have returned the Enigma!", Map.obj_returned ); OnTrigger( "Allies successful stolen the Enigma!", Map.obj_secure ); OnTrigger( "Planted at the Vehicledepotdoor.", Map.dyn_planted ); OnTrigger( "Defused at the Vehicledepotdoor.", Map.dyn_defused ); OnTrigger( "MISSING_STRING", Map.allied_compost_built_Destroyed ); OnTrigger( "MISSING_STRING", Map.axis_mg42_Destroyed ); OnTrigger( "Allies captured the Vehicle Depot!", Map.Allies_Capture_Flag ); OnTrigger( "Axis reclaim the Vehicle Depot!", Map.Axis_Capture_Flag ); SetAvailableMapGoals( TEAM.AXIS, false, "MAP_CONSTRUCTION_axis_compost_built" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_CONSTRUCTION_allied_compost_built" ); //~ SetAvailableMapGoals( TEAM.ALLIES, false, "CHECKPOINT_forward_flag" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_REPAIR_MG42_allied_mg" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_MOUNTABLE_MG42_axis_mg" ); SetAvailableMapGoals( TEAM.AXIS, false, "MAP_REPAIR_MG42_axis_mg" ); SetAvailableMapGoals( TEAM.AXIS, false, "MAP_MOUNTABLE_MG42_allied_mg" ); SetAvailableMapGoals( TEAM.AXIS, false, "MAP_SNIPER_SPOT_601" ); SetAvailableMapGoals( TEAM.AXIS, false, "MAP_SNIPER_SPOT_609" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def1" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def2" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def3" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def4" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def5" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_def1" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_def2" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_def3" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_def4" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_def5" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_def6" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_def7" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_def8" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_def9" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_def10" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def6" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def7" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def8" ); SetAvailableMapGoals( TEAM.AXIS, false, "DEFEND_def11" ); SetAvailableMapGoals( TEAM.ALLIES, false, "DEFEND_def11" ); //~ SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_FLAG_the_Enigma" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_DYNAMITE_TARGET_sideentrance" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_DYNAMITE_TARGET_maingate" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_DYNAMITE_TARGET_88" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_ARTY_TARGET_D_arty1" ); SetAvailableMapGoals( TEAM.ALLIES, false, "MAP_CONSTRUCTION_allied_mg42" ); Util.SetMaxUsersDefending( 1, "DEFEND_def1" ); Util.SetMaxUsersDefending( 1, "DEFEND_def2" ); Util.SetMaxUsersDefending( 1, "DEFEND_def3" ); Util.SetMaxUsersDefending( 1, "DEFEND_def4" ); Util.SetMaxUsersDefending( 1, "DEFEND_def5" ); Util.SetMaxUsersDefending( 1, "DEFEND_def6" ); Util.SetMaxUsersDefending( 1, "DEFEND_def8" ); Util.SetMaxUsersDefending( 2, "DEFEND_def9" ); Util.SetMaxUsersDefending( 1, "DEFEND_def10" ); SetBiasGoals( 2.0, "MAP_DYNAMITE_TARGET_vehicledepotdoor" ); SetBiasGoals( 2.0, "MAP_CONSTRUCTION_bunkerdefense" ); Util.SetOffsetGoal( 0, 0, -50, "CHECKPOINT_forward_flag" ); Util.SetOffsetGoal( -210, 45, 0, "MAP_DYNAMITE_TARGET_vehicledepotdoor"); Util.SetOffsetGoal( 0, -20, 0, "MAP_DYNAMITE_TARGET_bunkerdefense"); Util.SetOffsetGoal( 0, -20, 0, "MAP_DYNAMITE_TARGET_maingate"); Util.SetOffsetGoal( 15, 0, 0, "MAP_DYNAMITE_TARGET_sideentrance"); print( "OnMapLoad" ); }; // Uncomment for shootable breakables global OnBotJoin = function( bot ) { bot.TargetBreakableDist = 400.0; bot.MaxViewDistance = 2600.0; team = bot.GetTeam(); class = bot.GetClass(); if ( class == CLASS.SOLDIER ) { bot.SetGoalProperty("DEFEND", "MinCampTime", 9999); bot.SetGoalProperty("DEFEND", "MaxCampTime", 9999); bot.SetGoalProperty("ATTACK", "MinCampTime", 9999); bot.SetGoalProperty("ATTACK", "MaxCampTime", 9999); bot.SetGoalProperty("MOUNT_MG42", "MinCampTime", 9999); bot.SetGoalProperty("MOUNT_MG42", "MaxCampTime", 9999); if ( team == TEAM.AXIS ) { bot.SetGoalProperty("DEFEND", "MinCampTime", 9999); bot.SetGoalProperty("DEFEND", "MaxCampTime", 9999); bot.SetGoalProperty("GET_HEALTH", "Bias", 0.0); bot.SetGoalProperty("HEALTH_CABINET", "Bias", 0.0); bot.SetGoalProperty("MOUNT_MG42", "Bias", 0.0); bot.SetGoalProperty("CHECKPOINT", "Bias", 0.0); bot.SetGoalProperty("DEFEND", "Bias", 6.0); } if ( team == TEAM.ALLIES ) { bot.SetGoalProperty("DEFEND", "MinCampTime", 9999); bot.SetGoalProperty("DEFEND", "MaxCampTime", 9999); bot.SetGoalProperty("ATTACK", "MinCampTime", 9999); bot.SetGoalProperty("ATTACK", "MaxCampTime", 9999); bot.SetGoalProperty("GET_HEALTH", "Bias", 0.0); bot.SetGoalProperty("HEALTH_CABINET", "Bias", 0.0); bot.SetGoalProperty("MOUNT_MG42", "Bias", 0.0); bot.SetGoalProperty("CHECKPOINT", "Bias", 0.0); bot.SetGoalProperty("ATTACK", "Bias", 0.0); } } if ( class == CLASS.MEDIC ) { bot.SetGoalProperty("MOUNT_MG42", "Bias", 0.0); bot.SetGoalProperty("CHECKPOINT", "Bias", 3.0); bot.SetGoalProperty("DEFEND", "Bias", 6.0); bot.SetGoalProperty("ATTACK", "Bias", 6.0); if ( team == TEAM.ALLIES ) { bot.SetGoalProperty("DEFEND", "MinCampTime", 9999); bot.SetGoalProperty("DEFEND", "MaxCampTime", 9999); bot.SetGoalProperty("ATTACK", "MinCampTime", 9999); bot.SetGoalProperty("ATTACK", "MaxCampTime", 9999); bot.SetGoalProperty("GET_HEALTH", "Bias", 0.0); bot.SetGoalProperty("HEALTH_CABINET", "Bias", 0.0); bot.SetGoalProperty("MOUNT_MG42", "Bias", 0.0); bot.SetGoalProperty("CHECKPOINT", "Bias", 0.0); bot.SetGoalProperty("ATTACK", "Bias", 0.0); } } if ( class == CLASS.ENGINEER ) { bot.SetGoalProperty("DEFEND", "MinCampTime", 9999); bot.SetGoalProperty("DEFEND", "MaxCampTime", 9999); bot.SetGoalProperty("ATTACK", "MinCampTime", 9999); bot.SetGoalProperty("ATTACK", "MaxCampTime", 9999); bot.SetGoalProperty("MOUNT_MG42", "Bias", 0.0); bot.SetGoalProperty("CHECKPOINT", "Bias", 3.0); if ( team == TEAM.ALLIES ) { bot.SetGoalProperty("DEFEND", "MinCampTime", 9999); bot.SetGoalProperty("DEFEND", "MaxCampTime", 9999); bot.SetGoalProperty("ATTACK", "MinCampTime", 9999); bot.SetGoalProperty("ATTACK", "MaxCampTime", 9999); bot.SetGoalProperty("GET_HEALTH", "Bias", 0.0); bot.SetGoalProperty("HEALTH_CABINET", "Bias", 0.0); bot.SetGoalProperty("MOUNT_MG42", "Bias", 0.0); bot.SetGoalProperty("CHECKPOINT", "Bias", 0.0); bot.SetGoalProperty("ATTACK", "Bias", 0.0); } } if ( class == CLASS.FIELDOPS ) { bot.SetGoalProperty("DEFEND", "MinCampTime", 9999); bot.SetGoalProperty("DEFEND", "MaxCampTime", 9999); bot.SetGoalProperty("ATTACK", "MinCampTime", 9999); bot.SetGoalProperty("ATTACK", "MaxCampTime", 9999); if ( team == TEAM.AXIS ) { bot.SetGoalProperty("MOUNT_MG42", "MinCampTime", 9999); bot.SetGoalProperty("MOUNT_MG42", "MaxCampTime", 9999); bot.SetGoalProperty("DEFEND", "MinCampTime", 9999); bot.SetGoalProperty("DEFEND", "MaxCampTime", 9999); bot.SetGoalProperty("GET_HEALTH", "Bias", 0.0); bot.SetGoalProperty("HEALTH_CABINET", "Bias", 0.0); bot.SetGoalProperty("CHECKPOINT", "Bias", 3.0); bot.SetGoalProperty("DEFEND", "Bias", 6.0); } if ( team == TEAM.ALLIES ) { bot.SetGoalProperty("MOUNT_MG42", "MinCampTime", 9999); bot.SetGoalProperty("MOUNT_MG42", "MaxCampTime", 9999); bot.SetGoalProperty("DEFEND", "MinCampTime", 9999); bot.SetGoalProperty("DEFEND", "MaxCampTime", 9999); bot.SetGoalProperty("GET_HEALTH", "Bias", 0.0); bot.SetGoalProperty("HEALTH_CABINET", "Bias", 0.0); bot.SetGoalProperty("CHECKPOINT", "Bias", 3.0); bot.SetGoalProperty("MOUNT_MG42", "Bias", 0.0); bot.SetGoalProperty("ATTACK", "Bias", 0.0); } } if ( class == CLASS.COVERTOPS ) { if ( team == TEAM.AXIS ) { bot.SetGoalProperty("MOUNT_MG42", "MinCampTime", 9999); bot.SetGoalProperty("MOUNT_MG42", "MaxCampTime", 9999); bot.SetGoalProperty("DEFEND", "MinCampTime", 9999); bot.SetGoalProperty("DEFEND", "MaxCampTime", 9999); bot.SetGoalProperty("ATTACK", "MinCampTime", 9999); bot.SetGoalProperty("ATTACK", "MaxCampTime", 9999); bot.SetGoalProperty("SNIPE", "MaxCampTime", 9999); bot.SetGoalProperty("SNIPE", "MinCampTime", 9999); } if ( team == TEAM.ALLIES ) { bot.SetGoalProperty("MOUNT_MG42", "MinCampTime", 9999); bot.SetGoalProperty("MOUNT_MG42", "MaxCampTime", 9999); bot.SetGoalProperty("DEFEND", "MinCampTime", 9999); bot.SetGoalProperty("DEFEND", "MaxCampTime", 9999); bot.SetGoalProperty("SNIPE", "MaxCampTime", 9999); bot.SetGoalProperty("SNIPE", "MinCampTime", 9999); bot.SetGoalProperty("MOUNT_MG42", "Bias", 0.0); bot.SetGoalProperty("ATTACK", "Bias", 0.0); } } if ( team == TEAM.ALLIES ) { if ( bot.HasWeapon(WEAPON.M97) ) { bot.ChangePrimaryWeapon(WEAPON.THOMPSON); } } if ( bot.HasWeapon(WEAPON.MORTAR) ) { bot.ChangePrimaryWeapon(WEAPON.PANZERFAUST); } if ( bot.HasWeapon(WEAPON.MOBILE_MG42) ) { bot.ChangePrimaryWeapon(WEAPON.FLAMETHROWER); } if ( team == TEAM.AXIS ) { if ( bot.HasWeapon(WEAPON.M97) ) { bot.ChangePrimaryWeapon(WEAPON.MP40); } } if ( bot.HasWeapon(WEAPON.MORTAR) ) { bot.ChangePrimaryWeapon(WEAPON.PANZERFAUST); } if ( bot.HasWeapon(WEAPON.MOBILE_MG42) ) { bot.ChangePrimaryWeapon(WEAPON.FLAMETHROWER); } if ( team == TEAM.ALLIES ) { if ( ETUtil.CountTeam(TEAM.ALLIES) <= 6 ) { if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.ENGINEER) < 1 ) { bot.ChangeClass(CLASS.ENGINEER); return; } if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.MEDIC) < 1 ) { bot.ChangeClass(CLASS.MEDIC); return; } if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.FIELDOPS) < 1 ) { bot.ChangeClass(CLASS.FIELDOPS); return; } if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.SOLDIER) < 1 ) { bot.ChangeClass(CLASS.SOLDIER); return; } if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.COVERTOPS) < 1 ) { bot.ChangeClass(CLASS.COVERTOPS); return; } } if ( ETUtil.CountTeam(TEAM.ALLIES) > 6 && ETUtil.CountTeam(TEAM.ALLIES) <= 10) { if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.ENGINEER) < 2 ) { bot.ChangeClass(CLASS.ENGINEER); return; } if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.MEDIC) < 3 ) { bot.ChangeClass(CLASS.MEDIC); return; } if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.FIELDOPS) < 2 ) { bot.ChangeClass(CLASS.FIELDOPS); return; } if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.SOLDIER) < 2 ) { bot.ChangeClass(CLASS.SOLDIER); return; } if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.COVERTOPS) < 1 ) { bot.ChangeClass(CLASS.COVERTOPS); return; } } if ( ETUtil.CountTeam(TEAM.ALLIES) > 10 ) { if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.ENGINEER) < 4 ) { bot.ChangeClass(CLASS.ENGINEER); return; } if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.MEDIC) < 3 ) { bot.ChangeClass(CLASS.MEDIC); return; } if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.FIELDOPS) < 2 ) { bot.ChangeClass(CLASS.FIELDOPS); return; } if ( ETUtil.CountClass(TEAM.ALLIES, CLASS.SOLDIER) < 1 ) { bot.ChangeClass(CLASS.SOLDIER); return; } } } if ( team == TEAM.AXIS ) { if ( ETUtil.CountTeam(TEAM.AXIS) <= 6 ) { if ( ETUtil.CountClass(TEAM.AXIS, CLASS.ENGINEER) < 1 ) { bot.ChangeClass(CLASS.ENGINEER); return; } if ( ETUtil.CountClass(TEAM.AXIS, CLASS.MEDIC) < 1 ) { bot.ChangeClass(CLASS.MEDIC); return; } if ( ETUtil.CountClass(TEAM.AXIS, CLASS.FIELDOPS) < 1 ) { bot.ChangeClass(CLASS.FIELDOPS); return; } if ( ETUtil.CountClass(TEAM.AXIS, CLASS.SOLDIER) < 1 ) { bot.ChangeClass(CLASS.SOLDIER); return; } if ( ETUtil.CountClass(TEAM.AXIS, CLASS.COVERTOPS) < 1 ) { bot.ChangeClass(CLASS.COVERTOPS); return; } } if ( ETUtil.CountTeam(TEAM.AXIS) > 6 && ETUtil.CountTeam(TEAM.AXIS) <= 10) { if ( ETUtil.CountClass(TEAM.AXIS, CLASS.ENGINEER) < 2 ) { bot.ChangeClass(CLASS.ENGINEER); return; } if ( ETUtil.CountClass(TEAM.AXIS, CLASS.MEDIC) < 3 ) { bot.ChangeClass(CLASS.MEDIC); return; } if ( ETUtil.CountClass(TEAM.AXIS, CLASS.FIELDOPS) < 2 ) { bot.ChangeClass(CLASS.FIELDOPS); return; } if ( ETUtil.CountClass(TEAM.AXIS, CLASS.SOLDIER) < 2 ) { bot.ChangeClass(CLASS.SOLDIER); return; } if ( ETUtil.CountClass(TEAM.AXIS, CLASS.COVERTOPS) < 1 ) { bot.ChangeClass(CLASS.COVERTOPS); return; } } if ( ETUtil.CountTeam(TEAM.AXIS) > 10 ) { if ( ETUtil.CountClass(TEAM.AXIS, CLASS.ENGINEER) < 4 ) { bot.ChangeClass(CLASS.ENGINEER); return; } if ( ETUtil.CountClass(TEAM.AXIS, CLASS.MEDIC) < 3 ) { bot.ChangeClass(CLASS.MEDIC); return; } if ( ETUtil.CountClass(TEAM.AXIS, CLASS.FIELDOPS) < 2 ) { bot.ChangeClass(CLASS.FIELDOPS); return; } if ( ETUtil.CountClass(TEAM.AXIS, CLASS.SOLDIER) < 1 ) { bot.ChangeClass(CLASS.SOLDIER); return; } } } };