mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
40e4ad3f5a
* Add stow FRIES interaction Allows stowing FRIES (retracting the hooks, closing doors) without the need to deploy and cut ropes * Do not automatically stow FRIES anymore * Cleanup more privates
253 lines
8.6 KiB
C++
253 lines
8.6 KiB
C++
#define EQUIP_FRIES_ATTRIBUTE class Attributes { \
|
|
class GVAR(equipFRIES) { \
|
|
property = QGVAR(equipFRIES); \
|
|
control = "Checkbox"; \
|
|
displayName = CSTRING(Eden_equipFRIES); \
|
|
tooltip = CSTRING(Eden_equipFRIES_Tooltip); \
|
|
expression = QUOTE([_this] call FUNC(equipFRIES)); \
|
|
typeName = "BOOL"; \
|
|
condition = "objectVehicle"; \
|
|
defaultValue = false; \
|
|
}; \
|
|
}
|
|
|
|
class CfgVehicles {
|
|
class Logic;
|
|
class Module_F: Logic {
|
|
class ModuleDescription;
|
|
};
|
|
class ACE_Module: Module_F {};
|
|
class ACE_moduleEquipFRIES: ACE_Module {
|
|
scope = 2;
|
|
displayName = CSTRING(Module_FRIES_DisplayName);
|
|
icon = QPATHTOF(UI\Icon_Module_FRIES_ca.paa);
|
|
category = "ACE";
|
|
function = QFUNC(moduleEquipFRIES);
|
|
functionPriority = 10;
|
|
isGlobal = 0;
|
|
isTriggerActivated = 0;
|
|
isDisposable = 0;
|
|
author = "BaerMitUmlaut";
|
|
|
|
class ModuleDescription: ModuleDescription {
|
|
description = CSTRING(Module_FRIES_Description);
|
|
sync[] = {"AnyVehicle"};
|
|
};
|
|
};
|
|
|
|
class Air;
|
|
class Helicopter: Air {
|
|
class ACE_SelfActions {
|
|
class ACE_prepareFRIES {
|
|
displayName = CSTRING(Interaction_prepareFRIES);
|
|
condition = QUOTE([vehicle _player] call FUNC(canPrepareFRIES));
|
|
statement = QUOTE([vehicle _player] call FUNC(prepareFRIES));
|
|
showDisabled = 0;
|
|
priority = 1;
|
|
};
|
|
class ACE_stowFRIES {
|
|
displayName = CSTRING(Interaction_stowFRIES);
|
|
condition = QUOTE([vehicle _player] call FUNC(canStowFRIES));
|
|
statement = QUOTE([vehicle _player] call FUNC(stowFRIES));
|
|
showDisabled = 0;
|
|
priority = 1;
|
|
};
|
|
class ACE_deployRopes {
|
|
displayName = CSTRING(Interaction_deployRopes);
|
|
condition = QUOTE([ARR_2(_player, vehicle _player)] call FUNC(canDeployRopes));
|
|
statement = QUOTE([ARR_2(QUOTE(QGVAR(deployRopes)), [vehicle _player])] call CBA_fnc_serverEvent);
|
|
showDisabled = 0;
|
|
priority = 1;
|
|
};
|
|
class ACE_cutRopes {
|
|
displayName = CSTRING(Interaction_cutRopes);
|
|
condition = [vehicle _player] call FUNC(canCutRopes);
|
|
statement = [vehicle _player] call FUNC(cutRopes);
|
|
showDisabled = 0;
|
|
priority = 1;
|
|
};
|
|
class ACE_fastRope {
|
|
displayName = CSTRING(Interaction_fastRope);
|
|
condition = [_player, vehicle _player] call FUNC(canFastRope);
|
|
statement = [_player, vehicle _player] call FUNC(fastRope);
|
|
showDisabled = 0;
|
|
priority = 1;
|
|
};
|
|
};
|
|
};
|
|
|
|
class Helicopter_Base_F;
|
|
class ACE_friesBase: Helicopter_Base_F {
|
|
destrType = "";
|
|
class Turrets {};
|
|
class ACE_Actions {};
|
|
class ACE_SelfActions {};
|
|
EGVAR(cargo,hasCargo) = 0;
|
|
EGVAR(cargo,space) = 0;
|
|
};
|
|
class ACE_friesAnchorBar: ACE_friesBase {
|
|
author = "jokoho48";
|
|
scope = 1;
|
|
model = QPATHTOF(data\friesAnchorBar.p3d);
|
|
animated = 1;
|
|
class AnimationSources {
|
|
class extendHookRight {
|
|
source = "user";
|
|
initPhase = 0;
|
|
animPeriod = 1.5;
|
|
};
|
|
class extendHookLeft {
|
|
source = "user";
|
|
initPhase = 0;
|
|
animPeriod = 1.5;
|
|
};
|
|
};
|
|
};
|
|
class ACE_friesGantry: ACE_friesBase {
|
|
author = "jokoho48";
|
|
scope = 1;
|
|
model = QPATHTOF(data\friesGantry.p3d);
|
|
animated = 1;
|
|
class AnimationSources {
|
|
class adjustWidth {
|
|
source = "user";
|
|
initPhase = 0.211;
|
|
animPeriod = 0;
|
|
};
|
|
class rotateGantryLeft {
|
|
source = "user";
|
|
initPhase = 0;
|
|
animPeriod = 0;
|
|
};
|
|
class rotateGantryRight {
|
|
source = "user";
|
|
initPhase = 0;
|
|
animPeriod = 0;
|
|
};
|
|
class hideGantryLeft {
|
|
source = "user";
|
|
initPhase = 0;
|
|
animPeriod = 0;
|
|
};
|
|
class hideGantryRight {
|
|
source = "user";
|
|
initPhase = 0;
|
|
animPeriod = 0;
|
|
};
|
|
};
|
|
};
|
|
class ACE_friesGantryReverse: ACE_friesGantry {
|
|
class AnimationSources: AnimationSources {
|
|
class adjustWidth {
|
|
source = "user";
|
|
initPhase = 0.213;
|
|
animPeriod = 0;
|
|
};
|
|
class rotateGantryLeft {
|
|
source = "user";
|
|
initPhase = 0.5;
|
|
animPeriod = 0;
|
|
};
|
|
class rotateGantryRight {
|
|
source = "user";
|
|
initPhase = 0.5;
|
|
animPeriod = 0;
|
|
};
|
|
};
|
|
};
|
|
|
|
class GVAR(helper): Helicopter_Base_F {
|
|
author = "KoffeinFlummi";
|
|
scope = 1;
|
|
model = QPATHTOF(data\helper.p3d);
|
|
class ACE_Actions {};
|
|
class Turrets {};
|
|
class TransportItems {};
|
|
EGVAR(cargo,hasCargo) = 0;
|
|
EGVAR(cargo,space) = 0;
|
|
};
|
|
|
|
class Helicopter_Base_H;
|
|
class Heli_Light_02_base_F: Helicopter_Base_H {
|
|
GVAR(enabled) = 1;
|
|
GVAR(ropeOrigins)[] = {{1.41, 1.38, 0}, {-1.41, 1.38, 0}};
|
|
GVAR(onPrepare) = QFUNC(onPrepareCommon);
|
|
GVAR(onCut) = QFUNC(onCutCommon);
|
|
};
|
|
class Heli_Attack_02_base_F: Helicopter_Base_F {
|
|
GVAR(enabled) = 1;
|
|
GVAR(ropeOrigins)[] = {{1.25, 1.5, -0.6}, {-1.1, 1.5, -0.6}};
|
|
GVAR(onPrepare) = QFUNC(onPrepareCommon);
|
|
GVAR(onCut) = QFUNC(onCutCommon);
|
|
};
|
|
class Heli_Transport_01_base_F: Helicopter_Base_H {
|
|
GVAR(enabled) = 2;
|
|
GVAR(ropeOrigins)[] = {"ropeOriginRight", "ropeOriginLeft"};
|
|
GVAR(friesType) = "ACE_friesAnchorBar";
|
|
GVAR(friesAttachmentPoint)[] = {0.065, 2.2, -0.15};
|
|
GVAR(onPrepare) = QFUNC(onPrepareCommon);
|
|
GVAR(onCut) = QFUNC(onCutCommon);
|
|
EQUIP_FRIES_ATTRIBUTE;
|
|
};
|
|
class Heli_Transport_02_base_F: Helicopter_Base_H {
|
|
GVAR(enabled) = 1;
|
|
GVAR(ropeOrigins)[] = {{0.94, -4.82, -1.16}, {-0.94, -4.82, -1.16}};
|
|
GVAR(onPrepare) = QFUNC(onPrepareCommon);
|
|
GVAR(onCut) = QFUNC(onCutCommon);
|
|
|
|
class UserActions {
|
|
class Ramp_Open;
|
|
class Ramp_Close: Ramp_Open {
|
|
condition = QUOTE([ARR_5(this,'CargoRamp_Open',[[0],[1],[2]])] call FUNC(canCloseRamp));
|
|
};
|
|
};
|
|
};
|
|
class Heli_Transport_03_base_F: Helicopter_Base_H {
|
|
GVAR(enabled) = 1;
|
|
GVAR(ropeOrigins)[] = {{0.75, -5.29, -0.11}, {-0.87, -5.29, -0.11}};
|
|
GVAR(onPrepare) = QFUNC(onPrepareCommon);
|
|
GVAR(onCut) = QFUNC(onCutCommon);
|
|
|
|
class UserActions {
|
|
class Ramp_Open;
|
|
class Ramp_Close: Ramp_Open {
|
|
condition = QUOTE([ARR_5(this,'Door_rear_source',[[0],[3],[4]])] call FUNC(canCloseRamp));
|
|
};
|
|
};
|
|
};
|
|
class Heli_light_03_base_F: Helicopter_Base_F {
|
|
GVAR(enabled) = 2;
|
|
GVAR(ropeOrigins)[] = {"ropeOriginRight", "ropeOriginLeft"};
|
|
GVAR(friesType) = "ACE_friesGantryReverse";
|
|
GVAR(friesAttachmentPoint)[] = {-1.04, 2.5, -0.34};
|
|
EQUIP_FRIES_ATTRIBUTE;
|
|
};
|
|
class Heli_light_03_unarmed_base_F: Heli_light_03_base_F {
|
|
GVAR(enabled) = 2;
|
|
GVAR(ropeOrigins)[] = {"ropeOriginRight", "ropeOriginLeft"};
|
|
GVAR(friesType) = "ACE_friesGantry";
|
|
GVAR(friesAttachmentPoint)[] = {1.07, 2.5, -0.5};
|
|
EQUIP_FRIES_ATTRIBUTE;
|
|
};
|
|
class Heli_Transport_04_base_F: Helicopter_Base_H {
|
|
class UserActions;
|
|
};
|
|
class O_Heli_Transport_04_bench_F: Heli_Transport_04_base_F {
|
|
GVAR(enabled) = 1;
|
|
GVAR(ropeOrigins)[] = {{1.03, 1.6, -0.23}, {1.03, -1.36, -0.23}, {-1.23, 1.6, -0.23}, {-1.23, -1.36, -0.23}};
|
|
};
|
|
class O_Heli_Transport_04_covered_F: Heli_Transport_04_base_F {
|
|
GVAR(enabled) = 1;
|
|
GVAR(ropeOrigins)[] = {{0.83, -4.7, -0.03}, {-1.02, -4.7, -0.03}};
|
|
GVAR(onPrepare) = QFUNC(onPrepareCommon);
|
|
GVAR(onCut) = QFUNC(onCutCommon);
|
|
|
|
class UserActions: UserActions {
|
|
class CloseDoor_6;
|
|
class Ramp_Close: CloseDoor_6 {
|
|
condition = QUOTE([ARR_6(this,'Door_6_source',[[0],[1],[2],[3]])] call FUNC(canCloseRamp));
|
|
};
|
|
};
|
|
};
|
|
};
|