mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
11bc2695f5
* Fixed typo * Added "Blindfold Captive" interaction * Changed comment readability as requested * Better handling of captive goggle replacement if the capturer's inventory cannot contain the captive's goggles, move them to the captive's inventory, if that also can't fit them, drop them on the ground. * Removed extra new line * Make "validBlindfolds" a CBA Setting * Add remaining localizations I speak German and Italian fluently and can also infer the proper sentence structure and conjugations in French/Spanish/Portuguese, the other eastern languages are completely foreign to me though and I have to trust Google/DeepL. * Removed non-verified translations * Use GVAR(blindfold) config entry * Remove unused "_state" parameter * Check if captive isn't already blindfolded before blindfolding Co-Authored-By: johnb432 <58661205+johnb432@users.noreply.github.com> * Added "remove blindfold" interaction Co-Authored-By: johnb432 <58661205+johnb432@users.noreply.github.com> * Correct Error Message Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com> * Optimized duplicate code * Apply suggestion to fix script_component includes Co-authored-by: PabstMirror <pabstmirror@gmail.com> --------- Co-authored-by: PabstMirror <pabstmirror@gmail.com> Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
247 lines
10 KiB
C++
247 lines
10 KiB
C++
class CfgVehicles {
|
|
class Man;
|
|
class CAManBase: Man {
|
|
class ACE_Actions {
|
|
class ACE_ApplyHandcuffs {
|
|
displayName = CSTRING(SetCaptive);
|
|
selection = "righthand";
|
|
distance = HANDCUFFS_DISTANCE;
|
|
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canApplyHandcuffs));
|
|
statement = QUOTE([ARR_2(_player, _target)] call FUNC(doApplyHandcuffs));
|
|
exceptions[] = {"isNotSwimming", "isNotInside"};
|
|
icon = QPATHTOF(UI\handcuff_ca.paa);
|
|
};
|
|
|
|
class ACE_MainActions {
|
|
class ACE_RemoveHandcuffs {
|
|
displayName = CSTRING(ReleaseCaptive);
|
|
selection = "righthand";
|
|
distance = HANDCUFFS_DISTANCE;
|
|
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canRemoveHandcuffs));
|
|
statement = QUOTE([ARR_2(_player, _target)] call FUNC(doRemoveHandcuffs));
|
|
exceptions[] = {"isNotSwimming", "isNotInside"};
|
|
icon = QPATHTOF(UI\handcuff_ca.paa);
|
|
};
|
|
class ACE_EscortCaptive {
|
|
displayName = CSTRING(EscortCaptive);
|
|
distance = 4;
|
|
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canEscortCaptive));
|
|
statement = QUOTE([ARR_3(_player, _target, true)] call FUNC(doEscortCaptive));
|
|
exceptions[] = {"isNotSwimming"};
|
|
showDisabled = 0;
|
|
icon = QPATHTOF(UI\captive_ca.paa);
|
|
};
|
|
class ACE_StopEscorting {
|
|
displayName = CSTRING(StopEscorting);
|
|
distance = 4;
|
|
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canStopEscorting));
|
|
statement = QUOTE([ARR_3(_player,_target, false)] call FUNC(doEscortCaptive));
|
|
exceptions[] = {"isNotEscorting", "isNotSwimming"};
|
|
showDisabled = 0;
|
|
icon = QPATHTOF(UI\captive_ca.paa);
|
|
};
|
|
class ACE_LoadCaptive {
|
|
displayName = CSTRING(LoadCaptive);
|
|
distance = 4;
|
|
condition = QUOTE([ARR_3(_player, _target, objNull)] call FUNC(canLoadCaptive));
|
|
statement = QUOTE([ARR_3(_player, _target, objNull)] call FUNC(doLoadCaptive));
|
|
exceptions[] = {"isNotEscorting", "isNotSwimming"};
|
|
showDisabled = 0;
|
|
icon = QPATHTOF(UI\captive_ca.paa);
|
|
insertChildren = QUOTE(call DFUNC(addLoadCaptiveActions));
|
|
};
|
|
class GVAR(UnloadCaptive) {
|
|
displayName = CSTRING(UnloadCaptive);
|
|
distance = 4;
|
|
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canUnloadCaptive));
|
|
statement = QUOTE([ARR_2(_player, _target)] call FUNC(doUnloadCaptive));
|
|
exceptions[] = {"isNotSwimming"};
|
|
};
|
|
class GVAR(BlindfoldCaptive) {
|
|
displayName = CSTRING(BlindfoldCaptive);
|
|
distance = 4;
|
|
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canBlindfoldCaptive));
|
|
statement = QUOTE([ARR_3(_player, _target, true)] call FUNC(doBlindfoldCaptive));
|
|
exceptions[] = {"isNotSwimming"};
|
|
showDisabled = 0;
|
|
};
|
|
class GVAR(RemoveBlindfoldCaptive) {
|
|
displayName = CSTRING(RemoveBlindfoldCaptive);
|
|
distance = 4;
|
|
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canRemoveBlindfoldCaptive));
|
|
statement = QUOTE([ARR_3(_player, _target, false)] call FUNC(doBlindfoldCaptive));
|
|
exceptions[] = {"isNotSwimming"};
|
|
showDisabled = 0;
|
|
};
|
|
};
|
|
};
|
|
|
|
class ACE_SelfActions {
|
|
class ACE_StopEscortingSelf {
|
|
displayName = CSTRING(StopEscorting);
|
|
condition = QUOTE([ARR_2(_player, objNull)] call FUNC(canStopEscorting));
|
|
statement = QUOTE([ARR_3(_player,objNull, false)] call FUNC(doEscortCaptive));
|
|
exceptions[] = {"isNotEscorting", "isNotSwimming"};
|
|
showDisabled = 0;
|
|
};
|
|
class ACE_StartSurrenderingSelf {
|
|
displayName = CSTRING(StartSurrendering);
|
|
condition = QUOTE([ARR_2(_player, true)] call FUNC(canSurrender));
|
|
statement = QUOTE([ARR_2(_player, true)] call FUNC(setSurrendered));
|
|
exceptions[] = {"isNotSwimming"};
|
|
showDisabled = 0;
|
|
icon = QPATHTOF(UI\Surrender_ca.paa);
|
|
};
|
|
class ACE_StopSurrenderingSelf {
|
|
displayName = CSTRING(StopSurrendering);
|
|
condition = QUOTE([ARR_2(_player, false)] call FUNC(canSurrender));
|
|
statement = QUOTE([ARR_2(_player, false)] call FUNC(setSurrendered));
|
|
exceptions[] = {"isNotSurrendering", "isNotSwimming"};
|
|
showDisabled = 0;
|
|
icon = QPATHTOF(UI\Surrender_ca.paa);
|
|
};
|
|
};
|
|
};
|
|
|
|
#define MACRO_LOADCAPTIVE \
|
|
class ACE_Actions { \
|
|
class ACE_MainActions { \
|
|
class GVAR(LoadCaptive) { \
|
|
displayName = CSTRING(LoadCaptive); \
|
|
distance = 4; \
|
|
condition = QUOTE([ARR_3(_player, objNull, _target)] call FUNC(canLoadCaptive)); \
|
|
statement = QUOTE([ARR_3(_player, objNull, _target)] call FUNC(doLoadCaptive)); \
|
|
exceptions[] = {"isNotEscorting", "isNotSwimming"}; \
|
|
}; \
|
|
}; \
|
|
};
|
|
|
|
class LandVehicle;
|
|
class Car: LandVehicle {
|
|
MACRO_LOADCAPTIVE
|
|
};
|
|
class Tank: LandVehicle {
|
|
MACRO_LOADCAPTIVE
|
|
};
|
|
|
|
class Air;
|
|
class Helicopter: Air {
|
|
MACRO_LOADCAPTIVE
|
|
};
|
|
class Plane: Air {
|
|
MACRO_LOADCAPTIVE
|
|
};
|
|
|
|
class Ship;
|
|
class Ship_F: Ship {
|
|
MACRO_LOADCAPTIVE
|
|
};
|
|
|
|
class StaticWeapon: LandVehicle {
|
|
MACRO_LOADCAPTIVE
|
|
};
|
|
|
|
class Box_NATO_Support_F;
|
|
class ACE_Box_Misc: Box_NATO_Support_F {
|
|
class TransportItems {
|
|
MACRO_ADDITEM(ACE_CableTie,12);
|
|
};
|
|
};
|
|
|
|
|
|
class Logic;
|
|
class Module_F: Logic {
|
|
class ArgumentsBaseUnits {};
|
|
class ModuleDescription {};
|
|
};
|
|
|
|
class GVAR(ModuleSurrender): Module_F {
|
|
author = ECSTRING(common,ACETeam);
|
|
category = "ACE";
|
|
displayName = CSTRING(ModuleSurrender_DisplayName);
|
|
function = QFUNC(moduleSurrender);
|
|
scope = 1; //show in editor
|
|
isGlobal = 0; //run on server
|
|
isTriggerActivated = 1; //Wait for triggers
|
|
icon = QPATHTOF(UI\Icon_Module_Make_Unit_Surrender_ca.paa);
|
|
functionPriority = 0;
|
|
class Arguments {};
|
|
class ModuleDescription: ModuleDescription {
|
|
description = CSTRING(ModuleSurrender_Description);
|
|
sync[] = {"AnyAI"};
|
|
};
|
|
};
|
|
class GVAR(ModuleHandcuffed): Module_F {
|
|
author = ECSTRING(common,ACETeam);
|
|
category = "ACE";
|
|
displayName = CSTRING(ModuleHandcuffed_DisplayName);
|
|
function = QFUNC(moduleHandcuffed);
|
|
scope = 1; //show in editor
|
|
isGlobal = 0; //run on server
|
|
isTriggerActivated = 1; //Wait for triggers
|
|
icon = QPATHTOF(UI\Icon_Module_Make_Unit_Handcuffed_ca.paa);
|
|
functionPriority = 0;
|
|
class Arguments {};
|
|
class ModuleDescription: ModuleDescription {
|
|
description = CSTRING(ModuleHandcuffed_Description);
|
|
sync[] = {"AnyAI"};
|
|
};
|
|
};
|
|
|
|
class ACE_Module: Module_F {};
|
|
class GVAR(moduleSettings): ACE_Module {
|
|
author = ECSTRING(common,ACETeam);
|
|
category = "ACE";
|
|
displayName = CSTRING(ModuleSettings_DisplayName);
|
|
function = QFUNC(moduleSettings);
|
|
scope = 1;
|
|
icon = QPATHTOF(UI\Icon_Module_settings_ca.paa);
|
|
isGlobal = 1;
|
|
isSingular = 1;
|
|
class Arguments {
|
|
class allowHandcuffOwnSide {
|
|
displayName = CSTRING(ModuleSettings_handcuffSide_name);
|
|
description = CSTRING(ModuleSettings_handcuffSide_description);
|
|
typeName = "BOOL";
|
|
defaultValue = 1;
|
|
};
|
|
class allowSurrender {
|
|
displayName = CSTRING(ModuleSettings_allowSurrender_name);
|
|
description = CSTRING(ModuleSettings_allowSurrender_description);
|
|
typeName = "BOOL";
|
|
defaultValue = 1;
|
|
};
|
|
class requireSurrender {
|
|
displayName = CSTRING(ModuleSettings_requireSurrender_name);
|
|
description = CSTRING(ModuleSettings_requireSurrender_description);
|
|
typeName = "NUMBER";
|
|
class values {
|
|
class disable {
|
|
name = ECSTRING(common,No);
|
|
value = 0;
|
|
};
|
|
class Surrender {
|
|
name = CSTRING(SurrenderOnly);
|
|
value = 1;
|
|
default = 1;
|
|
};
|
|
class SurrenderOrNoWeapon {
|
|
name = CSTRING(SurrenderOrNoWeapon);
|
|
value = 2;
|
|
};
|
|
};
|
|
};
|
|
class requireSurrenderAi {
|
|
displayName = CSTRING(ModuleSettings_requireSurrenderAi_name);
|
|
description = CSTRING(ModuleSettings_requireSurrenderAi_description);
|
|
typeName = "BOOL";
|
|
defaultValue = 0;
|
|
};
|
|
};
|
|
class ModuleDescription: ModuleDescription {
|
|
description = CSTRING(ModuleSettings_Description);
|
|
sync[] = {};
|
|
};
|
|
};
|
|
};
|