Merge branch 'master' of github.com:KoffeinFlummi/ACE3

Conflicts:
	addons/map/CfgVehicles.hpp
This commit is contained in:
Nicolás Badano 2015-03-14 17:22:25 -03:00
commit 5264819fd4
80 changed files with 34360 additions and 2407 deletions

View File

@ -1,21 +1,23 @@
<p align="center">
<img src="https://raw.githubusercontent.com/KoffeinFlummi/ACE3/new-readme/extras/logo.png?token=ACU2mWeJUeshQIVc52XPoNiPpc3PzTauks5Uv24rwA%3D%3D" height="150px" /><br />
<img src="https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/black/ACE3-Logo.jpg" height="80" />
</p>
<p align="center">
<a href="https://github.com/KoffeinFlummi/ACE3/releases">
<img src="http://img.shields.io/badge/release-3.0-green.svg?style=flat" alt="ACE version">
</a>
<a href="#">
<a href="#">
<img src="http://img.shields.io/badge/download-22_MB-blue.svg?style=flat" alt="ACE download">
</a>
<a href="https://github.com/KoffeinFlummi/ACE3/issues">
<a href="https://github.com/KoffeinFlummi/ACE3/issues">
<img src="http://img.shields.io/github/issues/KoffeinFlummi/ACE3.svg?style=flat" alt="ACE issues">
</a>
<a href="https://github.com/KoffeinFlummi/ACE3/blob/master/LICENSE">
<a href="https://github.com/KoffeinFlummi/ACE3/blob/master/LICENSE">
<img src="http://img.shields.io/badge/license-GPLv2-red.svg?style=flat" alt="ACE license">
</a>
</p>
<p align="center"><sup><strong>Requires the latest version of <a href="http://www.armaholic.com/page.php?id=18767">CBA A3</a> | <a href="#">BIF thread</a></strong></sup></p>
**ACE 3** is a joint effort by the teams behind **ACE 2**, **AGM** and **CSE** to improve the realism and authenticity of Arma 3.
**ACE 3** is a joint effort by the teams behind **ACE2**, **AGM** and **CSE** to improve the realism and authenticity of Arma 3.
This mod is entirely **open-source**, and everyone is free to propose changes or maintain their own, customized version as long as they make their changes open to the public in accordance with the GNU General Public License (for more information check the license file attached to this project).

View File

@ -154,15 +154,10 @@ class CfgVehicles {
MACRO_LOADUNLOADCAPTIVE
};
#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
name = #ITEM; \
count = COUNT; \
};
class Box_NATO_Support_F;
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems {
MACRO_ADDITEM(ACE_CableTie,12)
MACRO_ADDITEM(ACE_CableTie,12);
};
};

View File

@ -27,12 +27,5 @@ if (isServer) then {
["SetHandcuffed", {_this call FUNC(setHandcuffed)}] call EFUNC(common,addEventHandler);
["SetSurrendered", {_this call FUNC(setSurrendered)}] call EFUNC(common,addEventHandler);
//TODO: Medical Integration Events???
// [_unit, "knockedOut", {
// if (local (_this select 0)) then {_this call ACE_Captives_fnc_handleKnockedOut};
// }] call ACE_Core_fnc_addCustomEventhandler;
// [_unit, "wokeUp", {
// if (local (_this select 0)) then {_this call ACE_Captives_fnc_handleWokeUp};
// }] call ACE_Core_fnc_addCustomEventhandler;
//Medical Integration Events???
["medical_onUnconscious", {_this call ACE_Captives_fnc_handleOnUnconscious}] call EFUNC(common,addEventHandler);

View File

@ -19,10 +19,9 @@ PREP(doUnloadCaptive);
PREP(handleGetIn);
PREP(handleGetOut);
PREP(handleKilled);
PREP(handleKnockedOut);
PREP(handleOnUnconscious);
PREP(handlePlayerChanged);
PREP(handleUnitInitPost);
PREP(handleWokeUp);
PREP(handleZeusDisplayChanged);
PREP(moduleSurrender);
PREP(setHandcuffed);

View File

@ -51,7 +51,7 @@ if (_state) then {
_unit setVariable [QGVAR(escortedUnit), objNull, true];
};
};
[_escortFnc, 0.2, [_unit, _target, _actionID]] call CBA_fnc_addPerFrameHandler;
[_escortFnc, 0, [_unit, _target, _actionID]] call CBA_fnc_addPerFrameHandler;
} else {
_unit setVariable [QGVAR(isEscorting), false, true];

View File

@ -1,25 +0,0 @@
/*
* Author: commy2, PabstMirror
* Handles when a unit gets knocked out. Ends surrendering.
*
* Arguments:
* 0: Unit <OBJECT>
*
* Return Value:
* Nothing
*
* Example:
* [bob, true] call ACE_captives_fnc_handleKnockedOut
*
* Public: No
*/
#include "script_component.hpp"
//ToDo: Waiting on medical integration
PARAMS_1(_unit);
if (_unit getVariable [QGVAR(isSurrendering), false]) then { //If surrendering, stop
[_unit, false] call FUNC(setSurrendered);
};

View File

@ -0,0 +1,36 @@
/*
* Author: commy2, PabstMirror
* Handles the "medical_onUnconscious" event
*
* Arguments:
* 0: Unit <OBJECT>
* 0: Is Unconsisisiouses <BOOL>
*
* Return Value:
* Nothing
*
* Example:
* [bob, true] call ACE_captives_fnc_handleOnUnconscious
*
* Public: No
*/
#include "script_component.hpp"
PARAMS_2(_unit,_isUnconc);
if (!local _unit) exitWith {};
systemChat format ["med: %1", _this];
if (_isUnconc) then {
//Knocked out: If surrendering, stop
if (_unit getVariable [QGVAR(isSurrendering), false]) then {
[_unit, false] call FUNC(setSurrendered);
};
} else {
//Woke up: if handcuffed, goto animation
if (_unit getVariable [QGVAR(isHandcuffed), false] && {vehicle _unit == _unit}) then {
[_unit] call EFUNC(common,fixLoweredRifleAnimation);
[_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation);
};
};

View File

@ -1,23 +0,0 @@
/*
* Author: commy2
* TODO
*
* Arguments:
* 0: _unit <OBJECT>
*
* Return Value:
* The return value <BOOL>
*
* Example:
* [bob] call ACE_captives_fnc_handleWokeUp
*
* Public: No
*/
#include "script_component.hpp"
PARAMS_1(_unit);
if (_unit getVariable [QGVAR(isHandcuffed), false] && {vehicle _unit == _unit}) then {
[_unit] call EFUNC(common,fixLoweredRifleAnimation);
[_unit, "ACE_AmovPercMstpScapWnonDnon", 0] call EFUNC(common,doAnimation);
};

View File

@ -52,7 +52,7 @@ if (_state) then {
//If we get a change in animation then redo the animation (handles people vaulting to break the animation chain)
_animChangedEHID = _unit addEventHandler ["AnimChanged", {
PARAMS_2(_unit,_newAnimation);
if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && (_newAnimation != "Unconscious")) then {
if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
ERROR("Handcuff animation interrupted");
systemChat format ["debug %2: new %1", _newAnimation, time];
[_unit, "ACE_AmovPercMstpScapWnonDnon", 1] call EFUNC(common,doAnimation);
@ -71,8 +71,8 @@ if (_state) then {
_unit removeEventHandler ["AnimChanged", _animChangedEHID];
_unit setVariable [QGVAR(handcuffAnimEHID), -1];
if ((vehicle _unit) == _unit) then {
//Break out of hands up animation loop (doAnimation handles Unconscious prioity)
if (((vehicle _unit) == _unit) && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
//Break out of hands up animation loop
[_unit, "ACE_AmovPercMstpScapWnonDnon_AmovPercMstpSnonWnonDnon", 2] call EFUNC(common,doAnimation);
};

View File

@ -50,7 +50,7 @@ if (_state) then {
//If we get a change in animation then redo the animation (handles people vaulting to break the animation chain)
_animChangedEHID = _unit addEventHandler ["AnimChanged", {
PARAMS_2(_unit,_newAnimation);
if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && (_newAnimation != "Unconscious")) then {
if ((_newAnimation != "ACE_AmovPercMstpSsurWnonDnon") && {!(_unit getVariable ["ACE_isUnconscious", false])}) then {
ERROR("Surrender animation interrupted");
systemChat format ["debug %2: new %1", _newAnimation, time];
[_unit, "ACE_AmovPercMstpSsurWnonDnon", 1] call EFUNC(common,doAnimation);

View File

@ -1,8 +1,3 @@
#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
name = #ITEM; \
count = COUNT; \
};
class CfgVehicles {
class Man;
@ -142,47 +137,47 @@ class CfgVehicles {
class Box_NATO_AmmoOrd_F: NATO_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_Clacker,12)
MACRO_ADDITEM(ACE_M26_Clacker,6)
MACRO_ADDITEM(ACE_DefusalKit,12)
MACRO_ADDITEM(ACE_Clacker,12);
MACRO_ADDITEM(ACE_M26_Clacker,6);
MACRO_ADDITEM(ACE_DefusalKit,12);
};
};
class Box_East_AmmoOrd_F: EAST_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_Clacker,12)
MACRO_ADDITEM(ACE_M26_Clacker,6)
MACRO_ADDITEM(ACE_DefusalKit,12)
MACRO_ADDITEM(ACE_Clacker,12);
MACRO_ADDITEM(ACE_M26_Clacker,6);
MACRO_ADDITEM(ACE_DefusalKit,12);
};
};
class Box_IND_AmmoOrd_F: IND_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_Clacker,12)
MACRO_ADDITEM(ACE_M26_Clacker,6)
MACRO_ADDITEM(ACE_DefusalKit,12)
MACRO_ADDITEM(ACE_Deadmanswitch,2)
MACRO_ADDITEM(ACE_Cellphone,3)
MACRO_ADDITEM(ACE_Clacker,12);
MACRO_ADDITEM(ACE_M26_Clacker,6);
MACRO_ADDITEM(ACE_DefusalKit,12);
MACRO_ADDITEM(ACE_Deadmanswitch,2);
MACRO_ADDITEM(ACE_Cellphone,3);
};
};
class Box_FIA_Ammo_F: FIA_Box_Base_F {
class TransportItems {
MACRO_ADDITEM(ACE_Clacker,2)
MACRO_ADDITEM(ACE_M26_Clacker,2)
MACRO_ADDITEM(ACE_DefusalKit,2)
MACRO_ADDITEM(ACE_Deadmanswitch,1)
MACRO_ADDITEM(ACE_Cellphone,2)
MACRO_ADDITEM(ACE_Clacker,2);
MACRO_ADDITEM(ACE_M26_Clacker,2);
MACRO_ADDITEM(ACE_DefusalKit,2);
MACRO_ADDITEM(ACE_Deadmanswitch,1);
MACRO_ADDITEM(ACE_Cellphone,2);
};
};
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems {
MACRO_ADDITEM(ACE_Clacker,12)
MACRO_ADDITEM(ACE_M26_Clacker,6)
MACRO_ADDITEM(ACE_DefusalKit,12)
MACRO_ADDITEM(ACE_Deadmanswitch,6)
MACRO_ADDITEM(ACE_Cellphone,10)
MACRO_ADDITEM(ACE_Clacker,12);
MACRO_ADDITEM(ACE_M26_Clacker,6);
MACRO_ADDITEM(ACE_DefusalKit,12);
MACRO_ADDITEM(ACE_Deadmanswitch,6);
MACRO_ADDITEM(ACE_Cellphone,10);
};
};

View File

@ -1,8 +1,3 @@
#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
name = #ITEM; \
count = COUNT; \
};
class CfgVehicles {
class NATO_Box_Base;
class EAST_Box_Base;
@ -11,35 +6,35 @@ class CfgVehicles {
class Box_NATO_Grenades_F: NATO_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_HandFlare_White,12)
MACRO_ADDITEM(ACE_HandFlare_Green,12)
MACRO_ADDITEM(ACE_M84,12)
MACRO_ADDITEM(ACE_HandFlare_White,12);
MACRO_ADDITEM(ACE_HandFlare_Green,12);
MACRO_ADDITEM(ACE_M84,12);
};
};
class Box_East_Grenades_F: EAST_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_HandFlare_Yellow,12)
MACRO_ADDITEM(ACE_HandFlare_Red,12)
MACRO_ADDITEM(ACE_M84,12)
MACRO_ADDITEM(ACE_HandFlare_Yellow,12);
MACRO_ADDITEM(ACE_HandFlare_Red,12);
MACRO_ADDITEM(ACE_M84,12);
};
};
class Box_IND_Grenades_F: IND_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_HandFlare_Yellow,12)
MACRO_ADDITEM(ACE_HandFlare_Green,12)
MACRO_ADDITEM(ACE_M84,12)
MACRO_ADDITEM(ACE_HandFlare_Yellow,12);
MACRO_ADDITEM(ACE_HandFlare_Green,12);
MACRO_ADDITEM(ACE_M84,12);
};
};
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems {
MACRO_ADDITEM(ACE_HandFlare_White,12)
MACRO_ADDITEM(ACE_HandFlare_Red,12)
MACRO_ADDITEM(ACE_HandFlare_Green,12)
MACRO_ADDITEM(ACE_HandFlare_Yellow,12)
MACRO_ADDITEM(ACE_M84,12)
MACRO_ADDITEM(ACE_HandFlare_White,12);
MACRO_ADDITEM(ACE_HandFlare_Red,12);
MACRO_ADDITEM(ACE_HandFlare_Green,12);
MACRO_ADDITEM(ACE_HandFlare_Yellow,12);
MACRO_ADDITEM(ACE_M84,12);
};
};
};

View File

@ -1,9 +1,3 @@
#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
name = #ITEM; \
count = COUNT; \
};
class CfgVehicles {
class Man;
class CAManBase: Man {
@ -41,61 +35,61 @@ class CfgVehicles {
class Box_NATO_Support_F: NATO_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_EarBuds,12)
MACRO_ADDITEM(ACE_EarBuds,12);
};
};
class B_supplyCrate_F: ReammoBox_F {
class TransportItems {
MACRO_ADDITEM(ACE_EarBuds,12)
MACRO_ADDITEM(ACE_EarBuds,12);
};
};
class Box_East_Support_F: EAST_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_EarBuds,12)
MACRO_ADDITEM(ACE_EarBuds,12);
};
};
class O_supplyCrate_F: B_supplyCrate_F {
class TransportItems {
MACRO_ADDITEM(ACE_EarBuds,12)
MACRO_ADDITEM(ACE_EarBuds,12);
};
};
class Box_IND_Support_F: IND_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_EarBuds,12)
MACRO_ADDITEM(ACE_EarBuds,12);
};
};
class Box_FIA_Support_F: FIA_Box_Base_F {
class TransportItems {
MACRO_ADDITEM(ACE_EarBuds,12)
MACRO_ADDITEM(ACE_EarBuds,12);
};
};
class I_supplyCrate_F: B_supplyCrate_F {
class TransportItems {
MACRO_ADDITEM(ACE_EarBuds,12)
MACRO_ADDITEM(ACE_EarBuds,12);
};
};
class IG_supplyCrate_F: ReammoBox_F {
class TransportItems {
MACRO_ADDITEM(ACE_EarBuds,12)
MACRO_ADDITEM(ACE_EarBuds,12);
};
};
class C_supplyCrate_F: ReammoBox_F {
class TransportItems {
MACRO_ADDITEM(ACE_EarBuds,12)
MACRO_ADDITEM(ACE_EarBuds,12);
};
};
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems {
MACRO_ADDITEM(ACE_EarBuds,12)
MACRO_ADDITEM(ACE_EarBuds,12);
};
};
};

View File

@ -19,5 +19,7 @@ if(!GVAR(keyDown)) then {
GVAR(keyDown) = true;
GVAR(keyDownTime) = diag_tickTime;
["interactMenuOpened", [0]] call EFUNC(common,localEvent);
};
true

View File

