// TODO: Move to mission template and provide documentation class CfgMissions { // Global settings maxConcurrentMissions = 3; missionInterval = 300; // 5 minutes between mission generation // Mission type weights class MissionWeights { attack = 0.2; defend = 0.2; hostage = 0.2; hvt = 0.15; defuse = 0.15; delivery = 0.1; }; // Mission locations class Locations { class CityOne { position[] = {1000, 1000, 0}; type = "city"; radius = 300; suitable[] = {"attack", "defend", "hostage"}; }; class MilitaryBase { position[] = {2000, 2000, 0}; type = "military"; radius = 500; suitable[] = {"hvt", "defend", "attack"}; }; class Industrial { position[] = {3000, 3000, 0}; type = "industrial"; radius = 200; suitable[] = {"delivery", "defuse"}; }; }; // AI Groups configuration class AIGroups { class Infantry { side = "EAST"; class Units { class Unit0 { vehicle = "O_Soldier_TL_F"; rank = "SERGEANT"; position[] = {0, 0, 0}; }; class Unit1 { vehicle = "O_Soldier_AR_F"; rank = "CORPORAL"; position[] = {5, -5, 0}; }; class Unit2 { vehicle = "O_Soldier_LAT_F"; rank = "PRIVATE"; position[] = {-5, -5, 0}; }; }; suitable[] = {"attack", "defend", "hostage"}; }; class Assault { side = "EAST"; class Units { class Unit0 { vehicle = "O_Soldier_SL_F"; rank = "SERGEANT"; position[] = {0, 0, 0}; }; class Unit1 { vehicle = "O_Soldier_GL_F"; rank = "CORPORAL"; position[] = {4, -3, 0}; }; class Unit2 { vehicle = "O_Soldier_AR_F"; rank = "CORPORAL"; position[] = {-4, -3, 0}; }; class Unit3 { vehicle = "O_medic_F"; rank = "PRIVATE"; position[] = {7, -6, 0}; }; }; suitable[] = {"attack", "defend"}; }; class MotorizedPatrol { side = "EAST"; class Units { class Unit0 { vehicle = "O_Soldier_TL_F"; rank = "SERGEANT"; position[] = {0, 0, 0}; }; class Unit1 { vehicle = "O_Soldier_LAT_F"; rank = "CORPORAL"; position[] = {5, -4, 0}; }; class Unit2 { vehicle = "O_Soldier_F"; rank = "PRIVATE"; position[] = {-5, -4, 0}; }; class Unit3 { vehicle = "O_Soldier_A_F"; rank = "PRIVATE"; position[] = {8, -7, 0}; }; }; suitable[] = {"attack", "defend"}; }; class SpecOps { side = "EAST"; class Units { class Unit0 { vehicle = "O_recon_TL_F"; rank = "SERGEANT"; position[] = {0, 0, 0}; }; class Unit1 { vehicle = "O_recon_M_F"; rank = "CORPORAL"; position[] = {5, -5, 0}; }; }; suitable[] = {"hvt", "hostage"}; }; class ReconRaid { side = "EAST"; class Units { class Unit0 { vehicle = "O_recon_TL_F"; rank = "SERGEANT"; position[] = {0, 0, 0}; }; class Unit1 { vehicle = "O_recon_M_F"; rank = "CORPORAL"; position[] = {4, -4, 0}; }; class Unit2 { vehicle = "O_recon_LAT_F"; rank = "CORPORAL"; position[] = {-4, -4, 0}; }; class Unit3 { vehicle = "O_recon_medic_F"; rank = "PRIVATE"; position[] = {7, -7, 0}; }; }; suitable[] = {"attack", "hvt", "hostage"}; }; }; // TODO: Continue to refine mission types and their specific settings // Mission type specific settings class MissionTypes { class Attack { minUnits = 4; maxUnits = 8; class Rewards { money[] = {25000, 60000}; reputation[] = {6, 14}; equipment[] = {{"ItemGPS", 0.5}, {"ItemCompass", 0.3}}; supplies[] = {{"FirstAidKit", 0.2}, {"Medikit", 0.1}}; weapons[] = {{"arifle_MX_F", 0.3}, {"arifle_Katiba_F", 0.2}}; vehicles[] = {{"B_MRAP_01_F", 0.1}, {"B_APC_Wheeled_01_cannon_F", 0.05}}; special[] = {{"B_UAV_01_F", 0.05}, {"B_Heli_Light_01_F", 0.02}}; }; penalty[] = {-8, -3}; timeLimit[] = {900, 1800}; // 15-30 minutes }; class Defend { minWaves = 3; maxWaves = 8; unitsPerWave[] = {4, 8}; waveCooldown = 300; class Rewards { money[] = {40000, 90000}; reputation[] = {8, 18}; equipment[] = {{"ItemGPS", 0.5}, {"ItemCompass", 0.3}}; supplies[] = {{"FirstAidKit", 0.2}, {"Medikit", 0.1}}; weapons[] = {{"arifle_MX_F", 0.3}, {"arifle_Katiba_F", 0.2}}; vehicles[] = {{"B_MRAP_01_F", 0.1}, {"B_APC_Wheeled_01_cannon_F", 0.05}}; special[] = {{"B_UAV_01_F", 0.05}, {"B_Heli_Light_01_F", 0.02}}; }; penalty[] = {-12, -4}; timeLimit[] = {1800, 3600}; // 30-60 minutes }; class Hostage { class Hostages { civilian[] = {"C_man_1", "C_man_polo_1_F"}; military[] = {"B_Pilot_F", "B_officer_F"}; }; class Rewards { money[] = {60000, 140000}; reputation[] = {12, 25}; equipment[] = {{"ItemGPS", 0.5}, {"ItemCompass", 0.3}}; supplies[] = {{"FirstAidKit", 0.2}, {"Medikit", 0.1}}; weapons[] = {{"arifle_MX_F", 0.3}, {"arifle_Katiba_F", 0.2}}; vehicles[] = {{"B_MRAP_01_F", 0.1}, {"B_APC_Wheeled_01_cannon_F", 0.05}}; special[] = {{"B_UAV_01_F", 0.05}, {"B_Heli_Light_01_F", 0.02}}; }; penalty[] = {-16, -6}; timeLimit[] = {600, 900}; // 10-15 minutes }; class HVT { class Targets { officer[] = {"O_officer_F"}; sniper[] = {"O_sniper_F"}; }; escorts = 4; class Rewards { money[] = {50000, 120000}; reputation[] = {10, 22}; equipment[] = {{"ItemGPS", 0.5}, {"ItemCompass", 0.3}}; supplies[] = {{"FirstAidKit", 0.2}, {"Medikit", 0.1}}; weapons[] = {{"arifle_MX_F", 0.3}, {"arifle_Katiba_F", 0.2}}; vehicles[] = {{"B_MRAP_01_F", 0.1}, {"B_APC_Wheeled_01_cannon_F", 0.05}}; special[] = {{"B_UAV_01_F", 0.05}, {"B_Heli_Light_01_F", 0.02}}; }; penalty[] = {-14, -5}; timeLimit[] = {900, 1800}; // 15-30 minutes }; class Defuse { class Devices { small[] = {"DemoCharge_Remote_Mag"}; large[] = {"SatchelCharge_Remote_Mag"}; }; maxDevices = 3; class Rewards { money[] = {20000, 50000}; reputation[] = {5, 12}; equipment[] = {{"ItemGPS", 0.5}, {"ItemCompass", 0.3}}; supplies[] = {{"FirstAidKit", 0.2}, {"Medikit", 0.1}}; weapons[] = {{"arifle_MX_F", 0.3}, {"arifle_Katiba_F", 0.2}}; vehicles[] = {{"B_MRAP_01_F", 0.1}, {"B_APC_Wheeled_01_cannon_F", 0.05}}; special[] = {{"B_UAV_01_F", 0.05}, {"B_Heli_Light_01_F", 0.02}}; }; penalty[] = {-9, -3}; timeLimit[] = {600, 900}; // 10-15 minutes }; class Delivery { class Cargo { supplies[] = {"Land_CargoBox_V1_F"}; vehicles[] = {"B_MRAP_01_F", "B_Truck_01_transport_F"}; }; class Rewards { money[] = {10000, 30000}; reputation[] = {3, 8}; equipment[] = {{"ItemGPS", 0.5}, {"ItemCompass", 0.3}}; supplies[] = {{"FirstAidKit", 0.2}, {"Medikit", 0.1}}; weapons[] = {{"arifle_MX_F", 0.3}, {"arifle_Katiba_F", 0.2}}; vehicles[] = {{"B_MRAP_01_F", 0.1}, {"B_APC_Wheeled_01_cannon_F", 0.05}}; special[] = {{"B_UAV_01_F", 0.05}, {"B_Heli_Light_01_F", 0.02}}; }; penalty[] = {-6, -2}; timeLimit[] = {900, 1800}; // 15-30 minutes }; }; };