Compare commits
25 Commits
faf84a0bf2
...
4.2.2
| Author | SHA1 | Date | |
|---|---|---|---|
| 69aed97ce3 | |||
|
|
071a056dc8 | ||
|
|
c31e5cf9ac | ||
| 5cf3ea5c1f | |||
| 38d03353b3 | |||
| ca478ab08d | |||
| f6703e7dd4 | |||
|
|
ea64f8e63c | ||
| 3308cdc5ba | |||
| a35c39721e | |||
| dba0a0e57c | |||
| 888a688f56 | |||
| c94f660682 | |||
|
|
7e93ebfbfd | ||
|
|
e0c8f3c952 | ||
|
|
d200f83375 | ||
| 51c5da44ce | |||
| 0f5569c5ba | |||
|
|
448fad1ee0 | ||
|
|
2210dc1a70 | ||
|
|
7e5e7e26af | ||
|
|
7c6130891a | ||
|
|
eee4ac1b83 | ||
| 8f89283ceb | |||
| af7600ac16 |
43
CHANGELOG.md
43
CHANGELOG.md
@@ -4,6 +4,49 @@ All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project badly attempts [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [4.2.2] - 2024-12-23
|
||||
|
||||
### Added
|
||||
|
||||
- CBA settings to allow disabling of remaining text chat channels
|
||||
|
||||
### Changed
|
||||
|
||||
- Log triage level on player respawn
|
||||
- Campaign Callsigns
|
||||
|
||||
### Fixed
|
||||
|
||||
- Equipment typos
|
||||
|
||||
## [4.2.1] - 2024-06-23
|
||||
|
||||
### Changed
|
||||
|
||||
- Allowed Equipment Definition typo
|
||||
|
||||
## [4.2.0] - 2024-06-20
|
||||
|
||||
### Added
|
||||
|
||||
- Custom remainsCollector script to replace and supplement the built in arma remainsCollector function
|
||||
- New Resupply Boxes
|
||||
- Ability to spawn spare tires and tracks at the arsenal and via Zeus module
|
||||
|
||||
### Changed
|
||||
|
||||
- Split vehicle flags into colors and shapes for additional options
|
||||
- Battalion Callsigns
|
||||
- Allowed Equipment Definitions
|
||||
- Resupply Box Contents
|
||||
- Fixed incorrect ace carry variable setting
|
||||
|
||||
### Removed
|
||||
|
||||
- SMA mod references
|
||||
- Extraneous server performance calculation broadcast to all clients
|
||||
- Ability for pilots to check re-insertion queue
|
||||
|
||||
## [4.1.2] - 2024-04-25
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
|
||||
|
||||
// Define the callsigns for the Battalion
|
||||
#define COMMAND_CALLSIGN STORMSURGE
|
||||
#define RRC_CALLSIGN TIGER
|
||||
#define MEDIC_CALLSIGN LIFELINE
|
||||
#define ALPHA_CALLSIGN SAVAGE
|
||||
#define ECHO_CALLSIGN NIGHTFALL
|
||||
#define COMMAND_CALLSIGN POWERLINE
|
||||
//#define RRC_CALLSIGN TIGER
|
||||
//#define MEDIC_CALLSIGN LIFELINE
|
||||
#define ALPHA_CALLSIGN NOMAD
|
||||
#define ECHO_CALLSIGN WARLORD
|
||||
#define WPN_CALLSIGN BLACKFOOT
|
||||
|
||||
// Define the frequencies for the Battalion
|
||||
@@ -73,26 +73,26 @@ class BattalionInfo {
|
||||
};
|
||||
|
||||
|
||||
class RRC { // WIP
|
||||
callsign = RRC_CALLSIGN;
|
||||
shortDescription = "RRC";
|
||||
textColor = LVL2_TEXT_COLOR;
|
||||
frequencies[] = {
|
||||
{"Contact", {}, {FREQ_BATTALION}},
|
||||
{"Actual", {}, {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 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;
|
||||
|
||||
@@ -141,7 +141,9 @@ class DisallowedEquipment {
|
||||
"Tier1_ATACR18_Geissele_Docter_Black", //Nightforce Series Optic
|
||||
"Tier1_ATACR18_Geissele_Docter_Desert_Vanilla", //Nightforce Series Optic
|
||||
"Tier1_ATACR18_Geissele_Docter_Desert", //Nightforce Series Optic
|
||||
"sps_black_hornet_01_F" // Black Hornet Drone Mod
|
||||
"sps_black_hornet_01_Static_F", // Black Hornet Drone Mod
|
||||
"MRH_TacticalDisplay", //MRH Satellite Display Tablet
|
||||
"MRH_FoldedSatcomAntenna" //MRH Satellite Satcom
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -210,4 +210,28 @@ class SupplyCrates {
|
||||
};
|
||||
items[] = {};
|
||||
};
|
||||
|
||||
class ResupplyTire {
|
||||
boxClass = "ACE_Wheel";
|
||||
displayName = "Vehicle Tire";
|
||||
tooltip = "A single tire for replacement";
|
||||
icon = "A3\ui_f\data\igui\cfg\simpletasks\types\repair_ca.paa";
|
||||
|
||||
backpacks[] = {};
|
||||
weapons[] = {};
|
||||
magazines[] = {};
|
||||
items[] = {};
|
||||
};
|
||||
|
||||
class ResupplyTrack {
|
||||
boxClass = "ACE_Track";
|
||||
displayName = "Vehicle Track";
|
||||
tooltip = "A single track for replacement";
|
||||
icon = "z\ace\addons\repair\ui\patch_ca.paa";
|
||||
|
||||
backpacks[] = {};
|
||||
weapons[] = {};
|
||||
magazines[] = {};
|
||||
items[] = {};
|
||||
};
|
||||
};
|
||||
@@ -15,7 +15,13 @@ addMissionEventHandler ["HandleChatMessage",
|
||||
{
|
||||
params ["_channel", "_owner", "_from", "_text", "_person", "_name", "_strID", "_forcedDisplay", "_isPlayerMessage", "_sentenceType", "_chatMessageType"];
|
||||
|
||||
if ( missionNamespace getVariable ["milsim_globalChat", false] ) exitWith{ false };
|
||||
if ( missionNamespace getVariable ["milsim_sideChat", false] ) exitWith{ false };
|
||||
if ( missionNamespace getVariable ["milsim_commandChat", false] ) exitWith{ false };
|
||||
if ( missionNamespace getVariable ["milsim_groupChat", false] ) exitWith{ false };
|
||||
if ( missionNamespace getVariable ["milsim_vehicleChat", false] ) exitWith{ false };
|
||||
if ( missionNamespace getVariable ["milsim_directChat", false] ) exitWith{ false };
|
||||
|
||||
|
||||
if (_channel != 1) exitWith { false };
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ if ( !hasInterface ) exitWith {};
|
||||
if (not (local _unit)) exitWith {};
|
||||
|
||||
private _causeOfDeath = _unit getVariable ["ace_medical_causeOfDeath", "#scripted"];
|
||||
private _triageLevel = _unit call ace_medical_treatment_fnc_getTriageStatus;
|
||||
|
||||
if (_causeOfDeath != "respawn_button") exitWith {};
|
||||
private _timeWentUnconscious = _unit getVariable [QGVARMAIN(lastTimeKnockedOut), -1];
|
||||
@@ -15,13 +16,13 @@ if ( !hasInterface ) exitWith {};
|
||||
if (_timeWentUnconscious isEqualTo -1) exitWith {};
|
||||
|
||||
_durationSpentUnconscious = diag_tickTime - _timeWentUnconscious;
|
||||
|
||||
[
|
||||
LEVEL_INFO,
|
||||
QUOTE(COMPONENT),
|
||||
"RESPAWNED WHILE UNCONSCIOUS",
|
||||
[_unit, [
|
||||
["durationSpentUnconscious", _durationSpentUnconscious]
|
||||
["durationSpentUnconscious", _durationSpentUnconscious],
|
||||
["triageLevel", _triageLevel#1]
|
||||
]] call EFUNC(common,addPlayerInfoToArray)
|
||||
] remoteExec [QEFUNC(common,log), 2];
|
||||
// format["%1 was unconscious then clicked the respawn button", name _unit] remoteExec["systemChat", 0];
|
||||
|
||||
@@ -1,15 +1,33 @@
|
||||
#include "..\script_component.hpp"
|
||||
|
||||
//---------------------
|
||||
// Global Chat
|
||||
//---------------------
|
||||
[
|
||||
QGVARMAIN(globalChat),
|
||||
"CHECKBOX",
|
||||
"Global Chat Text Enabled",
|
||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
||||
true, // default value
|
||||
true, // requires restart
|
||||
{
|
||||
params ["_value"];
|
||||
[
|
||||
QGVARMAIN(globalChat),
|
||||
_value
|
||||
] call EFUNC(common,logSettingChanged);
|
||||
}
|
||||
] call CBA_fnc_addSetting;
|
||||
|
||||
//---------------------
|
||||
// Side Chat
|
||||
//---------------------
|
||||
|
||||
[
|
||||
QGVARMAIN(sideChat),
|
||||
"CHECKBOX",
|
||||
"Side Chat Text Enabled",
|
||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
||||
false, // default value
|
||||
true, // default value
|
||||
true, // requires restart
|
||||
{
|
||||
params ["_value"];
|
||||
@@ -20,7 +38,92 @@
|
||||
}
|
||||
] call CBA_fnc_addSetting;
|
||||
|
||||
|
||||
//---------------------
|
||||
// Command Chat
|
||||
//---------------------
|
||||
[
|
||||
QGVARMAIN(commandChat),
|
||||
"CHECKBOX",
|
||||
"Command Chat Text Enabled",
|
||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
||||
true, // default value
|
||||
true, // requires restart
|
||||
{
|
||||
params ["_value"];
|
||||
[
|
||||
QGVARMAIN(commandChat),
|
||||
_value
|
||||
] call EFUNC(common,logSettingChanged);
|
||||
}
|
||||
] call CBA_fnc_addSetting;
|
||||
|
||||
//---------------------
|
||||
// Group Chat
|
||||
//---------------------
|
||||
[
|
||||
QGVARMAIN(groupChat),
|
||||
"CHECKBOX",
|
||||
"Group Chat Text Enabled",
|
||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
||||
true, // default value
|
||||
true, // requires restart
|
||||
{
|
||||
params ["_value"];
|
||||
[
|
||||
QGVARMAIN(groupChat),
|
||||
_value
|
||||
] call EFUNC(common,logSettingChanged);
|
||||
}
|
||||
] call CBA_fnc_addSetting;
|
||||
|
||||
|
||||
//---------------------
|
||||
// Vehicle Chat
|
||||
//---------------------
|
||||
[
|
||||
QGVARMAIN(vehicleChat),
|
||||
"CHECKBOX",
|
||||
"Vehicle Chat Text Enabled",
|
||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
||||
true, // default value
|
||||
true, // requires restart
|
||||
{
|
||||
params ["_value"];
|
||||
[
|
||||
QGVARMAIN(vehicleChat),
|
||||
_value
|
||||
] call EFUNC(common,logSettingChanged);
|
||||
}
|
||||
] call CBA_fnc_addSetting;
|
||||
|
||||
|
||||
//---------------------
|
||||
// Vehicle Chat
|
||||
//---------------------
|
||||
[
|
||||
QGVARMAIN(directChat),
|
||||
"CHECKBOX",
|
||||
"Direct Chat Text Enabled",
|
||||
[QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)],
|
||||
true, // default value
|
||||
true, // requires restart
|
||||
{
|
||||
params ["_value"];
|
||||
[
|
||||
QGVARMAIN(directChat),
|
||||
_value
|
||||
] call EFUNC(common,logSettingChanged);
|
||||
}
|
||||
] call CBA_fnc_addSetting;
|
||||
|
||||
|
||||
[QGVARMAIN(globalChat), false] call CBA_settings_fnc_set;
|
||||
[QGVARMAIN(sideChat), false] call CBA_settings_fnc_set;
|
||||
[QGVARMAIN(commandChat), false] call CBA_settings_fnc_set;
|
||||
[QGVARMAIN(groupChat), false] call CBA_settings_fnc_set;
|
||||
[QGVARMAIN(vehicleChat), false] call CBA_settings_fnc_set;
|
||||
[QGVARMAIN(directChat), false] call CBA_settings_fnc_set;
|
||||
|
||||
diag_log text "[MILSIM] (settings) Custom CBA settings initialized";
|
||||
|
||||
|
||||
@@ -27,17 +27,31 @@ addMissionEventHandler ["EntityKilled", {
|
||||
|
||||
if not (_unit isKindOf "CAManBase") exitWith {};
|
||||
|
||||
if not (isInRemainsCollector _unit) exitWith {};
|
||||
|
||||
// format["%1 from group %2 died at %3", _unit, group _unit, [datetime] call BIS_fnc_timeToString] remoteExec ["systemChat"];
|
||||
_unit setVariable["milsim_death_time", time];
|
||||
// _unit addEventHandler ["Deleted", {
|
||||
// params ["_entity"];
|
||||
// isGC = _entity getVariable["milsim_garbage_collected", false];
|
||||
// format["%1 from was deleted by custom gc: %2", _entity, str isGC ] remoteExec ["systemChat"];
|
||||
// }];
|
||||
|
||||
_unit addEventHandler ["Deleted", {
|
||||
params ["_entity"];
|
||||
_remainsCollector = _entity getVariable["milsim_garbage_collected", false];
|
||||
_decayTime = time - (_entity getVariable ["milsim_death_time", time]);
|
||||
|
||||
_i = allUsers select { (getUserInfo _x)#1 isEqualTo _ownerId;};
|
||||
_owner = if ( _i isEqualTo []) then [ { "server" }, { (getUserInfo (_i#0))#3 }];
|
||||
|
||||
diag_log format["isServer: %5, deleted object owned by: %1 via remainsCollector: %2 after %3 seconds of type: %4", _owner, str (not _remainsCollector), _decayTime, _entity, isServer];
|
||||
}];
|
||||
}];
|
||||
|
||||
|
||||
// add zeus deletion logging to curator objects
|
||||
{
|
||||
_x addEventHandler ["CuratorObjectDeleted", {
|
||||
params ["_curator", "_entity"];
|
||||
|
||||
_decayTime = time - (_entity getVariable ["milsim_death_time", time]);
|
||||
diag_log format["deleted object: %1 via curator: %2 after %3 seconds", _entity, name _curator, _decayTime];
|
||||
}];
|
||||
} foreach _curators;
|
||||
|
||||
// declare init complete to other modules
|
||||
missionNamespace setVariable [QGVARMAIN(complete), true, true];
|
||||
|
||||
|
||||
@@ -27,11 +27,11 @@ GVAR(deadUnitCleanupPFH) = [
|
||||
_dead = _dead select [0, _toDelete];
|
||||
{
|
||||
_unit = _x#1;
|
||||
// _unit setVariable ["milsim_garbage_collected", true];
|
||||
_unit setVariable ["milsim_garbage_collected", true];
|
||||
deleteVehicle (_unit);
|
||||
} foreach _dead;
|
||||
},
|
||||
180,
|
||||
450,
|
||||
[],
|
||||
{ // on creation
|
||||
[
|
||||
|
||||
@@ -14,7 +14,7 @@ localNamespace setVariable [QGVAR(checkReinsertQueueClassesAdded), []];
|
||||
localNamespace setVariable [QGVAR(lastReinsertQueueCheck), diag_tickTime];
|
||||
|
||||
// add actions to pilot classes, and don't apply to child classes
|
||||
[["B_Helipilot_F", "B_helicrew_F"], false] call FUNC(addCheckQueueSelfAction);
|
||||
// [["B_Helipilot_F", "B_helicrew_F"], false] call FUNC(addCheckQueueSelfAction);
|
||||
/////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#define MAJOR 4
|
||||
#define MINOR 1
|
||||
#define MINOR 2
|
||||
#define PATCHLVL 2
|
||||
#define BUILD 0
|
||||
|
||||
Reference in New Issue
Block a user