First part of splitted preset framework

This commit is contained in:
Christian 2017-10-07 18:11:24 +02:00
parent ce452011eb
commit 21b193d9e0
12 changed files with 311 additions and 282 deletions

View File

@ -6,17 +6,7 @@ if (isDedicated) then {debug_source = "Server";} else {debug_source = name playe
[] call compileFinal preprocessFileLineNumbers "scripts\shared\init_sectors.sqf";
[] call compileFinal preprocessFileLineNumbers "scripts\shared\fetch_params.sqf";
[] call compileFinal preprocessFileLineNumbers "kp_liberation_config.sqf";
switch (KP_liberation_preset) do {
case 0: {[] call compileFinal preprocessFileLineNumbers "presets\custom.sqf";};
case 1: {[] call compileFinal preprocessFileLineNumbers "presets\apex_tanoa.sqf";};
case 2: {[] call compileFinal preprocessFileLineNumbers "presets\rhs.sqf";};
case 3: {[] call compileFinal preprocessFileLineNumbers "presets\rhs_bw.sqf";};
case 4: {[] call compileFinal preprocessFileLineNumbers "presets\rhs_takistan.sqf";};
case 5: {[] call compileFinal preprocessFileLineNumbers "presets\3cbBAF.sqf";};
default {[] call compileFinal preprocessFileLineNumbers "presets\custom.sqf";};
};
[] call compileFinal preprocessFileLineNumbers "presets\init_presets.sqf";
[] call compileFinal preprocessFileLineNumbers "scripts\shared\classnames.sqf";
[] execVM "GREUH\scripts\GREUH_activate.sqf";

View File

@ -22,15 +22,24 @@ KP_liberation_ace_crates = [
"ACE_medicalSupplyCrate_advanced"
];
/* - Custom unit and arsenal preset settings.
Which units preset should be used?
0 = Default vanilla with RHS USAF and BWMod, both optional (edit the custom.sqf in the presets\ folder to change things for your own versions and tweaks).
1 = Apex vanilla with RHS USAF and BWMod, both optional (edit the apex_tanoa.sqf in the presets\ folder to change things for your own versions and tweaks).
2 = RHS USAF and RHS AFRF.
3 = RHS USAF, RHS AFRF and BWMod.
4 = RHS USAF, RHS AFRF and Project OPFOR (Takistan)
5 = 3cbBAF, RHS USAF and RHS AFRF. */
KP_liberation_preset = 0;
/* - Custom unit and arsenal preset settings.
If you want to change a preset, it's recommended to set all four presets to 0 and edit the appropriate custom.sqf files in the preset folders.*/
/* BLUFOR preset:
0 = custom (default vanilla with many optional mods supported) */
KP_liberation_preset_blufor = 0;
/* OPFOR preset:
0 = custom (default vanilla CSAT) */
KP_liberation_preset_opfor = 0;
/* Resistance preset:
0 = custom (default vanilla) */
KP_liberation_preset_resistance = 0;
/* Civilians preset:
0 = custom (default vanilla) */
KP_liberation_preset_civilians = 0;
/* Which arsenal preset should be used?
0 = Use the default blacklist method (defined below).

View File

@ -342,8 +342,8 @@ blufor_squad_para = [
/* - Badguy classnames.
All enemy infantry are defined here. */
opfor_officer = "rhs_vdv_officer_armored"; //Officer
opfor_team_leader = "rhs_vdv_sergeant"; //Team Leader
opfor_squad_leader = "rhs_vdv_efreitor"; //Squad Leader
opfor_squad_leader = "rhs_vdv_sergeant"; //Squad Leader
opfor_team_leader = "rhs_vdv_efreitor"; //Team Leader
opfor_sentry = "rhs_vdv_rifleman_lite"; //Rifleman (Lite)
opfor_rifleman = "rhs_vdv_rifleman"; //Rifleman
opfor_rpg = "rhs_vdv_LAT"; //Rifleman (LAT)

View File

@ -369,8 +369,8 @@ blufor_squad_para = [
/* - Badguy classnames.
All enemy infantry are defined here. */
opfor_officer = "O_T_Officer_F"; //Officer
opfor_team_leader = "O_T_Soldier_TL_F"; //Team Leader
opfor_squad_leader = "O_T_Soldier_SL_F"; //Squad Leader
opfor_team_leader = "O_T_Soldier_TL_F"; //Team Leader
opfor_sentry = "O_T_Soldier_F"; //Rifleman
opfor_rifleman = "O_T_Soldier_F"; //Rifleman
opfor_rpg = "O_T_Soldier_LAT_F"; //Rifleman (LAT)

View File

@ -1,5 +1,3 @@
// If you want more modifications to be supported by this file, let's discuss it on the forums.
// No required mods.
// RHS USAF, BWMod, F-15C, F/A-18 are optional (just load the mods on server & client).
// Apex & Jets DLC are also included but not required (required only to drive/pilot anything from each DLC inc/ the Tanoa map).
@ -372,197 +370,6 @@ blufor_squad_para = [
"B_soldier_PG_F"
];
/* - Badguy classnames.
All enemy infantry are defined here. */
opfor_officer = "O_officer_F"; //Officer
opfor_team_leader = "O_Soldier_TL_F"; //Team Leader
opfor_squad_leader = "O_Soldier_SL_F"; //Squad Leader
opfor_sentry = "O_Soldier_lite_F"; //Rifleman (Lite)
opfor_rifleman = "O_Soldier_F"; //Rifleman
opfor_rpg = "O_Soldier_LAT_F"; //Rifleman (LAT)
opfor_grenadier = "O_Soldier_GL_F"; //Grenadier
opfor_machinegunner = "O_Soldier_AR_F"; //Autorifleman
opfor_heavygunner = "O_HeavyGunner_F"; //Heavy Gunner
opfor_marksman = "O_soldier_M_F"; //Marksman
opfor_sharpshooter = "O_Sharpshooter_F"; //Sharpshooter
opfor_sniper = "O_sniper_F"; //Sniper
opfor_at = "O_Soldier_AT_F"; //AT Specialist
opfor_aa = "O_Soldier_AA_F"; //AA Specialist
opfor_medic = "O_medic_F"; //Combat Life Saver
opfor_engineer = "O_engineer_F"; //Engineer
opfor_paratrooper = "O_soldier_PG_F"; //Paratrooper
// Enemy vehicles used by secondary objectives.
opfor_mrap = "O_MRAP_02_F"; //Ifrit
opfor_mrap_armed = "O_MRAP_02_hmg_F"; //Ifrit (HMG)
opfor_transport_helo = "O_Heli_Transport_04_bench_F"; //Mi-290 Taru (Bench)
opfor_transport_truck = "O_Truck_03_covered_F"; //Tempest Transport (Covered)
opfor_fuel_truck = "O_Truck_03_fuel_F"; //Tempest Fuel
opfor_ammo_truck = "O_Truck_03_ammo_F"; //Tempest Ammo
opfor_fuel_container = "Land_Pod_Heli_Transport_04_fuel_F"; //Taru Fuel Pod
opfor_ammo_container = "Land_Pod_Heli_Transport_04_ammo_F"; //Taru Ammo Pod
opfor_flag = "Flag_CSAT_F"; //CSAT Flag
/* Adding a value to these arrays below will add them to a one out of however many in the array, random pick chance.
Therefore, adding the same value twice or three times means they are more likely to be chosen more often.
Militia infantry. Lightweight soldier classnames the game will pick from randomly as sector defenders. */
militia_squad = [
"O_soldierU_TL_F", //Team Leader
"O_SoldierU_SL_F", //Squad Leader
"O_soldierU_F", //Rifleman (Lite)
"O_soldierU_F", //Rifleman
"O_soldierU_F", //Rifleman
"O_soldierU_LAT_F", //Rifleman (AT)
"O_SoldierU_GL_F", //Grenadier
"O_soldierU_AR_F", //Autorifleman
"O_soldierU_AR_F", //Autorifleman
"O_soldierU_M_F", //Marksman
"O_soldierU_medic_F", //Medic
"O_engineer_U_F", //Engineer
"O_soldierU_exp_F" //Explosives Specialist
];
// Militia vehicles. Lightweight vehicle classnames the game will pick from randomly as sector defenders.
militia_vehicles = [
"O_LSV_02_armed_F" //Qilin (armed)
];
// All enemy vehicles that can spawn as sector defenders and patrols at high enemy combat readiness (aggression levels).
opfor_vehicles = [
"O_MRAP_02_hmg_F", //Ifrit (HMG)
"O_MRAP_02_hmg_F", //Ifrit (GMG)
"O_MRAP_02_gmg_F", //Ifrit (GMG)
"O_APC_Tracked_02_cannon_F", //BTR-K Kamysh
"O_APC_Tracked_02_AA_F", //ZSU-39 Tigris
"O_APC_Tracked_02_AA_F", //ZSU-39 Tigris
"O_MBT_02_cannon_F", //T-100 Varsuk
"O_MBT_02_cannon_F" //T-100 Varsuk
];
// All enemy vehicles that can spawn as sector defenders and patrols but at a lower enemy combat readiness (aggression levels).
opfor_vehicles_low_intensity = [
"O_MRAP_02_hmg_F", //Ifrit (HMG)
"O_MRAP_02_hmg_F", //Ifrit (HMG)
"O_APC_Wheeled_02_rcws_F", //MSE-3 Marid
"O_APC_Tracked_02_cannon_F" //BTR-K Kamysh
];
// All enemy vehicles that can spawn as battlegroups, either assaulting or as reinforcements, at high enemy combat readiness (aggression levels).
opfor_battlegroup_vehicles = [
"O_MRAP_02_hmg_F", //Ifrit (HMG)
"O_MRAP_02_gmg_F", //Ifrit (GMG)
"O_MRAP_02_gmg_F", //Ifrit (GMG)
"O_Truck_03_transport_F", //Tempest Transport
"O_Truck_03_covered_F", //Tempest Transport (Covered)
"O_APC_Tracked_02_cannon_F", //BTR-K Kamysh
"O_APC_Tracked_02_AA_F", //ZSU-39 Tigris
"O_APC_Tracked_02_AA_F", //ZSU-39 Tigris
"O_MBT_02_cannon_F", //T-100 Varsuk
"O_MBT_02_cannon_F", //T-100 Varsuk
"O_Heli_Light_02_dynamicLoadout_F", //Po-30 Orca (Armed)
"O_Heli_Light_02_dynamicLoadout_F", //Po-30 Orca (Armed)
"O_Heli_Transport_04_bench_F", //Mi-290 Taru (Bench)
"O_Heli_Attack_02_dynamicLoadout_F" //Mi-48 Kajman
];
// All enemy vehicles that can spawn as battlegroups, either assaulting or as reinforcements, at lower enemy combat readiness (aggression levels).
opfor_battlegroup_vehicles_low_intensity = [
"O_MRAP_02_hmg_F", //Ifrit (HMG)
"O_MRAP_02_hmg_F", //Ifrit (HMG)
"O_Truck_03_transport_F", //Tempest Transport
"O_APC_Wheeled_02_rcws_F", //MSE-3 Marid
"O_APC_Tracked_02_cannon_F", //BTR-K Kamysh
"O_APC_Tracked_02_AA_F", //ZSU-39 Tigris
"O_Heli_Light_02_dynamicLoadout_F", //Po-30 Orca (Armed)
"O_Heli_Transport_04_bench_F" //Mi-290 Taru (Bench)
];
/* All vehicles that spawn within battlegroups (see the above 2 arrays) and also hold 8 soldiers as passengers.
If something in this array can't hold all 8 soldiers then buggy behaviours may occur. */
opfor_troup_transports = [
"O_Truck_03_transport_F", //Tempest Transport
"O_Truck_03_covered_F", //Tempest Transport (Covered)
"O_APC_Wheeled_02_rcws_F", //MSE-3 Marid
"O_Heli_Transport_04_bench_F", //Mi-290 Taru (Bench)
"O_Heli_Light_02_dynamicLoadout_F" //Po-30 Orca (Armed)
];
// Enemy rotary-wings that will need to spawn in flight.
opfor_choppers = [
"O_Heli_Transport_04_bench_F", //Mi-290 Taru (Bench)
"O_Heli_Light_02_dynamicLoadout_F", //Po-30 Orca (Armed)
"O_Heli_Attack_02_dynamicLoadout_F" //Mi-48 Kajman
];
// Enemy fixed-wings that will need to spawn in the air.
opfor_air = [
"O_Plane_CAS_02_dynamicLoadout_F", //To-199 Neophron (CAS)
"O_Plane_Fighter_02_F" //To-201 Shikra
];
/* - Guerilla forces
classnames of the guerilla faction which is friendly or hostile, depending on the civil reputation
Standard loadout (except the uniform) of the units will be replaced with a scripted one, which depends on the guerilla strength, after spawn */
KP_liberation_guerilla_units = [
"I_G_Soldier_AR_F",
"I_G_engineer_F",
"I_G_officer_F",
"I_G_medic_F",
"I_G_Soldier_F",
"I_G_Soldier_LAT_F",
"I_G_Soldier_M_F",
"I_G_Soldier_SL_F"
];
KP_liberation_guerilla_vehicles = [
"I_G_Offroad_01_armed_F"
];
/* - Other various mission classnames.
Civilian classnames. */
civilians = [
"C_Man_Fisherman_01_F",
"C_man_w_worker_F",
"C_man_1_1_F",
"C_man_p_beggar_F",
"C_Man_Messenger_01_F",
"C_man_hunter_1_F",
"C_journalist_F",
"C_Journalist_01_War_F",
"C_man_shorts_2_F",
"C_Man_UtilityWorker_01_F",
"C_man_1",
"C_Man_casual_1_F",
"C_Man_casual_2_F",
"C_Man_casual_3_F",
"C_Man_casual_4_F",
"C_Man_casual_5_F",
"C_Man_casual_6_F",
"C_man_polo_1_F",
"C_man_polo_2_F",
"C_man_polo_3_F",
"C_man_polo_4_F",
"C_man_polo_5_F",
"C_man_polo_6_F"
];
// Civilian vehicle classnames.
civilian_vehicles = [
"C_Quadbike_01_F",
"C_Hatchback_01_F",
"C_Hatchback_01_sport_F",
"C_Offroad_01_F",
"C_Offroad_01_repair_F",
"C_SUV_01_F",
"C_Van_01_fuel_F",
"C_Van_01_transport_F",
"C_Van_01_box_F",
"C_Truck_02_fuel_F",
"C_Truck_02_transport_F",
"C_Truck_02_covered_F",
"C_Truck_02_box_F"
];
// Elite vehicles that should be unlocked through military base capture.
elite_vehicles = [
"rhsusf_mkvsoc", //Mk.V SOCOM
@ -591,5 +398,3 @@ elite_vehicles = [
"B_Plane_Fighter_01_Stealth_F", //F/A-181 Black Wasp II (Stealth)
"B_T_VTOL_01_armed_F" //V-44 X Blackfish (Armed)
];
if (KP_liberation_debug) then {private _text = format ["[KP LIBERATION] [DEBUG] Unit preset %1 intitialized for: %2", KP_liberation_preset, debug_source];_text remoteExec ["diag_log",2];};

View File

@ -0,0 +1,43 @@
// Civilian classnames.
civilians = [
"C_Man_Fisherman_01_F",
"C_man_w_worker_F",
"C_man_1_1_F",
"C_man_p_beggar_F",
"C_Man_Messenger_01_F",
"C_man_hunter_1_F",
"C_journalist_F",
"C_Journalist_01_War_F",
"C_man_shorts_2_F",
"C_Man_UtilityWorker_01_F",
"C_man_1",
"C_Man_casual_1_F",
"C_Man_casual_2_F",
"C_Man_casual_3_F",
"C_Man_casual_4_F",
"C_Man_casual_5_F",
"C_Man_casual_6_F",
"C_man_polo_1_F",
"C_man_polo_2_F",
"C_man_polo_3_F",
"C_man_polo_4_F",
"C_man_polo_5_F",
"C_man_polo_6_F"
];
// Civilian vehicle classnames.
civilian_vehicles = [
"C_Quadbike_01_F",
"C_Hatchback_01_F",
"C_Hatchback_01_sport_F",
"C_Offroad_01_F",
"C_Offroad_01_repair_F",
"C_SUV_01_F",
"C_Van_01_fuel_F",
"C_Van_01_transport_F",
"C_Van_01_box_F",
"C_Truck_02_fuel_F",
"C_Truck_02_transport_F",
"C_Truck_02_covered_F",
"C_Truck_02_box_F"
];

View File

@ -1,6 +1,40 @@
// !! IF YOU WANT TO EDIT THIS FOR MODDING PURPOSES, PLEASE USE PRESETS/CUSTOM.SQF INSTEAD !!
// If you know what you're doing then sure, proceed :)
switch (KP_liberation_preset_blufor) do {
case 1: {[] call compileFinal preprocessFileLineNumbers "presets\apex_tanoa.sqf";};
case 2: {[] call compileFinal preprocessFileLineNumbers "presets\rhs.sqf";};
case 3: {[] call compileFinal preprocessFileLineNumbers "presets\rhs_bw.sqf";};
case 4: {[] call compileFinal preprocessFileLineNumbers "presets\rhs_takistan.sqf";};
case 5: {[] call compileFinal preprocessFileLineNumbers "presets\3cbBAF.sqf";};
default {[] call compileFinal preprocessFileLineNumbers "presets\blufor\custom.sqf";};
};
switch (KP_liberation_preset_opfor) do {
case 1: {[] call compileFinal preprocessFileLineNumbers "presets\apex_tanoa.sqf";};
case 2: {[] call compileFinal preprocessFileLineNumbers "presets\rhs.sqf";};
case 3: {[] call compileFinal preprocessFileLineNumbers "presets\rhs_bw.sqf";};
case 4: {[] call compileFinal preprocessFileLineNumbers "presets\rhs_takistan.sqf";};
case 5: {[] call compileFinal preprocessFileLineNumbers "presets\3cbBAF.sqf";};
default {[] call compileFinal preprocessFileLineNumbers "presets\opfor\custom.sqf";};
};
switch (KP_liberation_preset_resistance) do {
case 1: {[] call compileFinal preprocessFileLineNumbers "presets\apex_tanoa.sqf";};
case 2: {[] call compileFinal preprocessFileLineNumbers "presets\rhs.sqf";};
case 3: {[] call compileFinal preprocessFileLineNumbers "presets\rhs_bw.sqf";};
case 4: {[] call compileFinal preprocessFileLineNumbers "presets\rhs_takistan.sqf";};
case 5: {[] call compileFinal preprocessFileLineNumbers "presets\3cbBAF.sqf";};
default {[] call compileFinal preprocessFileLineNumbers "presets\resistance\custom.sqf";};
};
switch (KP_liberation_preset_civilians) do {
case 1: {[] call compileFinal preprocessFileLineNumbers "presets\apex_tanoa.sqf";};
case 2: {[] call compileFinal preprocessFileLineNumbers "presets\rhs.sqf";};
case 3: {[] call compileFinal preprocessFileLineNumbers "presets\rhs_bw.sqf";};
case 4: {[] call compileFinal preprocessFileLineNumbers "presets\rhs_takistan.sqf";};
case 5: {[] call compileFinal preprocessFileLineNumbers "presets\3cbBAF.sqf";};
default {[] call compileFinal preprocessFileLineNumbers "presets\civilians\custom.sqf";};
};
// Prices for the blufor infantry squads (supplies, ammo, fuel)
squads = [
[blufor_squad_inf_light,200,0,0],
[blufor_squad_inf,300,0,0],
@ -10,63 +44,7 @@ squads = [
[blufor_squad_para,200,0,0]
];
infantry_units = [ infantry_units ] call F_filterMods;
light_vehicles = [ light_vehicles ] call F_filterMods;
heavy_vehicles = [ heavy_vehicles ] call F_filterMods;
air_vehicles = [ air_vehicles ] call F_filterMods;
support_vehicles = [ support_vehicles ] call F_filterMods;
static_vehicles = [ static_vehicles ] call F_filterMods;
buildings = [ buildings ] call F_filterMods;
build_lists = [[],infantry_units,light_vehicles,heavy_vehicles,air_vehicles,static_vehicles,buildings,support_vehicles,squads];
KP_liberation_storage_buildings = [KP_liberation_small_storage_building,KP_liberation_large_storage_building];
KP_liberation_crates = [KP_liberation_supply_crate,KP_liberation_ammo_crate,KP_liberation_fuel_crate];
KP_liberation_upgrade_buildings = [KP_liberation_recycle_building,KP_liberation_air_vehicle_building,KP_liberation_heli_slot_building,KP_liberation_plane_slot_building];
KP_liberation_air_slots = [KP_liberation_heli_slot_building,KP_liberation_plane_slot_building];
militia_squad = [ militia_squad , { [ _x ] call F_checkClass } ] call BIS_fnc_conditionalSelect;
militia_vehicles = [ militia_vehicles , { [ _x ] call F_checkClass } ] call BIS_fnc_conditionalSelect;
opfor_vehicles = [ opfor_vehicles , { [ _x ] call F_checkClass } ] call BIS_fnc_conditionalSelect;
opfor_vehicles_low_intensity = [ opfor_vehicles_low_intensity , { [ _x ] call F_checkClass } ] call BIS_fnc_conditionalSelect;
opfor_battlegroup_vehicles = [ opfor_battlegroup_vehicles , { [ _x ] call F_checkClass } ] call BIS_fnc_conditionalSelect;
opfor_battlegroup_vehicles_low_intensity = [ opfor_battlegroup_vehicles_low_intensity , { [ _x ] call F_checkClass } ] call BIS_fnc_conditionalSelect;
opfor_troup_transports = [ opfor_troup_transports , { [ _x ] call F_checkClass } ] call BIS_fnc_conditionalSelect;
opfor_choppers = [ opfor_choppers , { [ _x ] call F_checkClass } ] call BIS_fnc_conditionalSelect;
opfor_air = [ opfor_air , { [ _x ] call F_checkClass } ] call BIS_fnc_conditionalSelect;
civilians = [ civilians , { [ _x ] call F_checkClass } ] call BIS_fnc_conditionalSelect;
civilian_vehicles = [ civilian_vehicles , { [ _x ] call F_checkClass } ] call BIS_fnc_conditionalSelect;
military_alphabet = ["Alpha","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","X-Ray","Yankee","Zulu"];
land_vehicles_classnames = (opfor_vehicles + militia_vehicles);
opfor_squad_low_intensity = [opfor_team_leader,opfor_machinegunner,opfor_medic,opfor_rpg,opfor_sentry,opfor_sentry,opfor_sentry,opfor_sentry];
opfor_squad_8_standard = [opfor_squad_leader,opfor_team_leader,opfor_machinegunner,opfor_heavygunner,opfor_medic,opfor_marksman,opfor_grenadier,opfor_rpg];
opfor_squad_8_infkillers = [opfor_squad_leader,opfor_machinegunner,opfor_machinegunner,opfor_heavygunner,opfor_medic,opfor_marksman,opfor_sharpshooter,opfor_sniper];
opfor_squad_8_tankkillers = [opfor_squad_leader,opfor_medic,opfor_machinegunner,opfor_rpg,opfor_rpg,opfor_at,opfor_at,opfor_at];
opfor_squad_8_airkillers = [opfor_squad_leader,opfor_medic,opfor_machinegunner,opfor_rpg,opfor_rpg,opfor_aa,opfor_aa,opfor_aa];
friendly_infantry_classnames = [];
{if (!(_x in friendly_infantry_classnames)) then {friendly_infantry_classnames pushBack _x};} forEach (blufor_squad_inf_light + blufor_squad_inf + blufor_squad_at + blufor_squad_aa + blufor_squad_recon + blufor_squad_para);
{if (!((_x select 0) in friendly_infantry_classnames)) then {friendly_infantry_classnames pushBack (_x select 0)};} forEach infantry_units;
all_resistance_troops = [] + militia_squad;
all_hostile_classnames = (land_vehicles_classnames + opfor_air + opfor_choppers + opfor_troup_transports + opfor_vehicles_low_intensity);
{ land_vehicles_classnames pushback (_x select 0); } foreach (heavy_vehicles + light_vehicles);
air_vehicles_classnames = [] + opfor_choppers;
KP_liberation_friendly_air_classnames = [];
{air_vehicles_classnames pushback (_x select 0); KP_liberation_friendly_air_classnames pushback (_x select 0);} foreach air_vehicles;
KP_liberation_friendly_air_classnames = KP_liberation_friendly_air_classnames - uavs;
KP_liberation_static_classnames = [];
{KP_liberation_static_classnames pushback (_x select 0);} forEach static_vehicles;
ai_resupply_sources = ai_resupply_sources + [Respawn_truck_typename, huron_typename, Arsenal_typename];
markers_reset = [99999,99999,0];
zeropos = [0,0,0];
squads_names = [ localize "STR_LIGHT_RIFLE_SQUAD", localize "STR_RIFLE_SQUAD", localize "STR_AT_SQUAD", localize "STR_AA_SQUAD", localize "STR_RECON_SQUAD", localize "STR_PARA_SQUAD" ];
ammobox_transports_typenames = [];
{ ammobox_transports_typenames pushback (_x select 0) } foreach box_transport_config;
ammobox_transports_typenames = [ ammobox_transports_typenames , { [ _x ] call F_checkClass } ] call BIS_fnc_conditionalSelect;
elite_vehicles = [ elite_vehicles , { [ _x ] call F_checkClass } ] call BIS_fnc_conditionalSelect;
original_resistance = ["O_G_Soldier_TL_F","O_G_Soldier_SL_F","O_G_Soldier_lite_F","O_G_Soldier_F","O_G_Soldier_F","O_G_Soldier_LAT_F","O_G_Soldier_GL_F","O_G_Soldier_AR_F","O_G_Soldier_AR_F","O_G_Soldier_M_F","O_G_engineer_F","O_G_Soldier_exp_F"];
opfor_infantry = [opfor_sentry,opfor_rifleman,opfor_grenadier,opfor_squad_leader,opfor_team_leader,opfor_marksman,opfor_machinegunner,opfor_heavygunner,opfor_medic,opfor_rpg,opfor_at,opfor_aa,opfor_officer,opfor_sharpshooter,opfor_sniper,opfor_engineer];
GRLIB_intel_file = "Land_File1_F";
GRLIB_intel_laptop = "Land_Laptop_device_F";
GRLIB_sar_wreck = "Land_Wreck_Heli_Attack_01_F";
GRLIB_sar_fire = "test_EmptyObjectForFireBig";
// Classnames of objects which should be ignored when building
GRLIB_ignore_colisions_when_building = [
"Land_HelipadSquare_F",
"Land_TentHangar_V1_F",
@ -112,3 +90,63 @@ GRLIB_ignore_colisions_when_building = [
"ACE_friesGantryReverse", //ACE FRIES
"ACE_friesGantry" //ACE FRIES
];
/* !!! DO NOT EDIT BELOW !!! */
infantry_units = [infantry_units] call F_filterMods;
light_vehicles = [light_vehicles] call F_filterMods;
heavy_vehicles = [heavy_vehicles] call F_filterMods;
air_vehicles = [air_vehicles] call F_filterMods;
support_vehicles = [support_vehicles] call F_filterMods;
static_vehicles = [static_vehicles] call F_filterMods;
buildings = [buildings] call F_filterMods;
build_lists = [[],infantry_units,light_vehicles,heavy_vehicles,air_vehicles,static_vehicles,buildings,support_vehicles,squads];
KP_liberation_storage_buildings = [KP_liberation_small_storage_building,KP_liberation_large_storage_building];
KP_liberation_crates = [KP_liberation_supply_crate,KP_liberation_ammo_crate,KP_liberation_fuel_crate];
KP_liberation_upgrade_buildings = [KP_liberation_recycle_building,KP_liberation_air_vehicle_building,KP_liberation_heli_slot_building,KP_liberation_plane_slot_building];
KP_liberation_air_slots = [KP_liberation_heli_slot_building,KP_liberation_plane_slot_building];
militia_squad = [militia_squad, {[_x] call F_checkClass}] call BIS_fnc_conditionalSelect;
militia_vehicles = [militia_vehicles, {[_x] call F_checkClass}] call BIS_fnc_conditionalSelect;
opfor_vehicles = [opfor_vehicles, {[_x] call F_checkClass}] call BIS_fnc_conditionalSelect;
opfor_vehicles_low_intensity = [opfor_vehicles_low_intensity, {[_x] call F_checkClass}] call BIS_fnc_conditionalSelect;
opfor_battlegroup_vehicles = [opfor_battlegroup_vehicles, {[_x] call F_checkClass}] call BIS_fnc_conditionalSelect;
opfor_battlegroup_vehicles_low_intensity = [opfor_battlegroup_vehicles_low_intensity, {[_x] call F_checkClass}] call BIS_fnc_conditionalSelect;
opfor_troup_transports = [opfor_troup_transports, {[_x] call F_checkClass}] call BIS_fnc_conditionalSelect;
opfor_choppers = [opfor_choppers, {[_x] call F_checkClass}] call BIS_fnc_conditionalSelect;
opfor_air = [opfor_air, {[_x] call F_checkClass}] call BIS_fnc_conditionalSelect;
civilians = [civilians, {[_x] call F_checkClass}] call BIS_fnc_conditionalSelect;
civilian_vehicles = [civilian_vehicles, {[_x] call F_checkClass}] call BIS_fnc_conditionalSelect;
military_alphabet = ["Alpha","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","X-Ray","Yankee","Zulu"];
land_vehicles_classnames = (opfor_vehicles + militia_vehicles);
opfor_squad_8_standard = [opfor_squad_leader,opfor_team_leader,opfor_machinegunner,opfor_heavygunner,opfor_medic,opfor_marksman,opfor_grenadier,opfor_rpg];
opfor_squad_8_infkillers = [opfor_squad_leader,opfor_machinegunner,opfor_machinegunner,opfor_heavygunner,opfor_medic,opfor_marksman,opfor_sharpshooter,opfor_sniper];
opfor_squad_8_tankkillers = [opfor_squad_leader,opfor_medic,opfor_machinegunner,opfor_rpg,opfor_rpg,opfor_at,opfor_at,opfor_at];
opfor_squad_8_airkillers = [opfor_squad_leader,opfor_medic,opfor_machinegunner,opfor_rpg,opfor_rpg,opfor_aa,opfor_aa,opfor_aa];
friendly_infantry_classnames = [];
{if (!(_x in friendly_infantry_classnames)) then {friendly_infantry_classnames pushBack _x};} forEach (blufor_squad_inf_light + blufor_squad_inf + blufor_squad_at + blufor_squad_aa + blufor_squad_recon + blufor_squad_para);
{if (!((_x select 0) in friendly_infantry_classnames)) then {friendly_infantry_classnames pushBack (_x select 0)};} forEach infantry_units;
all_resistance_troops = [] + militia_squad;
all_hostile_classnames = (land_vehicles_classnames + opfor_air + opfor_choppers + opfor_troup_transports + opfor_vehicles_low_intensity);
{ land_vehicles_classnames pushback (_x select 0); } foreach (heavy_vehicles + light_vehicles);
air_vehicles_classnames = [] + opfor_choppers;
KP_liberation_friendly_air_classnames = [];
{air_vehicles_classnames pushback (_x select 0); KP_liberation_friendly_air_classnames pushback (_x select 0);} foreach air_vehicles;
KP_liberation_friendly_air_classnames = KP_liberation_friendly_air_classnames - uavs;
KP_liberation_static_classnames = [];
{KP_liberation_static_classnames pushback (_x select 0);} forEach static_vehicles;
ai_resupply_sources = ai_resupply_sources + [Respawn_truck_typename, huron_typename, Arsenal_typename];
markers_reset = [99999,99999,0];
zeropos = [0,0,0];
squads_names = [localize "STR_LIGHT_RIFLE_SQUAD", localize "STR_RIFLE_SQUAD", localize "STR_AT_SQUAD", localize "STR_AA_SQUAD", localize "STR_RECON_SQUAD", localize "STR_PARA_SQUAD"];
ammobox_transports_typenames = [];
{ammobox_transports_typenames pushback (_x select 0)} foreach box_transport_config;
ammobox_transports_typenames = [ammobox_transports_typenames, {[_x] call F_checkClass}] call BIS_fnc_conditionalSelect;
elite_vehicles = [elite_vehicles, {[_x] call F_checkClass}] call BIS_fnc_conditionalSelect;
original_resistance = ["O_G_Soldier_TL_F","O_G_Soldier_SL_F","O_G_Soldier_lite_F","O_G_Soldier_F","O_G_Soldier_F","O_G_Soldier_LAT_F","O_G_Soldier_GL_F","O_G_Soldier_AR_F","O_G_Soldier_AR_F","O_G_Soldier_M_F","O_G_engineer_F","O_G_Soldier_exp_F"];
opfor_infantry = [opfor_sentry,opfor_rifleman,opfor_grenadier,opfor_squad_leader,opfor_team_leader,opfor_marksman,opfor_machinegunner,opfor_heavygunner,opfor_medic,opfor_rpg,opfor_at,opfor_aa,opfor_officer,opfor_sharpshooter,opfor_sniper,opfor_engineer];
GRLIB_intel_file = "Land_File1_F";
GRLIB_intel_laptop = "Land_Laptop_device_F";
GRLIB_sar_wreck = "Land_Wreck_Heli_Attack_01_F";
GRLIB_sar_fire = "test_EmptyObjectForFireBig";

View File

@ -0,0 +1,128 @@
// Enemy infantry classes
opfor_officer = "O_officer_F"; //Officer
opfor_squad_leader = "O_Soldier_SL_F"; //Squad Leader
opfor_team_leader = "O_Soldier_TL_F"; //Team Leader
opfor_sentry = "O_Soldier_lite_F"; //Rifleman (Lite)
opfor_rifleman = "O_Soldier_F"; //Rifleman
opfor_rpg = "O_Soldier_LAT_F"; //Rifleman (LAT)
opfor_grenadier = "O_Soldier_GL_F"; //Grenadier
opfor_machinegunner = "O_Soldier_AR_F"; //Autorifleman
opfor_heavygunner = "O_HeavyGunner_F"; //Heavy Gunner
opfor_marksman = "O_soldier_M_F"; //Marksman
opfor_sharpshooter = "O_Sharpshooter_F"; //Sharpshooter
opfor_sniper = "O_sniper_F"; //Sniper
opfor_at = "O_Soldier_AT_F"; //AT Specialist
opfor_aa = "O_Soldier_AA_F"; //AA Specialist
opfor_medic = "O_medic_F"; //Combat Life Saver
opfor_engineer = "O_engineer_F"; //Engineer
opfor_paratrooper = "O_soldier_PG_F"; //Paratrooper
// Enemy vehicles used by secondary objectives.
opfor_mrap = "O_MRAP_02_F"; //Ifrit
opfor_mrap_armed = "O_MRAP_02_hmg_F"; //Ifrit (HMG)
opfor_transport_helo = "O_Heli_Transport_04_bench_F"; //Mi-290 Taru (Bench)
opfor_transport_truck = "O_Truck_03_covered_F"; //Tempest Transport (Covered)
opfor_fuel_truck = "O_Truck_03_fuel_F"; //Tempest Fuel
opfor_ammo_truck = "O_Truck_03_ammo_F"; //Tempest Ammo
opfor_fuel_container = "Land_Pod_Heli_Transport_04_fuel_F"; //Taru Fuel Pod
opfor_ammo_container = "Land_Pod_Heli_Transport_04_ammo_F"; //Taru Ammo Pod
opfor_flag = "Flag_CSAT_F"; //CSAT Flag
/* Adding a value to these arrays below will add them to a one out of however many in the array, random pick chance.
Therefore, adding the same value twice or three times means they are more likely to be chosen more often. */
// Militia infantry. Lightweight soldier classnames the game will pick from randomly as sector defenders. */
militia_squad = [
"O_soldierU_TL_F", //Team Leader
"O_SoldierU_SL_F", //Squad Leader
"O_soldierU_F", //Rifleman (Lite)
"O_soldierU_F", //Rifleman
"O_soldierU_F", //Rifleman
"O_soldierU_LAT_F", //Rifleman (AT)
"O_SoldierU_GL_F", //Grenadier
"O_soldierU_AR_F", //Autorifleman
"O_soldierU_AR_F", //Autorifleman
"O_soldierU_M_F", //Marksman
"O_soldierU_medic_F", //Medic
"O_engineer_U_F", //Engineer
"O_soldierU_exp_F" //Explosives Specialist
];
// Militia vehicles. Lightweight vehicle classnames the game will pick from randomly as sector defenders.
militia_vehicles = [
"O_LSV_02_armed_F" //Qilin (armed)
];
// All enemy vehicles that can spawn as sector defenders and patrols at high enemy combat readiness (aggression levels).
opfor_vehicles = [
"O_MRAP_02_hmg_F", //Ifrit (HMG)
"O_MRAP_02_hmg_F", //Ifrit (GMG)
"O_MRAP_02_gmg_F", //Ifrit (GMG)
"O_APC_Tracked_02_cannon_F", //BTR-K Kamysh
"O_APC_Tracked_02_AA_F", //ZSU-39 Tigris
"O_APC_Tracked_02_AA_F", //ZSU-39 Tigris
"O_MBT_02_cannon_F", //T-100 Varsuk
"O_MBT_02_cannon_F" //T-100 Varsuk
];
// All enemy vehicles that can spawn as sector defenders and patrols but at a lower enemy combat readiness (aggression levels).
opfor_vehicles_low_intensity = [
"O_MRAP_02_hmg_F", //Ifrit (HMG)
"O_MRAP_02_hmg_F", //Ifrit (HMG)
"O_APC_Wheeled_02_rcws_F", //MSE-3 Marid
"O_APC_Tracked_02_cannon_F" //BTR-K Kamysh
];
// All enemy vehicles that can spawn as battlegroups, either assaulting or as reinforcements, at high enemy combat readiness (aggression levels).
opfor_battlegroup_vehicles = [
"O_MRAP_02_hmg_F", //Ifrit (HMG)
"O_MRAP_02_gmg_F", //Ifrit (GMG)
"O_MRAP_02_gmg_F", //Ifrit (GMG)
"O_Truck_03_transport_F", //Tempest Transport
"O_Truck_03_covered_F", //Tempest Transport (Covered)
"O_APC_Tracked_02_cannon_F", //BTR-K Kamysh
"O_APC_Tracked_02_AA_F", //ZSU-39 Tigris
"O_APC_Tracked_02_AA_F", //ZSU-39 Tigris
"O_MBT_02_cannon_F", //T-100 Varsuk
"O_MBT_02_cannon_F", //T-100 Varsuk
"O_Heli_Light_02_dynamicLoadout_F", //Po-30 Orca (Armed)
"O_Heli_Light_02_dynamicLoadout_F", //Po-30 Orca (Armed)
"O_Heli_Transport_04_bench_F", //Mi-290 Taru (Bench)
"O_Heli_Attack_02_dynamicLoadout_F" //Mi-48 Kajman
];
// All enemy vehicles that can spawn as battlegroups, either assaulting or as reinforcements, at lower enemy combat readiness (aggression levels).
opfor_battlegroup_vehicles_low_intensity = [
"O_MRAP_02_hmg_F", //Ifrit (HMG)
"O_MRAP_02_hmg_F", //Ifrit (HMG)
"O_Truck_03_transport_F", //Tempest Transport
"O_APC_Wheeled_02_rcws_F", //MSE-3 Marid
"O_APC_Tracked_02_cannon_F", //BTR-K Kamysh
"O_APC_Tracked_02_AA_F", //ZSU-39 Tigris
"O_Heli_Light_02_dynamicLoadout_F", //Po-30 Orca (Armed)
"O_Heli_Transport_04_bench_F" //Mi-290 Taru (Bench)
];
/* All vehicles that spawn within battlegroups (see the above 2 arrays) and also hold 8 soldiers as passengers.
If something in this array can't hold all 8 soldiers then buggy behaviours may occur. */
opfor_troup_transports = [
"O_Truck_03_transport_F", //Tempest Transport
"O_Truck_03_covered_F", //Tempest Transport (Covered)
"O_APC_Wheeled_02_rcws_F", //MSE-3 Marid
"O_Heli_Transport_04_bench_F", //Mi-290 Taru (Bench)
"O_Heli_Light_02_dynamicLoadout_F" //Po-30 Orca (Armed)
];
// Enemy rotary-wings that will need to spawn in flight.
opfor_choppers = [
"O_Heli_Transport_04_bench_F", //Mi-290 Taru (Bench)
"O_Heli_Light_02_dynamicLoadout_F", //Po-30 Orca (Armed)
"O_Heli_Attack_02_dynamicLoadout_F" //Mi-48 Kajman
];
// Enemy fixed-wings that will need to spawn in the air.
opfor_air = [
"O_Plane_CAS_02_dynamicLoadout_F", //To-199 Neophron (CAS)
"O_Plane_Fighter_02_F" //To-201 Shikra
];

View File

@ -0,0 +1,16 @@
/* Classnames of the guerilla faction which is friendly or hostile, depending on the civil reputation
Standard loadout (except the uniform) of the units will be replaced with a scripted one, which depends on the guerilla strength, after spawn */
KP_liberation_guerilla_units = [
"I_G_Soldier_AR_F",
"I_G_engineer_F",
"I_G_officer_F",
"I_G_medic_F",
"I_G_Soldier_F",
"I_G_Soldier_LAT_F",
"I_G_Soldier_M_F",
"I_G_Soldier_SL_F"
];
KP_liberation_guerilla_vehicles = [
"I_G_Offroad_01_armed_F"
];

View File

@ -331,8 +331,8 @@ blufor_squad_para = [
/* - Badguy classnames.
All enemy infantry are defined here. */
opfor_officer = "rhs_msv_emr_officer"; //Officer
opfor_team_leader = "rhs_msv_emr_sergeant"; //Team Leader
opfor_squad_leader = "rhs_msv_emr_efreitor"; //Squad Leader
opfor_squad_leader = "rhs_msv_emr_sergeant"; //Squad Leader
opfor_team_leader = "rhs_msv_emr_efreitor"; //Team Leader
opfor_sentry = "rhs_msv_emr_rifleman"; //Rifleman (Lite)
opfor_rifleman = "rhs_msv_emr_rifleman"; //Rifleman
opfor_rpg = "rhs_msv_emr_LAT"; //Rifleman (LAT)

View File

@ -336,8 +336,8 @@ blufor_squad_para = [
/* - Badguy classnames.
All enemy infantry are defined here. */
opfor_officer = "rhs_msv_emr_officer"; //Officer
opfor_team_leader = "rhs_msv_emr_sergeant"; //Team Leader
opfor_squad_leader = "rhs_msv_emr_efreitor"; //Squad Leader
opfor_squad_leader = "rhs_msv_emr_sergeant"; //Squad Leader
opfor_team_leader = "rhs_msv_emr_efreitor"; //Team Leader
opfor_sentry = "rhs_msv_emr_rifleman"; //Rifleman (Lite)
opfor_rifleman = "rhs_msv_emr_rifleman"; //Rifleman
opfor_rpg = "rhs_msv_emr_LAT"; //Rifleman (LAT)

View File

@ -327,8 +327,8 @@ blufor_squad_para = [
/* - Badguy classnames.
All enemy infantry are defined here. */
opfor_officer = "LOP_TKA_Infantry_Officer"; //Officer
opfor_team_leader = "LOP_TKA_Infantry_TL"; //Team Leader
opfor_squad_leader = "LOP_TKA_Infantry_SL"; //Squad Leader
opfor_team_leader = "LOP_TKA_Infantry_TL"; //Team Leader
opfor_sentry = "LOP_TKA_Infantry_Rifleman"; //Rifleman (Lite)
opfor_rifleman = "LOP_TKA_Infantry_Rifleman_2"; //Rifleman
opfor_rpg = "LOP_TKA_Infantry_Rifleman_3"; //Rifleman (LAT)