Skip to content

Commit

Permalink
Merge pull request #10 from Cre8or/develop
Browse files Browse the repository at this point in the history
[Release] v0.14.636-beta
  • Loading branch information
Cre8or authored Jul 27, 2024
2 parents 573f5e3 + b8d258c commit e53f58c
Show file tree
Hide file tree
Showing 50 changed files with 538 additions and 165 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
*.lnk
*.sh
*.desktop
.directory
dev
29 changes: 23 additions & 6 deletions TO-DO.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
TO DO:
- Fix unconscious units falling through the world upon bleeding out
- Fix occasional double-kill registration for an individual unit
- Maybe why kills/vehicle destruction sometimes awards double the points that it should (including headshot damage)?
- Fix loadouts sometimes not getting applied to AI units (same issue as gAI when locality changes?)
- Fix spotting animation not working (same issue as healing action)
- Implement resupply ability to support:
- Similar animations/UI icons to medic healing, but for rearming
- Prevent players from looting bodies/opening their gear
Expand All @@ -15,18 +18,13 @@ TO DO:
+ Sector letters on maps
- Spawn menu
- End screen
- Fix spawn menu inconsistencies
+ Sides with no tickets don't get greyed out
- Fix AI groups sometimes getting duplicated (with incorrect callsigns)
+ Sometimes spawn menus cannot be opened at all + chat spam (see screenshot)
- Move macros/variables pertaining to a side's definition into single file (merge with loadouts file?)
- (Investigate Joe's isssue with being able to spawn when no sectors are owned)
- Add a custom scoreboard UI
- Display score, kills, deaths, revives
- Separate scoreboard by teams and squads
- Add a keybind to toggle the UI
- Force-show the UI during mission ending sequence
- (Fix curator module not being reassigned owners when another admin logs in)
- Rewrite the combat area drawing handler (see init_client.sqf)
- Rewrite safestart system (it's super ugly and weird)
- Freeze players in an animation that prevents them from moving (rotation is fine, though)
Expand All @@ -35,6 +33,25 @@ TO DO:
- Search for "DEBUG" and "TODO" keywords

DONE:
- Fix unconsciousState AI subsystem referencing serverside variables (causing AI to not respawn)
- Fix spawn menu inconsistencies
+ Sides with no tickets don't get greyed out
+ Fix AI groups sometimes getting duplicated (with incorrect callsigns)
+ Sometimes spawn menus cannot be opened at all + chat spam (see screenshot)
- Revisit ACE pointing keybinding transfer (still just picking the first one, not all)
- Fix bleeding out in multiplayer resetting the respawn time
- Investigate weapon kill icons not showing when players get killed by AI on a dedicated server
- Make falling unconscious zoom out of the weapon scope
- Fix admins losing access to the curator module after respawning in multiplayer
- Check if new solution can combine the singleplayer workaround in unit_onKilled
- Fix curator module not being reassigned owners when another admin logs in
- Fix AI drivers following nearby medics when injured
- Fix units getting stuck in unconscious animation when revived before unragdolling
- Fix squad names not being broadcast in multiplayer
- Rework medical system to use clientside prediction where possible
- Currently there's massive delay when the player gets shot in MP
- Same with AI local to the player (e.g. in the same group)
- Fix unconscious units falling through the world upon bleeding out
- Modify AI commander to exclude sectors without spawnpoints if there are sectors with spawnpoints left to capture
- Allow unconscious players to give up (using custom CBA keybinding)
- Implement an unconscious HUD
Expand Down
14 changes: 14 additions & 0 deletions description.ext
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,20 @@ debriefing = 0;
saving = 0;
allowFunctionsRecompile = __EVAL((isServer and !isDedicated) or is3DENMultiplayer or is3DENPreview);

showHUD[] = {
1, // Scripted HUD (same as showHUD command)
1, // Vehicle and unit info
1, // Vehicle radar
1, // Vehicle compass
1, // Tank direction indicator
1, // Commanding menu
1, // Group info bar
1, // HUD weapon cursors
1, // Vehicle display panels
0, // "x killed by y" systemChat messages
1 // force show drawIcon3D icons
};




Expand Down
21 changes: 10 additions & 11 deletions mission.sqm
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ class EditorData
};
class LayerIndexProvider
{
nextID=7116;
nextID=7188;
};
class Camera
{
pos[]={5622.3022,241.21243,10783.178};
dir[]={0.90849847,-0.40062955,-0.11887231};
up[]={0.39724573,0.9162392,-0.051977571};
aside[]={-0.12973905,7.6310243e-008,-0.99155194};
dir[]={0.90849674,-0.40062863,-0.11887144};
up[]={0.39724264,0.91624057,-0.051976856};
aside[]={-0.12973826,0,-0.99154836};
};
};
binarizationWanted=0;
Expand Down Expand Up @@ -6974,12 +6974,12 @@ class Mission
dataType="Logic";
class PositionInfo
{
position[]={5814.3579,216.40024,10210.815};
position[]={5814.3579,216.40053,10210.815};
};
name="CONQUEST_MODULE_CURATOR";
id=891;
type="ModuleCurator_F";
atlOffset=1.1717224;
atlOffset=1.1720123;
class CustomAttributes
{
class Attribute0
Expand All @@ -6991,7 +6991,7 @@ class Mission
class data
{
singleType="STRING";
value="#adminVoted";
value="";
};
};
};
Expand Down Expand Up @@ -34320,8 +34320,7 @@ class Mission
dataType="Object";
class PositionInfo
{
position[]={7302.9844,168.56,7851.6279};
angles[]={0.042374056,0,0.044770103};
position[]={5864.5024,112.29711,10881.988};
};
side="Empty";
class Attributes
Expand Down Expand Up @@ -34483,7 +34482,7 @@ class Mission
};
};
id=2371;
atlOffset=0.81472778;
atlOffset=-2.2866516;
};
class Item1
{
Expand Down Expand Up @@ -52412,7 +52411,7 @@ class Mission
};
};
id=3646;
atlOffset=-81.531677;
atlOffset=-85.847046;
};
class Item9
{
Expand Down
2 changes: 1 addition & 1 deletion mission/loadouts/data_loadouts_east.inc
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ USAGE:

[ // Sniper
MACRO_ENUM_ROLE_SNIPER,
[["srifle_DMR_05_tan_f","","acc_flashlight","optic_KHS_blk",["10Rnd_93x64_DMR_05_Mag",10],[],"bipod_02_F_hex"],[],["hgun_Rook40_F","","","",["16Rnd_9x21_green_Mag",17],[],""],["U_O_FullGhillie_sard",[["ACE_elasticBandage",10],["ACE_morphine",5],["ACE_DefusalKit",1]]],["V_Chestrig_rgr",[["HandGrenade",1,1],["APERSTripMine_Wire_Mag",1,1],["ACE_FlareTripMine_Mag",1,1],["10Rnd_93x64_DMR_05_Mag",3,10],["16Rnd_9x21_green_Mag",2,17]]],[],"","G_Balaclava_oli",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
[["srifle_DMR_05_tan_f","","acc_flashlight","optic_KHS_blk",["10Rnd_93x64_DMR_05_Mag",10],[],"bipod_02_F_hex"],[],["hgun_Rook40_F","","","",["16Rnd_9x21_green_Mag",17],[],""],["U_O_FullGhillie_sard",[["ACE_elasticBandage",10],["ACE_morphine",5],["ACE_DefusalKit",1]]],["V_Chestrig_rgr",[["HandGrenade",1,1],["APERSTripMine_Wire_Mag",1,1],["ACE_FlareTripMine_Mag",1,1],["10Rnd_93x64_DMR_05_Mag",4,10],["16Rnd_9x21_green_Mag",2,17]]],[],"","G_Balaclava_oli",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
],


Expand Down
2 changes: 1 addition & 1 deletion mission/loadouts/data_loadouts_resistance.inc
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ USAGE:

[ // Sniper
MACRO_ENUM_ROLE_SNIPER,
[["srifle_DMR_05_tan_f","","acc_flashlight","optic_KHS_blk",["10Rnd_93x64_DMR_05_Mag",10],[],"bipod_02_F_hex"],[],["hgun_Rook40_F","","","",["16Rnd_9x21_green_Mag",17],[],""],["U_O_FullGhillie_sard",[["ACE_elasticBandage",10],["ACE_morphine",5],["ACE_DefusalKit",1]]],["V_Chestrig_rgr",[["HandGrenade",1,1],["APERSTripMine_Wire_Mag",1,1],["ACE_FlareTripMine_Mag",1,1],["10Rnd_93x64_DMR_05_Mag",3,10],["16Rnd_9x21_green_Mag",2,17]]],[],"","G_Balaclava_oli",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
[["srifle_DMR_05_tan_f","","acc_flashlight","optic_KHS_blk",["10Rnd_93x64_DMR_05_Mag",10],[],"bipod_02_F_hex"],[],["hgun_Rook40_F","","","",["16Rnd_9x21_green_Mag",17],[],""],["U_O_FullGhillie_sard",[["ACE_elasticBandage",10],["ACE_morphine",5],["ACE_DefusalKit",1]]],["V_Chestrig_rgr",[["HandGrenade",1,1],["APERSTripMine_Wire_Mag",1,1],["ACE_FlareTripMine_Mag",1,1],["10Rnd_93x64_DMR_05_Mag",4,10],["16Rnd_9x21_green_Mag",2,17]]],[],"","G_Balaclava_oli",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
],


Expand Down
12 changes: 6 additions & 6 deletions mission/loadouts/data_loadouts_west.inc
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ USAGE:

[ // Sniper
MACRO_ENUM_ROLE_SNIPER,
[["srifle_DMR_02_camo_F","","acc_flashlight","optic_KHS_blk",["10Rnd_338_Mag",10],[],"bipod_01_F_blk"],[],["hgun_P07_F","","","",["16Rnd_9x21_red_Mag",16],[],""],["U_B_FullGhillie_sard",[["ACE_elasticBandage",10],["ACE_morphine",5],["ACE_DefusalKit",1]]],["V_Chestrig_rgr",[["HandGrenade",1,1],["APERSTripMine_Wire_Mag",1,1],["ACE_FlareTripMine_Mag",1,1],["16Rnd_9x21_red_Mag",2,16],["10Rnd_338_Mag",3,10]]],[],"","G_Bandanna_tan",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
[["srifle_DMR_02_camo_F","","acc_flashlight","optic_KHS_blk",["10Rnd_338_Mag",10],[],"bipod_01_F_blk"],[],["hgun_P07_F","","","",["16Rnd_9x21_red_Mag",17],[],""],["U_B_FullGhillie_sard",[["ACE_elasticBandage",10],["ACE_morphine",5],["ACE_DefusalKit",1]]],["V_Chestrig_rgr",[["HandGrenade",1,1],["APERSTripMine_Wire_Mag",1,1],["ACE_FlareTripMine_Mag",1,1],["16Rnd_9x21_red_Mag",2,17],["10Rnd_338_Mag",4,10]]],[],"","G_Bandanna_tan",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
],


Expand All @@ -40,7 +40,7 @@ USAGE:

[ // Assault
MACRO_ENUM_ROLE_ASSAULT,
[["arifle_MX_GL_Black_F","","acc_flashlight","optic_Aco",["30Rnd_65x39_caseless_black_mag_Tracer",30],["1Rnd_HE_Grenade_shell",1],""],[],["hgun_P07_F","","","",["16Rnd_9x21_red_Mag",16],[],""],["U_B_CombatUniform_mcam",[["ACE_elasticBandage",10],["ACE_morphine",5]]],["V_PlateCarrier1_rgr",[["30Rnd_65x39_caseless_black_mag_Tracer",7,30],["16Rnd_9x21_red_Mag",2,16],["1Rnd_HE_Grenade_shell",2,1]]],[],"H_HelmetSpecB","",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
[["arifle_MX_GL_Black_F","","acc_flashlight","optic_Aco",["30Rnd_65x39_caseless_black_mag_Tracer",30],["1Rnd_HE_Grenade_shell",1],""],[],["hgun_P07_F","","","",["16Rnd_9x21_red_Mag",17],[],""],["U_B_CombatUniform_mcam",[["ACE_elasticBandage",10],["ACE_morphine",5]]],["V_PlateCarrier1_rgr",[["30Rnd_65x39_caseless_black_mag_Tracer",7,30],["16Rnd_9x21_red_Mag",2,17],["1Rnd_HE_Grenade_shell",2,1]]],[],"H_HelmetSpecB","",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
],


Expand All @@ -49,7 +49,7 @@ USAGE:

[ // Support
MACRO_ENUM_ROLE_SUPPORT,
[["LMG_03_F","","acc_flashlight","",["200Rnd_556x45_Box_Tracer_Red_F",200],[],""],[],["hgun_P07_F","","","",["16Rnd_9x21_red_Mag",16],[],""],["U_B_CombatUniform_mcam_vest",[["ACE_elasticBandage",10],["ACE_morphine",5]]],["V_PlateCarrier1_rgr",[["200Rnd_556x45_Box_Tracer_Red_F",2,200],["HandGrenade",1,1],["16Rnd_9x21_red_Mag",2,16]]],["B_Kitbag_mcamo",[]],"H_HelmetB_sand","G_Combat",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
[["LMG_03_F","","acc_flashlight","",["200Rnd_556x45_Box_Tracer_Red_F",200],[],""],[],["hgun_P07_F","","","",["16Rnd_9x21_red_Mag",17],[],""],["U_B_CombatUniform_mcam_vest",[["ACE_elasticBandage",10],["ACE_morphine",5]]],["V_PlateCarrier1_rgr",[["200Rnd_556x45_Box_Tracer_Red_F",2,200],["HandGrenade",1,1],["16Rnd_9x21_red_Mag",2,17]]],["B_Kitbag_mcamo",[]],"H_HelmetB_sand","G_Combat",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
],


Expand All @@ -58,7 +58,7 @@ USAGE:

[ // Engineer
MACRO_ENUM_ROLE_ENGINEER,
[["SMG_02_F","","acc_flashlight","optic_Aco",["30Rnd_9x21_Mag_SMG_02_Tracer_Red",30],[],""],[],["hgun_P07_F","","","",["16Rnd_9x21_red_Mag",16],[],""],["U_B_CombatUniform_mcam",[["ACE_elasticBandage",10],["ACE_morphine",5],["ACE_DefusalKit",1],["MineDetector",1]]],["V_PlateCarrier2_rgr",[["16Rnd_9x21_red_Mag",2,16],["HandGrenade",1,1],["30Rnd_9x21_Mag_SMG_02_Tracer_Red",9,30]]],["B_AssaultPack_khk",[["SLAMDirectionalMine_Wire_Mag",3,1]]],"H_HelmetB_grass","G_Balaclava_TI_blk_F",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
[["SMG_02_F","","acc_flashlight","optic_Aco",["30Rnd_9x21_Mag_SMG_02_Tracer_Red",30],[],""],[],["hgun_P07_F","","","",["16Rnd_9x21_red_Mag",17],[],""],["U_B_CombatUniform_mcam",[["ACE_elasticBandage",10],["ACE_morphine",5],["ACE_DefusalKit",1],["MineDetector",1]]],["V_PlateCarrier2_rgr",[["16Rnd_9x21_red_Mag",2,17],["HandGrenade",1,1],["30Rnd_9x21_Mag_SMG_02_Tracer_Red",9,30]]],["B_AssaultPack_khk",[["SLAMDirectionalMine_Wire_Mag",3,1]]],"H_HelmetB_grass","G_Balaclava_TI_blk_F",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
],


Expand All @@ -67,7 +67,7 @@ USAGE:

[ // Medic
MACRO_ENUM_ROLE_MEDIC,
[["arifle_SPAR_01_blk_F","","acc_flashlight","optic_Holosight_blk_F",["30Rnd_556x45_Stanag_Tracer_Red",30],[],""],[],["hgun_P07_F","","","",["16Rnd_9x21_red_Mag",16],[],""],["U_B_CombatUniform_mcam",[["ACE_elasticBandage",10],["ACE_morphine",5],["ACE_personalAidKit",2]]],["V_PlateCarrier1_rgr",[["16Rnd_9x21_red_Mag",2,16],["30Rnd_556x45_Stanag_Tracer_Red",7,30],["SmokeShell",2,1]]],["B_AssaultPack_mcamo",[["ACE_personalAidKit",16]]],"H_HelmetB_camo","G_Combat",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
[["arifle_SPAR_01_blk_F","","acc_flashlight","optic_Holosight_blk_F",["30Rnd_556x45_Stanag_Tracer_Red",30],[],""],[],["hgun_P07_F","","","",["16Rnd_9x21_red_Mag",17],[],""],["U_B_CombatUniform_mcam",[["ACE_elasticBandage",10],["ACE_morphine",5],["ACE_personalAidKit",2]]],["V_PlateCarrier1_rgr",[["16Rnd_9x21_red_Mag",2,17],["30Rnd_556x45_Stanag_Tracer_Red",7,30],["SmokeShell",2,1]]],["B_AssaultPack_mcamo",[["ACE_personalAidKit",16]]],"H_HelmetB_camo","G_Combat",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
],


Expand All @@ -76,6 +76,6 @@ USAGE:

[ // Anti Tank
MACRO_ENUM_ROLE_ANTITANK,
[["arifle_MX_Black_F","","acc_flashlight","optic_Aco",["30Rnd_65x39_caseless_black_mag_Tracer",30],[],""],["launch_MRAWS_olive_rail_F","","","",["MRAWS_HEAT_F",1],[],""],["hgun_P07_F","","","",["16Rnd_9x21_red_Mag",16],[],""],["U_B_CombatUniform_mcam",[["ACE_elasticBandage",10],["ACE_morphine",5]]],["V_PlateCarrier_Kerry",[["16Rnd_9x21_red_Mag",2,16],["30Rnd_65x39_caseless_black_mag_Tracer",7,30]]],["B_Kitbag_rgr",[["MRAWS_HEAT_F",2,1]]],"H_HelmetB_snakeskin","",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
[["arifle_MX_Black_F","","acc_flashlight","optic_Aco",["30Rnd_65x39_caseless_black_mag_Tracer",30],[],""],["launch_MRAWS_olive_rail_F","","","",["MRAWS_HEAT_F",1],[],""],["hgun_P07_F","","","",["16Rnd_9x21_red_Mag",17],[],""],["U_B_CombatUniform_mcam",[["ACE_elasticBandage",10],["ACE_morphine",5]]],["V_PlateCarrier_Kerry",[["16Rnd_9x21_red_Mag",2,17],["30Rnd_65x39_caseless_black_mag_Tracer",7,30]]],["B_Kitbag_rgr",[["MRAWS_HEAT_F",2,1]]],"H_HelmetB_snakeskin","",[],["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch",""]]
]
]
2 changes: 1 addition & 1 deletion mission/settings.inc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
#define MACRO_AI_INCLUDEPLAYERS false // Whether or not players are counted towards the AI limit
#define MACRO_AI_ALLOWVEHICLES true // Whether or not the AI is allowed to use any vehicles at all. Only affects vehicles that would otherwise be allowed for AI use
#define MACRO_AI_PEACEFULMODE false // Whether or not the AI is allowed to engage other units.
#define MACRO_AI_MAXUNITSPERGROUP 4 // How many AI units are allowed to form up in a group
#define MACRO_AI_MAXUNITSPERGROUP 6 // How many AI units are allowed to form up in a group

#define MACRO_AI_SPAWNWEIGHT_EAST 1 // The weight towards spawning AI on the "east" (OPFOR) side
#define MACRO_AI_SPAWNWEIGHT_RESISTANCE 0 // The weight towards spawning AI on the "resistance" (INDFOR) side
Expand Down
3 changes: 2 additions & 1 deletion res/common/macros.inc
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,7 @@
#define MACRO_GM_SYS_TICKETS_INTERVAL 0.25 // Interval, in seconds, between two update cycles of the tickets system
#define MACRO_GM_SYS_ENDCONDITIONS_INTERVAL 0.25 // Interval, in seconds, between two update cycles of the end conditions system
#define MACRO_GM_SYS_HANDLEPLAYERRESPAWN_INTERVAL 0.05 // Interval, in seconds, between two update cycles of the player respawn system (Note: must be less than the MP respawn time!)
#define MACRO_GM_SYS_HANDLECURATOR_INTERVAL 1 // Interval, in seconds, between two update cycles of the end curator handler system

// Sectors
#define MACRO_SECTOR_TRIGGERINTERVAL 0.5 // The interval between two trigger executions, in seconds
Expand Down Expand Up @@ -462,7 +463,7 @@
#define MACRO_UNIT_HEALTH_THRESHOLDLOW 0.5 // The threshold of health below which a unit is considered to be at low health

// Framework
#define MACRO_MISSION_FRAMEWORK_VERSION "0.14.636" // The version of this framework
#define MACRO_MISSION_FRAMEWORK_VERSION "0.14.662" // The version of this framework
#define MACRO_MISSION_FRAMEWORK_GAMEMODE "Conquest"

// Multiplayer settings (referenced by the Steam server browser)
Expand Down
71 changes: 41 additions & 30 deletions scripts/actions/fn_act_registerKeybindings.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -21,70 +21,81 @@


// Target spotting
[
MACRO_MISSION_FRAMEWORK_GAMEMODE,
QGVAR(kb_spotTarget),
"Spot target",
{call FUNC(act_spotTarget)},
{false},
[41, [true, false, false]], // Shift + Tilda (hold)
false,
0,
false
] call CBA_fnc_addKeybind;
private _keyBinds = [
[41, [true, false, false]] // Shift + Tilde
];

// Copy all keybindings from the original pointing function over
if (!isNil "cba_keybinding_actions") then {
private _keybindKey = format ["%1$%2", MACRO_MISSION_FRAMEWORK_GAMEMODE, QGVAR(spotTarget)];
private _keybindData = cba_keybinding_actions getVariable [_keybindKey, []];

if (_keybindData isNotEqualTo []) then {
private _keybinds = (["ACE3 Common", "ace_finger_finger"] call CBA_fnc_getKeybind) param [8, []];
// Transfer all keybindings from the original ACE3 pointing function
if (GVAR(hasMod_ace_finger)) then {
private _keyBindsACE = (["ACE3 Common", "ace_finger_finger"] call CBA_fnc_getKeybind) param [8, []];
_keyBinds = _keyBinds + _keyBindsACE;

if (_keybinds isNotEqualTo []) then {
_keybindData set [2, _keybinds];
cba_keybinding_actions setVariable [_keybindKey, _keybindData];
};
};
};
[
MACRO_MISSION_FRAMEWORK_GAMEMODE,
QGVAR(kb_spotTarget),
"Spot target",
{call FUNC(act_spotTarget)},
"",
_keyBinds,
false,
0
] call FUNC(cba_addKeybindExtended);

// Discard ACE's original pointing function
if (GVAR(hasMod_ace_finger)) then {
// Discard ACE's original pointing function
[
"ACE3 Common",
"ace_finger_finger",
"",
{false},
"(Disabled in Conquest)",
{false}, // Must be false to overwrite
{false}
] call CBA_fnc_addKeybind;

} else {
[
MACRO_MISSION_FRAMEWORK_GAMEMODE,
QGVAR(kb_spotTarget),
"Spot target",
{call FUNC(act_spotTarget)},
"",
_keyBinds # 0,
false,
0,
false
] call CBA_fnc_addKeybind;
};



// Spawn menu
[
MACRO_MISSION_FRAMEWORK_GAMEMODE,
QGVAR(kb_toggleSpawnMenu),
"Open/close spawn menu",
{call FUNC(act_toggleSpawnMenu)},
{false},
"",
[MACRO_KEYBIND_TOGGLESPAWNMENU, [true, false, false]],
false,
0,
false
] call CBA_fnc_addKeybind;



// Healing
[
MACRO_MISSION_FRAMEWORK_GAMEMODE,
QGVAR(kb_healUnit),
"Heal unit/self",
{([player] call FUNC(act_tryHealUnit)) param [0, false]},
{false},
"",
[MACRO_KEYBIND_HEAL, [false, false, false]],
true,
0,
false
] call CBA_fnc_addKeybind;



// Give up (unconscious HUD)
GVAR(kb_act_pressed_giveUp) = false;
[
Expand Down
Loading

0 comments on commit e53f58c

Please sign in to comment.