253 lines
7.5 KiB
C++
253 lines
7.5 KiB
C++
// 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}}
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}; |