mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Make Mils Toogle Self Action
This commit is contained in:
parent
34a86e0db3
commit
3d9da5f142
@ -17,6 +17,14 @@ class CfgVehicles {
|
|||||||
turretInfoType = "ACE_Mk6_RscWeaponRangeArtillery";
|
turretInfoType = "ACE_Mk6_RscWeaponRangeArtillery";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
class ACE_SelfActions {
|
||||||
|
class GVAR(toggleMils) {
|
||||||
|
displayName = "Toggle MILS";
|
||||||
|
condition = QUOTE(true);
|
||||||
|
statement = QUOTE(_this call FUNC(toggleMils));
|
||||||
|
exceptions[] = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class Logic;
|
class Logic;
|
||||||
|
@ -5,6 +5,7 @@ ADDON = false;
|
|||||||
PREP(handleFired);
|
PREP(handleFired);
|
||||||
PREP(handlePlayerVehicleChanged);
|
PREP(handlePlayerVehicleChanged);
|
||||||
PREP(moduleInit);
|
PREP(moduleInit);
|
||||||
|
PREP(toggleMils);
|
||||||
PREP(turretDisplayLoaded);
|
PREP(turretDisplayLoaded);
|
||||||
|
|
||||||
ADDON = true;
|
ADDON = true;
|
||||||
|
@ -19,13 +19,6 @@ class CfgPatches {
|
|||||||
#include "RscInGameUI.hpp"
|
#include "RscInGameUI.hpp"
|
||||||
|
|
||||||
class ACE_Settings {
|
class ACE_Settings {
|
||||||
class GVAR(useMils) {
|
|
||||||
value = 1;
|
|
||||||
typeName = "BOOL";
|
|
||||||
isClientSetable = 1;
|
|
||||||
displayName = "$STR_ACE_mk6mortar_useMils";
|
|
||||||
};
|
|
||||||
|
|
||||||
//These settings effect gameplay difficutly: defaults will leave the mortar the same as vanilla
|
//These settings effect gameplay difficutly: defaults will leave the mortar the same as vanilla
|
||||||
class GVAR(airResistanceEnabled) {
|
class GVAR(airResistanceEnabled) {
|
||||||
value = 0;
|
value = 0;
|
||||||
|
@ -41,6 +41,8 @@ _fireModes = getArray (configFile >> "CfgWeapons" >> _tubeWeaponName >> "modes")
|
|||||||
ctrlDelete _chargeText;
|
ctrlDelete _chargeText;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
_useMils = _mortarVeh getVariable [QGVAR(useMils), true];
|
||||||
|
|
||||||
//Compute: 'charge' from weaponstate
|
//Compute: 'charge' from weaponstate
|
||||||
_currentFireMode = (weaponState [_mortarVeh, [0]]) select 2;
|
_currentFireMode = (weaponState [_mortarVeh, [0]]) select 2;
|
||||||
_currentChargeMode = _fireModes find _currentFireMode;
|
_currentChargeMode = _fireModes find _currentFireMode;
|
||||||
@ -58,7 +60,7 @@ _fireModes = getArray (configFile >> "CfgWeapons" >> _tubeWeaponName >> "modes")
|
|||||||
|
|
||||||
//Update CurrentElevation Display:
|
//Update CurrentElevation Display:
|
||||||
_elevDeg = parseNumber ctrlText (_display displayCtrl 175);
|
_elevDeg = parseNumber ctrlText (_display displayCtrl 175);
|
||||||
if (GVAR(useMils)) then {
|
if (_useMils) then {
|
||||||
(_display displayCtrl 80175) ctrlSetText str round (_elevDeg * 6400 / 360);
|
(_display displayCtrl 80175) ctrlSetText str round (_elevDeg * 6400 / 360);
|
||||||
} else {
|
} else {
|
||||||
(_display displayCtrl 80175) ctrlSetText str _elevDeg;
|
(_display displayCtrl 80175) ctrlSetText str _elevDeg;
|
||||||
@ -72,7 +74,7 @@ _fireModes = getArray (configFile >> "CfgWeapons" >> _tubeWeaponName >> "modes")
|
|||||||
if (_elevDeg <= 0) then {
|
if (_elevDeg <= 0) then {
|
||||||
(_display displayCtrl 80176) ctrlSetText (ctrlText (_display displayCtrl 176));
|
(_display displayCtrl 80176) ctrlSetText (ctrlText (_display displayCtrl 176));
|
||||||
} else {
|
} else {
|
||||||
if (GVAR(useMils)) then {
|
if (_useMils) then {
|
||||||
(_display displayCtrl 80176) ctrlSetText str round (_elevDeg * 6400 / 360);
|
(_display displayCtrl 80176) ctrlSetText str round (_elevDeg * 6400 / 360);
|
||||||
} else {
|
} else {
|
||||||
(_display displayCtrl 80176) ctrlSetText str _elevDeg;
|
(_display displayCtrl 80176) ctrlSetText str _elevDeg;
|
||||||
@ -85,10 +87,10 @@ _fireModes = getArray (configFile >> "CfgWeapons" >> _tubeWeaponName >> "modes")
|
|||||||
(_display displayCtrl 80156) ctrlSetText "";
|
(_display displayCtrl 80156) ctrlSetText "";
|
||||||
} else {
|
} else {
|
||||||
_rotationDegrees = ((getDir _mortarVeh) + (((-180 / PI) * (_mortarVeh animationPhase "mainTurret")) + 360)) % 360;
|
_rotationDegrees = ((getDir _mortarVeh) + (((-180 / PI) * (_mortarVeh animationPhase "mainTurret")) + 360)) % 360;
|
||||||
if (GVAR(useMils)) then {
|
if (_useMils) then {
|
||||||
(_display displayCtrl 80156) ctrlSetText str round (_rotationDegrees * 6400 / 360);
|
(_display displayCtrl 80156) ctrlSetText str round (_rotationDegrees * 6400 / 360);
|
||||||
} else {
|
} else {
|
||||||
(_display displayCtrl 80156) ctrlSetText str _rotationDegrees;
|
(_display displayCtrl 80156) ctrlSetText (ctrlText (_display displayCtrl 156));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
20
addons/mk6mortar/functions/fnc_toggleMils.sqf
Normal file
20
addons/mk6mortar/functions/fnc_toggleMils.sqf
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
/*
|
||||||
|
* Author: PabstMirror
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
PARAMS_2(_mortarVeh,_unit);
|
||||||
|
|
||||||
|
private "_currentSetting";
|
||||||
|
|
||||||
|
_currentSetting = _mortarVeh getVariable [QGVAR(useMils), true];
|
||||||
|
_mortarVeh setVariable [QGVAR(useMils), (!_currentSetting)];
|
Loading…
Reference in New Issue
Block a user