// BattalionInfo.hpp // Defines the structure of the Battalion, allowing properties to be easily changed and updated // This file is included in description.ext // Define the callsigns for the Battalion #define COMMAND_CALLSIGN SPARTAN #define RRC_CALLSIGN TIGER #define MEDIC_CALLSIGN LIFELINE #define ALPHA_CALLSIGN BLACKJACK #define ECHO_CALLSIGN FIREBRAND #define WPN_CALLSIGN BLACKFOOT // Define the frequencies for the Battalion #define FREQ_BATTALION 45 #define FREQ_BATTALION_MEDICAL_INTERCOM 91.1 #define FREQ_ALL_MEDICAL_SR 121.5 #define FREQ_ALPHA_COMPANY 40 #define FREQ_PLATOON1_SR 100 #define FREQ_PLATOON1_LR 41 #define FREQ_PLATOON1_RTO 101 #define FREQ_PLATOON2_SR 200 #define FREQ_PLATOON2_LR 42 #define FREQ_PLATOON2_RTO 201 #define FREQ_ECHO_FLIGHT_INTERCOM 30 #define FREQ_ECHO_FLIGHT_CAS 35 #define FREQ_ECHO_FLIGHT_LOGISTICS 35.1 #define FREQ_ECHO_GROUND 80 #define FREQ_ECHO_GROUND_LOGISTICS 81 #define FREQ_ECHO_ARTY 82 #define FREQ_ECHO_ARTY_INTERCOM 155 #define FREQ_CONVOY 50 // Define the text colors to appear in diary entries #define LVL1_TEXT_COLOR "#7c887e" #define LVL2_TEXT_COLOR "#bab79f" #define LVL3_TEXT_COLOR "#91967f" #define LVL4_TEXT_COLOR "#d3d2cd" // All elements and subclasses should have the following properties: // callsign: the callsign of the element // textColor: the color of the text for the element // frequencies: an array of frequencies for the element in the format: // {roleWithinElement, {primarySR, additionalSR}, {primaryLR, additionalLR}} // Battalion-level elements under Command should have the following additional properties: // shortDescription: a short description of the element's place in the Battalion // System macros #define CALLSIGN_ELEMENT(callsign,element) callsign##element class BattalionInfo { class Command { callsign = COMMAND_CALLSIGN; shortDescription = "Battalion Command"; textColor = LVL1_TEXT_COLOR; // frequencies are in format: // {roleWithinElement, {primarySR, additionalSR}, {primaryLR, additionalLR}} frequencies[] = { {"Contact", {}, {FREQ_BATTALION}}, {"Actual", {}, {FREQ_BATTALION}}, {"Romeo", {}, {FREQ_BATTALION, FREQ_ECHO_FLIGHT_CAS}} }; class RRC { // WIP callsign = RRC_CALLSIGN; shortDescription = "RRC"; textColor = LVL2_TEXT_COLOR; frequencies[] = { {"Contact", {}, {FREQ_BATTALION}}, {"Actual", {}, {FREQ_BATTALION, FREQ_ECHO_FLIGHT_CAS}} }; }; class BattalionMedical { // WIP callsign = MEDIC_CALLSIGN; shortDescription = "Battalion Medical"; textColor = LVL2_TEXT_COLOR; frequencies[] = { {"Contact", {FREQ_ALL_MEDICAL_SR}, {FREQ_BATTALION}}, {"Actual", {FREQ_BATTALION_MEDICAL_INTERCOM, FREQ_ALL_MEDICAL_SR}, {FREQ_BATTALION, FREQ_ECHO_FLIGHT_LOGISTICS}}, {"General", {FREQ_BATTALION_MEDICAL_INTERCOM, FREQ_ALL_MEDICAL_SR}, {}} }; }; class WeaponsSquad { // WIP callsign = WPN_CALLSIGN; shortDescription = "Special Weapons Squad"; textColor = LVL2_TEXT_COLOR; frequencies[] = { {"Contact", {}, {FREQ_BATTALION}} }; }; class AlphaCompany { callsign = ALPHA_CALLSIGN; shortDescription = "Alpha Company"; textColor = LVL2_TEXT_COLOR; frequencies[] = { {"Contact", {}, {FREQ_ALPHA_COMPANY, FREQ_BATTALION}} }; class Platoon1 { callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 1-6); textColor = LVL3_TEXT_COLOR; frequencies[] = { {"Actual", {FREQ_PLATOON1_SR, FREQ_PLATOON1_RTO}, {FREQ_PLATOON1_LR, FREQ_ALPHA_COMPANY}}, {"Romeo", {}, {FREQ_BATTALION, FREQ_ECHO_FLIGHT_CAS, FREQ_ECHO_FLIGHT_LOGISTICS}} }; class Squad1 { callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 1-1); textColor = LVL4_TEXT_COLOR; frequencies[] = { {"Actual", {110, FREQ_PLATOON1_SR}, {FREQ_PLATOON1_LR}}, {"Alpha Team", {111, 110}, {}}, {"Bravo Team", {112, 110}, {}}, {"Medic", {110, FREQ_ALL_MEDICAL_SR}, {}} }; }; class Squad2 { callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 1-2); textColor = LVL4_TEXT_COLOR; frequencies[] = { {"Actual", {120, FREQ_PLATOON1_SR}, {FREQ_PLATOON1_LR}}, {"Alpha Team", {121, 120}, {}}, {"Bravo Team", {122, 120}, {}}, {"Medic", {120, FREQ_ALL_MEDICAL_SR}, {}} }; }; class Squad3 { callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 1-3); textColor = LVL4_TEXT_COLOR; frequencies[] = { {"Actual", {130, FREQ_PLATOON1_SR}, {FREQ_PLATOON1_LR}}, {"Alpha Team", {131, 130}, {}}, {"Bravo Team", {132, 130}, {}}, {"Medic", {130, FREQ_ALL_MEDICAL_SR}, {}} }; }; }; class Platoon2 { callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 2-6); textColor = LVL3_TEXT_COLOR; frequencies[] = { {"Actual", {FREQ_PLATOON2_SR, FREQ_PLATOON2_RTO}, {FREQ_PLATOON2_LR, FREQ_ALPHA_COMPANY}} }; class Squad1 { callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 2-1); textColor = LVL4_TEXT_COLOR; frequencies[] = { {"Actual", {210, FREQ_PLATOON2_SR}, {FREQ_PLATOON2_LR}}, {"Alpha Team", {211, 210}, {}}, {"Bravo Team", {212, 210}, {}}, {"Medic", {210, FREQ_ALL_MEDICAL_SR}, {}} }; }; class Squad2 { callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 2-2); textColor = LVL4_TEXT_COLOR; frequencies[] = { {"Actual", {220, FREQ_PLATOON2_SR}, {FREQ_PLATOON2_LR}}, {"Alpha Team", {221, 220}, {}}, {"Bravo Team", {222, 220}, {}}, {"Medic", {220, FREQ_ALL_MEDICAL_SR}, {}} }; }; class Squad3 { callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 2-3); textColor = LVL4_TEXT_COLOR; frequencies[] = { {"Actual", {230, FREQ_PLATOON2_SR}, {FREQ_PLATOON2_LR}}, {"Alpha Team", {231, 230}, {}}, {"Bravo Team", {232, 230}, {}}, {"Medic", {230, FREQ_ALL_MEDICAL_SR}, {}} }; }; }; }; class EchoCompany { callsign = ECHO_CALLSIGN; shortDescription = "Echo Company"; textColor = LVL2_TEXT_COLOR; frequencies[] = { {"Contact", {}, {FREQ_BATTALION}}, {"Actual", {}, {FREQ_BATTALION}} }; class Flight { callsign = CALLSIGN_ELEMENT(ECHO_CALLSIGN, FLIGHT); textColor = LVL3_TEXT_COLOR; frequencies[] = { {"Contact", {}, {FREQ_BATTALION}}, {"Actual", {}, {FREQ_ECHO_FLIGHT_INTERCOM, FREQ_BATTALION}}, {"CAS Support", {}, {FREQ_ECHO_FLIGHT_INTERCOM, FREQ_ECHO_FLIGHT_CAS}}, {"Logistics", {}, {FREQ_ECHO_FLIGHT_INTERCOM, FREQ_ECHO_FLIGHT_LOGISTICS}} }; }; class Ground { callsign = CALLSIGN_ELEMENT(ECHO_CALLSIGN, GROUND); textColor = LVL3_TEXT_COLOR; frequencies[] = { {"Contact", {}, {FREQ_BATTALION}}, {"Actual", {}, {FREQ_ECHO_GROUND, FREQ_BATTALION}} }; class Logistics { callsign = CALLSIGN_ELEMENT(ECHO_CALLSIGN, LOGISTICS); textColor = LVL4_TEXT_COLOR; frequencies[] = { {"Contact", {}, {FREQ_ECHO_GROUND}}, {"Actual", {}, {FREQ_ECHO_GROUND_LOGISTICS, FREQ_ECHO_GROUND}}, {"General", {}, {FREQ_ECHO_GROUND_LOGISTICS}}, {"Convoy", {}, {FREQ_CONVOY}} }; }; class Armor { callsign = CALLSIGN_ELEMENT(ECHO_CALLSIGN, ARMOR); textColor = LVL4_TEXT_COLOR; frequencies[] = { {"Contact", {}, {FREQ_ECHO_GROUND, FREQ_ECHO_FLIGHT_CAS}}, {"Actual", {}, {FREQ_ECHO_GROUND}}, {"General", {}, {FREQ_ECHO_GROUND}}, {"Convoy", {}, {FREQ_CONVOY}} }; }; class Artillery { callsign = CALLSIGN_ELEMENT(ECHO_CALLSIGN, ARTILLERY); textColor = LVL4_TEXT_COLOR; frequencies[] = { {"General", {FREQ_ECHO_ARTY_INTERCOM}, {FREQ_ECHO_GROUND, FREQ_ECHO_ARTY}} }; }; }; }; }; };