@ -17,6 +17,8 @@ if(!GVAR(keyDownSelfAction)) then {
GVAR(keyDown) = false;
GVAR(keyDownTime) = diag_tickTime;
["interactMenuOpened", [1]] call EFUNC(common,localEvent);
GVAR(useCursorMenu) = (vehicle ACE_player != ACE_player) || GVAR(AlwaysUseCursorSelfInteraction) || visibleMap;
if (GVAR(useCursorMenu)) then {

View File

@ -1,8 +1,3 @@
#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
name = #ITEM; \
count = COUNT; \
};
class CfgVehicles {
class Module_F;

View File

@ -0,0 +1,516 @@
/*
Adjust the scaling of the inventory screen
- changes it from scaling based on user's interface size to a dynamic size based on a setting variable
- text size and row height size are uneffected (so more rows in a list)
- also tweaks the height of the two ProgressBars which looked odd scaled up so much
regex:
x = "[-+]?(\d*[.]?\d+).*
x = X_PART\(\1\);
*/
class RscText;
class RscPicture;
class RscListBox;
class RscProgress;
class RscStructuredText;
class RscActiveText;
class RscCombo;
#define X_BIS(num) (num * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2))
#define Y_BIS(num) (num * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))
#define W_BIS(num) (num * (((safezoneW / safezoneH) min 1.2) / 40))
#define H_BIS(num) (num * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))
#define X_MAKEITBIGGA(num) (num * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2))
#define Y_MAKEITBIGGA(num) (num * (safeZoneH / 30) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2))
#define W_MAKEITBIGGA(num) (num * (safeZoneH / 40))
#define H_MAKEITBIGGA(num) (num * (safeZoneH / 30))
#define X_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)), 0)]), X_BIS(num), X_MAKEITBIGGA(num))])
#define Y_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)), 0)]), Y_BIS(num), Y_MAKEITBIGGA(num))])
#define W_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)), 0)]), W_BIS(num), W_MAKEITBIGGA(num))])
#define H_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)), 0)]), H_BIS(num), H_MAKEITBIGGA(num))])
class RscDisplayInventory {
class controls {
class CA_ContainerBackground: RscText {
//crate: GroundLoad adjust size
x = X_PART(1);
y = Y_PART(1);
w = W_PART(12);
h = H_PART(22.5);
};
class CA_PlayerBackground: RscText {
//center player's container: decrease height because of progressbar height decrease
x = X_PART(14.6);
y = Y_PART(2);
w = W_PART(24.4);
h = H_PART(21.5);
};
class TitleBackground: RscText {
x = X_PART(14.6);
y = Y_PART(1);
w = W_PART(24.4);
h = H_PART(1);
};
class PlayersName: RscText {
x = X_PART(15.6);
y = Y_PART(1);
w = W_PART(19.8);
h = H_PART(1);
};
class RankBackground: RscText {
x = X_PART(15.1);
y = Y_PART(1.25);
w = W_PART(0.6);
h = H_PART(0.6);
};
class RankPicture: RscPicture {
x = X_PART(15.1);
y = Y_PART(1.25);
w = W_PART(0.6);
h = H_PART(0.6);
};
class ButtonBack: RscActiveText {
x = X_PART(38);
y = Y_PART(1);
w = W_PART(1);
h = H_PART(1);
};
class BackgroundSlotPrimary: RscPicture {
x = X_PART(26.6);
y = Y_PART(6);
w = W_PART(11.9);
h = H_PART(3);
};
class BackgroundSlotPrimaryMuzzle: BackgroundSlotPrimary {
x = X_PART(26.6);
y = Y_PART(9.1);
w = W_PART(2.9);
h = H_PART(2);
};
class BackgroundSlotPrimaryFlashlight: BackgroundSlotPrimary {
x = X_PART(29.6);
y = Y_PART(9.1);
w = W_PART(2.9);
h = H_PART(2);
};
class BackgroundSlotPrimaryOptics: BackgroundSlotPrimary {
x = X_PART(32.6);
y = Y_PART(9.1);
w = W_PART(2.9);
h = H_PART(2);
};
class BackgroundSlotPrimaryMagazine: BackgroundSlotPrimary {
x = X_PART(35.6);
y = Y_PART(9.1);
w = W_PART(2.9);
h = H_PART(2);
};
class BackgroundSlotSecondary: BackgroundSlotPrimary {
x = X_PART(26.6);
y = Y_PART(11.5);
w = W_PART(11.9);
h = H_PART(3);
};
class BackgroundSlotSecondaryMuzzle: BackgroundSlotPrimary {
x = X_PART(26.6);
y = Y_PART(14.6);
w = W_PART(2.9);
h = H_PART(2);
};
class BackgroundSlotSecondaryFlashlight: BackgroundSlotPrimary {
x = X_PART(29.6);
y = Y_PART(14.6);
w = W_PART(2.9);
h = H_PART(2);
};
class BackgroundSlotSecondaryOptics: BackgroundSlotPrimary {
x = X_PART(32.6);
y = Y_PART(14.6);
w = W_PART(2.9);
h = H_PART(2);
};
class BackgroundSlotSecondaryMagazine: BackgroundSlotPrimary {
x = X_PART(35.6);
y = Y_PART(14.6);
w = W_PART(2.9);
h = H_PART(2);
};
class BackgroundSlotHandgun: BackgroundSlotPrimary {
x = X_PART(26.6);
y = Y_PART(17);
w = W_PART(11.9);
h = H_PART(3);
};
class BackgroundSlotHandgunMuzzle: BackgroundSlotPrimary {
x = X_PART(26.6);
y = Y_PART(20.1);
w = W_PART(2.9);
h = H_PART(2);
};
class BackgroundSlotHandgunFlashlight: BackgroundSlotPrimary {
x = X_PART(29.6);
y = Y_PART(20.1);
w = W_PART(2.9);
h = H_PART(2);
};
class BackgroundSlotHandgunOptics: BackgroundSlotPrimary {
x = X_PART(32.6);
y = Y_PART(20.1);
w = W_PART(2.9);
h = H_PART(2);
};
class BackgroundSlotHandgunMagazine: BackgroundSlotPrimary {
x = X_PART(35.6);
y = Y_PART(20.1);
w = W_PART(2.9);
h = H_PART(2);
};
class BackgroundSlotHeadgear: BackgroundSlotPrimary {
x = X_PART(26.6);
y = Y_PART(2.5);
w = W_PART(2.9);
h = H_PART(2.9);
};
class BackgroundSlotGoggles: BackgroundSlotPrimary {
x = X_PART(29.6);
y = Y_PART(2.5);
w = W_PART(2.9);
h = H_PART(2.9);
};
class BackgroundSlotHMD: BackgroundSlotPrimary {
x = X_PART(32.6);
y = Y_PART(2.5);
w = W_PART(2.9);
h = H_PART(2.9);
};
class BackgroundSlotBinoculars: BackgroundSlotPrimary {
x = X_PART(35.6);
y = Y_PART(2.5);
w = W_PART(2.9);
h = H_PART(2.9);
};
class BackgroundSlotMap: BackgroundSlotPrimary {
x = X_PART(15.1);
y = Y_PART(20.1);
w = W_PART(2.12);
h = H_PART(2);
};
class BackgroundSlotGPS: BackgroundSlotPrimary {
x = X_PART(17.32);
y = Y_PART(20.1);
w = W_PART(2.12);
h = H_PART(2);
};
class BackgroundSlotCompass: BackgroundSlotPrimary {
x = X_PART(21.76);
y = Y_PART(20.1);
w = W_PART(2.12);
h = H_PART(2);
};
class BackgroundSlotRadio: BackgroundSlotPrimary {
x = X_PART(19.54);
y = Y_PART(20.1);
w = W_PART(2.12);
h = H_PART(2);
};
class BackgroundSlotWatch: BackgroundSlotPrimary {
x = X_PART(23.98);
y = Y_PART(20.1);
w = W_PART(2.12);
h = H_PART(2);
};
class ExternalContainerBackground: RscPicture {
x = X_PART(1.5);
y = Y_PART(3.7);
w = W_PART(11);
h = H_PART(18.4);
};
class PlayerContainerBackground: ExternalContainerBackground {
x = X_PART(15.1);
y = Y_PART(6);
w = W_PART(11);
h = H_PART(14);
};
class GroundTab: RscActiveText {
x = X_PART(1.5);
y = Y_PART(1.5);
w = W_PART(5.5);
h = H_PART(1);
};
class SoldierTab: GroundTab {
x = X_PART(7);
y = Y_PART(1.5);
w = W_PART(5.5);
h = H_PART(1);
};
class GroundContainer: RscListBox {
x = X_PART(1.5);
y = Y_PART(3.7);
w = W_PART(11);
h = H_PART(18.4);
};
class GroundFilter: RscCombo {
x = X_PART(1.5);
y = Y_PART(2.6);
w = W_PART(11);
h = H_PART(1);
};
class GroundLoad: RscProgress {
//crate: GroundLoad adjust size
x = X_PART(1.5);
y = Y_PART(22.5);
w = W_PART(11);
h = H_PART(0.5);
};
class SlotPrimary: GroundTab {
x = X_PART(26.6);
y = Y_PART(6);
w = W_PART(11.9);
h = H_PART(3);
};
class SlotPrimaryMuzzle: SlotPrimary {
x = X_PART(26.6);
y = Y_PART(9.1);
w = W_PART(2.9);
h = H_PART(2);
};
class SlotPrimaryGrip: SlotPrimary {
w = 0;
h = 0;
x = X_PART(39);
y = Y_PART(9);
};
class SlotPrimaryFlashlight: SlotPrimary {
x = X_PART(29.6);
y = Y_PART(9.1);
w = W_PART(2.9);
h = H_PART(2);
};
class SlotPrimaryOptics: SlotPrimary {
x = X_PART(32.6);
y = Y_PART(9.1);
w = W_PART(2.9);
h = H_PART(2);
};
class SlotPrimaryMagazine: SlotPrimary {
x = X_PART(35.6);
y = Y_PART(9.1);
w = W_PART(2.9);
h = H_PART(2);
};
class SlotSecondary: SlotPrimary {
x = X_PART(26.6);
y = Y_PART(11.5);
w = W_PART(11.9);
h = H_PART(3);
};
class SlotSecondaryMuzzle: SlotPrimary {
x = X_PART(26.6);
y = Y_PART(14.6);
w = W_PART(2.9);
h = H_PART(2);
};
class SlotSecondaryGrip: SlotPrimary {
w = 0;
h = 0;
x = X_PART(39);
y = Y_PART(14.5);
};
class SlotSecondaryFlashlight: SlotPrimary {
x = X_PART(29.6);
y = Y_PART(14.6);
w = W_PART(2.9);
h = H_PART(2);
};
class SlotSecondaryOptics: SlotPrimary {
x = X_PART(32.6);
y = Y_PART(14.6);
w = W_PART(2.9);
h = H_PART(2);
};
class SlotSecondaryMagazine: SlotPrimary {
x = X_PART(35.6);
y = Y_PART(14.6);
w = W_PART(2.9);
h = H_PART(2);
};
class SlotHandgun: SlotPrimary {
x = X_PART(26.6);
y = Y_PART(17);
w = W_PART(11.9);
h = H_PART(3);
};
class SlotHandgunMuzzle: SlotPrimary {
x = X_PART(26.6);
y = Y_PART(20.1);
w = W_PART(2.9);
h = H_PART(2);
};
class SlotHandgunGrip: SlotPrimary {
w = 0;
h = 0;
x = X_PART(39);
y = Y_PART(20);
};
class SlotHandgunFlashlight: SlotPrimary {
x = X_PART(29.6);
y = Y_PART(20.1);
w = W_PART(2.9);
h = H_PART(2);
};
class SlotHandgunOptics: SlotPrimary {
x = X_PART(32.6);
y = Y_PART(20.1);
w = W_PART(2.9);
h = H_PART(2);
};
class SlotHandgunMagazine: SlotPrimary {
x = X_PART(35.6);
y = Y_PART(20.1);
w = W_PART(2.9);
h = H_PART(2);
};
class SlotHeadgear: SlotPrimary {
x = X_PART(26.6);
y = Y_PART(2.5);
w = W_PART(2.9);
h = H_PART(2.9);
};
class SlotGoggles: SlotPrimary {
x = X_PART(29.6);
y = Y_PART(2.5);
w = W_PART(2.9);
h = H_PART(2.9);
};
class SlotHMD: SlotPrimary {
x = X_PART(32.6);
y = Y_PART(2.5);
w = W_PART(2.9);
h = H_PART(2.9);
};
class SlotBinoculars: SlotPrimary {
x = X_PART(35.6);
y = Y_PART(2.5);
w = W_PART(2.9);
h = H_PART(2.9);
};
class SlotMap: SlotPrimary {
x = X_PART(15.16);
y = Y_PART(20.1);
w = W_PART(2);
h = H_PART(2);
};
class SlotGPS: SlotPrimary {
x = X_PART(17.38);
y = Y_PART(20.1);
w = W_PART(2);
h = H_PART(2);
};
class SlotCompass: SlotPrimary {
x = X_PART(21.82);
y = Y_PART(20.1);
w = W_PART(2);
h = H_PART(2);
};
class SlotRadio: SlotPrimary {
x = X_PART(19.6);
y = Y_PART(20.1);
w = W_PART(2);
h = H_PART(2);
};
class SlotWatch: SlotPrimary {
x = X_PART(24.04);
y = Y_PART(20.1);
w = W_PART(2);
h = H_PART(2);
};
class UniformTab: GroundTab {
x = X_PART(15.1);
y = Y_PART(2.5);
w = W_PART(3.5);
h = H_PART(3);
};
class UniformSlot: SlotPrimary {
x = X_PART(15.35);
y = Y_PART(2.5);
w = W_PART(3);
h = H_PART(3);
};
class UniformLoad: GroundLoad {
x = X_PART(15.1);
y = Y_PART(5.5);
w = W_PART(3.5);
h = H_PART(0.5);
};
class UniformContainer: GroundContainer {
x = X_PART(15.1);
y = Y_PART(6);
w = W_PART(11);
h = H_PART(14);
};
class VestTab: UniformTab {
x = X_PART(18.85);
y = Y_PART(2.5);
w = W_PART(3.5);
h = H_PART(3);
};
class VestSlot: SlotPrimary {
x = X_PART(19.1);
y = Y_PART(2.5);
w = W_PART(3);
h = H_PART(3);
};
class VestLoad: GroundLoad {
x = X_PART(18.85);
y = Y_PART(5.5);
w = W_PART(3.5);
h = H_PART(0.5);
};
class BackpackTab: UniformTab {
x = X_PART(22.6);
y = Y_PART(2.5);
w = W_PART(3.5);
h = H_PART(3);
};
class BackpackSlot: SlotPrimary {
x = X_PART(22.85);
y = Y_PART(2.5);
w = W_PART(3);
h = H_PART(3);
};
class BackpackLoad: GroundLoad {
x = X_PART(22.6);
y = Y_PART(5.5);
w = W_PART(3.5);
h = H_PART(0.5);
};
class TotalLoad: GroundLoad {
//center: progressbar height decrease
x = X_PART(15.1);
y = Y_PART(22.5);
w = W_PART(23.4);
h = H_PART(0.5);
};
class ContainerMarker: GroundTab {
x = X_PART(0);
y = Y_PART(24);
w = W_PART(1);
h = H_PART(1);
};
class GroundMarker: ContainerMarker {
x = X_PART(1.5);
y = Y_PART(24);
w = W_PART(1);
h = H_PART(1);
};
class SoldierMarker: ContainerMarker {
x = X_PART(3);
y = Y_PART(24);
w = W_PART(1);
h = H_PART(1);
};
};
};

View File

@ -12,503 +12,16 @@ class CfgPatches {
};
};
#include "RscDisplayInventory.hpp"
class RscText;
class RscPicture;
class RscListBox;
class RscProgress;
class RscStructuredText;
class RscActiveText;
class RscCombo;
class RscControlsGroupNoScrollbars;
/*
Adjust the scaling of the inventory screen
- changes it from scaling based on user's interface size to a static size
- text size and row height size are uneffected
- also tweaks the height of the two ProgressBars which looked odd scaled up so much
*/
class RscDisplayInventory {
class controls {
class CA_ContainerBackground: RscText {
//crate: GroundLoad adjust size
x = "1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "12 * (safeZoneH / 40)";
h = "22.5 * ((safeZoneH / 1.2) / 25)";
};
class CA_PlayerBackground: RscText {
//center player's container: decrease height because of progressbar height decrease
x = "14.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "24.4 * (safeZoneH / 40)";
h = "21.5 * ((safeZoneH / 1.2) / 25)";
};
class TitleBackground: RscText {
x = "14.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "24.4 * (safeZoneH / 40)";
h = "1 * ((safeZoneH / 1.2) / 25)";
};
class PlayersName: RscText {
text = "Player name:";
x = "15.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "19.8 * (safeZoneH / 40)";
h = "1 * ((safeZoneH / 1.2) / 25)";
};
class RankBackground: RscText {
x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "1.25 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "0.6 * (safeZoneH / 40)";
h = "0.6 * ((safeZoneH / 1.2) / 25)";
};
class RankPicture: RscPicture {
x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "1.25 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "0.6 * (safeZoneH / 40)";
h = "0.6 * ((safeZoneH / 1.2) / 25)";
};
class ButtonBack: RscActiveText {
x = "38 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "1 * (safeZoneH / 40)";
h = "1 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotPrimary: RscPicture {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "11.9 * (safeZoneH / 40)";
h = "3 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotPrimaryMuzzle: BackgroundSlotPrimary {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotPrimaryFlashlight: BackgroundSlotPrimary {
x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotPrimaryOptics: BackgroundSlotPrimary {
x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotPrimaryMagazine: BackgroundSlotPrimary {
x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotSecondary: BackgroundSlotPrimary {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "11.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "11.9 * (safeZoneH / 40)";
h = "3 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotSecondaryMuzzle: BackgroundSlotPrimary {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotSecondaryFlashlight: BackgroundSlotPrimary {
x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotSecondaryOptics: BackgroundSlotPrimary {
x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotSecondaryMagazine: BackgroundSlotPrimary {
x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotHandgun: BackgroundSlotPrimary {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "17 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "11.9 * (safeZoneH / 40)";
h = "3 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotHandgunMuzzle: BackgroundSlotPrimary {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotHandgunFlashlight: BackgroundSlotPrimary {
x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotHandgunOptics: BackgroundSlotPrimary {
x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotHandgunMagazine: BackgroundSlotPrimary {
x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotHeadgear: BackgroundSlotPrimary {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2.9 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotGoggles: BackgroundSlotPrimary {
x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2.9 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotHMD: BackgroundSlotPrimary {
x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2.9 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotBinoculars: BackgroundSlotPrimary {
x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2.9 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotMap: BackgroundSlotPrimary {
x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.12 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotGPS: BackgroundSlotPrimary {
x = "17.32 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.12 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotCompass: BackgroundSlotPrimary {
x = "21.76 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.12 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotRadio: BackgroundSlotPrimary {
x = "19.54 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.12 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class BackgroundSlotWatch: BackgroundSlotPrimary {
x = "23.98 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.12 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class ExternalContainerBackground: RscPicture {
x = "1.5 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "3.7 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "11 * (safeZoneH / 40)";
h = "18.4 * ((safeZoneH / 1.2) / 25)";
};
class PlayerContainerBackground: ExternalContainerBackground {
x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "11 * (safeZoneH / 40)";
h = "14 * ((safeZoneH / 1.2) / 25)";
};
class GroundTab: RscActiveText {
x = "1.5 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "1.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "5.5 * (safeZoneH / 40)";
h = "1 * ((safeZoneH / 1.2) / 25)";
};
class SoldierTab: GroundTab {
x = "7 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "1.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "5.5 * (safeZoneH / 40)";
h = "1 * ((safeZoneH / 1.2) / 25)";
};
class GroundContainer: RscListBox {
x = "1.5 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "3.7 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "11 * (safeZoneH / 40)";
h = "18.4 * ((safeZoneH / 1.2) / 25)";
};
class GroundFilter: RscCombo {
x = "1.5 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "11 * (safeZoneH / 40)";
h = "1 * ((safeZoneH / 1.2) / 25)";
};
class GroundLoad: RscProgress {
//crate: GroundLoad adjust size
x = "1.5 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "22.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "11 * (safeZoneH / 40)";
h = "0.5 * ((safeZoneH / 1.2) / 25)";
};
class SlotPrimary: GroundTab {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "11.9 * (safeZoneH / 40)";
h = "3 * ((safeZoneH / 1.2) / 25)";
};
class SlotPrimaryMuzzle: SlotPrimary {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotPrimaryGrip: SlotPrimary {
w = 0;
h = 0;
x = "39 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "9 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
};
class SlotPrimaryFlashlight: SlotPrimary {
x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotPrimaryOptics: SlotPrimary {
x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotPrimaryMagazine: SlotPrimary {
x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "9.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotSecondary: SlotPrimary {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "11.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "11.9 * (safeZoneH / 40)";
h = "3 * ((safeZoneH / 1.2) / 25)";
};
class SlotSecondaryMuzzle: SlotPrimary {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotSecondaryGrip: SlotPrimary {
w = 0;
h = 0;
x = "39 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "14.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
};
class SlotSecondaryFlashlight: SlotPrimary {
x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotSecondaryOptics: SlotPrimary {
x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotSecondaryMagazine: SlotPrimary {
x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "14.6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotHandgun: SlotPrimary {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "17 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "11.9 * (safeZoneH / 40)";
h = "3 * ((safeZoneH / 1.2) / 25)";
};
class SlotHandgunMuzzle: SlotPrimary {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotHandgunGrip: SlotPrimary {
w = 0;
h = 0;
x = "39 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
};
class SlotHandgunFlashlight: SlotPrimary {
x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotHandgunOptics: SlotPrimary {
x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotHandgunMagazine: SlotPrimary {
x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotHeadgear: SlotPrimary {
x = "26.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2.9 * ((safeZoneH / 1.2) / 25)";
};
class SlotGoggles: SlotPrimary {
x = "29.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2.9 * ((safeZoneH / 1.2) / 25)";
};
class SlotHMD: SlotPrimary {
x = "32.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2.9 * ((safeZoneH / 1.2) / 25)";
};
class SlotBinoculars: SlotPrimary {
x = "35.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2.9 * (safeZoneH / 40)";
h = "2.9 * ((safeZoneH / 1.2) / 25)";
};
class SlotMap: SlotPrimary {
x = "15.16 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotGPS: SlotPrimary {
x = "17.38 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotCompass: SlotPrimary {
x = "21.82 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotRadio: SlotPrimary {
x = "19.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class SlotWatch: SlotPrimary {
x = "24.04 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "20.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "2 * (safeZoneH / 40)";
h = "2 * ((safeZoneH / 1.2) / 25)";
};
class UniformTab: GroundTab {
x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "3.5 * (safeZoneH / 40)";
h = "3 * ((safeZoneH / 1.2) / 25)";
};
class UniformSlot: SlotPrimary {
x = "15.35 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "3 * (safeZoneH / 40)";
h = "3 * ((safeZoneH / 1.2) / 25)";
};
class UniformLoad: GroundLoad {
x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "5.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "3.5 * (safeZoneH / 40)";
h = "0.5 * ((safeZoneH / 1.2) / 25)";
};
class UniformContainer: GroundContainer {
x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "6 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "11 * (safeZoneH / 40)";
h = "14 * ((safeZoneH / 1.2) / 25)";
};
class VestTab: UniformTab {
x = "18.85 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "3.5 * (safeZoneH / 40)";
h = "3 * ((safeZoneH / 1.2) / 25)";
};
class VestSlot: SlotPrimary {
x = "19.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "3 * (safeZoneH / 40)";
h = "3 * ((safeZoneH / 1.2) / 25)";
};
class VestLoad: GroundLoad {
x = "18.85 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "5.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "3.5 * (safeZoneH / 40)";
h = "0.5 * ((safeZoneH / 1.2) / 25)";
};
class BackpackTab: UniformTab {
x = "22.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "3.5 * (safeZoneH / 40)";
h = "3 * ((safeZoneH / 1.2) / 25)";
};
class BackpackSlot: SlotPrimary {
x = "22.85 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "2.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "3 * (safeZoneH / 40)";
h = "3 * ((safeZoneH / 1.2) / 25)";
};
class BackpackLoad: GroundLoad {
x = "22.6 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "5.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "3.5 * (safeZoneH / 40)";
h = "0.5 * ((safeZoneH / 1.2) / 25)";
};
class TotalLoad: GroundLoad {
//center: progressbar height decrease
x = "15.1 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "22.5 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "23.4 * (safeZoneH / 40)";
h = "0.5 * ((safeZoneH / 1.2) / 25)";
};
class ContainerMarker: GroundTab {
x = "0 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "24 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "1 * (safeZoneH / 40)";
h = "1 * ((safeZoneH / 1.2) / 25)";
};
class GroundMarker: ContainerMarker {
x = "1.5 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "24 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "1 * (safeZoneH / 40)";
h = "1 * ((safeZoneH / 1.2) / 25)";
};
class SoldierMarker: ContainerMarker {
x = "3 * (safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)";
y = "24 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)";
w = "1 * (safeZoneH / 40)";
h = "1 * ((safeZoneH / 1.2) / 25)";
};
class ACE_Settings {
class GVAR(inventoryDisplaySize) {
value = 0;
typeName = "SCALAR";
isClientSetable = 1;
displayName = "$STR_ACE_Inventory_SettingName";
description = "$STR_ACE_Inventory_SettingDescription";
values[] = {"Normal (Default Size)", "Medium", "Bigger"};
};
};

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler - 2015-02-13 -->
<Project name="ACE">
<Package name="Inventory">
<Key ID="STR_ACE_Inventory_SettingName">
<English>Make Inventory Display Bigger</English>
</Key>
<Key ID="STR_ACE_Inventory_SettingDescription">
<English>Normally inventory display is scaled by UI size. This allows scaling the Inventory UI size up, but doesn't increase font size allowing more rows displayed.</English>
</Key>
</Package>
</Project>

View File

@ -1,9 +1,3 @@
#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
name = #ITEM; \
count = COUNT; \
}
class CfgVehicles {
class Man;
class CAManBase: Man {

View File

@ -1,9 +1,3 @@
#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
name = #ITEM; \
count = COUNT; \
}
class CfgVehicles {
class NATO_Box_Base;
class Box_NATO_Support_F: NATO_Box_Base {

View File

@ -3,7 +3,7 @@
class CfgPatches {
class ADDON {
units[] = {};
weapons[] = {"AGM_acc_pointer_red","AGM_acc_pointer_green"};
weapons[] = {"ACE_acc_pointer_red","ACE_acc_pointer_green"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};
author[] = {"commy2"};

View File

@ -4,3 +4,8 @@ class Extended_PreInit_EventHandlers {
init = QUOTE(call COMPILE_FILE(XEH_preInit));
};
};
class Extended_PostInit_EventHandlers {
class ADDON {
clientInit = QUOTE( call COMPILE_FILE(XEH_clientInit) );
};
};

View File

@ -1,19 +0,0 @@
class CfgVehicles {
class Man;
class CAManBase: Man {
class ACE_SelfActions {
class ACE_Equipment {
class GVAR(CutFence) {
displayName = "$STR_ACE_logistics_wirecutter_CutFence";
condition = QUOTE([_player] call FUNC(canCutFence));
statement = QUOTE([_player] call FUNC(cutDownFence));
exceptions[] = {};
showDisabled = 1;
priority = 0;
icon = PATHTOF(UI\wirecutter_ca.paa);
hotkey = "C";
};
};
};
};
};

View File

@ -0,0 +1,5 @@
#include "script_component.hpp"
if (!hasInterface) exitWith {};
["interactMenuOpened", {_this call FUNC(interactEH)}] call EFUNC(common,addEventHandler);

View File

@ -2,11 +2,11 @@
ADDON = false;
PREP(canCutFence);
PREP(cutDownFence);
PREP(cutDownFenceAbort);
PREP(cutDownFenceCallback);
PREP(getNearestFence);
PREP(interactEH);
PREP(isFence);
ADDON = true;

View File

@ -5,7 +5,7 @@ class CfgPatches {
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common", "ace_interaction"};
requiredAddons[] = {"ace_interact_menu"};
author[] = {"gpgpgpgp", "PabstMirror"};
authorUrl = "";
VERSION_CONFIG;
@ -13,6 +13,5 @@ class CfgPatches {
};
#include "CfgEventHandlers.hpp"
#include "CfgVehicles.hpp"
#include "CfgSounds.hpp"
#include "CfgWeapons.hpp"

View File

@ -1,18 +0,0 @@
/* fnc_canCutFence.sqf
*
* Author: PabstMirror
*
* Condition check if player is able to cut a fence.
* Checks for "ACE_wirecutter" item and if there is a nearby fence.
*
* Argument:
* 0: OBJECT - Unit to check condition for (player)
*
* Return value:
* BOOL
*/
#include "script_component.hpp"
PARAMS_1(_unit);
("ACE_wirecutter" in (items _unit)) && {!(isNull ([_unit] call FUNC(getNearestFence)))}

View File

@ -1,20 +1,31 @@
// by gpgpgpgp, edited by commy2
/*
* Author: gpgpgpgp, edited by commy2, PabstMirror
* Starts cutting down a fence
*
* Arguments:
* 0: Unit <OBJECT>
* 1: Fence <OBJECT>
*
* Return Value:
* Nothing
*
* Example:
* [player, berlinWall] call ace_logistics_wirecutter_fnc_cutDownFence
*
* Public: No
*/
#include "script_component.hpp"
PARAMS_1(_unit);
private ["_timeToCut"];
PARAMS_2(_unit,_fenceObject);
if (_unit != ACE_player) exitWith {};
_fenceObject = [ACE_player] call FUNC(getNearestFence);
if (isNull _fenceObject) exitWith {};
_timeToCut = 5;
if !([ACE_player] call EFUNC(common,isEngineer)) then {
_timeToCut = _timeToCut + 5;
};
_timeToCut = if ([ACE_player] call EFUNC(common,isEngineer)) then {5} else {10};
[ACE_player, "AinvPknlMstpSnonWnonDr_medic5", 0] call EFUNC(common,doAnimation);
if (_timeToCut > 4.5) then {
if (_timeToCut > 5) then {
playSound "ACE_wirecutter_sound_long";
} else {
playSound "ACE_wirecutter_sound";

View File

@ -1,4 +1,18 @@
// by commy2
/*
* Author: commy2
* Stops cutting down fence (reset animation)
*
* Arguments:
* Nothing
*
* Return Value:
* Nothing
*
* Example:
* [] call ace_logistics_wirecutter_fnc_cutDownFenceAbort
*
* Public: No
*/
#include "script_component.hpp"
[ACE_player, "AmovPknlMstpSrasWrflDnon", 1] call EFUNC(common,doAnimation);

View File

@ -1,7 +1,22 @@
/*
* Author: PabstMirror
* Once progressbar is done: Fence is cutdown
*
* Arguments:
* 0: Fence Object <OBJECT>
*
* Return Value:
* Nothing
*
* Example:
* [aFence] call ace_logistics_wirecutter_fnc_cutDownFenceCallback
*
* Public: No
*/
#include "script_component.hpp"
PARAMS_1(_fenceObject);
_fenceObject setdamage 1;
[localize "STR_ACE_logistics_wirecutter_FenceCut"] call EFUNC(common,displayTextStructured);
// [localize "STR_ACE_logistics_wirecutter_FenceCut"] call EFUNC(common,displayTextStructured);
[ACE_player, "AmovPknlMstpSrasWrflDnon", 1] call EFUNC(common,doAnimation);

View File

@ -1,15 +1,18 @@
/* fnc_getNearestFence.sqf
*
* Author: PabstMirror
*
* Gets nearest fence within 5 meters to the unit.
*
* Argument:
* 0: OBJECT - Unit to search for fence objects arround
*
* Return value:
* OBJECT - Nearest object that is a fence, objNull if none found.
*/
/*
* Author: PabstMirror
* Gets nearest fence object (not actully used, left for utility)
*
* Arguments:
* 0: Unit <OBJECT>
*
* Return Value:
* The return value <OBJECT>
*
* Example:
* [player] call ace_logistics_wirecutter_fnc_getNearestFence
*
* Public: Yes
*/
#include "script_component.hpp"
private "_nearestFence";
@ -20,6 +23,6 @@ _nearestFence = objNull;
if ((isNull _nearestFence) && {[_x] call FUNC(isFence)}) then {
_nearestFence = _x;
};
} forEach nearestObjects [_unit, [], 5];
} forEach nearestObjects [_unit, [], 15];
_nearestFence

View File

@ -0,0 +1,64 @@
/*
* Author: PabstMirror
* When interact_menu starts rendering (from "interact_keyDown" event)
*
* Arguments:
* Interact Menu Type (0 - world, 1 - self) <NUMBER>
*
* Return Value:
* Nothing
*
* Example:
* [0] call ace_logistics_wirecutter_fnc_interactEH
*
* Public: Yes
*/
#include "script_component.hpp"
PARAMS_1(_interactionType);
if (_interactionType != 0) exitWith {};
//for performance only do stuff it they have a wirecutter item
//(if they somehow get one durring keydown they'll just have to reopen)
if (!("ACE_wirecutter" in (items ace_player))) exitWith {};
[{
private ["_fncStatement", "_attachedFence", "_fncCondition", "_helper"];
PARAMS_2(_args,_pfID);
EXPLODE_3_PVT(_args,_setPosition,_addedHelpers,_fencesHelped);
if (!EGVAR(interact_menu,keyDown)) then {
{deleteVehicle _x;} forEach _addedHelpers;
[_pfID] call CBA_fnc_removePerFrameHandler;
} else {
//If play moved >5 meters from last pos, then rescan
if (((getPosASL ace_player) distance _setPosition) > 5) then {
_fncStatement = {
_attachedFence = _target getVariable [QGVAR(attachedFence), objNull];
[ace_player, _attachedFence] call FUNC(cutDownFence);
};
_fncCondition = {
_attachedFence = _target getVariable [QGVAR(attachedFence), objNull];
((!isNull _attachedFence) && {(damage _attachedFence) < 1} && {("ACE_wirecutter" in (items ace_player))})
};
{
if (!(_x in _fencesHelped)) then {
if ([_x] call FUNC(isFence)) then {
_fencesHelped pushBack _x;
_helper = "Sign_Sphere25cm_F" createVehicleLocal (getpos _x);
[_helper, 0, [""], (localize "STR_ACE_logistics_wirecutter_CutFence"), QUOTE(PATHTOF(ui\wirecutter_ca.paa)), [0,0,0], _fncStatement, _fncCondition, 5] call EFUNC(interact_menu,addAction);
_helper setPosASL ((getPosASL _x) vectorAdd [0,0,1.25]);
_helper hideObject true;
_helper setVariable [QGVAR(attachedFence), _x];
_addedHelpers pushBack _helper;
};
};
} forEach nearestObjects [ace_player, [], 15];
_args set [0, (getPosASL ace_player)];
};
};
}, 0.1, [((getPosASL ace_player) vectorAdd [-100,0,0]), [], []]] call CBA_fnc_addPerFrameHandler;

View File

@ -1,16 +1,19 @@
/* fnc_isFence.sqf
*
* Author: PabstMirror
*
* Checks if object is a fence. Should work on any fence type, even (typeof == "").
* Call is fairly expensive because of all of the string checking.
*
* Argument:
* 0: OBJECT - Ojbect to test
*
* Return value:
* BOOL
*/
/*
* Author: PabstMirror
* Checks if object is a fence. Should work on any fence type, even (typeof == "").
* Call is fairly expensive because of all of the string checking.
*
* Arguments:
* 0: An Object To Test <OBJECT>
*
* Return Value:
* Is it a fence <BOOL>
*
* Example:
* [aFence] call ace_logistics_wirecutter_fnc_isFence
*
* Public: No
*/
#include "script_component.hpp"
//find is case sensitive, so keep everything lowercase
@ -27,14 +30,14 @@ _typeOf = toLower (typeOf _object);
_returnValue = false;
if (_typeOf != "") then {
_returnValue = _typeOf in (FENCE_A3_TYPENAMES + FENCE_AIA_TYPENAMES);
_returnValue = _typeOf in (FENCE_A3_TYPENAMES + FENCE_AIA_TYPENAMES);
} else {
_typeOf = toLower (str _object); //something like "123201: wall_indfnc_9.p3d"
{
if ((_typeOf find _x) != -1) then {
_returnValue = true;
};
} forEach (FENCE_A3_P3DS + FENCE_AIA_P3DS);
_typeOf = toLower (str _object); //something like "123201: wall_indfnc_9.p3d"
{
if ((_typeOf find _x) != -1) then {
_returnValue = true;
};
} forEach (FENCE_A3_P3DS + FENCE_AIA_P3DS);
};
_returnValue

View File

@ -227,7 +227,7 @@ class CfgWeapons {
count = 1;
type = 16;
displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY;
//picture = QUOTE(PATHTOF(ui\items\personal_aid_kit.paa));
picture = QUOTE(PATHTOF(ui\items\personal_aid_kit.paa));
//model = QUOTE(PATHTOF(equipment\Personal-aidkits\MTP.p3d));
descriptionShort = $STR_ACE_MEDICAL_AID_KIT_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_AID_KIT_DESC_USE;
@ -240,7 +240,7 @@ class CfgWeapons {
scope=2;
displayName= $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY;
model = QUOTE(PATHTOF(data\surgical_kit.p3d));
//picture = QUOTE(PATHTOF(data\surgical_kit.paa));
picture = QUOTE(PATHTOF(ui\items\surgicalKit.paa));
descriptionShort = $STR_ACE_MEDICAL_SURGICALKIT_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_SURGICALKIT_DESC_USE;
class ItemInfo: InventoryItem_Base_F {

Binary file not shown.

View File

@ -8,7 +8,7 @@ PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="z\ace\addons\medical\equipment\data\bodybag_nohq.paa";
texture="z\ace\addons\medical\data\bodybag_nohq.paa";
uvSource="tex";
class uvTransform
{
@ -80,7 +80,7 @@ class Stage6
};
class Stage7
{
texture="z\ace\addons\medical\equipment\data\env_co.paa";
texture="z\ace\addons\medical\data\env_co.paa";
uvSource="tex";
class uvTransform
{

View File

@ -8,7 +8,7 @@ PixelShaderID="NormalMapSpecularDIMap";
VertexShaderID="NormalMap";
class Stage1
{
texture="z\ace\addons\medical\equipment\data\bodybagItem_nohq.paa";
texture="z\ace\addons\medical\data\bodybagItem_nohq.paa";
uvSource="tex";
class uvTransform
{
@ -20,7 +20,7 @@ class Stage1
};
class Stage2
{
texture="z\ace\addons\medical\equipment\data\bodybagItem_smdi.paa";
texture="z\ace\addons\medical\data\bodybagItem_smdi.paa";
uvSource="tex";
class uvTransform
{

Binary file not shown.

View File

@ -8,7 +8,7 @@ PixelShaderID="NormalMapSpecularDIMap";
VertexShaderID="NormalMap";
class Stage1
{
texture="z\ace\addons\medical\equipment\bandages\packingbandage_nohq.paa";
texture="z\ace\addons\medical\data\packingbandage_nohq.paa";
uvSource="tex";
class uvTransform
{
@ -20,7 +20,7 @@ class Stage1
};
class Stage2
{
texture="z\ace\addons\medical\equipment\bandages\packingbandage_smdi.paa";
texture="z\ace\addons\medical\data\packingbandage_smdi.paa";
uvSource="tex";
class uvTransform
{

Binary file not shown.

Binary file not shown.

View File

@ -8,7 +8,7 @@ PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="z\ace\addons\medical\equipment\data\surgical_kit_nohq.paa";
texture="z\ace\addons\medical\data\surgical_kit_nohq.paa";
uvSource="tex";
class uvTransform
{
@ -80,7 +80,7 @@ class Stage6
};
class Stage7
{
texture="z\ace\addons\medical\equipment\data\env_co.tga";
texture="z\ace\addons\medical\data\env_co.tga";
uvSource="tex";
class uvTransform
{

Binary file not shown.

Binary file not shown.

View File

@ -49,7 +49,7 @@ if (_show) then {
if (((_target getvariable [QGVAR(tourniquets), [0,0,0,0,0,0]]) select GVAR(currentSelectedSelectionN)) > 0) then {
_genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_TOURNIQUET_APPLIED", [0.5, 0.5, 0, 1]];
};
if (_target getvariable[QGVAR(inPain), false]) then {
if (_target getvariable[QGVAR(hasPain), false]) then {
_genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_PAIN", [1, 1, 1, 1]];
};
@ -149,4 +149,4 @@ if (_show) then {
} else {
("ACE_MedicalRscDisplayInformation" call BIS_fnc_rscLayer) cutText ["","PLAIN"];
};
};

View File

@ -25,7 +25,7 @@ if !(!(isNull _unit) && {(_unit isKindOf "CaManBase") && ([_unit] call EFUNC(com
// We only want this function to work on local machines
if (!local _unit) exitwith {
[[_unit], QUOTE(DFUNC(setUnconsciousState)), _unit, false] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
[[_unit], QUOTE(DFUNC(setUnconscious)), _unit, false] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
};
// Get rid of the object we are carrying, before we go unconscious.
@ -64,22 +64,21 @@ _unit setUnitPos "DOWN";
// So the AI does not get stuck, we are moving the unit to a temp group on its own.
[_unit, true, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide);
_captiveSwitch = [_unit, true] call EFUNC(common,setCaptiveSwitch);
[_unit, QGVAR(unconscious), true] call EFUNC(common,setCaptivityStatus);
[_unit, [_unit] call EFUNC(common,getDeathAnim), 1, true] call EFUNC(common,doAnimation);
_startingTime = time;
_minWaitingTime = (round(random(10)+5));
[{
private ["_unit", "_vehicleOfUnit","_lockSwitch","_minWaitingTime", "_oldAnimation", "_captiveSwitch", "_hasMovedOut"];
private ["_unit", "_vehicleOfUnit","_minWaitingTime", "_oldAnimation", "_captiveSwitch", "_hasMovedOut"];
_args = _this select 0;
_unit = _args select 0;
_oldAnimation = _args select 1;
_captiveSwitch = _args select 2;
_originalPos = _args select 3;
_startingTime = _args select 4;
_minWaitingTime = _args select 5;
_hasMovedOut = _args select 6;
_originalPos = _args select 2;
_startingTime = _args select 3;
_minWaitingTime = _args select 4;
_hasMovedOut = _args select 5;
// Since the unit is no longer alive, get rid of this PFH.
if (!alive _unit) exitwith {
// EXIT PFH
@ -104,10 +103,8 @@ _minWaitingTime = (round(random(10)+5));
};
if (!_hasMovedOut) then {
// Reset the unit back to the previous captive state.
if (_captiveSwitch) then {
[_unit, false] call EFUNC(common,setCaptiveSwitch);
};
[_unit, QGVAR(unconscious), false] call EFUNC(common,setCaptivityStatus);
// Swhich the unit back to its original group
[_unit, false, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide);
@ -137,6 +134,6 @@ _minWaitingTime = (round(random(10)+5));
[_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call EFUNC(common,doAnimation); // Reset animations if unit starts doing wierd things.
};
}, 0.1, [_unit,_animState, _captiveSwitch, _originalPos, _startingTime, _minWaitingTime, false] ] call CBA_fnc_addPerFrameHandler;
}, 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false] ] call CBA_fnc_addPerFrameHandler;
["medical_onUnconscious", [_unit], [_unit, true]] call EFUNC(common,targetEvent);

Binary file not shown.

View File

@ -4,19 +4,14 @@ class CfgVehicles {
ACE_NightVision_blur = 0.055;
};
#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
name = #ITEM; \
count = COUNT; \
};
class Box_NATO_Support_F;
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems {
MACRO_ADDITEM(ACE_NVG_Gen1,6)
MACRO_ADDITEM(ACE_NVG_Gen2,6)
//MACRO_ADDITEM(ACE_NVG_Gen3,6)
MACRO_ADDITEM(ACE_NVG_Gen4,6)
MACRO_ADDITEM(ACE_NVG_Wide,6)
MACRO_ADDITEM(ACE_NVG_Gen1,6);
MACRO_ADDITEM(ACE_NVG_Gen2,6);
//MACRO_ADDITEM(ACE_NVG_Gen3,6);
MACRO_ADDITEM(ACE_NVG_Gen4,6);
MACRO_ADDITEM(ACE_NVG_Wide,6);
};
};
};

View File

@ -1,12 +1,18 @@
/**
* fnc_onListBoxSettingsChanged.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
/*
* Author: Glowbal
* Called when the listbox selection is changed for an options (eg: chaning a setting from false to true)
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_onListBoxSettingsChanged
*
* Public: No
*/
#include "script_component.hpp"
private ["_settingIndex", "_rightDropDownIndex"];

View File

@ -1,12 +1,18 @@
/**
* fnc_onListBoxShowSelectionChanged.sqf
* @Descr: called when the listbox selection has changed. Updates configuration menu information
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
/*
* Author: Glowbal
* Changes which tab is open (options or colors)
*
* Arguments:
* The tab to open (defined in script_component) <NUMBER>
*
* Return Value:
* None
*
* Example:
* [MENU_TAB_COLORS] call ACE_optionsmenu_fnc_onListBoxShowSelectionChanged
*
* Public: No
*/
#include "script_component.hpp"
private ["_settingsMenu", "_localizedHeader"];

View File

@ -1,33 +1,39 @@
/**
* fnc_onSettingsMenuOpen.sqf
* @Descr: called when the settings or configuration menu has opened. Do not use anywhere else.
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
/*
* Author: Glowbal
* Called from the onLoad of ACE_settingsMenu dialog.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [onLoadEvent] call ACE_optionsmenu_fnc_onSettingsMenuOpen
*
* Public: No
*/
#include "script_component.hpp"
// Filter only user setable setting
GVAR(clientSideOptions) = [];
GVAR(clientSideColors) = [];
{
// If the setting is user setable and not forced
if ((_x select 2) && !(_x select 6)) then {
// Append the current value to the setting metadata
_setting = + _x;
_setting pushBack (missionNamespace getVariable (_x select 0));
// If the setting is user setable and not forced
if ((_x select 2) && !(_x select 6)) then {
// Append the current value to the setting metadata
_setting = + _x;
_setting pushBack (missionNamespace getVariable (_x select 0));
// Categorize the setting according to types
// @todo: allow the user to modify other types of parameters?
if ((_x select 1) == "SCALAR" || (_x select 1) == "BOOL") then {
GVAR(clientSideOptions) pushBack _setting;
};
if ((_x select 1) == "COLOR") then {
GVAR(clientSideColors) pushBack _setting;
};
};
// Categorize the setting according to types
// @todo: allow the user to modify other types of parameters?
if ((_x select 1) == "SCALAR" || (_x select 1) == "BOOL") then {
GVAR(clientSideOptions) pushBack _setting;
};
if ((_x select 1) == "COLOR") then {
GVAR(clientSideColors) pushBack _setting;
};
};
} forEach EGVAR(common,settings);
//Delay a frame

View File

@ -1,12 +1,18 @@
/**
* fnc_onSliderPosChanged.sqf
* @Descr: N/A
* @Author: PabstMirror
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
/*
* Author: PabstMirror
* Called when one of the color sliders is moved.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_onSliderPosChanged
*
* Public: No
*/
#include "script_component.hpp"
private ["_newColor", "_settingIndex"];

View File

@ -1,30 +1,36 @@
/**
* fnc_resetSettings.sqf
* @Descr:
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: true
*/
/*
* Author: Glowbal
* Resets all settings to default.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_onListBoxSettingsChanged
*
* Public: No
*/
#include "script_component.hpp"
private ["_name", "_default", "_lastSelected"];
{
_name = _x select 0;
_default = _x select 7;
[MENU_TAB_OPTIONS, _name, _default] call FUNC(updateSetting);
_name = _x select 0;
_default = _x select 7;
[MENU_TAB_OPTIONS, _name, _default] call FUNC(updateSetting);
} forEach GVAR(clientSideOptions);
{
_name = _x select 0;
_default = _x select 7;
[MENU_TAB_COLORS, _name, _default] call FUNC(updateSetting);
_name = _x select 0;
_default = _x select 7;
[MENU_TAB_COLORS, _name, _default] call FUNC(updateSetting);
} forEach GVAR(clientSideColors);
_lastSelected = lbCurSel 200;
[GVAR(optionMenu_openTab)] call FUNC(onListBoxShowSelectionChanged);
if (_lastSelected != -1) then {
lbSetCurSel [200, _lastSelected];
lbSetCurSel [200, _lastSelected];
};

View File

@ -1,12 +1,18 @@
/**
* fnc_settingsMenuUpdateKeyView.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
/*
* Author: Glowbal
* Updates the right half of the option menu for the currently selected option.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_settingsMenuUpdateKeyView
*
* Public: No
*/
#include "script_component.hpp"
private ["_settingsMenu", "_ctrlList", "_collection", "_settingIndex", "_setting", "_entryName", "_localizedName", "_localizedDescription", "_possibleValues", "_settingsValue", "_currentColor"];

View File

@ -1,12 +1,18 @@
/**
* fnc_settingsMenuUpdateList.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
/*
* Author: Glowbal
* Updates the setting when the client has selected a new value. Saves to profilenamespace.
*
* Arguments:
* 0: Update the keylist as well <BOOL>
*
* Return Value:
* None
*
* Example:
* [false] call ACE_optionsmenu_fnc_settingsMenuUpdateList
*
* Public: No
*/
#include "script_component.hpp"
private ["_settingsMenu", "_ctrlList", "_settingsText", "_color", "_settingsColor", "_updateKeyView"];

View File

@ -1,12 +1,20 @@
/**
* fnc_updateSetting.sqf
* @Descr:
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: true
*/
/*
* Author: Glowbal
* Updates the setting when the client has selected a new value. Saves to profilenamespace and calls setSetting.
*
* Arguments:
* 0: The Tab Open <NUMBER>
* 1: The setting's name <STRING>
* 2: The new value either an index or a color <NUMBER>OR<ARRAY>
*
* Return Value:
* None
*
* Example:
* [MENU_TAB_COLORS, "ace_fireTruckColor", [1,0,0,1]] call ACE_optionsmenu_fnc_updateSetting
*
* Public: No
*/
#include "script_component.hpp"
private ["_changed"];

View File

@ -217,13 +217,17 @@ class ACE_settingsMenu {
periodOver = 1;
action = "closedialog 0;";
};
class action_animation: actionClose {
//probably use this for the export to hpp button:
/* class action_animation: actionClose {
idc = 1100;
text = "$STR_ACE_OptionsMenu_FixAnimation";
x = 7.5 * UNITX + OFFSETX;
// action = "if ([player] call ACE_fnc_canInteract && {animationState player == 'deadState' || animationState player == 'unconscious'} && {(vehicle player == player)}) then { [player, 'amovppnemstpsnonwnondnon'] call ACE_fnc_broadcastAnim; };";
action = "hint 'todo???'";
};
action = QUOTE(_this call FUNC(k,rgr));
}; */
class action_reset: actionClose {
idc = 1100;
text = "$STR_ACE_OptionsMenu_ResetAll";

View File

@ -1,8 +1,3 @@
#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
name = #ITEM; \
count = COUNT; \
};
class CfgVehicles {
class Man;
@ -39,61 +34,61 @@ class CfgVehicles {
class Box_NATO_Support_F: NATO_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_SpareBarrel,2)
MACRO_ADDITEM(ACE_SpareBarrel,2);
};
};
class B_supplyCrate_F: ReammoBox_F {
class TransportItems {
MACRO_ADDITEM(ACE_SpareBarrel,2)
MACRO_ADDITEM(ACE_SpareBarrel,2);
};
};
class Box_East_Support_F: EAST_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_SpareBarrel,2)
MACRO_ADDITEM(ACE_SpareBarrel,2);
};
};
class O_supplyCrate_F: B_supplyCrate_F {
class TransportItems {
MACRO_ADDITEM(ACE_SpareBarrel,2)
MACRO_ADDITEM(ACE_SpareBarrel,2);
};
};
class Box_IND_Support_F: IND_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_SpareBarrel,2)
MACRO_ADDITEM(ACE_SpareBarrel,2);
};
};
class Box_FIA_Support_F: FIA_Box_Base_F {
class TransportItems {
MACRO_ADDITEM(ACE_SpareBarrel,2)
MACRO_ADDITEM(ACE_SpareBarrel,2);
};
};
class I_supplyCrate_F: B_supplyCrate_F {
class TransportItems {
MACRO_ADDITEM(ACE_SpareBarrel,2)
MACRO_ADDITEM(ACE_SpareBarrel,2);
};
};
class IG_supplyCrate_F: ReammoBox_F {
class TransportItems {
MACRO_ADDITEM(ACE_SpareBarrel,2)
MACRO_ADDITEM(ACE_SpareBarrel,2);
};
};
class C_supplyCrate_F: ReammoBox_F {
class TransportItems {
MACRO_ADDITEM(ACE_SpareBarrel,2)
MACRO_ADDITEM(ACE_SpareBarrel,2);
};
};
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems {
MACRO_ADDITEM(ACE_SpareBarrel,6)
MACRO_ADDITEM(ACE_SpareBarrel,6);
};
};

View File

@ -0,0 +1,34 @@
class CfgVehicles {
class Box_NATO_Support_F;
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems {
class _xx_ACE_Altimeter {
name = "ACE_Altimeter";
count = 6;
};
};
class TransportBackpacks {
class _xx_ACE_NonSteerableParachute {
backpack = "ACE_NonSteerableParachute";
count = 4;
};
};
};
class B_Parachute;
class ACE_NonSteerableParachute: B_Parachute {
author = "$STR_ACE_Common_ACETeam";
scope = 2;
displayName = "$STR_ACE_Parachute_NonSteerableParachute";
//picture = "\A3\Characters_F\data\ui\icon_b_parachute_ca.paa"; // @todo
//model = "\A3\Weapons_F\Ammoboxes\Bags\Backpack_Parachute"; // @todo
// backpackSimulation = "ParachuteNonSteerable"; //ParachuteSteerable //Bis broke this in 1.40
ParachuteClass = "NonSteerable_Parachute_F";
maximumLoad = 0;
mass = 100;
};
class B_Soldier_05_f; class B_Pilot_F: B_Soldier_05_f {backpack = "ACE_NonSteerableParachute";};
class I_Soldier_04_F; class I_pilot_F: I_Soldier_04_F {backpack = "ACE_NonSteerableParachute";};
class O_helipilot_F; class O_Pilot_F: O_helipilot_F {backpack = "ACE_NonSteerableParachute";};
};

View File

@ -0,0 +1,9 @@
class CfgWeapons {
class ItemWatch;
class ACE_Altimeter:ItemWatch {
author = "$STR_ACE_Common_ACETeam";
descriptionShort = "$STR_ACE_Parachute_AltimeterDescription";
displayName = "$STR_ACE_Parachute_AltimeterDisplayName";
picture = PATHTOF(UI\watch_altimeter.paa);
};
};

View File

@ -1,61 +1,18 @@
#include "script_component.hpp"
class CfgPatches {
class ACE_Parachute {
units[] = {"ACE_NonSteerableParachute"};
weapons[] = {"ACE_Altimeter"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};
VERSION_CONFIG;
author[] = {"Garth 'LH' de Wet"};
authorUrl = "http://garth.snakebiteink.co.za/";
};
class ACE_Parachute {
units[] = {"ACE_NonSteerableParachute"};
weapons[] = {"ACE_Altimeter"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};
VERSION_CONFIG;
author[] = {"Garth 'LH' de Wet"};
authorUrl = "http://garth.snakebiteink.co.za/";
};
};
#include "CfgEventHandlers.hpp"
#include "CfgVehicles.hpp"
#include "CfgWeapons.hpp"
#include "RscTitles.hpp"
class CfgWeapons {
class ItemWatch;
class ACE_Altimeter:ItemWatch {
author = "$STR_ACE_Common_ACETeam";
descriptionShort = "$STR_ACE_Parachute_AltimeterDescription";
displayName = "$STR_ACE_Parachute_AltimeterDisplayName";
picture = PATHTOF(UI\watch_altimeter.paa);
};
};
class CfgVehicles {
class Box_NATO_Support_F;
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems {
class _xx_ACE_Altimeter {
name = "ACE_Altimeter";
count = 6;
};
};
class TransportBackpacks {
class _xx_ACE_NonSteerableParachute {
backpack = "ACE_NonSteerableParachute";
count = 4;
};
};
};
class B_Parachute;
class ACE_NonSteerableParachute: B_Parachute {
author = "$STR_ACE_Common_ACETeam";
scope = 2;
displayName = "$STR_ACE_Parachute_NonSteerableParachute";
//picture = "\A3\Characters_F\data\ui\icon_b_parachute_ca.paa"; // @todo
//model = "\A3\Weapons_F\Ammoboxes\Bags\Backpack_Parachute"; // @todo
// backpackSimulation = "ParachuteNonSteerable"; //ParachuteSteerable //Bis broke this in 1.40
ParachuteClass = "NonSteerable_Parachute_F";
maximumLoad = 0;
mass = 100;
};
class B_Soldier_05_f; class B_Pilot_F: B_Soldier_05_f {backpack = "ACE_NonSteerableParachute";};
class I_Soldier_04_F; class I_pilot_F: I_Soldier_04_F {backpack = "ACE_NonSteerableParachute";};
class O_helipilot_F; class O_Pilot_F: O_helipilot_F {backpack = "ACE_NonSteerableParachute";};
};

View File

@ -0,0 +1,419 @@
class CfgMagazines {
class VehicleMagazine;
class 1000Rnd_Gatling_30mm_Plane_CAS_01_F: VehicleMagazine {
displayNameShort = "30mm HEI";
};
class 7Rnd_Rocket_04_HE_F: VehicleMagazine {
displayNameShort = "70mm HE";
};
class 7Rnd_Rocket_04_AP_F: 7Rnd_Rocket_04_HE_F {
displayNameShort = "70mm AP";
};
class 24Rnd_PG_missiles: VehicleMagazine {
displayNameShort = "70mm HE";
};
class 12Rnd_PG_missiles: 24Rnd_PG_missiles {
displayNameShort = "70mm HE";
};
class 2000Rnd_65x39_Belt;
class 5000Rnd_762x51_Belt: 2000Rnd_65x39_Belt {
displayNameShort = "7.62mm";
};
class 5000Rnd_762x51_Yellow_Belt: 5000Rnd_762x51_Belt {
displayNameShort = "7.62mm";
};
class 500Rnd_127x99_mag: VehicleMagazine {
displayNameShort = "12.7mm";
};
class 500Rnd_127x99_mag_Tracer_Green: 500Rnd_127x99_mag {
displayNameShort = "12.7mm";
};
class 500Rnd_127x99_mag_Tracer_Red: 500Rnd_127x99_mag {
displayNameShort = "12.7mm";
};
class 500Rnd_127x99_mag_Tracer_Yellow: 500Rnd_127x99_mag {
displayNameShort = "12.7mm";
};
class 200Rnd_127x99_mag: 500Rnd_127x99_mag {
displayNameShort = "12.7mm";
};
class 200Rnd_127x99_mag_Tracer_Green: 200Rnd_127x99_mag {
displayNameShort = "12.7mm";
};
class 200Rnd_127x99_mag_Tracer_Red: 200Rnd_127x99_mag {
displayNameShort = "12.7mm";
};
class 200Rnd_127x99_mag_Tracer_Yellow: 200Rnd_127x99_mag {
displayNameShort = "12.7mm";
};
class 100Rnd_127x99_mag: 500Rnd_127x99_mag {
displayNameShort = "12.7mm";
};
class 100Rnd_127x99_mag_Tracer_Green: 100Rnd_127x99_mag {
displayNameShort = "12.7mm";
};
class 100Rnd_127x99_mag_Tracer_Red: 100Rnd_127x99_mag {
displayNameShort = "12.7mm";
};
class 100Rnd_127x99_mag_Tracer_Yellow: 100Rnd_127x99_mag {
displayNameShort = "12.7mm";
};
class 200Rnd_40mm_G_belt: VehicleMagazine {
displayNameShort = "40mm HE";
};
class 24Rnd_missiles: VehicleMagazine {
displayNameShort = "70mm HE";
};
class 300Rnd_20mm_shells: VehicleMagazine {
displayNameShort = "20mm HE";
};
class 14Rnd_80mm_rockets: VehicleMagazine {
displayNameShort = "70mm HE";
};
class 250Rnd_30mm_HE_shells: VehicleMagazine {
displayNameShort = "30mm HE";
};
class 250Rnd_30mm_APDS_shells: 250Rnd_30mm_HE_shells {
displayNameShort = "30mm APDS";
};
class 20Rnd_Rocket_03_HE_F: 7Rnd_Rocket_04_HE_F {
displayNameShort = "80mm HE";
};
class 20Rnd_Rocket_03_AP_F: 7Rnd_Rocket_04_AP_F {
displayNameShort = "80mm AP";
};
class 500Rnd_Cannon_30mm_Plane_CAS_02_F: 1000Rnd_Gatling_30mm_Plane_CAS_01_F {
displayNameShort = "30mm HEI-T";
};
class 680Rnd_35mm_AA_shells: VehicleMagazine {
displayNameShort = "35mm HEI";
};
class 680Rnd_35mm_AA_shells_Tracer_Red: 680Rnd_35mm_AA_shells {
displayNameShort = "35mm HEI-T";
};
class 680Rnd_35mm_AA_shells_Tracer_Green: 680Rnd_35mm_AA_shells {
displayNameShort = "35mm HEI-T";
};
class 680Rnd_35mm_AA_shells_Tracer_Yellow: 680Rnd_35mm_AA_shells {
displayNameShort = "35mm HEI-T";
};
class 32Rnd_155mm_Mo_shells: VehicleMagazine {
displayNameShort = "155mm HE";
};
class 6Rnd_155mm_Mo_smoke: 32Rnd_155mm_Mo_shells {
displayNameShort = "155mm Smoke";
};
class 6Rnd_155mm_Mo_mine: 6Rnd_155mm_Mo_smoke {
displayNameShort = "155mm Mines";
};
class 6Rnd_155mm_Mo_AT_mine: 6Rnd_155mm_Mo_smoke {
displayNameShort = "155mm AT Mines";
};
class 2Rnd_155mm_Mo_Cluster: 6Rnd_155mm_Mo_smoke {
displayNameShort = "155mm Cluster";
};
class 2Rnd_155mm_Mo_guided: 6Rnd_155mm_Mo_smoke {
displayNameShort = "155mm Guided";
};
class 2Rnd_155mm_Mo_LG: 6Rnd_155mm_Mo_smoke {
displayNameShort = "155mm Laser Guided";
};
class 12Rnd_230mm_rockets: 14Rnd_80mm_rockets {
displayName = "227mm HE Missile";
displayNameShort = "227mm HE";
};
class 30Rnd_120mm_HE_shells: VehicleMagazine {
displayNameShort = "120mm HE";
};
class 30Rnd_120mm_HE_shells_Tracer_Red: 30Rnd_120mm_HE_shells {
displayNameShort = "120mm HE-T";
};
class 30Rnd_120mm_HE_shells_Tracer_Green: 30Rnd_120mm_HE_shells {
displayNameShort = "120mm HE-T";
};
class 30Rnd_120mm_HE_shells_Tracer_Yellow: 30Rnd_120mm_HE_shells {
displayNameShort = "120mm HE-T";
};
class 30Rnd_120mm_APFSDS_shells: 30Rnd_120mm_HE_shells {
displayNameShort = "120mm AP";
};
class 30Rnd_120mm_APFSDS_shells_Tracer_Red: 30Rnd_120mm_APFSDS_shells {
displayNameShort = "120mm AP-T";
};
class 30Rnd_120mm_APFSDS_shells_Tracer_Green: 30Rnd_120mm_APFSDS_shells {
displayNameShort = "120mm AP-T";
};
class 30Rnd_120mm_APFSDS_shells_Tracer_Yellow: 30Rnd_120mm_APFSDS_shells {
displayNameShort = "120mm AP-T";
};
class 200Rnd_762x51_Belt: VehicleMagazine {
displayNameShort = "7.62mm";
};
class 200Rnd_762x51_Belt_Red: 200Rnd_762x51_Belt {};
class 200Rnd_762x51_Belt_Green: 200Rnd_762x51_Belt {};
class 200Rnd_762x51_Belt_Yellow: 200Rnd_762x51_Belt {};
class 200Rnd_762x51_Belt_T_Red: 200Rnd_762x51_Belt_Red {
displayNameShort = "7.62mm";
};
class 200Rnd_762x51_Belt_T_Green: 200Rnd_762x51_Belt_Green {
displayNameShort = "7.62mm";
};
class 200Rnd_762x51_Belt_T_Yellow: 200Rnd_762x51_Belt_Yellow {
displayNameShort = "7.62mm";
};
class 2000Rnd_762x51_Belt_Red;
class 2000Rnd_762x51_Belt_T_Red: 2000Rnd_762x51_Belt_Red {
displayNameShort = "7.62mm";
};
class 2000Rnd_762x51_Belt_Green;
class 2000Rnd_762x51_Belt_T_Green: 2000Rnd_762x51_Belt_Green {
displayNameShort = "7.62mm";
};
class 2000Rnd_762x51_Belt_Yellow;
class 2000Rnd_762x51_Belt_T_Yellow: 2000Rnd_762x51_Belt_Yellow {
displayNameShort = "7.62mm";
};
class 1000Rnd_762x51_Belt_Red;
class 1000Rnd_762x51_Belt_T_Red: 1000Rnd_762x51_Belt_Red {
displayNameShort = "7.62mm";
};
class 1000Rnd_762x51_Belt_Green;
class 1000Rnd_762x51_Belt_T_Green: 1000Rnd_762x51_Belt_Green {
displayNameShort = "7.62mm";
};
class 1000Rnd_762x51_Belt_Yellow;
class 1000Rnd_762x51_Belt_T_Yellow: 1000Rnd_762x51_Belt_Yellow {
displayNameShort = "7.62mm";
};
class 16Rnd_120mm_HE_shells;
class 12Rnd_125mm_HE: 16Rnd_120mm_HE_shells {
displayNameShort = "125mm HE";
};
class 16Rnd_120mm_HE_shells_Tracer_Red;
class 12Rnd_125mm_HE_T_Red: 16Rnd_120mm_HE_shells_Tracer_Red {
displayNameShort = "125mm HE-T";
};
class 16Rnd_120mm_HE_shells_Tracer_Green;
class 12Rnd_125mm_HE_T_Green: 16Rnd_120mm_HE_shells_Tracer_Green {
displayNameShort = "125mm HE-T";
};
class 16Rnd_120mm_HE_shells_Tracer_Yellow;
class 12Rnd_125mm_HE_T_Yellow: 16Rnd_120mm_HE_shells_Tracer_Yellow {
displayNameShort = "125mm HE-T";
};
class 12Rnd_125mm_HEAT: 12Rnd_125mm_HE {
displayNameShort = "125mm MP";
};
class 12Rnd_125mm_HEAT_T_Red: 12Rnd_125mm_HEAT {
displayNameShort = "125mm MP-T";
};
class 12Rnd_125mm_HEAT_T_Green: 12Rnd_125mm_HEAT {
displayNameShort = "125mm MP-T";
};
class 12Rnd_125mm_HEAT_T_Yellow: 12Rnd_125mm_HEAT {
displayNameShort = "125mm MP-T";
};
class 32Rnd_120mm_APFSDS_shells;
class 24Rnd_125mm_APFSDS: 32Rnd_120mm_APFSDS_shells {
displayNameShort = "125mm AP";
};
class 32Rnd_120mm_APFSDS_shells_Tracer_Red;
class 24Rnd_125mm_APFSDS_T_Red: 32Rnd_120mm_APFSDS_shells_Tracer_Red {
displayNameShort = "125mm AP-T";
};
class 32Rnd_120mm_APFSDS_shells_Tracer_Green;
class 24Rnd_125mm_APFSDS_T_Green: 32Rnd_120mm_APFSDS_shells_Tracer_Green {
displayNameShort = "125mm AP-T";
};
class 32Rnd_120mm_APFSDS_shells_Tracer_Yellow;
class 24Rnd_125mm_APFSDS_T_Yellow: 32Rnd_120mm_APFSDS_shells_Tracer_Yellow {
displayNameShort = "125mm AP-T";
};
class 20Rnd_105mm_HEAT_MP: 12Rnd_125mm_HEAT {
displayNameShort = "105mm MP";
};
class 20Rnd_105mm_HEAT_MP_T_Red: 20Rnd_105mm_HEAT_MP {
displayNameShort = "105mm MP-T";
};
class 20Rnd_105mm_HEAT_MP_T_Green: 20Rnd_105mm_HEAT_MP {
displayNameShort = "105mm MP-T";
};
class 20Rnd_105mm_HEAT_MP_T_Yellow: 20Rnd_105mm_HEAT_MP {
displayNameShort = "105mm MP-T";
};
class 40Rnd_105mm_APFSDS: 24Rnd_125mm_APFSDS {
displayNameShort = "105mm AP";
};
class 40Rnd_105mm_APFSDS_T_Red: 40Rnd_105mm_APFSDS {
displayNameShort = "105mm AP-T";
};
class 40Rnd_105mm_APFSDS_T_Green: 40Rnd_105mm_APFSDS {
displayNameShort = "105mm AP-T";
};
class 40Rnd_105mm_APFSDS_T_Yellow: 40Rnd_105mm_APFSDS {
displayNameShort = "105mm AP-T";
};
class 60Rnd_40mm_GPR_shells: VehicleMagazine {
displayNameShort = "40mm GPR";
};
class 60Rnd_40mm_GPR_Tracer_Red_shells: 60Rnd_40mm_GPR_shells {
displayNameShort = "40mm GPR-T";
};
class 60Rnd_40mm_GPR_Tracer_Green_shells: 60Rnd_40mm_GPR_shells {
displayNameShort = "40mm GPR-T";
};
class 60Rnd_40mm_GPR_Tracer_Yellow_shells: 60Rnd_40mm_GPR_shells {
displayNameShort = "40mm GPR-T";
};
class 40Rnd_40mm_APFSDS_shells: 60Rnd_40mm_GPR_shells {
displayNameShort = "40mm AP";
};
class 40Rnd_40mm_APFSDS_Tracer_Red_shells: 40Rnd_40mm_APFSDS_shells {
displayNameShort = "40mm AP-T";
};
class 40Rnd_40mm_APFSDS_Tracer_Green_shells: 40Rnd_40mm_APFSDS_Tracer_Red_shells {
displayNameShort = "40mm AP-T";
};
class 40Rnd_40mm_APFSDS_Tracer_Yellow_shells: 40Rnd_40mm_APFSDS_Tracer_Red_shells {
displayNameShort = "40mm AP-T";
};
class 450Rnd_127x108_Ball: VehicleMagazine {
displayNameShort = "12.7mm";
};
class 140Rnd_30mm_MP_shells: 250Rnd_30mm_HE_shells {
displayNameShort = "30mm MP";
};
class 140Rnd_30mm_MP_shells_Tracer_Red: 140Rnd_30mm_MP_shells {
displayNameShort = "30mm MP-T";
};
class 140Rnd_30mm_MP_shells_Tracer_Green: 140Rnd_30mm_MP_shells_Tracer_Red {
displayNameShort = "30mm MP-T";
};
class 140Rnd_30mm_MP_shells_Tracer_Yellow: 140Rnd_30mm_MP_shells_Tracer_Red {
displayNameShort = "30mm MP-T";
};
class 60Rnd_30mm_APFSDS_shells: 250Rnd_30mm_HE_shells {
displayNameShort = "30mm AP";
};
class 60Rnd_30mm_APFSDS_shells_Tracer_Red: 60Rnd_30mm_APFSDS_shells {
displayNameShort = "30mm AP-T";
};
class 60Rnd_30mm_APFSDS_shells_Tracer_Green: 60Rnd_30mm_APFSDS_shells {
displayNameShort = "30mm AP-T";
};
class 60Rnd_30mm_APFSDS_shells_Tracer_Yellow: 60Rnd_30mm_APFSDS_shells {
displayNameShort = "30mm AP-T";
};
class 200Rnd_20mm_G_belt: VehicleMagazine {
displayNameShort = "20mm HE";
};
class 40Rnd_20mm_G_belt: 200Rnd_20mm_G_belt {
displayNameShort = "20mm HE";
};
// mines
class CA_Magazine;
// http://en.wikipedia.org/wiki/M15_mine
class ATMine_Range_Mag: CA_Magazine {
displayName = "$STR_ACE_RealisticNames_ATMine_Name";
};
// http://en.wikipedia.org/wiki/VS-50_mine
class APERSMine_Range_Mag: ATMine_Range_Mag {
displayName = "$STR_ACE_RealisticNames_APERSMine_Name";
};
// https://www.buymilsurp.com/us-m26-antipersonnel-bounding-mine-p-5419.html
class APERSBoundingMine_Range_Mag: ATMine_Range_Mag {
displayName = "$STR_ACE_RealisticNames_APERSBoundingMine_Name";
};
// http://en.wikipedia.org/wiki/PMR-3_mine
class APERSTripMine_Wire_Mag: ATMine_Range_Mag {
displayName = "$STR_ACE_RealisticNames_APERSTripwireMine_Name";
};
// the following ones can be found here: http://www.dtic.mil/dtic/tr/fulltext/u2/a567897.pdf
class SLAMDirectionalMine_Wire_Mag: ATMine_Range_Mag {
displayName = "$STR_ACE_RealisticNames_SLAM_Name";
};
// claymore
class ClaymoreDirectionalMine_Remote_Mag: CA_Magazine {
displayName = "$STR_ACE_RealisticNames_Claymore_Name";
};
// satchels
class SatchelCharge_Remote_Mag: CA_Magazine {
displayName = "$STR_ACE_RealisticNames_SatchelCharge_Name";
};
class DemoCharge_Remote_Mag: SatchelCharge_Remote_Mag {
displayName = "$STR_ACE_RealisticNames_DemoCharge_Name";
};
// hand grenades
class HandGrenade: CA_Magazine {
displayName = "$STR_ACE_RealisticNames_HandGrenade_Name";
};
class SmokeShell: HandGrenade {
displayName = "$STR_ACE_RealisticNames_SmokeShell_Name";
};
class SmokeShellBlue: SmokeShell {
displayName = "$STR_ACE_RealisticNames_SmokeShellBlue_Name";
};
class SmokeShellGreen: SmokeShell {
displayName = "$STR_ACE_RealisticNames_SmokeShellGreen_Name";
};
class SmokeShellOrange: SmokeShell {
displayName = "$STR_ACE_RealisticNames_SmokeShellOrange_Name";
};
class SmokeShellPurple: SmokeShell {
displayName = "$STR_ACE_RealisticNames_SmokeShellPurple_Name";
};
class SmokeShellRed: SmokeShell {
displayName = "$STR_ACE_RealisticNames_SmokeShellRed_Name";
};
class SmokeShellYellow: SmokeShell {
displayName = "$STR_ACE_RealisticNames_SmokeShellYellow_Name";
};
};

View File

@ -0,0 +1,555 @@
class CfgVehicles {
// static weapons
class StaticMGWeapon;
class HMG_01_base_F: StaticMGWeapon {
displayName = "$STR_ACE_RealisticNames_HMG_01_Name";
};
class HMG_01_A_base_F: HMG_01_base_F {
displayName = "$STR_ACE_RealisticNames_HMG_01_A_Name";
};
class HMG_01_high_base_F: HMG_01_base_F {
displayName = "$STR_ACE_RealisticNames_HMG_01_high_Name";
};
class AT_01_base_F;
class B_static_AT_F: AT_01_base_F {
displayName = "$STR_ACE_RealisticNames_static_AT_Name";
};
class O_static_AT_F: AT_01_base_F {
displayName = "$STR_ACE_RealisticNames_static_AT_Name";
};
class I_static_AT_F: AT_01_base_F {
displayName = "$STR_ACE_RealisticNames_static_AT_Name";
};
class AA_01_base_F;
class B_static_AA_F: AA_01_base_F {
displayName = "$STR_ACE_RealisticNames_static_AA_Name";
};
class O_static_AA_F: AA_01_base_F {
displayName = "$STR_ACE_RealisticNames_static_AA_Name";
};
class I_static_AA_F: AA_01_base_F {
displayName = "$STR_ACE_RealisticNames_static_AA_Name";
};
class GMG_TriPod;
class GMG_01_base_F: GMG_TriPod {
displayName = "$STR_ACE_RealisticNames_GMG_01_Name";
};
class GMG_01_A_base_F: GMG_01_base_F {
displayName = "$STR_ACE_RealisticNames_GMG_01_A_Name";
};
class GMG_01_high_base_F: GMG_01_base_F {
displayName = "$STR_ACE_RealisticNames_GMG_01_high_Name";
};
// M-ATV
class MRAP_01_base_F;
class B_MRAP_01_F: MRAP_01_base_F {
displayName = "$STR_ACE_RealisticNames_MRAP_01_Name";
};
class MRAP_01_gmg_base_F: MRAP_01_base_F {};
class B_MRAP_01_gmg_F: MRAP_01_gmg_base_F {
displayName = "$STR_ACE_RealisticNames_MRAP_01_gmg_Name";
};
class MRAP_01_hmg_base_F: MRAP_01_gmg_base_F {};
class B_MRAP_01_hmg_F: MRAP_01_hmg_base_F {
displayName = "$STR_ACE_RealisticNames_MRAP_01_hmg_Name";
};
// punisher
class MRAP_02_base_F;
class O_MRAP_02_F: MRAP_02_base_F {
displayName = "$STR_ACE_RealisticNames_MRAP_02_Name";
};
class MRAP_02_hmg_base_F: MRAP_02_base_F {};
class O_MRAP_02_hmg_F: MRAP_02_hmg_base_F {
displayName = "$STR_ACE_RealisticNames_MRAP_02_hmg_Name";
};
class MRAP_02_gmg_base_F: MRAP_02_hmg_base_F {};
class O_MRAP_02_gmg_F: MRAP_02_gmg_base_F {
displayName = "$STR_ACE_RealisticNames_MRAP_02_gmg_Name";
};
// strider
class MRAP_03_base_F;
class I_MRAP_03_F: MRAP_03_base_F {
displayName = "$STR_ACE_RealisticNames_MRAP_03_Name";
};
class MRAP_03_hmg_base_F: MRAP_03_base_F {};
class I_MRAP_03_hmg_F: MRAP_03_hmg_base_F {
displayName = "$STR_ACE_RealisticNames_MRAP_03_hmg_Name";
};
class MRAP_03_gmg_base_F: MRAP_03_hmg_base_F {};
class I_MRAP_03_gmg_F: MRAP_03_gmg_base_F {
displayName = "$STR_ACE_RealisticNames_MRAP_03_gmg_Name";
};
// merkava derivates
class MBT_01_base_F;
class B_MBT_01_base_F: MBT_01_base_F {};
class B_MBT_01_cannon_F: B_MBT_01_base_F {
displayName = "$STR_ACE_RealisticNames_MBT_01_cannon_Name";
};
class B_MBT_01_TUSK_F: B_MBT_01_cannon_F {
displayName = "$STR_ACE_RealisticNames_MBT_01_TUSK_Name";
};
class MBT_01_arty_base_F: MBT_01_base_F {};
class B_MBT_01_arty_base_F: MBT_01_arty_base_F {};
class B_MBT_01_arty_F: B_MBT_01_arty_base_F {
displayName = "$STR_ACE_RealisticNames_MBT_01_arty_Name";
};
class MBT_01_mlrs_base_F: MBT_01_base_F {};
class B_MBT_01_mlrs_base_F: MBT_01_mlrs_base_F {};
class B_MBT_01_mlrs_F: B_MBT_01_mlrs_base_F {
displayName = "$STR_ACE_RealisticNames_MBT_01_mlrs_Name"; // Fictional name, (probably wrong) hebrew translation of storm.
};
// T100 derivates
class MBT_02_base_F;
class O_MBT_02_base_F: MBT_02_base_F {};
class O_MBT_02_cannon_F: O_MBT_02_base_F {
displayName = "$STR_ACE_RealisticNames_MBT_02_cannon_Name";
};
class MBT_02_arty_base_F: MBT_02_base_F {};
class O_MBT_02_arty_base_F: MBT_02_arty_base_F {};
class O_MBT_02_arty_F: O_MBT_02_arty_base_F {
displayName = "$STR_ACE_RealisticNames_MBT_02_arty_Name";
};
// leopard sg
class I_MBT_03_base_F;
class I_MBT_03_cannon_F: I_MBT_03_base_F {
displayName = "$STR_ACE_RealisticNames_MBT_03_cannon_Name";
};
// tracked apcs
class B_APC_Tracked_01_base_F;
class B_APC_Tracked_01_rcws_F: B_APC_Tracked_01_base_F {
displayName = "$STR_ACE_RealisticNames_APC_Tracked_01_rcws_Name";
};
class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F {
displayName = "$STR_ACE_RealisticNames_APC_Tracked_01_AA_Name"; // Fictional name, (probably wrong) hebrew translation of cheetah.
};
class B_APC_Tracked_01_CRV_F: B_APC_Tracked_01_base_F {
displayName = "$STR_ACE_RealisticNames_APC_Tracked_01_CRV_Name";
};
class O_APC_Tracked_02_base_F;
class O_APC_Tracked_02_cannon_F: O_APC_Tracked_02_base_F {
displayName = "$STR_ACE_RealisticNames_APC_Tracked_02_cannon_Name";
};
class O_APC_Tracked_02_AA_F: O_APC_Tracked_02_base_F {
displayName = "$STR_ACE_RealisticNames_APC_Tracked_02_AA_Name";
};
class I_APC_tracked_03_base_F;
class I_APC_tracked_03_cannon_F: I_APC_tracked_03_base_F {
displayName = "$STR_ACE_RealisticNames_APC_tracked_03_cannon_Name";
};
// wheeled apcs
class B_APC_Wheeled_01_base_F;
class B_APC_Wheeled_01_cannon_F: B_APC_Wheeled_01_base_F {
displayName = "$STR_ACE_RealisticNames_APC_Wheeled_cannon_Name";
};
class O_APC_Wheeled_02_base_F;
class O_APC_Wheeled_02_rcws_F: O_APC_Wheeled_02_base_F {
displayName = "$STR_ACE_RealisticNames_APC_Wheeled_02_rcws_Name";
};
class I_APC_Wheeled_03_base_F;
class I_APC_Wheeled_03_cannon_F: I_APC_Wheeled_03_base_F {
displayName = "$STR_ACE_RealisticNames_APC_Wheeled_03_cannon_Name";
};
// trucks
class Truck_01_base_F;
class B_Truck_01_transport_F: Truck_01_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_01_transport_Name";
};
class B_Truck_01_covered_F: B_Truck_01_transport_F {
displayName = "$STR_ACE_RealisticNames_Truck_01_covered_Name";
};
class B_Truck_01_mover_F: B_Truck_01_transport_F {
displayName = "$STR_ACE_RealisticNames_Truck_01_mover_Name";
};
class B_Truck_01_box_F: B_Truck_01_mover_F {
displayName = "$STR_ACE_RealisticNames_Truck_01_box_Name";
};
class B_Truck_01_medical_F: B_Truck_01_transport_F {
displayName = "$STR_ACE_RealisticNames_Truck_01_medical_Name";
};
class B_Truck_01_ammo_F: B_Truck_01_mover_F {
displayName = "$STR_ACE_RealisticNames_Truck_01_ammo_Name";
};
class B_Truck_01_fuel_F: B_Truck_01_mover_F {
displayName = "$STR_ACE_RealisticNames_Truck_01_fuel_Name";
};
class B_Truck_01_Repair_F: B_Truck_01_mover_F {
displayName = "$STR_ACE_RealisticNames_Truck_01_Repair_Name";
};
class Truck_02_transport_base_F;
class O_Truck_02_transport_F: Truck_02_transport_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_02_transport_Name";
};
class Truck_02_base_F;
class O_Truck_02_covered_F: Truck_02_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_02_covered_Name";
};
class Truck_02_Ammo_base_F;
class O_Truck_02_ammo_F: Truck_02_Ammo_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_02_ammo_Name";
};
class Truck_02_fuel_base_F;
class O_Truck_02_fuel_F: Truck_02_fuel_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_02_fuel_Name";
};
class Truck_02_box_base_F;
class O_Truck_02_box_F: Truck_02_box_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_02_box_Name";
};
class Truck_02_medical_base_F;
class O_Truck_02_medical_F: Truck_02_medical_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_02_medical_Name";
};
class I_Truck_02_transport_F: Truck_02_transport_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_02_transport_Name";
};
class I_Truck_02_covered_F: Truck_02_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_02_covered_Name";
};
class I_Truck_02_ammo_F: Truck_02_Ammo_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_02_ammo_Name";
};
class I_Truck_02_fuel_F: Truck_02_fuel_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_02_fuel_Name";
};
class I_Truck_02_box_F: Truck_02_box_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_02_box_Name";
};
class I_Truck_02_medical_F: Truck_02_medical_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_02_medical_Name";
};
class Truck_03_base_F;
class O_Truck_03_transport_F: Truck_03_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_03_transport_Name";
};
class O_Truck_03_covered_F: Truck_03_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_03_covered_Name";
};
class O_Truck_03_device_F: Truck_03_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_03_device_Name";
};
class O_Truck_03_ammo_F: Truck_03_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_03_ammo_Name";
};
class O_Truck_03_fuel_F: Truck_03_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_03_fuel_Name";
};
class O_Truck_03_repair_F: Truck_03_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_03_repair_Name";
};
class O_Truck_03_medical_F: Truck_03_base_F {
displayName = "$STR_ACE_RealisticNames_Truck_03_medical_Name";
};
// helicopters
class Heli_Attack_01_base_F;
class B_Heli_Attack_01_F: Heli_Attack_01_base_F {
displayName = "$STR_ACE_RealisticNames_Heli_Attack_01_Name";
};
class Heli_Light_01_unarmed_base_F;
class B_Heli_Light_01_F: Heli_Light_01_unarmed_base_F {
displayName = "$STR_ACE_RealisticNames_Heli_Light_01_Name";
};
class Heli_Light_01_armed_base_F;
class B_Heli_Light_01_armed_F: Heli_Light_01_armed_base_F {
displayName = "$STR_ACE_RealisticNames_Heli_Light_01_armed_Name";
};
class Heli_Light_01_civil_base_F: Heli_Light_01_unarmed_base_F {
displayName = "$STR_ACE_RealisticNames_Heli_Light_01_civil_Name";
};
class Heli_Transport_03_base_F;
class B_Heli_Transport_03_F: Heli_Transport_03_base_F {
displayName = "$STR_ACE_RealisticNames_Heli_Transport_03_Name";
};
class Heli_Transport_03_unarmed_base_F;
class B_Heli_Transport_03_unarmed_F: Heli_Transport_03_unarmed_base_F {
displayName = "$STR_ACE_RealisticNames_Heli_Transport_03_unarmed_Name";
};
class Heli_Light_02_base_F;
class O_Heli_Light_02_F: Heli_Light_02_base_F {
displayName = "$STR_ACE_RealisticNames_Heli_Light_02_Name";
};
class Heli_Light_02_unarmed_base_F;
class O_Heli_Light_02_unarmed_F: Heli_Light_02_unarmed_base_F {
displayName = "$STR_ACE_RealisticNames_Heli_Light_02_unarmed_Name";
};
class Heli_light_03_base_F;
class I_Heli_light_03_F: Heli_light_03_base_F {
displayName = "$STR_ACE_RealisticNames_Heli_light_03_Name";
};
class Heli_light_03_unarmed_base_F;
class I_Heli_light_03_unarmed_F: Heli_light_03_unarmed_base_F {
displayName = "$STR_ACE_RealisticNames_Heli_light_03_unarmed_Name";
};
class Heli_Transport_02_base_F;
class I_Heli_Transport_02_F: Heli_Transport_02_base_F {
displayName = "$STR_ACE_RealisticNames_Heli_Transport_02_Name";
};
// planes
class Plane_CAS_01_base_F;
class B_Plane_CAS_01_F: Plane_CAS_01_base_F {
displayName = "$STR_ACE_RealisticNames_Plane_CAS_01_Name";
};
class Plane_CAS_02_base_F;
class O_Plane_CAS_02_F: Plane_CAS_02_base_F {
displayName = "$STR_ACE_RealisticNames_Plane_CAS_02_Name";
};
class Plane_Fighter_03_base_F;
class I_Plane_Fighter_03_CAS_F: Plane_Fighter_03_base_F {
displayName = "$STR_ACE_RealisticNames_Plane_Fighter_03_CAS_Name";
};
class I_Plane_Fighter_03_AA_F: I_Plane_Fighter_03_CAS_F {
displayName = "$STR_ACE_RealisticNames_Plane_Fighter_03_AA_Name";
};
// uavs
class UAV_02_base_F;
class B_UAV_02_F: UAV_02_base_F {
displayName = "$STR_ACE_RealisticNames_UAV_02_Name";
};
class O_UAV_02_F: UAV_02_base_F {
displayName = "$STR_ACE_RealisticNames_UAV_02_Name";
};
class I_UAV_02_F: UAV_02_base_F {
displayName = "$STR_ACE_RealisticNames_UAV_02_Name";
};
class UAV_02_CAS_base_F: UAV_02_base_F {};
class B_UAV_02_CAS_F: UAV_02_CAS_base_F {
displayName = "$STR_ACE_RealisticNames_UAV_02_CAS_Name";
};
class O_UAV_02_CAS_F: UAV_02_CAS_base_F {
displayName = "$STR_ACE_RealisticNames_UAV_02_CAS_Name";
};
class I_UAV_02_CAS_F: UAV_02_CAS_base_F {
displayName = "$STR_ACE_RealisticNames_UAV_02_CAS_Name";
};
// pistols
class Pistol_Base_F;
class Weapon_hgun_P07_F: Pistol_Base_F {
displayName = "$STR_ACE_RealisticNames_hgun_P07_Name";
};
class Weapon_hgun_Rook40_F: Pistol_Base_F {
displayName = "$STR_ACE_RealisticNames_hgun_Rook40_Name";
};
class Weapon_hgun_ACPC2_F: Pistol_Base_F {
displayName = "$STR_ACE_RealisticNames_hgun_ACPC2_Name";
};
class Weapon_hgun_Pistol_heavy_01_F: Pistol_Base_F {
displayName = "$STR_ACE_RealisticNames_hgun_Pistol_heavy_01_Name";
};
class Weapon_hgun_Pistol_heavy_02_F: Pistol_Base_F {
displayName = "$STR_ACE_RealisticNames_hgun_Pistol_heavy_02_Name";
};
class Weapon_hgun_Pistol_Signal_F: Pistol_Base_F {
displayName = "$STR_ACE_RealisticNames_hgun_Pistol_Signal_Name";
};
// rocket launchers
class Launcher_Base_F;
class Weapon_launch_NLAW_F: Launcher_Base_F {
displayName = "$STR_ACE_RealisticNames_launch_NLAW_Name";
};
class Weapon_launch_RPG32_F: Launcher_Base_F {
displayName = "$STR_ACE_RealisticNames_launch_RPG32_Name";
};
class Weapon_launch_Titan_F: Launcher_Base_F {
displayName = "$STR_ACE_RealisticNames_launch_Titan_Name";
};
class Weapon_launch_Titan_short_F: Launcher_Base_F {
displayName = "$STR_ACE_RealisticNames_launch_Titan_short_Name";
};
class Weapon_launch_B_Titan_F: Launcher_Base_F {
displayName = "$STR_ACE_RealisticNames_launch_Titan_Name";
};
//class Weapon_launch_I_Titan_F: Weapon_launch_B_Titan_F {};
//class Weapon_launch_O_Titan_F: Weapon_launch_B_Titan_F {};
class Weapon_launch_launch_B_Titan_short_F: Launcher_Base_F {
displayName = "$STR_ACE_RealisticNames_launch_Titan_short_Name";
};
//class Weapon_launch_I_Titan_short_F: Weapon_launch_launch_B_Titan_short_F {};
//class Weapon_launch_O_Titan_short_F: Weapon_launch_launch_B_Titan_short_F {};
// rifles
// MX
class Weapon_Base_F;
class Weapon_arifle_MX_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_MX_Name";
};
class Weapon_arifle_MXC_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_MXC_Name";
};
class Weapon_arifle_MX_GL_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_MX_GL_Name";
};
class Weapon_arifle_MX_SW_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_MX_SW_Name";
};
class Weapon_arifle_MXM_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_MXM_Name";
};
// Katiba
class Weapon_arifle_Katiba_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Katiba_Name";
};
class Weapon_arifle_Katiba_C_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Katiba_C_Name";
};
class Weapon_arifle_Katiba_GL_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Katiba_GL_Name";
};
// F2000
class Weapon_arifle_Mk20_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Mk20_Name";
};
class Weapon_arifle_Mk20_plain_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Mk20_plain_Name";
};
class Weapon_arifle_Mk20C_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Mk20C_Name";
};
class Weapon_arifle_Mk20C_plain_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Mk20C_plain_Name";
};
class Weapon_arifle_Mk20_GL_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Mk20_GL_Name";
};
class Weapon_arifle_Mk20_GL_plain_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Mk20_GL_plain_Name";
};
// TAR-21
class Weapon_arifle_TRG21_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_TRG21_Name";
};
class Weapon_arifle_TRG20_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_TRG20_Name";
};
class Weapon_arifle_TRG21_GL_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_TRG21_GL_Name";
};
// sub machine guns
class Weapon_SMG_01_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_SMG_01_Name";
};
class Weapon_SMG_02_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_SMG_02_Name";
};
class Weapon_hgun_PDW2000_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_hgun_PDW2000_Name";
};
class Weapon_arifle_SDAR_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_SDAR_Name";
};
// machine guns
class Weapon_LMG_Mk200_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_LMG_Mk200_Name";
};
class Weapon_LMG_Zafir_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_LMG_Zafir_Name";
};
// sniper rifles
class Weapon_srifle_EBR_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_srifle_EBR_Name";
};
class Weapon_srifle_GM6_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_srifle_GM6_Name";
};
class Weapon_srifle_GM6_camo_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_srifle_GM6_camo_Name";
};
class Weapon_srifle_LRR_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_srifle_LRR_Name";
};
class Weapon_srifle_LRR_camo_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_srifle_LRR_camo_Name";
};
class Weapon_srifle_DMR_01_F: Weapon_Base_F {
displayName = "$STR_ACE_RealisticNames_srifle_DMR_01_Name";
};
};

