mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Interaction - Add Flip and Push actions to Quad Bike, Kart and Static Weapons (#6019)
* Add Flip and Push actions to Quad Bike * Add actions to karts and static weapons * Move magic number to macro * Ditch here is * Move condition to function
This commit is contained in:
parent
a2804f6097
commit
3feafc449f
@ -368,6 +368,40 @@ class CfgVehicles {
|
||||
};
|
||||
};
|
||||
|
||||
class Car_F: Car{};
|
||||
class Quadbike_01_base_F: Car_F {
|
||||
class ACE_Actions: ACE_Actions {
|
||||
class ACE_MainActions: ACE_MainActions {
|
||||
class GVAR(flip) {
|
||||
displayName = CSTRING(Flip);
|
||||
condition = QUOTE(call DFUNC(canFlip));
|
||||
statement = QUOTE([ARR_3(QQGVAR(flip),_target,_target)] call CBA_fnc_targetEvent);
|
||||
};
|
||||
class GVAR(push) {
|
||||
displayName = CSTRING(Push);
|
||||
condition = QUOTE(_target call FUNC(canPush));
|
||||
statement = QUOTE(call FUNC(push));
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
class Kart_01_Base_F: Car_F {
|
||||
class ACE_Actions: ACE_Actions {
|
||||
class ACE_MainActions: ACE_MainActions {
|
||||
class GVAR(flip) {
|
||||
displayName = CSTRING(Flip);
|
||||
condition = QUOTE(call DFUNC(canFlip));
|
||||
statement = QUOTE([ARR_3(QQGVAR(flip),_target,_target)] call CBA_fnc_targetEvent);
|
||||
};
|
||||
class GVAR(push) {
|
||||
displayName = CSTRING(Push);
|
||||
condition = QUOTE(_target call FUNC(canPush));
|
||||
statement = QUOTE(call FUNC(push));
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class Tank: LandVehicle {
|
||||
class ACE_Actions {
|
||||
class ACE_MainActions {
|
||||
@ -545,6 +579,11 @@ class CfgVehicles {
|
||||
exceptions[] = {"isNotSwimming"};
|
||||
insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
|
||||
};
|
||||
class GVAR(flip) {
|
||||
displayName = CSTRING(Flip);
|
||||
condition = QUOTE(call DFUNC(canFlip));
|
||||
statement = QUOTE([ARR_3(QQGVAR(flip),_target,_target)] call CBA_fnc_targetEvent);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -42,4 +42,5 @@ PREP(openDoor);
|
||||
PREP(canPush);
|
||||
PREP(push);
|
||||
|
||||
PREP(canFlip);
|
||||
PREP(switchLamp);
|
||||
|
@ -28,6 +28,14 @@ ACE_Modifier = 0;
|
||||
{_lamp setHit [_x select 0, (_x select 1) max _disabledLampDMG];nil} count _hitPointsDamage;
|
||||
}] call CBA_fnc_addEventHandler;
|
||||
|
||||
|
||||
[QGVAR(flip), {
|
||||
params ["_vehicle"];
|
||||
private _position = getPosATL _vehicle;
|
||||
_vehicle setVectorUp surfaceNormal _position;
|
||||
_vehicle setPosATL _position;
|
||||
}] call CBA_fnc_addEventHandler;
|
||||
|
||||
[QGVAR(setCollisionLight), {
|
||||
(_this select 0) setCollisionLight (_this select 1);
|
||||
}] call CBA_fnc_addEventHandler;
|
||||
|
25
addons/interaction/functions/fnc_canFlip.sqf
Normal file
25
addons/interaction/functions/fnc_canFlip.sqf
Normal file
@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Author: Dystopian
|
||||
* Checks if vehicle can be flipped.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Vehicle <OBJECT>
|
||||
*
|
||||
* Return Value:
|
||||
* Can Flip <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [cursorObject] call ace_interaction_fnc_canFlip
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_vehicle"];
|
||||
|
||||
// most suitable mass for all vanilla, CUP and RHS statics ATM (ZU-23 suits, D-30 and M119 don't suit)
|
||||
#define FLIP_MAX_STATICWEAPON_MASS 2000
|
||||
|
||||
1 < (vectorUp _vehicle) vectorDistance (surfaceNormal getPosATL _vehicle)
|
||||
&& {0 == {alive _x} count crew _vehicle || {isAutonomous _vehicle}}
|
||||
&& {getMass _vehicle <= FLIP_MAX_STATICWEAPON_MASS}
|
@ -832,7 +832,7 @@
|
||||
<Polish>Pchnij</Polish>
|
||||
<Czech>Tlačit</Czech>
|
||||
<Hungarian>Tolás</Hungarian>
|
||||
<Russian>Толкать</Russian>
|
||||
<Russian>Толкнуть</Russian>
|
||||
<Portuguese>Empurrar</Portuguese>
|
||||
<Italian>Spingere</Italian>
|
||||
<Japanese>押す</Japanese>
|
||||
@ -840,6 +840,10 @@
|
||||
<Chinesesimp>推</Chinesesimp>
|
||||
<Chinese>推</Chinese>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_Flip">
|
||||
<English>Flip</English>
|
||||
<Russian>Перевернуть</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Interaction_Interact">
|
||||
<English>Interact</English>
|
||||
<French>Interagir</French>
|
||||
|
Loading…
Reference in New Issue
Block a user