mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
93520bdc9d
* add nv and magnification stats * improve ballistics conditions * add ammo count stat * Update addons/arsenal/ACE_Arsenal_Stats.hpp Co-authored-by: PabstMirror <pabstmirror@gmail.com> * Update addons/nightvision/ACE_Arsenal_Stats.hpp Co-authored-by: PabstMirror <pabstmirror@gmail.com> * cleanup --------- Co-authored-by: PabstMirror <pabstmirror@gmail.com>
156 lines
5.9 KiB
C++
156 lines
5.9 KiB
C++
class GVAR(stats) {
|
|
class statBase {
|
|
scope = 1;
|
|
priority = 0;
|
|
stats[] = {};
|
|
displayName = "";
|
|
showBar = 0;
|
|
showText = 0;
|
|
barStatement = "";
|
|
textStatement = "";
|
|
condition = QUOTE(true);
|
|
tabs[] = {{}, {}};
|
|
};
|
|
class ACE_bananaPotassium: statBase {
|
|
scope = 2;
|
|
displayName = CSTRING(statPotassium);
|
|
showBar = 1;
|
|
barStatement = "1";
|
|
condition = QUOTE((configName (_this select 1)) == 'ACE_Banana');
|
|
tabs[] = {{}, {7}};
|
|
};
|
|
class ACE_mass: statBase {
|
|
scope = 2;
|
|
priority = 1.5;
|
|
displayName = "$STR_a3_rscdisplayarsenal_stat_weight";
|
|
showText = 1;
|
|
textStatement = QUOTE([ARR_2(_this select 0, _this select 1)] call FUNC(statTextStatement_mass));
|
|
tabs[] = {{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}, {0,1,2,3,4,5,6,7}};
|
|
};
|
|
class ACE_rateOfFire: statBase {
|
|
scope = 2;
|
|
priority = 5;
|
|
stats[] = {"reloadTime"};
|
|
displayName = "$STR_a3_rscdisplayarsenal_stat_rof";
|
|
showBar = 1;
|
|
showText = 1;
|
|
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-1.4, 0.31)], [ARR_2(1, 0.01)])])] call FUNC(statBarStatement_rateOfFIre));
|
|
textStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-1.4, 0.31)], false)])] call FUNC(statTextStatement_rateOfFire));
|
|
tabs[] = {{0,1}, {}};
|
|
};
|
|
class ACE_accuracy: statBase {
|
|
scope = 2;
|
|
priority = 4;
|
|
stats[] = {"dispersion"};
|
|
displayName = "$STR_a3_rscdisplayarsenal_stat_dispersion";
|
|
showBar = 1;
|
|
showText = 1;
|
|
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(-4, -1.7)], [ARR_2(1, 0.01)], true)])] call FUNC(statBarStatement_accuracy));
|
|
textStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-4, -1.7)], false)])] call FUNC(statTextStatement_accuracy));
|
|
tabs[] = {{0,1}, {}};
|
|
};
|
|
class ACE_maxZeroing: statBase {
|
|
scope = 2;
|
|
priority = 3.2;
|
|
stats[] = {"maxZeroing"};
|
|
displayName = "$STR_a3_rscdisplayarsenal_stat_range";
|
|
showBar = 1;
|
|
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 2500)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default));
|
|
tabs[] = {{0,1,2}, {}};
|
|
};
|
|
class ACE_impact: statBase {
|
|
scope = 2;
|
|
priority = 3.1;
|
|
stats[] = {"hit", "initSpeed"};
|
|
displayName = "$STR_a3_rscdisplayarsenal_stat_impact";
|
|
showBar = 1;
|
|
barStatement = QUOTE([ARR_3(_this select 0, _this select 1, [ARR_2([ARR_2(0, 3.2)], [ARR_2(-1, 1100)])])] call FUNC(statBarStatement_impact));
|
|
tabs[] = {{0,1,2}, {}};
|
|
};
|
|
class ACE_scopeMagnification: statBase {
|
|
scope = 2;
|
|
priority = 2;
|
|
displayName = CSTRING(statMagnification);
|
|
showText = 1;
|
|
textStatement = QUOTE(call FUNC(statTextStatement_scopeMag));
|
|
tabs[] = {{}, {0}};
|
|
};
|
|
class ACE_binoMagnification: statBase {
|
|
scope = 2;
|
|
priority = 2;
|
|
displayName = CSTRING(statMagnification);
|
|
showText = 1;
|
|
textStatement = QUOTE(call FUNC(statTextStatement_binoMag));
|
|
tabs[] = {{9}, {}};
|
|
};
|
|
class ACE_scopeVisionMode: statBase {
|
|
scope = 2;
|
|
priority = 1.6;
|
|
displayName = CSTRING(statVisionMode);
|
|
showText = 1;
|
|
textStatement = QUOTE(call FUNC(statTextStatement_scopeVisionMode));
|
|
tabs[] = {{}, {0}};
|
|
};
|
|
class ACE_binoVisionMode: statBase {
|
|
scope = 2;
|
|
priority = 1.6;
|
|
displayName = CSTRING(statVisionModeGeneric);
|
|
showText = 1;
|
|
textStatement = QUOTE(call FUNC(statTextStatement_binoVisionMode));
|
|
tabs[] = {{8,9}, {}};
|
|
};
|
|
class ACE_ballisticProtection: statBase {
|
|
scope = 2;
|
|
priority = 5;
|
|
stats[] = {"passthrough"};
|
|
displayName = "$STR_a3_rscdisplayarsenal_stat_passthrough";
|
|
showBar = 1;
|
|
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 0.63)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default));
|
|
tabs[] = {{3,4,6}, {}};
|
|
};
|
|
class ACE_explosiveResistance: statBase {
|
|
scope = 2;
|
|
priority = 4;
|
|
stats[] = {"armor"};
|
|
displayName = "$STR_a3_rscdisplayarsenal_stat_armor";
|
|
showBar = 1;
|
|
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 0.80)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default));
|
|
tabs[] = {{3,4,6}, {}};
|
|
};
|
|
class ACE_load: statBase {
|
|
scope = 2;
|
|
priority = 3;
|
|
stats[] = {"maximumLoad"};
|
|
displayName = "$STR_a3_rscdisplayarsenal_stat_load";
|
|
showBar = 1;
|
|
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 500)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default));
|
|
tabs[] = {{3,4,5}, {}};
|
|
};
|
|
class ACE_smokeChemTTL: statBase {
|
|
scope = 2;
|
|
priority = 3;
|
|
stats[] = {"ammo"};
|
|
displayName = CSTRING(statTTL);
|
|
showText = 1;
|
|
textStatement = QUOTE(call FUNC(statTextStatement_smokeChemTTL));
|
|
condition = QUOTE((configName (_this select 1)) isKindOf [ARR_2('smokeShell', configFile >> 'CfgMagazines')]);
|
|
tabs[] = {{}, {5}};
|
|
};
|
|
class ACE_explosionTime: statBase {
|
|
scope = 2;
|
|
priority = 3;
|
|
displayName = CSTRING(StatExplosionTime);
|
|
showText = 1;
|
|
textStatement = QUOTE(call FUNC(statTextStatement_explosionTime));
|
|
tabs[] = {{}, {5}};
|
|
};
|
|
class ACE_magCount: statBase {
|
|
scope = 2;
|
|
priority = 1;
|
|
displayName = CSTRING(statMagCount);
|
|
showText = 1;
|
|
textStatement = QUOTE(call FUNC(statTextStatement_magCount));
|
|
tabs[] = {{}, {4}};
|
|
};
|
|
};
|