View File

@ -0,0 +1,461 @@
class Mode_FullAuto;
class CfgWeapons {
// assault rifles
// MX
class arifle_MX_Base_F;
class arifle_MX_F: arifle_MX_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_MX_Name";
};
class arifle_MX_Black_F: arifle_MX_F {
displayName = "$STR_ACE_RealisticNames_arifle_MX_Black_Name";
};
class arifle_MXC_F: arifle_MX_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_MXC_Name";
};
class arifle_MXC_Black_F: arifle_MXC_F {
displayName = "$STR_ACE_RealisticNames_arifle_MXC_Black_Name";
};
class arifle_MX_GL_F: arifle_MX_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_MX_GL_Name";
};
class arifle_MX_GL_Black_F: arifle_MX_GL_F {
displayName = "$STR_ACE_RealisticNames_arifle_MX_GL_Black_Name";
};
class arifle_MX_SW_F: arifle_MX_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_MX_SW_Name";
};
class arifle_MX_SW_Black_F: arifle_MX_SW_F {
displayName = "$STR_ACE_RealisticNames_arifle_MX_SW_Black_Name";
};
class arifle_MXM_F: arifle_MX_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_MXM_Name";
};
class arifle_MXM_Black_F: arifle_MXM_F {
displayName = "$STR_ACE_RealisticNames_arifle_MXM_Black_Name";
};
// Katiba
class arifle_katiba_Base_F;
class arifle_Katiba_F: arifle_katiba_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Katiba_Name";
};
class arifle_Katiba_GL_F: arifle_katiba_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Katiba_GL_Name";
};
class arifle_Katiba_C_F: arifle_katiba_Base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Katiba_C_Name";
};
// SDAR
class SDAR_base_F;
class arifle_SDAR_F: SDAR_base_F {
displayName = "$STR_ACE_RealisticNames_arifle_SDAR_Name";
};
// TAR-21
class Tavor_base_F;
class arifle_TRG21_F: Tavor_base_F {
displayName = "$STR_ACE_RealisticNames_arifle_TRG21_Name";
};
class arifle_TRG21_GL_F: arifle_TRG21_F {
displayName = "$STR_ACE_RealisticNames_arifle_TRG21_GL_Name";
};
class arifle_TRG20_F: Tavor_base_F {
displayName = "$STR_ACE_RealisticNames_arifle_TRG20_Name";
};
// F2000
class mk20_base_F;
class arifle_Mk20_F: mk20_base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Mk20_Name";
};
class arifle_Mk20_plain_F: arifle_Mk20_F {
displayName = "$STR_ACE_RealisticNames_arifle_Mk20_plain_Name";
};
class arifle_Mk20C_F: mk20_base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Mk20C_Name";
};
class arifle_Mk20C_plain_F: arifle_Mk20C_F {
displayName = "$STR_ACE_RealisticNames_arifle_Mk20C_plain_Name";
};
class arifle_Mk20_GL_F: mk20_base_F {
displayName = "$STR_ACE_RealisticNames_arifle_Mk20_GL_Name";
};
class arifle_Mk20_GL_plain_F: arifle_Mk20_GL_F {
displayName = "$STR_ACE_RealisticNames_arifle_Mk20_GL_plain_Name";
};
// Vector
class SMG_01_Base;
class SMG_01_F: SMG_01_Base {
displayName = "$STR_ACE_RealisticNames_SMG_01_Name";
};
// Scorpion
class SMG_02_base_F;
class SMG_02_F: SMG_02_base_F {
displayName = "$STR_ACE_RealisticNames_SMG_02_Name";
};
// PDW 2000
class pdw2000_base_F;
class hgun_pdw2000_F: pdw2000_base_F {
displayName = "$STR_ACE_RealisticNames_hgun_PDW2000_Name";
};
// pistols
class Pistol_Base_F;
class hgun_P07_F: Pistol_Base_F {
displayName = "$STR_ACE_RealisticNames_hgun_P07_Name";
};
class hgun_Rook40_F: Pistol_Base_F {
displayName = "$STR_ACE_RealisticNames_hgun_Rook40_Name";
};
class hgun_ACPC2_F: Pistol_Base_F {
displayName = "$STR_ACE_RealisticNames_hgun_ACPC2_Name";
};
class hgun_Pistol_heavy_01_F: Pistol_Base_F {
displayName = "$STR_ACE_RealisticNames_hgun_Pistol_heavy_01_Name";
};
class hgun_Pistol_heavy_02_F: Pistol_Base_F {
displayName = "$STR_ACE_RealisticNames_hgun_Pistol_heavy_02_Name";
};
class hgun_Pistol_Signal_F: Pistol_Base_F {
displayName = "$STR_ACE_RealisticNames_hgun_Pistol_Signal_Name";
};
// machine guns
class Rifle_Long_Base_F;
class LMG_Mk200_F: Rifle_Long_Base_F {
displayName = "$STR_ACE_RealisticNames_LMG_Mk200_Name";
};
class LMG_Zafir_F: Rifle_Long_Base_F {
displayName = "$STR_ACE_RealisticNames_LMG_Zafir_Name";
};
// sniper rifles
class EBR_base_F;
class srifle_EBR_F: EBR_base_F {
displayName = "$STR_ACE_RealisticNames_srifle_EBR_Name";
};
class LRR_base_F;
class srifle_LRR_F: LRR_base_F {
displayName = "$STR_ACE_RealisticNames_srifle_LRR_Name";
};
class srifle_LRR_camo_F: srifle_LRR_F {
displayName = "$STR_ACE_RealisticNames_srifle_LRR_camo_Name";
};
class GM6_base_F;
class srifle_GM6_F: GM6_base_F {
displayName = "$STR_ACE_RealisticNames_srifle_GM6_Name";
};
class srifle_GM6_camo_F: srifle_GM6_F {
displayName = "$STR_ACE_RealisticNames_srifle_GM6_camo_Name";
};
class DMR_01_base_F;
class srifle_DMR_01_F: DMR_01_base_F {
displayName = "$STR_ACE_RealisticNames_srifle_DMR_01_Name";
};
// launchers
class Launcher_Base_F;
class launch_RPG32_F: Launcher_Base_F {
displayName = "$STR_ACE_RealisticNames_launch_RPG32_Name";
};
class launch_Titan_base: Launcher_Base_F {
displayName = "$STR_ACE_RealisticNames_launch_Titan_Name";
};
class launch_Titan_short_base: launch_Titan_base {
displayName = "$STR_ACE_RealisticNames_launch_Titan_short_Name";
};
class launch_NLAW_F: Launcher_Base_F {
displayName = "$STR_ACE_RealisticNames_launch_NLAW_Name";
};
// vehicle weapons
// gatlings
class CannonCore;
class gatling_20mm: CannonCore {
//displayName = "";
class manual: CannonCore {
//displayName = "";
};
};
class Twin_Cannon_20mm: gatling_20mm {
displayName = "Plamen PL-20";
class manual: manual {
displayName = "Plamen PL-20";
};
};
class gatling_30mm: CannonCore { // This is a fictional veresion of the GSh-6-30, with 3 barrels
displayName = "GSh-3-30";
class LowROF: Mode_FullAuto {
displayName = "GSh-3-30";
};
};
class Gatling_30mm_Plane_CAS_01_F: CannonCore {
displayName = "GAU-8";
class LowROF: Mode_FullAuto {
displayName = "GAU-8";
};
};
class Cannon_30mm_Plane_CAS_02_F: CannonCore {
displayName = "GSh-301";
class LowROF: Mode_FullAuto {
displayName = "GSh-301";
};
};
// missiles
class RocketPods;
class Missile_AA_04_Plane_CAS_01_F: RocketPods {
displayName = "AIM-9 Sidewinder";
};
class Missile_AA_03_Plane_CAS_02_F: Missile_AA_04_Plane_CAS_01_F {
displayName = "Wympel R-73";
};
class MissileLauncher;
class Missile_AGM_02_Plane_CAS_01_F: MissileLauncher {
displayName = "AGM-65 Maverick";
};
class Missile_AGM_01_Plane_CAS_02_F: Missile_AGM_02_Plane_CAS_01_F {
displayName = "Kh-25MTP";
};
// rockets
class Rocket_04_HE_Plane_CAS_01_F: RocketPods {
displayName = "Hydra 70";
class Burst: RocketPods {
displayName = "Hydra 70";
};
};
class Rocket_04_AP_Plane_CAS_01_F: Rocket_04_HE_Plane_CAS_01_F {
displayName = "Hydra 70";
};
class Rocket_03_HE_Plane_CAS_02_F: Rocket_04_HE_Plane_CAS_01_F {
displayName = "S-8";
class Burst: Burst {
displayName = "S-8";
};
};
class Rocket_03_AP_Plane_CAS_02_F: Rocket_04_AP_Plane_CAS_01_F {
displayName = "S-8";
class Burst: Burst {
displayName = "S-8";
};
};
class rockets_Skyfire: RocketPods {
displayName = "Skyfire-70";
class Burst: RocketPods {
displayName = "Skyfire-70";
};
};
// more missiles
class missiles_DAR: RocketPods {
displayName = "Hydra 70";
class Burst: RocketPods {
displayName = "Hydra 70";
};
};
class missiles_DAGR: RocketPods {
displayName = "DAGR";
class Burst: RocketPods {
displayName = "DAGR";
};
};
class missiles_ASRAAM: MissileLauncher {
displayName = "AIM-132 ASRAAM";
};
class missiles_Zephyr: MissileLauncher {
displayName = "AIM-120A AMRAAM";
};
class missiles_SCALPEL: RocketPods { // according to zGuba, this is what it's based on
displayName = "9K121 Vikhr";
};
// bomb
class Bomb_04_Plane_CAS_01_F: RocketPods {
//displayName = "";
};
class Bomb_03_Plane_CAS_02_F: Bomb_04_Plane_CAS_01_F {
displayName = "FAB-250M-54";
};
// machine guns
class MGunCore;
class M134_minigun: MGunCore {
displayName = "2x M134 Minigun";
};
class LMG_RCWS;
class MGun;
class LMG_Minigun: LMG_RCWS {
displayName = "M134 Minigun";
class manual: MGun {
displayName = "M134 Minigun";
};
};
class HMG_127: LMG_RCWS {
displayName = "M2";
class manual: MGun {
displayName = "M2";
};
};
class HMG_01: HMG_127 {
displayName = "XM312";
};
class HMG_M2: HMG_01 {
displayName = "M2";
};
class HMG_NSVT: HMG_127 {
displayName = "NSVT";
class manual: manual {
displayName = "NSVT";
};
};
// grenade launchers
class GMG_F;
class GMG_20mm: GMG_F {
displayName = "XM307";
class manual: GMG_F {
displayName = "XM307";
};
};
class GMG_40mm: GMG_F {
displayName = "Mk 19";
class manual: GMG_F {
displayName = "Mk 19";
};
};
// autocannons
class autocannon_35mm: CannonCore {
displayName = "GDF-001";
class manual: CannonCore {
displayName = "GDF-001";
};
};
// aa missiles
class missiles_titan: MissileLauncher {
displayName = "Mini-Spike";
};
// mortar
class mortar_155mm_AMOS: CannonCore {
displayName = "L/52";
};
// artillery rockets
class rockets_230mm_GAT: RocketPods {
displayName = "M269";
};
// tank guns
class cannon_120mm: CannonCore {
class player;
displayName = "MG251";
};
class cannon_120mm_long: cannon_120mm {
displayName = "L/55";
class player: player {};
};
class cannon_105mm: cannon_120mm {
displayName = "M68";
class player: player {
displayName = "M68";
};
};
class cannon_125mm: cannon_120mm {
displayName = "2A46";
};
// coax machine guns
class LMG_coax: LMG_RCWS {
displayName = "PKT";
};
class ACE_LMG_coax_MBT_01: LMG_coax {
displayName = "MAG 58";
};
class ACE_LMG_coax_APC_Tracked_03: LMG_coax {
displayName = "L94A1";
};
// more autocannons
class autocannon_Base_F;
class autocannon_40mm_CTWS: autocannon_Base_F {
displayName = "Mk44 Bushmaster II";
class AP: autocannon_Base_F {
displayName = "Mk44 Bushmaster II";
};
class HE: autocannon_Base_F {
displayName = "Mk44 Bushmaster II";
};
};
class autocannon_30mm_CTWS: autocannon_Base_F {
displayName = "Mk44 Bushmaster II";
class AP: autocannon_Base_F {
displayName = "Mk44 Bushmaster II";
};
class HE: autocannon_Base_F {
displayName = "Mk44 Bushmaster II";
};
};
class autocannon_30mm: autocannon_30mm_CTWS {
displayName = "L21A1 RARDEN";
class AP: AP {
displayName = "L21A1 RARDEN";
};
class HE: HE {
displayName = "L21A1 RARDEN";
};
};
};

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ class CfgVehicles {
function = QFUNC(module);
scope = 2;
isGlobal = 1;
icon = QUOTE(PATHTOF(UI\IconSwitchUnits_ca.paa));
icon = QUOTE(PATHTOF(UI\Icon_Module_Respawn_ca.paa));
class Arguments {
class SavePreDeathGear {
displayName = "Save Gear?";
@ -49,7 +49,7 @@ class CfgVehicles {
function = QFUNC(moduleRallypoint);
scope = 2;
isGlobal = 1;
icon = QUOTE(PATHTOF(UI\IconSwitchUnits_ca.paa));
icon = QUOTE(PATHTOF(UI\Icon_Module_Rallypoint_ca.paa));
class Arguments {
};
};

View File

@ -1,8 +1,4 @@
/*#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
name = #ITEM; \
count = COUNT; \
};
/*
class CfgVehicles {
class NATO_Box_Base;
class EAST_Box_Base;
@ -10,25 +6,25 @@ class CfgVehicles {
class Box_NATO_Support_F: NATO_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_acc_flashlight_tls,5)
MACRO_ADDITEM(ACE_acc_flashlight_tls,5);
};
};
class Box_East_Support_F: EAST_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_acc_flashlight_tls,5)
MACRO_ADDITEM(ACE_acc_flashlight_tls,5);
};
};
class Box_IND_Support_F: IND_Box_Base {
class TransportItems {
MACRO_ADDITEM(ACE_acc_flashlight_tls,5)
MACRO_ADDITEM(ACE_acc_flashlight_tls,5);
};
};
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems {
MACRO_ADDITEM(ACE_acc_flashlight_tls,2)
MACRO_ADDITEM(ACE_acc_flashlight_tls,2);
};
};
};*/

View File

@ -2,8 +2,8 @@
class CfgPatches {
class ADDON {
units[] = {"AGM_Item_Vector"};
weapons[] = {"AGM_Vector"};
units[] = {"ACE_Item_Vector"};
weapons[] = {"ACE_Vector"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};
author[] = {"Ghost","Hamburger SV","commy2","bux578"};

View File

@ -1,11 +1,13 @@
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_preInit.sqf) );
init = QUOTE(call COMPILE_FILE(XEH_preInit));
};
};
class Extended_Fired_Eventhandlers {
class CaManBase {
fired = QUOTE( call FUNC(handleFired) );
};
};
class Extended_FiredBIS_EventHandlers {
class CAManBase {
class ADDON {
firedBIS = QUOTE(_this call FUNC(handleFired));
};
};
};

View File

@ -28,4 +28,6 @@ class ACE_Settings {
isClientSetable = 0;
};
};
#include "CfgVehicles.h"
#include "CfgEventHandlers.hpp"
#include "CfgVehicles.h"

View File

@ -1,21 +1,24 @@
/**
* fnc HandleFired.
* Handles wind deflection for projectiles.
* Is expected to be triggered by the fired eventhandler from BI.
*
* Params:
* 1. unit: Object - Object the event handler is assigned to
* 2. weapon: String - Fired weapon
* 3. muzzle: String - Muzzle that was used
* 4. mode: String - Current mode of the fired weapon
* 5. ammo: String - Ammo used
* 6. magazine: String - magazine name which was used
* 7. projectile: Object - Object of the projectile that was shot (Arma 2: OA and onwards)
*
/*
* Author: Glowbal, Ruthberg
* Handles wind deflection for projectiles.
*
* Arguments:
* 0: unit - Object the event handler is assigned to <OBJECT>
* 1: weapon - Fired weapon <STRING>
* 2: muzzle - Muzzle that was used <STRING>
* 3: mode - Current mode of the fired weapon <STRING>
* 4: ammo - Ammo used <STRING>
* 5: magazine - magazine name which was used <STRING>
* 6: projectile - Object of the projectile that was shot <OBJECT>
*
* Return Value:
* Nothing
*
* Example:
* [clientFiredBIS-XEH] call ace_winddeflection_fnc_handleFired
*
* Public: No
*/
#include "script_component.hpp"
private ["_unit", "_weapon", "_ammo", "_bullet", "_airFriction", "_index"];

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB