mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Cleaned up excessive whitespace
This commit is contained in:
parent
ab09e0989b
commit
7fcbe93b71
@ -11,7 +11,7 @@ class CfgAmmo {
|
|||||||
explosive = 1.8;
|
explosive = 1.8;
|
||||||
tracersEvery = 3;
|
tracersEvery = 3;
|
||||||
tracerEndTime = 3.5;
|
tracerEndTime = 3.5;
|
||||||
|
|
||||||
CraterEffects = "ExploAmmoCrater";
|
CraterEffects = "ExploAmmoCrater";
|
||||||
explosionEffects = "ExploAmmoExplosion";
|
explosionEffects = "ExploAmmoExplosion";
|
||||||
model = "\A3\Weapons_f\Data\bullettracer\tracer_red";
|
model = "\A3\Weapons_f\Data\bullettracer\tracer_red";
|
||||||
|
@ -860,12 +860,12 @@ class Heli_Attack_01_base_F: Helicopter_Base_F {
|
|||||||
helmetDown[] = {0,-0.07,0};
|
helmetDown[] = {0,-0.07,0};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class Turrets: Turrets {
|
class Turrets: Turrets {
|
||||||
class MainTurret: MainTurret {
|
class MainTurret: MainTurret {
|
||||||
weapons[] = {"ACE_gatling_20mm_Comanche","missiles_DAGR","missiles_ASRAAM", "ACE_AIR_SAFETY"};
|
weapons[] = {"ACE_gatling_20mm_Comanche","missiles_DAGR","missiles_ASRAAM", "ACE_AIR_SAFETY"};
|
||||||
magazines[] = {"ACE_500Rnd_20mm_shells_Comanche","4Rnd_AAA_missiles","24Rnd_PG_missiles"};
|
magazines[] = {"ACE_500Rnd_20mm_shells_Comanche","4Rnd_AAA_missiles","24Rnd_PG_missiles"};
|
||||||
|
|
||||||
outGunnerMayFire = 1;
|
outGunnerMayFire = 1;
|
||||||
commanding = -1;
|
commanding = -1;
|
||||||
primaryGunner = 1;
|
primaryGunner = 1;
|
||||||
@ -888,13 +888,13 @@ class Heli_Attack_01_base_F: Helicopter_Base_F {
|
|||||||
minTurn = -120;
|
minTurn = -120;
|
||||||
maxTurn = 120;
|
maxTurn = 120;
|
||||||
initTurn = 0;
|
initTurn = 0;
|
||||||
|
|
||||||
class OpticsIn
|
class OpticsIn
|
||||||
{
|
{
|
||||||
delete Narrow;
|
delete Narrow;
|
||||||
delete Medium;
|
delete Medium;
|
||||||
delete Wide;
|
delete Wide;
|
||||||
|
|
||||||
class ACE_WideUnstabilized {
|
class ACE_WideUnstabilized {
|
||||||
opticsDisplayName = "W NS";
|
opticsDisplayName = "W NS";
|
||||||
initAngleX = 0;
|
initAngleX = 0;
|
||||||
@ -994,4 +994,4 @@ class Heli_Attack_01_base_F: Helicopter_Base_F {
|
|||||||
weapon = "ACE_gatling_20mm_Comanche";
|
weapon = "ACE_gatling_20mm_Comanche";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -230,7 +230,7 @@ class ATragMX_Display {
|
|||||||
idc=-1;
|
idc=-1;
|
||||||
x=0.55*safezoneW+safezoneX+0.315;
|
x=0.55*safezoneW+safezoneX+0.315;
|
||||||
};
|
};
|
||||||
|
|
||||||
class TEXT_GUN_FRAME: ATragMX_RscText {
|
class TEXT_GUN_FRAME: ATragMX_RscText {
|
||||||
idc=1001;
|
idc=1001;
|
||||||
style=64;
|
style=64;
|
||||||
@ -610,7 +610,7 @@ class ATragMX_Display {
|
|||||||
x=0.550*safezoneW+safezoneX+0.27;
|
x=0.550*safezoneW+safezoneX+0.27;
|
||||||
text="4";
|
text="4";
|
||||||
action=QUOTE(call FUNC(toggle_solution_setup));
|
action=QUOTE(call FUNC(toggle_solution_setup));
|
||||||
};
|
};
|
||||||
class TEXT_CALCULATE: TEXT_SCOPE_UNIT {
|
class TEXT_CALCULATE: TEXT_SCOPE_UNIT {
|
||||||
idc=3000;
|
idc=3000;
|
||||||
style=ST_RIGHT;
|
style=ST_RIGHT;
|
||||||
@ -1059,7 +1059,7 @@ class ATragMX_Display {
|
|||||||
text="Cancel";
|
text="Cancel";
|
||||||
action=QUOTE(false call FUNC(show_add_new_gun); true call FUNC(show_gun_list));
|
action=QUOTE(false call FUNC(show_add_new_gun); true call FUNC(show_gun_list));
|
||||||
};
|
};
|
||||||
|
|
||||||
class TEXT_GUN_AMMO_DATA_BORE_HEIGHT: TEXT_BORE_HEIGHT {
|
class TEXT_GUN_AMMO_DATA_BORE_HEIGHT: TEXT_BORE_HEIGHT {
|
||||||
idc=12000;
|
idc=12000;
|
||||||
w=0.22;
|
w=0.22;
|
||||||
@ -1147,7 +1147,7 @@ class ATragMX_Display {
|
|||||||
class TEXT_GUN_AMMO_DATA_NEXT: TEXT_TARGET_SPEED_ASSIST_NEXT {
|
class TEXT_GUN_AMMO_DATA_NEXT: TEXT_TARGET_SPEED_ASSIST_NEXT {
|
||||||
idc=12011;
|
idc=12011;
|
||||||
};
|
};
|
||||||
|
|
||||||
class TEXT_ATMO_ENV_DATA_DEFAULT: TEXT_LEAD {
|
class TEXT_ATMO_ENV_DATA_DEFAULT: TEXT_LEAD {
|
||||||
idc=13000;
|
idc=13000;
|
||||||
w=0.08;
|
w=0.08;
|
||||||
@ -1231,7 +1231,7 @@ class ATragMX_Display {
|
|||||||
y=0.265*safezoneH+safezoneY+0.29;
|
y=0.265*safezoneH+safezoneY+0.29;
|
||||||
text="Calc Method";
|
text="Calc Method";
|
||||||
};
|
};
|
||||||
|
|
||||||
class TEXT_TARGET_DATA_LATITUDE: TEXT_BORE_HEIGHT {
|
class TEXT_TARGET_DATA_LATITUDE: TEXT_BORE_HEIGHT {
|
||||||
idc=14000;
|
idc=14000;
|
||||||
w=0.22;
|
w=0.22;
|
||||||
@ -1379,7 +1379,7 @@ class ATragMX_Display {
|
|||||||
class TEXT_TARGET_DATA_NEXT: TEXT_TARGET_SPEED_ASSIST_NEXT {
|
class TEXT_TARGET_DATA_NEXT: TEXT_TARGET_SPEED_ASSIST_NEXT {
|
||||||
idc=14011;
|
idc=14011;
|
||||||
};
|
};
|
||||||
|
|
||||||
class TEXT_SOLUTION_SETUP_SHOW_RESULT_IN: TEXT_GUN_AMMO_DATA_BORE_HEIGHT {
|
class TEXT_SOLUTION_SETUP_SHOW_RESULT_IN: TEXT_GUN_AMMO_DATA_BORE_HEIGHT {
|
||||||
idc=15000;
|
idc=15000;
|
||||||
style=64;
|
style=64;
|
||||||
@ -1469,4 +1469,4 @@ class ATragMX_Display {
|
|||||||
action=QUOTE(0 call FUNC(toggle_solution_setup));
|
action=QUOTE(0 call FUNC(toggle_solution_setup));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -7,41 +7,41 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) ==
|
|||||||
} else {
|
} else {
|
||||||
// Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Scope Click Unit, Scope Click Number, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Bullet Diameter, Rifle Twist, BC, Drag Model, Atmosphere Model
|
// Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Scope Click Unit, Scope Click Number, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Bullet Diameter, Rifle Twist, BC, Drag Model, Atmosphere Model
|
||||||
GVAR(gunList) = [["12.7x108mm" , 820, 100, 0.0657485, -0.00063800, 3.81, 0, 2, 10, 120, 0, 0, 48.28, 12.7, 38.10, 0.630, 1, "ASM" ],
|
GVAR(gunList) = [["12.7x108mm" , 820, 100, 0.0657485, -0.00063800, 3.81, 0, 2, 10, 120, 0, 0, 48.28, 12.7, 38.10, 0.630, 1, "ASM" ],
|
||||||
|
|
||||||
["12.7x99mm AMAX" , 860, 100, 0.0611565, -0.00036645, 3.81, 0, 2, 10, 120, 0, 0, 48.60, 12.7, 38.10, 1.050, 1, "ASM" ],
|
["12.7x99mm AMAX" , 860, 100, 0.0611565, -0.00036645, 3.81, 0, 2, 10, 120, 0, 0, 48.60, 12.7, 38.10, 1.050, 1, "ASM" ],
|
||||||
["12.7x99mm" , 900, 100, 0.0582418, -0.00057503, 3.81, 0, 2, 10, 120, 0, 0, 41.92, 12.7, 38.10, 0.670, 1, "ASM" ],
|
["12.7x99mm" , 900, 100, 0.0582418, -0.00057503, 3.81, 0, 2, 10, 120, 0, 0, 41.92, 12.7, 38.10, 0.670, 1, "ASM" ],
|
||||||
|
|
||||||
["12.7x54mm" , 300, 100, 0.3394630, -0.00019268, 3.81, 0, 2, 10, 120, 0, 0, 48.60, 12.7, 24.13, 1.050, 1, "ASM" ],
|
["12.7x54mm" , 300, 100, 0.3394630, -0.00019268, 3.81, 0, 2, 10, 120, 0, 0, 48.60, 12.7, 24.13, 1.050, 1, "ASM" ],
|
||||||
|
|
||||||
[".408 Chey Tac" , 910, 100, 0.0569400, -0.00038944, 3.81, 0, 2, 10, 120, 0, 0, 27.15, 10.4, 33.02, 0.970, 1, "ASM" ],
|
[".408 Chey Tac" , 910, 100, 0.0569400, -0.00038944, 3.81, 0, 2, 10, 120, 0, 0, 27.15, 10.4, 33.02, 0.970, 1, "ASM" ],
|
||||||
|
|
||||||
["9.3×64mm" , 870, 100, 0.0619295, -0.00108571, 3.81, 0, 2, 10, 120, 0, 0, 14.90, 9.30, 35.56, 0.368, 1, "ASM" ],
|
["9.3×64mm" , 870, 100, 0.0619295, -0.00108571, 3.81, 0, 2, 10, 120, 0, 0, 14.90, 9.30, 35.56, 0.368, 1, "ASM" ],
|
||||||
|
|
||||||
[".338LM 250gr" , 880, 100, 0.0598469, -0.00059133, 3.81, 0, 2, 10, 120, 0, 0, 16.20, 8.58, 25.40, 0.322, 7, "ICAO"],
|
[".338LM 250gr" , 880, 100, 0.0598469, -0.00059133, 3.81, 0, 2, 10, 120, 0, 0, 16.20, 8.58, 25.40, 0.322, 7, "ICAO"],
|
||||||
[".338LM 300gr" , 800, 100, 0.0677343, -0.00052190, 3.81, 0, 2, 10, 120, 0, 0, 19.44, 8.58, 25.40, 0.381, 7, "ICAO"],
|
[".338LM 300gr" , 800, 100, 0.0677343, -0.00052190, 3.81, 0, 2, 10, 120, 0, 0, 19.44, 8.58, 25.40, 0.381, 7, "ICAO"],
|
||||||
[".338LM API526" , 895, 100, 0.0588865, -0.00069611, 3.81, 0, 2, 10, 120, 0, 0, 16.39, 8.58, 25.40, 0.560, 1, "ASM" ],
|
[".338LM API526" , 895, 100, 0.0588865, -0.00069611, 3.81, 0, 2, 10, 120, 0, 0, 16.39, 8.58, 25.40, 0.560, 1, "ASM" ],
|
||||||
|
|
||||||
[".300WM Mk248 Mod 0", 900, 100, 0.0584442, -0.00070530, 3.81, 0, 2, 10, 120, 0, 0, 13.31, 7.80, 25.40, 0.268, 7, "ICAO"],
|
[".300WM Mk248 Mod 0", 900, 100, 0.0584442, -0.00070530, 3.81, 0, 2, 10, 120, 0, 0, 13.31, 7.80, 25.40, 0.268, 7, "ICAO"],
|
||||||
[".300WM Mk248 Mod 1", 867, 100, 0.0610738, -0.00061188, 3.81, 0, 2, 10, 120, 0, 0, 14.26, 7.80, 25.40, 0.310, 7, "ICAO"],
|
[".300WM Mk248 Mod 1", 867, 100, 0.0610738, -0.00061188, 3.81, 0, 2, 10, 120, 0, 0, 14.26, 7.80, 25.40, 0.310, 7, "ICAO"],
|
||||||
[".300WM Berger OTM" , 853, 100, 0.0622179, -0.00053733, 3.81, 0, 2, 10, 120, 0, 0, 14.90, 7.80, 25.40, 0.368, 7, "ICAO"],
|
[".300WM Berger OTM" , 853, 100, 0.0622179, -0.00053733, 3.81, 0, 2, 10, 120, 0, 0, 14.90, 7.80, 25.40, 0.368, 7, "ICAO"],
|
||||||
|
|
||||||
["7.62x54mmR" , 800, 100, 0.0691878, -0.00100023, 3.81, 0, 2, 10, 120, 0, 0, 9.849, 7.92, 24.13, 0.400, 1, "ICAO"],
|
["7.62x54mmR" , 800, 100, 0.0691878, -0.00100023, 3.81, 0, 2, 10, 120, 0, 0, 9.849, 7.92, 24.13, 0.400, 1, "ICAO"],
|
||||||
|
|
||||||
["7.62x51mm M80" , 810, 100, 0.0679374, -0.00100957, 3.81, 0, 2, 10, 120, 0, 0, 9.525, 7.82, 25.40, 0.200, 7, "ICAO"],
|
["7.62x51mm M80" , 810, 100, 0.0679374, -0.00100957, 3.81, 0, 2, 10, 120, 0, 0, 9.525, 7.82, 25.40, 0.200, 7, "ICAO"],
|
||||||
["7.62x51mm M118LR" , 780, 100, 0.0710319, -0.00082828, 3.81, 0, 2, 10, 120, 0, 0, 11.34, 7.82, 25.40, 0.243, 7, "ICAO"],
|
["7.62x51mm M118LR" , 780, 100, 0.0710319, -0.00082828, 3.81, 0, 2, 10, 120, 0, 0, 11.34, 7.82, 25.40, 0.243, 7, "ICAO"],
|
||||||
["7.62x51mm Mk319" , 910, 100, 0.0584524, -0.00102338, 3.81, 0, 2, 10, 120, 0, 0, 8.424, 7.82, 25.40, 0.377, 1, "ICAO"],
|
["7.62x51mm Mk319" , 910, 100, 0.0584524, -0.00102338, 3.81, 0, 2, 10, 120, 0, 0, 8.424, 7.82, 25.40, 0.377, 1, "ICAO"],
|
||||||
["7.62x51mm M993" , 930, 100, 0.0570316, -0.00107148, 3.81, 0, 2, 10, 120, 0, 0, 8.230, 7.82, 25.40, 0.359, 1, "ICAO"],
|
["7.62x51mm M993" , 930, 100, 0.0570316, -0.00107148, 3.81, 0, 2, 10, 120, 0, 0, 8.230, 7.82, 25.40, 0.359, 1, "ICAO"],
|
||||||
["7.62x51mm Subsonic", 320, 100, 0.3059680, -0.00049899, 3.81, 0, 2, 10, 120, 0, 0, 12.96, 7.82, 25.40, 0.235, 7, "ICAO"],
|
["7.62x51mm Subsonic", 320, 100, 0.3059680, -0.00049899, 3.81, 0, 2, 10, 120, 0, 0, 12.96, 7.82, 25.40, 0.235, 7, "ICAO"],
|
||||||
|
|
||||||
["6.5x39mm" , 800, 100, 0.0683482, -0.00075308, 3.81, 0, 2, 10, 120, 0, 0, 7.970, 6.71, 22.86, 0.263, 7, "ICAO"],
|
["6.5x39mm" , 800, 100, 0.0683482, -0.00075308, 3.81, 0, 2, 10, 120, 0, 0, 7.970, 6.71, 22.86, 0.263, 7, "ICAO"],
|
||||||
["6.5x47mm Lapua" , 800, 100, 0.0682221, -0.00067037, 3.81, 0, 2, 10, 120, 0, 0, 9.007, 6.71, 22.86, 0.290, 7, "ICAO"],
|
["6.5x47mm Lapua" , 800, 100, 0.0682221, -0.00067037, 3.81, 0, 2, 10, 120, 0, 0, 9.007, 6.71, 22.86, 0.290, 7, "ICAO"],
|
||||||
["6.5mm Creedmor" , 840, 100, 0.0636501, -0.00060887, 3.81, 0, 2, 10, 120, 0, 0, 9.072, 6.71, 22.86, 0.317, 7, "ICAO"],
|
["6.5mm Creedmor" , 840, 100, 0.0636501, -0.00060887, 3.81, 0, 2, 10, 120, 0, 0, 9.072, 6.71, 22.86, 0.317, 7, "ICAO"],
|
||||||
|
|
||||||
["5.56x45mm M855" , 870, 100, 0.0626386, -0.00126466, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.151, 7, "ASM" ],
|
["5.56x45mm M855" , 870, 100, 0.0626386, -0.00126466, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.151, 7, "ASM" ],
|
||||||
["5.56x45mm Mk262" , 820, 100, 0.0671481, -0.00109563, 3.81, 0, 2, 10, 120, 0, 0, 4.990, 5.70, 17.78, 0.361, 1, "ASM" ],
|
["5.56x45mm Mk262" , 820, 100, 0.0671481, -0.00109563, 3.81, 0, 2, 10, 120, 0, 0, 4.990, 5.70, 17.78, 0.361, 1, "ASM" ],
|
||||||
["5.56x45mm Mk318" , 880, 100, 0.0615937, -0.00123318, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.307, 1, "ASM" ],
|
["5.56x45mm Mk318" , 880, 100, 0.0615937, -0.00123318, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.307, 1, "ASM" ],
|
||||||
["5.56x45mm M995" , 869, 100, 0.0626713, -0.00123272, 3.81, 0, 2, 10, 120, 0, 0, 4.536, 5.70, 17.78, 0.310, 1, "ASM" ]];
|
["5.56x45mm M995" , 869, 100, 0.0626713, -0.00123272, 3.81, 0, 2, 10, 120, 0, 0, 4.536, 5.70, 17.78, 0.310, 1, "ASM" ]];
|
||||||
|
|
||||||
[] call FUNC(clear_user_data);
|
[] call FUNC(clear_user_data);
|
||||||
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)];
|
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)];
|
||||||
};
|
};
|
||||||
|
@ -42,31 +42,8 @@
|
|||||||
* Public: No
|
* Public: No
|
||||||
*/
|
*/
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
params ["_scopeBaseAngle", "_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_temperature", "_barometricPressure", "_relativeHumidity", "_simSteps", "_windSpeed", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange", "_bc", "_dragModel", "_atmosphereModel", "_storeRangeCardData", "_stabilityFactor", "_twistDirection", "_latitude", "_directionOfFire"];
|
||||||
private ["_scopeBaseAngle", "_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_temperature", "_barometricPressure", "_relativeHumidity", "_simSteps", "_windSpeed1", "_windSpeed2", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange", "_drag", "_bc", "_dragModel", "_atmosphereModel", "_storeRangeCardData", "_stabilityFactor", "_twistDirection", "_latitude", "_directionOfFire"];
|
_windSpeed params ["_windSpeed1", "_windSpeed2"];
|
||||||
_scopeBaseAngle = _this select 0;
|
|
||||||
_bulletMass = _this select 1;
|
|
||||||
_boreHeight = _this select 2;
|
|
||||||
_airFriction = _this select 3;
|
|
||||||
_muzzleVelocity = _this select 4;
|
|
||||||
_temperature = _this select 5;
|
|
||||||
_barometricPressure = _this select 6;
|
|
||||||
_relativeHumidity = _this select 7;
|
|
||||||
_simSteps = _this select 8;
|
|
||||||
_windSpeed1 = (_this select 9) select 0;
|
|
||||||
_windSpeed2 = (_this select 9) select 1;
|
|
||||||
_windDirection = _this select 10;
|
|
||||||
_inclinationAngle = _this select 11;
|
|
||||||
_targetSpeed = _this select 12;
|
|
||||||
_targetRange = _this select 13;
|
|
||||||
_bc = _this select 14;
|
|
||||||
_dragModel = _this select 15;
|
|
||||||
_atmosphereModel = _this select 16;
|
|
||||||
_storeRangeCardData = _this select 17;
|
|
||||||
_stabilityFactor = _this select 18;
|
|
||||||
_twistDirection = _this select 19;
|
|
||||||
_latitude = _this select 20;
|
|
||||||
_directionOfFire = _this select 21;
|
|
||||||
|
|
||||||
private ["_bulletPos", "_bulletVelocity", "_bulletAccel", "_bulletSpeed", "_gravity", "_deltaT"];
|
private ["_bulletPos", "_bulletVelocity", "_bulletAccel", "_bulletSpeed", "_gravity", "_deltaT"];
|
||||||
_bulletPos = [0, 0, 0];
|
_bulletPos = [0, 0, 0];
|
||||||
@ -133,7 +110,7 @@ _bulletVelocity set [2, Sin(_scopeBaseAngle) * _muzzleVelocity];
|
|||||||
|
|
||||||
while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do {
|
while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do {
|
||||||
_bulletSpeed = vectorMagnitude _bulletVelocity;
|
_bulletSpeed = vectorMagnitude _bulletVelocity;
|
||||||
|
|
||||||
_speedTotal = _speedTotal + _bulletSpeed;
|
_speedTotal = _speedTotal + _bulletSpeed;
|
||||||
_stepsTotal = _stepsTotal + 1;
|
_stepsTotal = _stepsTotal + 1;
|
||||||
_speedAverage = (_speedTotal / _stepsTotal);
|
_speedAverage = (_speedTotal / _stepsTotal);
|
||||||
@ -142,7 +119,7 @@ while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do {
|
|||||||
_trueSpeed = vectorMagnitude _trueVelocity;
|
_trueSpeed = vectorMagnitude _trueVelocity;
|
||||||
|
|
||||||
if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then {
|
if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then {
|
||||||
_drag = if (missionNamespace getVariable [QEGVAR(advanced_ballistics,extensionAvailable), false]) then {
|
private _drag = if (missionNamespace getVariable [QEGVAR(advanced_ballistics,extensionAvailable), false]) then {
|
||||||
parseNumber(("ace_advanced_ballistics" callExtension format["retard:%1:%2:%3", _dragModel, _bc, _trueSpeed]))
|
parseNumber(("ace_advanced_ballistics" callExtension format["retard:%1:%2:%3", _dragModel, _bc, _trueSpeed]))
|
||||||
} else {
|
} else {
|
||||||
([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation))
|
([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation))
|
||||||
@ -173,7 +150,7 @@ while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do {
|
|||||||
};
|
};
|
||||||
_kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2));
|
_kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2));
|
||||||
_kineticEnergy = _kineticEnergy * 0.737562149;
|
_kineticEnergy = _kineticEnergy * 0.737562149;
|
||||||
|
|
||||||
if ((missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) && (_bulletPos select 1) > 0) then {
|
if ((missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) && (_bulletPos select 1) > 0) then {
|
||||||
// Coriolis
|
// Coriolis
|
||||||
_horizontalDeflection = 0.0000729 * ((_bulletPos select 1) ^ 2) * sin(_latitude) / _speedAverage;
|
_horizontalDeflection = 0.0000729 * ((_bulletPos select 1) ^ 2) * sin(_latitude) / _speedAverage;
|
||||||
@ -190,7 +167,7 @@ while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do {
|
|||||||
_windage1 = _windage1 + _spinDrift;
|
_windage1 = _windage1 + _spinDrift;
|
||||||
_windage2 = _windage2 + _spinDrift;
|
_windage2 = _windage2 + _spinDrift;
|
||||||
};
|
};
|
||||||
|
|
||||||
GVAR(rangeCardData) set [_n, [_range, _elevation * 60, [_windage1 * 60, _windage2 * 60], _lead, _TOF, _bulletSpeed, _kineticEnergy]];
|
GVAR(rangeCardData) set [_n, [_range, _elevation * 60, [_windage1 * 60, _windage2 * 60], _lead, _TOF, _bulletSpeed, _kineticEnergy]];
|
||||||
_n = _n + 1;
|
_n = _n + 1;
|
||||||
};
|
};
|
||||||
|
@ -17,10 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
private ["_gunID", "_restoreMemory", "_updateDisplay"];
|
params ["_gunID", "_restoreMemory", "_updateDisplay"];
|
||||||
_gunID = _this select 0;
|
|
||||||
_restoreMemory = _this select 1;
|
|
||||||
_updateDisplay = _this select 2;
|
|
||||||
|
|
||||||
if (_gunID < 0 || _gunID > (count GVAR(gunList)) - 1) exitWith {};
|
if (_gunID < 0 || _gunID > (count GVAR(gunList)) - 1) exitWith {};
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ if (GVAR(showRangeCard)) then {
|
|||||||
};
|
};
|
||||||
GVAR(showRangeCardSetup) call FUNC(show_range_card_setup);
|
GVAR(showRangeCardSetup) call FUNC(show_range_card_setup);
|
||||||
GVAR(showSolutionSetup) call FUNC(show_solution_setup);
|
GVAR(showSolutionSetup) call FUNC(show_solution_setup);
|
||||||
GVAR(showTargetData) call FUNC(show_target_data);
|
GVAR(showTargetData) call FUNC(show_target_data);
|
||||||
GVAR(showTargetRangeAssist) call FUNC(show_target_range_assist);
|
GVAR(showTargetRangeAssist) call FUNC(show_target_range_assist);
|
||||||
GVAR(showTargetSpeedAssist) call FUNC(show_target_speed_assist);
|
GVAR(showTargetSpeedAssist) call FUNC(show_target_speed_assist);
|
||||||
GVAR(showTargetSpeedAssistTimer) call FUNC(show_target_speed_assist_timer);
|
GVAR(showTargetSpeedAssistTimer) call FUNC(show_target_speed_assist_timer);
|
||||||
|
@ -21,6 +21,5 @@ GVAR(showGunList) = _this;
|
|||||||
|
|
||||||
if (_this) then {
|
if (_this) then {
|
||||||
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 6002);
|
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 6002);
|
||||||
|
|
||||||
lbSetCurSel [6000, GVAR(currentGun)];
|
lbSetCurSel [6000, GVAR(currentGun)];
|
||||||
};
|
};
|
||||||
|
@ -21,7 +21,7 @@ GVAR(showRangeCardSetup) = _this;
|
|||||||
|
|
||||||
if (_this) then {
|
if (_this) then {
|
||||||
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 10006);
|
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 10006);
|
||||||
|
|
||||||
ctrlSetText [10003, Str(Round(GVAR(rangeCardStartRange)))];
|
ctrlSetText [10003, Str(Round(GVAR(rangeCardStartRange)))];
|
||||||
ctrlSetText [10004, Str(Round(GVAR(rangeCardEndRange)))];
|
ctrlSetText [10004, Str(Round(GVAR(rangeCardEndRange)))];
|
||||||
ctrlSetText [10005, Str(Round(GVAR(rangeCardIncrement)))];
|
ctrlSetText [10005, Str(Round(GVAR(rangeCardIncrement)))];
|
||||||
|
@ -21,7 +21,6 @@ GVAR(showTargetRangeAssist) = _this;
|
|||||||
|
|
||||||
if (_this) then {
|
if (_this) then {
|
||||||
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 7018);
|
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 7018);
|
||||||
|
|
||||||
ctrlSetText [7012, Str(parseNumber(ctrlText 320))];
|
ctrlSetText [7012, Str(parseNumber(ctrlText 320))];
|
||||||
ctrlSetText [7013, Str(parseNumber(ctrlText 340))];
|
ctrlSetText [7013, Str(parseNumber(ctrlText 340))];
|
||||||
|
|
||||||
@ -30,4 +29,4 @@ if (_this) then {
|
|||||||
} else {
|
} else {
|
||||||
ctrlSetText [7016, "Meters"];
|
ctrlSetText [7016, "Meters"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -21,7 +21,7 @@ GVAR(showTargetSpeedAssist) = _this;
|
|||||||
|
|
||||||
if (_this) then {
|
if (_this) then {
|
||||||
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 8012);
|
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 8012);
|
||||||
|
|
||||||
ctrlSetText [8004, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))];
|
ctrlSetText [8004, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))];
|
||||||
|
|
||||||
if (GVAR(currentUnit) == 1) then {
|
if (GVAR(currentUnit) == 1) then {
|
||||||
@ -29,7 +29,7 @@ if (_this) then {
|
|||||||
} else {
|
} else {
|
||||||
ctrlSetText [8008, "Meters"];
|
ctrlSetText [8008, "Meters"];
|
||||||
};
|
};
|
||||||
|
|
||||||
if (GVAR(currentUnit) == 2) then {
|
if (GVAR(currentUnit) == 2) then {
|
||||||
ctrlSetText [8011, "m/s"];
|
ctrlSetText [8011, "m/s"];
|
||||||
} else {
|
} else {
|
||||||
|
@ -17,10 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
private ["_slopeDistance", "_azimuth", "_inclination"];
|
params ["_slopeDistance", "_azimuth", "_inclination"];
|
||||||
_slopeDistance = _this select 0;
|
|
||||||
_azimuth = _this select 1;
|
|
||||||
_inclination = _this select 2;
|
|
||||||
|
|
||||||
GVAR(inclinationAngle) set [GVAR(currentTarget), round(_inclination)];
|
GVAR(inclinationAngle) set [GVAR(currentTarget), round(_inclination)];
|
||||||
GVAR(directionOfFire) set [GVAR(currentTarget), round(_azimuth)];
|
GVAR(directionOfFire) set [GVAR(currentTarget), round(_azimuth)];
|
||||||
|
@ -21,26 +21,26 @@ if !(ctrlVisible 9000) then {
|
|||||||
true call FUNC(show_target_speed_assist_timer);
|
true call FUNC(show_target_speed_assist_timer);
|
||||||
|
|
||||||
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 9002);
|
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 9002);
|
||||||
|
|
||||||
[{
|
[{
|
||||||
private ["_args", "_startTime"];
|
private ["_args", "_startTime"];
|
||||||
_args = _this select 0;
|
_args = _this select 0;
|
||||||
_startTime = _args select 0;
|
_startTime = _args select 0;
|
||||||
|
|
||||||
if (!(GVAR(speedAssistTimer))) exitWith {
|
if (!(GVAR(speedAssistTimer))) exitWith {
|
||||||
GVAR(speedAssistTimer) = true;
|
GVAR(speedAssistTimer) = true;
|
||||||
|
|
||||||
ctrlSetText [8006, Str(Round((ACE_time - _startTime) * 10) / 10)];
|
ctrlSetText [8006, Str(Round((ACE_time - _startTime) * 10) / 10)];
|
||||||
|
|
||||||
[] call FUNC(calculate_target_speed_assist);
|
[] call FUNC(calculate_target_speed_assist);
|
||||||
|
|
||||||
false call FUNC(show_target_speed_assist_timer);
|
false call FUNC(show_target_speed_assist_timer);
|
||||||
true call FUNC(show_target_speed_assist);
|
true call FUNC(show_target_speed_assist);
|
||||||
|
|
||||||
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
||||||
};
|
};
|
||||||
|
|
||||||
ctrlSetText [9001, Str(Round((ACE_time - _startTime) * 10) / 10)];
|
ctrlSetText [9001, Str(Round((ACE_time - _startTime) * 10) / 10)];
|
||||||
|
|
||||||
}, 0.1, [ACE_time]] call CBA_fnc_addPerFrameHandler;
|
}, 0.1, [ACE_time]] call CBA_fnc_addPerFrameHandler;
|
||||||
};
|
};
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
if (ctrlVisible 13000) then {
|
if (ctrlVisible 13000) then {
|
||||||
false call FUNC(show_atmo_env_data);
|
false call FUNC(show_atmo_env_data);
|
||||||
true call FUNC(show_main_page);
|
true call FUNC(show_main_page);
|
||||||
|
|
||||||
if (_this == 1) then {
|
if (_this == 1) then {
|
||||||
call FUNC(calculate_target_solution);
|
call FUNC(calculate_target_solution);
|
||||||
};
|
};
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
if (ctrlVisible 12000) then {
|
if (ctrlVisible 12000) then {
|
||||||
false call FUNC(show_gun_ammo_data);
|
false call FUNC(show_gun_ammo_data);
|
||||||
true call FUNC(show_main_page);
|
true call FUNC(show_main_page);
|
||||||
|
|
||||||
if (_this == 1) then {
|
if (_this == 1) then {
|
||||||
call FUNC(update_zero_range);
|
call FUNC(update_zero_range);
|
||||||
call FUNC(calculate_target_solution);
|
call FUNC(calculate_target_solution);
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
if (ctrlVisible 6000) then {
|
if (ctrlVisible 6000) then {
|
||||||
false call FUNC(show_gun_list);
|
false call FUNC(show_gun_list);
|
||||||
true call FUNC(show_main_page);
|
true call FUNC(show_main_page);
|
||||||
|
|
||||||
if (_this) then {
|
if (_this) then {
|
||||||
[lbCurSel 6000, true, true] call FUNC(change_gun);
|
[lbCurSel 6000, true, true] call FUNC(change_gun);
|
||||||
};
|
};
|
||||||
|
@ -21,9 +21,9 @@ if (ctrlVisible 5006) then {
|
|||||||
} else {
|
} else {
|
||||||
false call FUNC(show_main_page);
|
false call FUNC(show_main_page);
|
||||||
true call FUNC(show_range_card);
|
true call FUNC(show_range_card);
|
||||||
|
|
||||||
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 5001);
|
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 5001);
|
||||||
|
|
||||||
[] call FUNC(calculate_range_card);
|
[] call FUNC(calculate_range_card);
|
||||||
[] call FUNC(update_range_card);
|
[] call FUNC(update_range_card);
|
||||||
};
|
};
|
||||||
|
@ -18,12 +18,12 @@
|
|||||||
if (ctrlVisible 10000) then {
|
if (ctrlVisible 10000) then {
|
||||||
false call FUNC(show_range_card_setup);
|
false call FUNC(show_range_card_setup);
|
||||||
true call FUNC(show_range_card);
|
true call FUNC(show_range_card);
|
||||||
|
|
||||||
if (_this == 1) then {
|
if (_this == 1) then {
|
||||||
GVAR(rangeCardStartRange) = 0 max Round(parseNumber(ctrlText 10003)) min 3000;
|
GVAR(rangeCardStartRange) = 0 max Round(parseNumber(ctrlText 10003)) min 3000;
|
||||||
GVAR(rangeCardEndRange) = 0 max Round(parseNumber(ctrlText 10004)) min 3000;
|
GVAR(rangeCardEndRange) = 0 max Round(parseNumber(ctrlText 10004)) min 3000;
|
||||||
GVAR(rangeCardIncrement) = 1 max Round(parseNumber(ctrlText 10005)) min 3000;
|
GVAR(rangeCardIncrement) = 1 max Round(parseNumber(ctrlText 10005)) min 3000;
|
||||||
|
|
||||||
[] call FUNC(calculate_range_card);
|
[] call FUNC(calculate_range_card);
|
||||||
[] call FUNC(update_range_card);
|
[] call FUNC(update_range_card);
|
||||||
};
|
};
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
if (ctrlVisible 15000) then {
|
if (ctrlVisible 15000) then {
|
||||||
false call FUNC(show_solution_setup);
|
false call FUNC(show_solution_setup);
|
||||||
true call FUNC(show_main_page);
|
true call FUNC(show_main_page);
|
||||||
|
|
||||||
if (_this == 1) then {
|
if (_this == 1) then {
|
||||||
GVAR(currentScopeClickUnit) = GVAR(currentScopeClickUnitTemp);
|
GVAR(currentScopeClickUnit) = GVAR(currentScopeClickUnitTemp);
|
||||||
GVAR(currentScopeClickNumber) = GVAR(currentScopeClickNumberTemp);
|
GVAR(currentScopeClickNumber) = GVAR(currentScopeClickNumberTemp);
|
||||||
@ -30,9 +30,9 @@ if (ctrlVisible 15000) then {
|
|||||||
} else {
|
} else {
|
||||||
true call FUNC(show_solution_setup);
|
true call FUNC(show_solution_setup);
|
||||||
false call FUNC(show_main_page);
|
false call FUNC(show_main_page);
|
||||||
|
|
||||||
GVAR(currentScopeClickUnitTemp) = GVAR(currentScopeClickUnit);
|
GVAR(currentScopeClickUnitTemp) = GVAR(currentScopeClickUnit);
|
||||||
GVAR(currentScopeClickNumberTemp) = GVAR(currentScopeClickNumber);
|
GVAR(currentScopeClickNumberTemp) = GVAR(currentScopeClickNumber);
|
||||||
|
|
||||||
[] call FUNC(update_solution_setup);
|
[] call FUNC(update_solution_setup);
|
||||||
};
|
};
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
if (ctrlVisible 14000) then {
|
if (ctrlVisible 14000) then {
|
||||||
false call FUNC(show_target_data);
|
false call FUNC(show_target_data);
|
||||||
true call FUNC(show_main_page);
|
true call FUNC(show_main_page);
|
||||||
|
|
||||||
if (_this == 1) then {
|
if (_this == 1) then {
|
||||||
call FUNC(calculate_target_solution);
|
call FUNC(calculate_target_solution);
|
||||||
};
|
};
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
if (ctrlVisible 7000) then {
|
if (ctrlVisible 7000) then {
|
||||||
false call FUNC(show_target_range_assist);
|
false call FUNC(show_target_range_assist);
|
||||||
true call FUNC(show_main_page);
|
true call FUNC(show_main_page);
|
||||||
|
|
||||||
if (_this == 1) then {
|
if (_this == 1) then {
|
||||||
ctrlSetText [320, Str(parseNumber(ctrlText 7012))];
|
ctrlSetText [320, Str(parseNumber(ctrlText 7012))];
|
||||||
ctrlSetText [140040, Str(parseNumber(ctrlText 7012))];
|
ctrlSetText [140040, Str(parseNumber(ctrlText 7012))];
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
if (ctrlVisible 8000) then {
|
if (ctrlVisible 8000) then {
|
||||||
false call FUNC(show_target_speed_assist);
|
false call FUNC(show_target_speed_assist);
|
||||||
true call FUNC(show_main_page);
|
true call FUNC(show_main_page);
|
||||||
|
|
||||||
if (_this == 1) then {
|
if (_this == 1) then {
|
||||||
[] call FUNC(calculate_target_speed_assist);
|
[] call FUNC(calculate_target_speed_assist);
|
||||||
private ["_targetSpeed"];
|
private ["_targetSpeed"];
|
||||||
|
@ -43,7 +43,7 @@ _speedOfSound = GVAR(temperature) call EFUNC(weather,calculateSpeedOfSound);
|
|||||||
_TOF = _x select 4;
|
_TOF = _x select 4;
|
||||||
_velocity = _x select 5;
|
_velocity = _x select 5;
|
||||||
_kineticEnergy = _x select 6;
|
_kineticEnergy = _x select 6;
|
||||||
|
|
||||||
switch (GVAR(currentScopeUnit)) do {
|
switch (GVAR(currentScopeUnit)) do {
|
||||||
case 0: {
|
case 0: {
|
||||||
_elevation = _elevation / 3.38;
|
_elevation = _elevation / 3.38;
|
||||||
@ -63,25 +63,25 @@ _speedOfSound = GVAR(temperature) call EFUNC(weather,calculateSpeedOfSound);
|
|||||||
};
|
};
|
||||||
_clickNumber = GVAR(workingMemory) select 8;
|
_clickNumber = GVAR(workingMemory) select 8;
|
||||||
_clickInterval = _clickSize / _clickNumber;
|
_clickInterval = _clickSize / _clickNumber;
|
||||||
|
|
||||||
_elevation = Round(_elevation / _clickInterval);
|
_elevation = Round(_elevation / _clickInterval);
|
||||||
_windage1 = Round(_windage1 / _clickInterval);
|
_windage1 = Round(_windage1 / _clickInterval);
|
||||||
_windage2 = Round(_windage2 / _clickInterval);
|
_windage2 = Round(_windage2 / _clickInterval);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
_elevationOutput = Str(Round(_elevation * 100) / 100);
|
_elevationOutput = Str(Round(_elevation * 100) / 100);
|
||||||
_windageOutput = Str(Round(_windage1 * 100) / 100);
|
_windageOutput = Str(Round(_windage1 * 100) / 100);
|
||||||
|
|
||||||
_rangeOutput = Str(_range);
|
_rangeOutput = Str(_range);
|
||||||
if (_velocity < _speedOfSound) then {
|
if (_velocity < _speedOfSound) then {
|
||||||
_rangeOutput = _rangeOutput + "*";
|
_rangeOutput = _rangeOutput + "*";
|
||||||
};
|
};
|
||||||
|
|
||||||
if (GVAR(currentUnit) == 1) then {
|
if (GVAR(currentUnit) == 1) then {
|
||||||
_velocity = _velocity * 3.2808399;
|
_velocity = _velocity * 3.2808399;
|
||||||
};
|
};
|
||||||
|
|
||||||
switch (GVAR(rangeCardCurrentColumn)) do {
|
switch (GVAR(rangeCardCurrentColumn)) do {
|
||||||
case 0: {
|
case 0: {
|
||||||
if (GVAR(showWind2)) then {
|
if (GVAR(showWind2)) then {
|
||||||
@ -100,6 +100,6 @@ _speedOfSound = GVAR(temperature) call EFUNC(weather,calculateSpeedOfSound);
|
|||||||
_lastColumnOutput = Str(Round(_TOF * 100) / 100);
|
_lastColumnOutput = Str(Round(_TOF * 100) / 100);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
lnbAddRow [5007, [_rangeOutput, _elevationOutput, _windageOutput, _lastColumnOutput]];
|
lnbAddRow [5007, [_rangeOutput, _elevationOutput, _windageOutput, _lastColumnOutput]];
|
||||||
} forEach GVAR(rangeCardData);
|
} forEach GVAR(rangeCardData);
|
||||||
|
@ -33,24 +33,24 @@ switch (GVAR(currentScopeUnit)) do {
|
|||||||
case 0: {
|
case 0: {
|
||||||
_elevationAbs = _elevationAbs / 3.38;
|
_elevationAbs = _elevationAbs / 3.38;
|
||||||
_windageAbs = _windageAbs / 3.38;
|
_windageAbs = _windageAbs / 3.38;
|
||||||
|
|
||||||
_wind2 = _wind2 / 3.38;
|
_wind2 = _wind2 / 3.38;
|
||||||
|
|
||||||
_elevationRel = _elevationRel / 3.38;
|
_elevationRel = _elevationRel / 3.38;
|
||||||
_windageRel = _windageRel / 3.38;
|
_windageRel = _windageRel / 3.38;
|
||||||
|
|
||||||
_elevationCur = _elevationCur / 3.38;
|
_elevationCur = _elevationCur / 3.38;
|
||||||
_windageCur = _windageCur / 3.38;
|
_windageCur = _windageCur / 3.38;
|
||||||
};
|
};
|
||||||
case 2: {
|
case 2: {
|
||||||
_elevationAbs = _elevationAbs * 1.047;
|
_elevationAbs = _elevationAbs * 1.047;
|
||||||
_windageAbs = _windageAbs * 1.047;
|
_windageAbs = _windageAbs * 1.047;
|
||||||
|
|
||||||
_wind2 = _wind2 / 1.047;
|
_wind2 = _wind2 / 1.047;
|
||||||
|
|
||||||
_elevationRel = _elevationRel * 1.047;
|
_elevationRel = _elevationRel * 1.047;
|
||||||
_windageRel = _windageRel * 1.047;
|
_windageRel = _windageRel * 1.047;
|
||||||
|
|
||||||
_elevationCur = _elevationCur * 1.047;
|
_elevationCur = _elevationCur * 1.047;
|
||||||
_windageCur = _windageCur * 1.047;
|
_windageCur = _windageCur * 1.047;
|
||||||
};
|
};
|
||||||
@ -62,15 +62,15 @@ switch (GVAR(currentScopeUnit)) do {
|
|||||||
};
|
};
|
||||||
_clickNumber = GVAR(workingMemory) select 8;
|
_clickNumber = GVAR(workingMemory) select 8;
|
||||||
_clickInterval = _clickSize / _clickNumber;
|
_clickInterval = _clickSize / _clickNumber;
|
||||||
|
|
||||||
_elevationAbs = Round(_elevationAbs / _clickInterval);
|
_elevationAbs = Round(_elevationAbs / _clickInterval);
|
||||||
_windageAbs = Round(_windageAbs / _clickInterval);
|
_windageAbs = Round(_windageAbs / _clickInterval);
|
||||||
|
|
||||||
_wind2 = Round(_wind2 / _clickInterval);
|
_wind2 = Round(_wind2 / _clickInterval);
|
||||||
|
|
||||||
_elevationRel = Round(_elevationRel / _clickInterval);
|
_elevationRel = Round(_elevationRel / _clickInterval);
|
||||||
_windageRel = Round(_windageRel / _clickInterval);
|
_windageRel = Round(_windageRel / _clickInterval);
|
||||||
|
|
||||||
_elevationCur = Round(_elevationCur / _clickInterval);
|
_elevationCur = Round(_elevationCur / _clickInterval);
|
||||||
_windageCur = Round(_windageCur / _clickInterval);
|
_windageCur = Round(_windageCur / _clickInterval);
|
||||||
};
|
};
|
||||||
@ -166,4 +166,4 @@ if (GVAR(showWind2)) then {
|
|||||||
} else {
|
} else {
|
||||||
ctrlSetText [420, "0.0"];
|
ctrlSetText [420, "0.0"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -83,7 +83,7 @@ class CfgMagazines {
|
|||||||
descriptionShort = CSTRING(30Rnd_556x45_mag_Tracer_DimDescription);
|
descriptionShort = CSTRING(30Rnd_556x45_mag_Tracer_DimDescription);
|
||||||
picture = "\A3\weapons_f\data\ui\m_20stanag_red_ca.paa";
|
picture = "\A3\weapons_f\data\ui\m_20stanag_red_ca.paa";
|
||||||
};
|
};
|
||||||
|
|
||||||
class 20Rnd_762x51_Mag: CA_Magazine {
|
class 20Rnd_762x51_Mag: CA_Magazine {
|
||||||
initSpeed = 833;
|
initSpeed = 833;
|
||||||
};
|
};
|
||||||
@ -121,7 +121,7 @@ class CfgMagazines {
|
|||||||
descriptionShort = CSTRING(20Rnd_762x51_mag_SDDescription);
|
descriptionShort = CSTRING(20Rnd_762x51_mag_SDDescription);
|
||||||
initSpeed = 325;
|
initSpeed = 325;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_10Rnd_762x51_M118LR_Mag: 10Rnd_762x51_Mag {
|
class ACE_10Rnd_762x51_M118LR_Mag: 10Rnd_762x51_Mag {
|
||||||
author = ECSTRING(common,ACETeam);
|
author = ECSTRING(common,ACETeam);
|
||||||
ammo = "ACE_762x51_Ball_M118LR";
|
ammo = "ACE_762x51_Ball_M118LR";
|
||||||
@ -247,7 +247,7 @@ class CfgMagazines {
|
|||||||
descriptionShort = CSTRING(10Rnd_338_API526_Mag_Description);
|
descriptionShort = CSTRING(10Rnd_338_API526_Mag_Description);
|
||||||
initSpeed = 880;
|
initSpeed = 880;
|
||||||
};
|
};
|
||||||
|
|
||||||
class 5Rnd_127x108_Mag;
|
class 5Rnd_127x108_Mag;
|
||||||
class ACE_5Rnd_127x99_Mag: 5Rnd_127x108_Mag {
|
class ACE_5Rnd_127x99_Mag: 5Rnd_127x108_Mag {
|
||||||
author = ECSTRING(common,ACETeam);
|
author = ECSTRING(common,ACETeam);
|
||||||
@ -273,8 +273,8 @@ class CfgMagazines {
|
|||||||
descriptionShort = CSTRING(5Rnd_127x99_AMAX_Mag_Description);
|
descriptionShort = CSTRING(5Rnd_127x99_AMAX_Mag_Description);
|
||||||
initSpeed = 860;
|
initSpeed = 860;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class 30Rnd_9x21_Mag: CA_Magazine {
|
class 30Rnd_9x21_Mag: CA_Magazine {
|
||||||
initSpeed = 450;
|
initSpeed = 450;
|
||||||
};
|
};
|
||||||
@ -286,27 +286,27 @@ class CfgMagazines {
|
|||||||
descriptionShort = CSTRING(30Rnd_9x19_mag_Description);
|
descriptionShort = CSTRING(30Rnd_9x19_mag_Description);
|
||||||
initSpeed = 370;
|
initSpeed = 370;
|
||||||
};
|
};
|
||||||
|
|
||||||
class 11Rnd_45ACP_Mag: CA_Magazine {
|
class 11Rnd_45ACP_Mag: CA_Magazine {
|
||||||
initSpeed = 250;
|
initSpeed = 250;
|
||||||
};
|
};
|
||||||
|
|
||||||
class 6Rnd_45ACP_Cylinder : 11Rnd_45ACP_Mag {
|
class 6Rnd_45ACP_Cylinder : 11Rnd_45ACP_Mag {
|
||||||
initSpeed = 250;
|
initSpeed = 250;
|
||||||
};
|
};
|
||||||
|
|
||||||
class 30Rnd_45ACP_Mag_SMG_01: 30Rnd_9x21_Mag {
|
class 30Rnd_45ACP_Mag_SMG_01: 30Rnd_9x21_Mag {
|
||||||
initSpeed = 250;
|
initSpeed = 250;
|
||||||
};
|
};
|
||||||
|
|
||||||
class 9Rnd_45ACP_Mag: 30Rnd_45ACP_Mag_SMG_01 {
|
class 9Rnd_45ACP_Mag: 30Rnd_45ACP_Mag_SMG_01 {
|
||||||
initSpeed = 250;
|
initSpeed = 250;
|
||||||
};
|
};
|
||||||
|
|
||||||
class 30Rnd_45ACP_Mag_SMG_01_Tracer_Green: 30Rnd_45ACP_Mag_SMG_01 {
|
class 30Rnd_45ACP_Mag_SMG_01_Tracer_Green: 30Rnd_45ACP_Mag_SMG_01 {
|
||||||
initSpeed = 250;
|
initSpeed = 250;
|
||||||
};
|
};
|
||||||
|
|
||||||
class 16Rnd_9x21_Mag: 30Rnd_9x21_Mag {
|
class 16Rnd_9x21_Mag: 30Rnd_9x21_Mag {
|
||||||
initSpeed = 450;
|
initSpeed = 450;
|
||||||
};
|
};
|
||||||
@ -318,7 +318,7 @@ class CfgMagazines {
|
|||||||
descriptionShort = CSTRING(16Rnd_9x19_mag_Description);
|
descriptionShort = CSTRING(16Rnd_9x19_mag_Description);
|
||||||
initSpeed = 370;
|
initSpeed = 370;
|
||||||
};
|
};
|
||||||
|
|
||||||
class 10Rnd_762x54_Mag: 10Rnd_762x51_Mag {
|
class 10Rnd_762x54_Mag: 10Rnd_762x51_Mag {
|
||||||
initSpeed = 800;
|
initSpeed = 800;
|
||||||
};
|
};
|
||||||
@ -331,15 +331,15 @@ class CfgMagazines {
|
|||||||
initSpeed = 800;
|
initSpeed = 800;
|
||||||
tracersEvery = 1;
|
tracersEvery = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
class 150Rnd_762x54_Box: 150Rnd_762x51_Box {
|
class 150Rnd_762x54_Box: 150Rnd_762x51_Box {
|
||||||
initSpeed = 750;
|
initSpeed = 750;
|
||||||
};
|
};
|
||||||
|
|
||||||
class 150Rnd_93x64_Mag: CA_Magazine {
|
class 150Rnd_93x64_Mag: CA_Magazine {
|
||||||
initSpeed = 860;
|
initSpeed = 860;
|
||||||
};
|
};
|
||||||
|
|
||||||
class 10Rnd_127x54_Mag: CA_Magazine {
|
class 10Rnd_127x54_Mag: CA_Magazine {
|
||||||
initSpeed = 300;
|
initSpeed = 300;
|
||||||
};
|
};
|
||||||
|
@ -15,81 +15,81 @@ class CfgWeapons {
|
|||||||
class Rifle_Base_F;
|
class Rifle_Base_F;
|
||||||
class Rifle_Long_Base_F;
|
class Rifle_Long_Base_F;
|
||||||
class MuzzleSlot;
|
class MuzzleSlot;
|
||||||
|
|
||||||
/* Long Rifles */
|
/* Long Rifles */
|
||||||
|
|
||||||
class GM6_base_F: Rifle_Long_Base_F {
|
class GM6_base_F: Rifle_Long_Base_F {
|
||||||
class Single: Mode_SemiAuto {
|
class Single: Mode_SemiAuto {
|
||||||
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class LRR_base_F: Rifle_Long_Base_F {
|
class LRR_base_F: Rifle_Long_Base_F {
|
||||||
class Single: Mode_SemiAuto {
|
class Single: Mode_SemiAuto {
|
||||||
dispersion = 0.00020; // radians. Equal to 0.70 MOA.
|
dispersion = 0.00020; // radians. Equal to 0.70 MOA.
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class DMR_06_base_F: Rifle_Long_Base_F {
|
class DMR_06_base_F: Rifle_Long_Base_F {
|
||||||
class Single: Mode_SemiAuto {
|
class Single: Mode_SemiAuto {
|
||||||
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
||||||
};
|
};
|
||||||
|
|
||||||
class FullAuto: Mode_FullAuto {
|
class FullAuto: Mode_FullAuto {
|
||||||
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class DMR_05_base_F: Rifle_Long_Base_F {
|
class DMR_05_base_F: Rifle_Long_Base_F {
|
||||||
class Single: Mode_SemiAuto {
|
class Single: Mode_SemiAuto {
|
||||||
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
||||||
};
|
};
|
||||||
|
|
||||||
class FullAuto: Mode_FullAuto {
|
class FullAuto: Mode_FullAuto {
|
||||||
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class DMR_04_base_F: Rifle_Long_Base_F {
|
class DMR_04_base_F: Rifle_Long_Base_F {
|
||||||
class Single: Mode_SemiAuto {
|
class Single: Mode_SemiAuto {
|
||||||
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class DMR_03_base_F: Rifle_Long_Base_F {
|
class DMR_03_base_F: Rifle_Long_Base_F {
|
||||||
class Single: Mode_SemiAuto {
|
class Single: Mode_SemiAuto {
|
||||||
dispersion = 0.00032; // radians. Equal to 1.10 MOA.
|
dispersion = 0.00032; // radians. Equal to 1.10 MOA.
|
||||||
};
|
};
|
||||||
|
|
||||||
class FullAuto: Mode_FullAuto {
|
class FullAuto: Mode_FullAuto {
|
||||||
dispersion = 0.00032; // radians. Equal to 1.10 MOA.
|
dispersion = 0.00032; // radians. Equal to 1.10 MOA.
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class DMR_02_base_F: Rifle_Long_Base_F {
|
class DMR_02_base_F: Rifle_Long_Base_F {
|
||||||
class Single: Mode_SemiAuto {
|
class Single: Mode_SemiAuto {
|
||||||
dispersion = 0.000262; // radians. Equal to 0.90 MOA.
|
dispersion = 0.000262; // radians. Equal to 0.90 MOA.
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class DMR_01_base_F: Rifle_Long_Base_F {
|
class DMR_01_base_F: Rifle_Long_Base_F {
|
||||||
class Single: Mode_SemiAuto {
|
class Single: Mode_SemiAuto {
|
||||||
dispersion = 0.0004; // radians. Equal to 1.375 MOA.
|
dispersion = 0.0004; // radians. Equal to 1.375 MOA.
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class EBR_base_F: Rifle_Long_Base_F {
|
class EBR_base_F: Rifle_Long_Base_F {
|
||||||
class Single: Mode_SemiAuto {
|
class Single: Mode_SemiAuto {
|
||||||
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
||||||
};
|
};
|
||||||
|
|
||||||
class FullAuto: Mode_FullAuto {
|
class FullAuto: Mode_FullAuto {
|
||||||
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/* MX */
|
/* MX */
|
||||||
|
|
||||||
class arifle_MX_Base_F: Rifle_Base_F {};
|
class arifle_MX_Base_F: Rifle_Base_F {};
|
||||||
class arifle_MX_SW_F: arifle_MX_Base_F {
|
class arifle_MX_SW_F: arifle_MX_Base_F {
|
||||||
magazines[] = {
|
magazines[] = {
|
||||||
@ -158,7 +158,7 @@ class CfgWeapons {
|
|||||||
class Burst: Mode_Burst {
|
class Burst: Mode_Burst {
|
||||||
dispersion = 0.0008727; // radians. Equal to 3 MOA.
|
dispersion = 0.0008727; // radians. Equal to 3 MOA.
|
||||||
};
|
};
|
||||||
|
|
||||||
class FullAuto: Mode_FullAuto {
|
class FullAuto: Mode_FullAuto {
|
||||||
dispersion = 0.0008727; // radians. Equal to 3 MOA.
|
dispersion = 0.0008727; // radians. Equal to 3 MOA.
|
||||||
};
|
};
|
||||||
@ -511,7 +511,7 @@ class CfgWeapons {
|
|||||||
ACE_barrelTwist=234.95;
|
ACE_barrelTwist=234.95;
|
||||||
ACE_barrelLength=609.6;
|
ACE_barrelLength=609.6;
|
||||||
};
|
};
|
||||||
|
|
||||||
class HMG_127 : LMG_RCWS {
|
class HMG_127 : LMG_RCWS {
|
||||||
};
|
};
|
||||||
class HMG_01: HMG_127 {
|
class HMG_01: HMG_127 {
|
||||||
@ -521,7 +521,7 @@ class CfgWeapons {
|
|||||||
ACE_barrelTwist=304.8;
|
ACE_barrelTwist=304.8;
|
||||||
ACE_barrelLength=1143.0;
|
ACE_barrelLength=1143.0;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Silencers */
|
/* Silencers */
|
||||||
|
|
||||||
class ItemCore;
|
class ItemCore;
|
||||||
|
@ -37,7 +37,7 @@ if (_state) then {
|
|||||||
[{
|
[{
|
||||||
params ["_args", "_pfID"];
|
params ["_args", "_pfID"];
|
||||||
_args params ["_unit", "_target", "_actionID"];
|
_args params ["_unit", "_target", "_actionID"];
|
||||||
|
|
||||||
if (_unit getVariable [QGVAR(isEscorting), false]) then {
|
if (_unit getVariable [QGVAR(isEscorting), false]) then {
|
||||||
if (!alive _target || {!alive _unit} || {!canStand _target} || {!canStand _unit} || {_target getVariable ["ACE_isUnconscious", false]} || {_unit getVariable ["ACE_isUnconscious", false]} || {!isNull (attachedTo _unit)}) then {
|
if (!alive _target || {!alive _unit} || {!canStand _target} || {!canStand _unit} || {_target getVariable ["ACE_isUnconscious", false]} || {_unit getVariable ["ACE_isUnconscious", false]} || {!isNull (attachedTo _unit)}) then {
|
||||||
_unit setVariable [QGVAR(isEscorting), false, true];
|
_unit setVariable [QGVAR(isEscorting), false, true];
|
||||||
|
@ -15,7 +15,7 @@ class RscInGameUI {
|
|||||||
class RscUnitInfoTank: RscUnitInfo {
|
class RscUnitInfoTank: RscUnitInfo {
|
||||||
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgVehicle', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Vehicle')])] call FUNC(localEvent););
|
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgVehicle', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Vehicle')])] call FUNC(localEvent););
|
||||||
};
|
};
|
||||||
|
|
||||||
class RscUnitInfoAirNoWeapon: RscUnitInfo {
|
class RscUnitInfoAirNoWeapon: RscUnitInfo {
|
||||||
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent););
|
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent););
|
||||||
};
|
};
|
||||||
|
@ -21,7 +21,7 @@ if (!isNil "ACE_PFH_COUNTER") then {
|
|||||||
|
|
||||||
private _isActive = ["ACTIVE", "REMOVED"] select isNil {CBA_common_PFHhandles select (_pfh select 0)};
|
private _isActive = ["ACTIVE", "REMOVED"] select isNil {CBA_common_PFHhandles select (_pfh select 0)};
|
||||||
|
|
||||||
diag_log text format ["Registered PFH: id=%1 [%2, delay %3], %4:%5", _pfh select 0, _isActive, _parameters select 1, _pfh select 1, _pfh select 2];
|
diag_log text format ["Registered PFH: id=%1 [%2, delay %3], %4:%5", _pfh select 0, _isActive, _parameters select 1, _pfh select 1, _pfh select 2];
|
||||||
false
|
false
|
||||||
} count ACE_PFH_COUNTER;
|
} count ACE_PFH_COUNTER;
|
||||||
};
|
};
|
||||||
@ -42,7 +42,7 @@ diag_log text format ["-------------------------------------------"];
|
|||||||
if (_iter > 2) then {
|
if (_iter > 2) then {
|
||||||
_count = _count + 1;
|
_count = _count + 1;
|
||||||
private _delta = (_x select 1) - (_x select 0);
|
private _delta = (_x select 1) - (_x select 0);
|
||||||
|
|
||||||
_total = _total + _delta;
|
_total = _total + _delta;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ diag_log text format ["-------------------------------------------"];
|
|||||||
_averageResult = (_total / _count) * 1000;
|
_averageResult = (_total / _count) * 1000;
|
||||||
|
|
||||||
// dump results
|
// dump results
|
||||||
diag_log text format ["%1: Average: %2s / %3 = %4ms", _counterEntry select 0, _total, _count, _averageResult];
|
diag_log text format ["%1: Average: %2s / %3 = %4ms", _counterEntry select 0, _total, _count, _averageResult];
|
||||||
} else {
|
} else {
|
||||||
diag_log text format ["%1: No results", _counterEntry select 0];
|
diag_log text format ["%1: No results", _counterEntry select 0];
|
||||||
};
|
};
|
||||||
@ -68,7 +68,7 @@ diag_log text format["-------------------------------------------"];
|
|||||||
{
|
{
|
||||||
private _delay = _x select 2;
|
private _delay = _x select 2;
|
||||||
//if(_delay > 0) then { _delay = _delay / 1000; };
|
//if(_delay > 0) then { _delay = _delay / 1000; };
|
||||||
|
|
||||||
diag_log text format["%1: %2s, delay=%3, handle=%4",(_x select 0), _delay, (_x select 3), (_x select 4)];
|
diag_log text format["%1: %2s, delay=%3, handle=%4",(_x select 0), _delay, (_x select 3), (_x select 4)];
|
||||||
} forEach ACE_PERFORMANCE_EXCESSIVE_STEP_TRACKER;
|
} forEach ACE_PERFORMANCE_EXCESSIVE_STEP_TRACKER;
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ _conditonCode = {
|
|||||||
_toggleCode = {
|
_toggleCode = {
|
||||||
// Conditions: canInteract
|
// Conditions: canInteract
|
||||||
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {};
|
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {};
|
||||||
|
|
||||||
// Statement
|
// Statement
|
||||||
[] call FUNC(toggleOverlay);
|
[] call FUNC(toggleOverlay);
|
||||||
if (!GVAR(run)) then {
|
if (!GVAR(run)) then {
|
||||||
|
@ -90,7 +90,7 @@ class CfgVehicles {
|
|||||||
GVAR(canCarry) = 0;
|
GVAR(canCarry) = 0;
|
||||||
GVAR(canDrag) = 0;
|
GVAR(canDrag) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
//Plastic and metal case
|
//Plastic and metal case
|
||||||
class PlasticCase_01_base_F: Items_base_F {
|
class PlasticCase_01_base_F: Items_base_F {
|
||||||
class EventHandlers {
|
class EventHandlers {
|
||||||
@ -116,7 +116,7 @@ class CfgVehicles {
|
|||||||
GVAR(dragPosition[]) = {0,1.2,0};
|
GVAR(dragPosition[]) = {0,1.2,0};
|
||||||
GVAR(dragDirection) = 0;
|
GVAR(dragDirection) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Barrier
|
// Barrier
|
||||||
class RoadCone_F: ThingX {
|
class RoadCone_F: ThingX {
|
||||||
class EventHandlers {
|
class EventHandlers {
|
||||||
|
@ -14,8 +14,7 @@
|
|||||||
*
|
*
|
||||||
* Public: No
|
* Public: No
|
||||||
*/
|
*/
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
private ["_speedDial", "_amount"];
|
private ["_speedDial", "_amount"];
|
||||||
|
|
||||||
_speedDial = ace_player getVariable [QGVAR(SpeedDial), []];
|
_speedDial = ace_player getVariable [QGVAR(SpeedDial), []];
|
||||||
|
@ -1 +1 @@
|
|||||||
z\ace\addons\fastroping
|
z\ace\addons\fastroping
|
||||||
|
@ -11,7 +11,7 @@ GVAR(pfeh_id) = -1;
|
|||||||
if (!GVAR(enabled)) exitWith {};
|
if (!GVAR(enabled)) exitWith {};
|
||||||
|
|
||||||
[QGVAR(fingered), {_this call FUNC(incomingFinger)}] call EFUNC(common,addEventHandler);
|
[QGVAR(fingered), {_this call FUNC(incomingFinger)}] call EFUNC(common,addEventHandler);
|
||||||
|
|
||||||
["ACE3 Common",
|
["ACE3 Common",
|
||||||
QGVAR(finger),
|
QGVAR(finger),
|
||||||
[(localize LSTRING(keyComb)), (localize LSTRING(keyComb_description))],
|
[(localize LSTRING(keyComb)), (localize LSTRING(keyComb_description))],
|
||||||
|
@ -8,11 +8,11 @@ class CfgAmmo {
|
|||||||
//class ace_arty_105mm_m1_m782_delay: ace_arty_105mm_m1_m782_prox {
|
//class ace_arty_105mm_m1_m782_delay: ace_arty_105mm_m1_m782_prox {
|
||||||
// GVAR(skip) = 1;
|
// GVAR(skip) = 1;
|
||||||
//};
|
//};
|
||||||
|
|
||||||
class Bo_GBU12_LGB;
|
class Bo_GBU12_LGB;
|
||||||
class ACE_GBU12 : Bo_GBU12_LGB {
|
class ACE_GBU12 : Bo_GBU12_LGB {
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"};
|
GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"};
|
||||||
GVAR(metal) = 140000;
|
GVAR(metal) = 140000;
|
||||||
GVAR(charge) = 87000;
|
GVAR(charge) = 87000;
|
||||||
@ -27,7 +27,7 @@ class CfgAmmo {
|
|||||||
class Grenade;
|
class Grenade;
|
||||||
class GrenadeHand: Grenade {
|
class GrenadeHand: Grenade {
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(skip) = 0;
|
GVAR(skip) = 0;
|
||||||
GVAR(force) = 1;
|
GVAR(force) = 1;
|
||||||
// This is a good high-drag frag type for grenades.
|
// This is a good high-drag frag type for grenades.
|
||||||
@ -52,7 +52,7 @@ class CfgAmmo {
|
|||||||
class R_Hydra_HE: RocketBase {
|
class R_Hydra_HE: RocketBase {
|
||||||
// Source: http://fas.org/man/dod-101/sys/missile/hydra-70.htm
|
// Source: http://fas.org/man/dod-101/sys/missile/hydra-70.htm
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
||||||
GVAR(metal) = 3850;
|
GVAR(metal) = 3850;
|
||||||
GVAR(charge) = 1040;
|
GVAR(charge) = 1040;
|
||||||
@ -74,18 +74,18 @@ class CfgAmmo {
|
|||||||
class BombCore;
|
class BombCore;
|
||||||
class Bo_Mk82: BombCore {
|
class Bo_Mk82: BombCore {
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"};
|
GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"};
|
||||||
GVAR(metal) = 140000;
|
GVAR(metal) = 140000;
|
||||||
GVAR(charge) = 87000;
|
GVAR(charge) = 87000;
|
||||||
GVAR(gurney_c) = 2320;
|
GVAR(gurney_c) = 2320;
|
||||||
GVAR(gurney_k) = 1/2;
|
GVAR(gurney_k) = 1/2;
|
||||||
};
|
};
|
||||||
|
|
||||||
class G_40mm_HE: GrenadeBase {
|
class G_40mm_HE: GrenadeBase {
|
||||||
// Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M441
|
// Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M441
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_tiny_HD"};
|
GVAR(classes)[] = {"ACE_frag_tiny_HD"};
|
||||||
GVAR(metal) = 200;
|
GVAR(metal) = 200;
|
||||||
GVAR(charge) = 32;
|
GVAR(charge) = 32;
|
||||||
@ -95,14 +95,14 @@ class CfgAmmo {
|
|||||||
class G_40mm_HEDP: G_40mm_HE {
|
class G_40mm_HEDP: G_40mm_HE {
|
||||||
// Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M433
|
// Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M433
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_tiny_HD"};
|
GVAR(classes)[] = {"ACE_frag_tiny_HD"};
|
||||||
GVAR(metal) = 200;
|
GVAR(metal) = 200;
|
||||||
GVAR(charge) = 45;
|
GVAR(charge) = 45;
|
||||||
GVAR(gurney_c) = 2830;
|
GVAR(gurney_c) = 2830;
|
||||||
GVAR(gurney_k) = 1/2;
|
GVAR(gurney_k) = 1/2;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_G_40mm_HEDP: G_40mm_HEDP {
|
class ACE_G_40mm_HEDP: G_40mm_HEDP {
|
||||||
};
|
};
|
||||||
class ACE_G_40mm_HE: G_40mm_HE {
|
class ACE_G_40mm_HE: G_40mm_HE {
|
||||||
@ -121,7 +121,7 @@ class CfgAmmo {
|
|||||||
class Sh_155mm_AMOS: ShellBase {
|
class Sh_155mm_AMOS: ShellBase {
|
||||||
// Source: http://www.globalsecurity.org/military/systems/munitions/m795.htm
|
// Source: http://www.globalsecurity.org/military/systems/munitions/m795.htm
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"};
|
GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"};
|
||||||
GVAR(metal) = 36000;
|
GVAR(metal) = 36000;
|
||||||
GVAR(charge) = 9979;
|
GVAR(charge) = 9979;
|
||||||
@ -131,7 +131,7 @@ class CfgAmmo {
|
|||||||
class Sh_82mm_AMOS : Sh_155mm_AMOS {
|
class Sh_82mm_AMOS : Sh_155mm_AMOS {
|
||||||
// Source: http://www.arsenal-bg.com/defense_police/mortar_bombs_82mm.htm
|
// Source: http://www.arsenal-bg.com/defense_police/mortar_bombs_82mm.htm
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
||||||
GVAR(metal) = 3200;
|
GVAR(metal) = 3200;
|
||||||
GVAR(charge) = 420;
|
GVAR(charge) = 420;
|
||||||
@ -140,7 +140,7 @@ class CfgAmmo {
|
|||||||
};
|
};
|
||||||
class ModuleOrdnanceMortar_F_Ammo: Sh_82mm_AMOS {
|
class ModuleOrdnanceMortar_F_Ammo: Sh_82mm_AMOS {
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
||||||
GVAR(metal) = 800;
|
GVAR(metal) = 800;
|
||||||
GVAR(charge) = 4200;
|
GVAR(charge) = 4200;
|
||||||
@ -149,7 +149,7 @@ class CfgAmmo {
|
|||||||
};
|
};
|
||||||
class Sh_105mm_HEAT_MP : Sh_125mm_HEAT {
|
class Sh_105mm_HEAT_MP : Sh_125mm_HEAT {
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
||||||
GVAR(metal) = 11400;
|
GVAR(metal) = 11400;
|
||||||
GVAR(charge) = 7100;
|
GVAR(charge) = 7100;
|
||||||
@ -158,7 +158,7 @@ class CfgAmmo {
|
|||||||
};
|
};
|
||||||
class Sh_120mm_HE : ShellBase {
|
class Sh_120mm_HE : ShellBase {
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
||||||
GVAR(metal) = 23000;
|
GVAR(metal) = 23000;
|
||||||
GVAR(charge) = 3148;
|
GVAR(charge) = 3148;
|
||||||
@ -167,7 +167,7 @@ class CfgAmmo {
|
|||||||
};
|
};
|
||||||
class Sh_125mm_HE: Sh_120mm_HE {
|
class Sh_125mm_HE: Sh_120mm_HE {
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
||||||
GVAR(metal) = 16000;
|
GVAR(metal) = 16000;
|
||||||
GVAR(charge) = 3200;
|
GVAR(charge) = 3200;
|
||||||
@ -176,7 +176,7 @@ class CfgAmmo {
|
|||||||
};
|
};
|
||||||
class ModuleOrdnanceHowitzer_F_ammo: Sh_155mm_AMOS {
|
class ModuleOrdnanceHowitzer_F_ammo: Sh_155mm_AMOS {
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"};
|
GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"};
|
||||||
GVAR(metal) = 1950;
|
GVAR(metal) = 1950;
|
||||||
GVAR(charge) = 15800;
|
GVAR(charge) = 15800;
|
||||||
@ -203,7 +203,7 @@ class CfgAmmo {
|
|||||||
class Missile_AGM_02_F : MissileBase {
|
class Missile_AGM_02_F : MissileBase {
|
||||||
// Source: http://fas.org/man/dod-101/sys/smart/agm-65.htm
|
// Source: http://fas.org/man/dod-101/sys/smart/agm-65.htm
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
||||||
GVAR(metal) = 56250;
|
GVAR(metal) = 56250;
|
||||||
GVAR(charge) = 39000;
|
GVAR(charge) = 39000;
|
||||||
@ -213,7 +213,7 @@ class CfgAmmo {
|
|||||||
class M_Hellfire_AT: MissileBase {
|
class M_Hellfire_AT: MissileBase {
|
||||||
// Source: http://www.designation-systems.net/dusrm/m-114.html
|
// Source: http://www.designation-systems.net/dusrm/m-114.html
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
|
|
||||||
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
|
||||||
GVAR(metal) = 8000;
|
GVAR(metal) = 8000;
|
||||||
GVAR(charge) = 2400;
|
GVAR(charge) = 2400;
|
||||||
@ -471,6 +471,6 @@ class CfgAmmo {
|
|||||||
class ACE_frag_spall_huge: ACE_frag_huge {
|
class ACE_frag_spall_huge: ACE_frag_huge {
|
||||||
timeToLive = 0.3;
|
timeToLive = 0.3;
|
||||||
};
|
};
|
||||||
|
|
||||||
#include "CfgAmmoReflections.hpp"
|
#include "CfgAmmoReflections.hpp"
|
||||||
};
|
};
|
||||||
|
@ -13,10 +13,6 @@ if(count _this > 2) then {
|
|||||||
if(_depth <= 2) then {
|
if(_depth <= 2) then {
|
||||||
_indirectHitRange = getNumber(configFile >> "CfgAmmo" >> _ammo >> "indirectHitRange");
|
_indirectHitRange = getNumber(configFile >> "CfgAmmo" >> _ammo >> "indirectHitRange");
|
||||||
_indirectHit = getNumber(configFile >> "CfgAmmo" >> _ammo >> "indirectHit");
|
_indirectHit = getNumber(configFile >> "CfgAmmo" >> _ammo >> "indirectHit");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_testParams = [_pos, [_indirectHitRange, _indirectHit], [], [], -4, _depth, 0];
|
_testParams = [_pos, [_indirectHitRange, _indirectHit], [], [], -4, _depth, 0];
|
||||||
[DFUNC(findReflections), 0, _testParams] call CBA_fnc_addPerFrameHandler;
|
[DFUNC(findReflections), 0, _testParams] call CBA_fnc_addPerFrameHandler;
|
||||||
};
|
};
|
||||||
|
@ -18,12 +18,11 @@ private ["_color", "_index", "_lastPos", "_lastSpd", "_max", "_positions", "_sta
|
|||||||
} else {
|
} else {
|
||||||
_data2 = _positions select (_index + ACE_TRACE_DRAW_INC);
|
_data2 = _positions select (_index + ACE_TRACE_DRAW_INC);
|
||||||
};
|
};
|
||||||
|
|
||||||
_pos1 = _data1 select 0;
|
_pos1 = _data1 select 0;
|
||||||
_pos2 = _data2 select 0;
|
_pos2 = _data2 select 0;
|
||||||
_index = _index + ACE_TRACE_DRAW_INC;
|
_index = _index + ACE_TRACE_DRAW_INC;
|
||||||
|
|
||||||
|
|
||||||
drawLine3D [_pos1, _pos2, _color];
|
drawLine3D [_pos1, _pos2, _color];
|
||||||
_lastPos = _pos2;
|
_lastPos = _pos2;
|
||||||
_lastSpd = _data1 select 1;
|
_lastSpd = _data1 select 1;
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
* Public: No
|
* Public: No
|
||||||
*/
|
*/
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
TRACE_1("params",_this);
|
TRACE_1("params",_this);
|
||||||
|
|
||||||
if (!GVAR(ReloadMutex)) exitWith {false};
|
if (!GVAR(ReloadMutex)) exitWith {false};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
class RscTitles{
|
class RscTitles{
|
||||||
#include "define.hpp"
|
#include "define.hpp"
|
||||||
|
|
||||||
class RscACE_Goggles_BaseTitle{
|
class RscACE_Goggles_BaseTitle{
|
||||||
idd = -1;
|
idd = -1;
|
||||||
onLoad = "uiNamespace setVariable ['ACE_Goggles_Display', _this select 0]";
|
onLoad = "uiNamespace setVariable ['ACE_Goggles_Display', _this select 0]";
|
||||||
@ -9,25 +9,25 @@ class RscTitles{
|
|||||||
fadeOut=0.5;
|
fadeOut=0.5;
|
||||||
movingEnable = false;
|
movingEnable = false;
|
||||||
duration = 10e10;
|
duration = 10e10;
|
||||||
name = "RscACE_Goggles_BaseTitle";
|
name = "RscACE_Goggles_BaseTitle";
|
||||||
class controls;
|
class controls;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RscACE_Goggles:RscACE_Goggles_BaseTitle{
|
class RscACE_Goggles:RscACE_Goggles_BaseTitle{
|
||||||
idd = 1044;
|
idd = 1044;
|
||||||
name = "RscACE_Goggles";
|
name = "RscACE_Goggles";
|
||||||
class controls{
|
class controls{
|
||||||
class gogglesImage: RscPicture{
|
class gogglesImage: RscPicture{
|
||||||
idc = 10650;
|
idc = 10650;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class RscACE_GogglesEffects:RscACE_Goggles_BaseTitle{
|
class RscACE_GogglesEffects:RscACE_Goggles_BaseTitle{
|
||||||
idd = 1045;
|
idd = 1045;
|
||||||
onLoad = "uiNamespace setVariable ['ACE_Goggles_DisplayEffects', _this select 0]";
|
onLoad = "uiNamespace setVariable ['ACE_Goggles_DisplayEffects', _this select 0]";
|
||||||
onUnload = "uiNamespace setVariable ['ACE_Goggles_DisplayEffects', displayNull]";
|
onUnload = "uiNamespace setVariable ['ACE_Goggles_DisplayEffects', displayNull]";
|
||||||
name = "RscACE_GogglesEffects";
|
name = "RscACE_GogglesEffects";
|
||||||
fadeIn=0;
|
fadeIn=0;
|
||||||
fadeOut=0.5;
|
fadeOut=0.5;
|
||||||
class controls{
|
class controls{
|
||||||
@ -39,4 +39,4 @@ class RscTitles{
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -6,7 +6,7 @@ class CfgAmmo {
|
|||||||
smokeColor[] = {0, 0, 0, 0};
|
smokeColor[] = {0, 0, 0, 0};
|
||||||
timeToLive = 6;
|
timeToLive = 6;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ShellBase;
|
class ShellBase;
|
||||||
class ACE_HuntIR_Propell: ShellBase {
|
class ACE_HuntIR_Propell: ShellBase {
|
||||||
supersonicCrackNear[] = {"",0.316228,1,50};
|
supersonicCrackNear[] = {"",0.316228,1,50};
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
class CfgWeapons {
|
class CfgWeapons {
|
||||||
class ACE_ItemCore;
|
class ACE_ItemCore;
|
||||||
class InventoryItem_Base_F;
|
class InventoryItem_Base_F;
|
||||||
|
|
||||||
class ACE_HuntIR_monitor: ACE_ItemCore {
|
class ACE_HuntIR_monitor: ACE_ItemCore {
|
||||||
scope = 2;
|
scope = 2;
|
||||||
displayName = CSTRING(monitor_displayName);
|
displayName = CSTRING(monitor_displayName);
|
||||||
@ -14,7 +14,7 @@ class CfgWeapons {
|
|||||||
mass = 20;
|
mass = 20;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class GrenadeLauncher;
|
class GrenadeLauncher;
|
||||||
class UGL_F: GrenadeLauncher {
|
class UGL_F: GrenadeLauncher {
|
||||||
magazines[] += {"ACE_HuntIR_M203"};
|
magazines[] += {"ACE_HuntIR_M203"};
|
||||||
@ -23,7 +23,7 @@ class CfgWeapons {
|
|||||||
//magazines[] += {"ACE_HuntIR_M203"};
|
//magazines[] += {"ACE_HuntIR_M203"};
|
||||||
magazines[] = {"1Rnd_HE_Grenade_shell","UGL_FlareWhite_F","UGL_FlareGreen_F","UGL_FlareRed_F","UGL_FlareYellow_F","UGL_FlareCIR_F","1Rnd_Smoke_Grenade_shell","1Rnd_SmokeRed_Grenade_shell","1Rnd_SmokeGreen_Grenade_shell","1Rnd_SmokeYellow_Grenade_shell","1Rnd_SmokePurple_Grenade_shell","1Rnd_SmokeBlue_Grenade_shell","1Rnd_SmokeOrange_Grenade_shell","3Rnd_HE_Grenade_shell","3Rnd_UGL_FlareWhite_F","3Rnd_UGL_FlareGreen_F","3Rnd_UGL_FlareRed_F","3Rnd_UGL_FlareYellow_F","3Rnd_UGL_FlareCIR_F","3Rnd_Smoke_Grenade_shell","3Rnd_SmokeRed_Grenade_shell","3Rnd_SmokeGreen_Grenade_shell","3Rnd_SmokeYellow_Grenade_shell","3Rnd_SmokePurple_Grenade_shell","3Rnd_SmokeBlue_Grenade_shell","3Rnd_SmokeOrange_Grenade_shell","ACE_HuntIR_M203"};
|
magazines[] = {"1Rnd_HE_Grenade_shell","UGL_FlareWhite_F","UGL_FlareGreen_F","UGL_FlareRed_F","UGL_FlareYellow_F","UGL_FlareCIR_F","1Rnd_Smoke_Grenade_shell","1Rnd_SmokeRed_Grenade_shell","1Rnd_SmokeGreen_Grenade_shell","1Rnd_SmokeYellow_Grenade_shell","1Rnd_SmokePurple_Grenade_shell","1Rnd_SmokeBlue_Grenade_shell","1Rnd_SmokeOrange_Grenade_shell","3Rnd_HE_Grenade_shell","3Rnd_UGL_FlareWhite_F","3Rnd_UGL_FlareGreen_F","3Rnd_UGL_FlareRed_F","3Rnd_UGL_FlareYellow_F","3Rnd_UGL_FlareCIR_F","3Rnd_Smoke_Grenade_shell","3Rnd_SmokeRed_Grenade_shell","3Rnd_SmokeGreen_Grenade_shell","3Rnd_SmokeYellow_Grenade_shell","3Rnd_SmokePurple_Grenade_shell","3Rnd_SmokeBlue_Grenade_shell","3Rnd_SmokeOrange_Grenade_shell","ACE_HuntIR_M203"};
|
||||||
};
|
};
|
||||||
|
|
||||||
class Rifle_Base_F;
|
class Rifle_Base_F;
|
||||||
class arifle_MX_Base_F: Rifle_Base_F {
|
class arifle_MX_Base_F: Rifle_Base_F {
|
||||||
class GL_3GL_F: UGL_F {
|
class GL_3GL_F: UGL_F {
|
||||||
|
@ -577,7 +577,7 @@ class CfgVehicles {
|
|||||||
class Land_PortableLight_double_off_F: Land_PortableLight_double_F {
|
class Land_PortableLight_double_off_F: Land_PortableLight_double_F {
|
||||||
scope = 1;
|
scope = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RoadCone_F: ThingX {
|
class RoadCone_F: ThingX {
|
||||||
class ACE_Actions {
|
class ACE_Actions {
|
||||||
class ACE_MainActions {
|
class ACE_MainActions {
|
||||||
|
@ -28,7 +28,7 @@ _filter ctrlAddEventHandler ["LBSelChanged", {_this call FUNC(onLBSelChanged)}];
|
|||||||
[{
|
[{
|
||||||
disableSerialization;
|
disableSerialization;
|
||||||
params ["_filter"];
|
params ["_filter"];
|
||||||
|
|
||||||
// remove "All", so we can push it to the back later.
|
// remove "All", so we can push it to the back later.
|
||||||
// to keep localization we can keep the lbText (displayed name).
|
// to keep localization we can keep the lbText (displayed name).
|
||||||
private _index = lbSize _filter - 1;
|
private _index = lbSize _filter - 1;
|
||||||
|
@ -10,7 +10,7 @@ class CfgMagazines {
|
|||||||
class Titan_AT: Titan_AA {
|
class Titan_AT: Titan_AA {
|
||||||
ammo = "ACE_Javelin_FGM148"; //from misssileGuidance, was "M_Titan_AT"
|
ammo = "ACE_Javelin_FGM148"; //from misssileGuidance, was "M_Titan_AT"
|
||||||
};
|
};
|
||||||
|
|
||||||
//Handheld Titan "AP" Magazine (SACLOS? "Anti-personal")
|
//Handheld Titan "AP" Magazine (SACLOS? "Anti-personal")
|
||||||
// class Titan_AP: Titan_AA {
|
// class Titan_AP: Titan_AA {
|
||||||
//???
|
//???
|
||||||
|
@ -3,20 +3,20 @@ class CfgVehicles {
|
|||||||
class StaticWeapon : LandVehicle {
|
class StaticWeapon : LandVehicle {
|
||||||
class Turrets;
|
class Turrets;
|
||||||
};
|
};
|
||||||
|
|
||||||
class StaticMGWeapon : StaticWeapon {
|
class StaticMGWeapon : StaticWeapon {
|
||||||
class Turrets : Turrets {
|
class Turrets : Turrets {
|
||||||
class MainTurret;
|
class MainTurret;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class AT_01_base_F: StaticMGWeapon {};
|
class AT_01_base_F: StaticMGWeapon {};
|
||||||
|
|
||||||
class B_static_AT_F: AT_01_base_F {
|
class B_static_AT_F: AT_01_base_F {
|
||||||
class Turrets : Turrets {
|
class Turrets : Turrets {
|
||||||
class MainTurret : MainTurret {
|
class MainTurret : MainTurret {
|
||||||
weapons[] = { QGVAR(Titan_Static) };
|
weapons[] = { QGVAR(Titan_Static) };
|
||||||
magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"};
|
magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"};
|
||||||
|
|
||||||
turretInfoType = "ACE_RscOptics_javelin";
|
turretInfoType = "ACE_RscOptics_javelin";
|
||||||
gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d);
|
gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d);
|
||||||
opticsZoomMin = 0.08333;
|
opticsZoomMin = 0.08333;
|
||||||
@ -34,7 +34,7 @@ class CfgVehicles {
|
|||||||
class MainTurret : MainTurret {
|
class MainTurret : MainTurret {
|
||||||
weapons[] = { QGVAR(Titan_Static) };
|
weapons[] = { QGVAR(Titan_Static) };
|
||||||
magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"};
|
magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"};
|
||||||
|
|
||||||
turretInfoType = "ACE_RscOptics_javelin";
|
turretInfoType = "ACE_RscOptics_javelin";
|
||||||
gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d);
|
gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d);
|
||||||
opticsZoomMin = 0.08333;
|
opticsZoomMin = 0.08333;
|
||||||
@ -52,7 +52,7 @@ class CfgVehicles {
|
|||||||
class MainTurret : MainTurret {
|
class MainTurret : MainTurret {
|
||||||
weapons[] = { QGVAR(Titan_Static) };
|
weapons[] = { QGVAR(Titan_Static) };
|
||||||
magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"};
|
magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"};
|
||||||
|
|
||||||
turretInfoType = "ACE_RscOptics_javelin";
|
turretInfoType = "ACE_RscOptics_javelin";
|
||||||
gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d);
|
gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d);
|
||||||
opticsZoomMin = 0.08333;
|
opticsZoomMin = 0.08333;
|
||||||
@ -65,4 +65,4 @@ class CfgVehicles {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,38 +1,38 @@
|
|||||||
class CfgWeapons {
|
class CfgWeapons {
|
||||||
class Launcher;
|
class Launcher;
|
||||||
class MissileLauncher;
|
class MissileLauncher;
|
||||||
|
|
||||||
class Launcher_Base_F : Launcher {
|
class Launcher_Base_F : Launcher {
|
||||||
class WeaponSlotsInfo;
|
class WeaponSlotsInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
// @TODO: AA by default, motherfuckers
|
// @TODO: AA by default, motherfuckers
|
||||||
class missiles_titan : MissileLauncher {
|
class missiles_titan : MissileLauncher {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class missiles_titan_at : missiles_titan { };
|
class missiles_titan_at : missiles_titan { };
|
||||||
class GVAR(Titan_Static) : missiles_titan_at {
|
class GVAR(Titan_Static) : missiles_titan_at {
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
weaponInfoType = "ACE_RscOptics_javelin";
|
weaponInfoType = "ACE_RscOptics_javelin";
|
||||||
modelOptics = PATHTOF(data\reticle_titan.p3d);
|
modelOptics = PATHTOF(data\reticle_titan.p3d);
|
||||||
|
|
||||||
canLock = 0;
|
canLock = 0;
|
||||||
magazines[] = {"1Rnd_GAT_missiles"};
|
magazines[] = {"1Rnd_GAT_missiles"};
|
||||||
lockingTargetSound[] = {"",0,1};
|
lockingTargetSound[] = {"",0,1};
|
||||||
lockedTargetSound[] = {"",0,1};
|
lockedTargetSound[] = {"",0,1};
|
||||||
};
|
};
|
||||||
|
|
||||||
// @TODO: AA by default, motherfuckers
|
// @TODO: AA by default, motherfuckers
|
||||||
class launch_Titan_base : Launcher_Base_F {};
|
class launch_Titan_base : Launcher_Base_F {};
|
||||||
|
|
||||||
class launch_Titan_short_base : launch_Titan_base { };
|
class launch_Titan_short_base : launch_Titan_base { };
|
||||||
|
|
||||||
class launch_B_Titan_short_F: launch_Titan_short_base {
|
class launch_B_Titan_short_F: launch_Titan_short_base {
|
||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
weaponInfoType = "ACE_RscOptics_javelin";
|
weaponInfoType = "ACE_RscOptics_javelin";
|
||||||
modelOptics = PATHTOF(data\reticle_titan.p3d);
|
modelOptics = PATHTOF(data\reticle_titan.p3d);
|
||||||
|
|
||||||
canLock = 0;
|
canLock = 0;
|
||||||
|
|
||||||
lockingTargetSound[] = {"",0,1};
|
lockingTargetSound[] = {"",0,1};
|
||||||
@ -42,7 +42,7 @@ class CfgWeapons {
|
|||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
weaponInfoType = "ACE_RscOptics_javelin";
|
weaponInfoType = "ACE_RscOptics_javelin";
|
||||||
modelOptics = PATHTOF(data\reticle_titan.p3d);
|
modelOptics = PATHTOF(data\reticle_titan.p3d);
|
||||||
|
|
||||||
canLock = 0;
|
canLock = 0;
|
||||||
|
|
||||||
lockingTargetSound[] = {"",0,1};
|
lockingTargetSound[] = {"",0,1};
|
||||||
@ -52,10 +52,10 @@ class CfgWeapons {
|
|||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
weaponInfoType = "ACE_RscOptics_javelin";
|
weaponInfoType = "ACE_RscOptics_javelin";
|
||||||
modelOptics = PATHTOF(data\reticle_titan.p3d);
|
modelOptics = PATHTOF(data\reticle_titan.p3d);
|
||||||
|
|
||||||
canLock = 0;
|
canLock = 0;
|
||||||
|
|
||||||
|
|
||||||
lockingTargetSound[] = {"",0,1};
|
lockingTargetSound[] = {"",0,1};
|
||||||
lockedTargetSound[] = {"",0,1};
|
lockedTargetSound[] = {"",0,1};
|
||||||
};
|
};
|
||||||
@ -63,10 +63,10 @@ class CfgWeapons {
|
|||||||
GVAR(enabled) = 1;
|
GVAR(enabled) = 1;
|
||||||
weaponInfoType = "ACE_RscOptics_javelin";
|
weaponInfoType = "ACE_RscOptics_javelin";
|
||||||
modelOptics = PATHTOF(data\reticle_titan.p3d);
|
modelOptics = PATHTOF(data\reticle_titan.p3d);
|
||||||
|
|
||||||
canLock = 0;
|
canLock = 0;
|
||||||
|
|
||||||
lockingTargetSound[] = {"",0,1};
|
lockingTargetSound[] = {"",0,1};
|
||||||
lockedTargetSound[] = {"",0,1};
|
lockedTargetSound[] = {"",0,1};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ class RscInGameUI {
|
|||||||
controls[] = { "ACE_javelin_elements_group", "ACE_Targeting" }; //, "ACE_TargetingConstrains", "ACE_TargetingGate", "ACE_TargetingLines"};
|
controls[] = { "ACE_javelin_elements_group", "ACE_Targeting" }; //, "ACE_TargetingConstrains", "ACE_TargetingGate", "ACE_TargetingLines"};
|
||||||
onLoad = QUOTE(_this call FUNC(onOpticLoad));
|
onLoad = QUOTE(_this call FUNC(onOpticLoad));
|
||||||
onUnload = QUOTE(_this call FUNC(onOpticUnload));
|
onUnload = QUOTE(_this call FUNC(onOpticUnload));
|
||||||
|
|
||||||
class ACE_javelin_elements_group: RscControlsGroup
|
class ACE_javelin_elements_group: RscControlsGroup
|
||||||
{
|
{
|
||||||
x = "SafezoneX";
|
x = "SafezoneX";
|
||||||
@ -44,7 +44,7 @@ class RscInGameUI {
|
|||||||
w = 0;
|
w = 0;
|
||||||
h = 0;
|
h = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_javelin_Day_mode_off: RscPicture {
|
class ACE_javelin_Day_mode_off: RscPicture {
|
||||||
idc = 1001;
|
idc = 1001;
|
||||||
x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.03/4)*3*SafezoneH - SafezoneX";
|
x = "(SafezoneX+(SafezoneW -SafezoneH*3/4)/2)+ (0.03/4)*3*SafezoneH - SafezoneX";
|
||||||
@ -123,7 +123,7 @@ class RscInGameUI {
|
|||||||
h = 0;
|
h = 0;
|
||||||
colorText[] = {0.2941,0.8745,0.2157,1};
|
colorText[] = {0.2941,0.8745,0.2157,1};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class CA_Javelin_NFOV_mode_off: ACE_javelin_Day_mode_off {
|
class CA_Javelin_NFOV_mode_off: ACE_javelin_Day_mode_off {
|
||||||
@ -191,7 +191,7 @@ class RscInGameUI {
|
|||||||
h = "0.1895*SafezoneH";
|
h = "0.1895*SafezoneH";
|
||||||
colorText[] = {0.2941,0.8745,0.2157,1};
|
colorText[] = {0.2941,0.8745,0.2157,1};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -253,12 +253,12 @@ class RscInGameUI {
|
|||||||
};
|
};
|
||||||
class ACE_Targeting : RscControlsGroup {
|
class ACE_Targeting : RscControlsGroup {
|
||||||
idc = 6999;
|
idc = 6999;
|
||||||
|
|
||||||
x = "SafezoneX";
|
x = "SafezoneX";
|
||||||
y = "SafezoneY";
|
y = "SafezoneY";
|
||||||
w = "SafezoneW";
|
w = "SafezoneW";
|
||||||
h = "SafezoneH";
|
h = "SafezoneH";
|
||||||
|
|
||||||
enabled = 0;
|
enabled = 0;
|
||||||
class Controls {
|
class Controls {
|
||||||
class ACE_TargetingConstrains: RscControlsGroup {
|
class ACE_TargetingConstrains: RscControlsGroup {
|
||||||
@ -266,7 +266,7 @@ class RscInGameUI {
|
|||||||
y = "SafezoneY";
|
y = "SafezoneY";
|
||||||
w = "SafezoneW-SafezoneX";
|
w = "SafezoneW-SafezoneX";
|
||||||
h = "SafezoneH-SafezoneY";
|
h = "SafezoneH-SafezoneY";
|
||||||
|
|
||||||
enabled = 0;
|
enabled = 0;
|
||||||
class VScrollbar {
|
class VScrollbar {
|
||||||
autoScrollSpeed = -1;
|
autoScrollSpeed = -1;
|
||||||
@ -315,7 +315,7 @@ class RscInGameUI {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_TargetingGate : ACE_TargetingConstrains {
|
class ACE_TargetingGate : ACE_TargetingConstrains {
|
||||||
idc = 699200;
|
idc = 699200;
|
||||||
class Controls {
|
class Controls {
|
||||||
@ -401,8 +401,8 @@ class RscInGameUI {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class ACE_TargetingLines: ACE_TargetingConstrains {
|
class ACE_TargetingLines: ACE_TargetingConstrains {
|
||||||
idc = 699300;
|
idc = 699300;
|
||||||
class Controls {
|
class Controls {
|
||||||
@ -451,4 +451,4 @@ ACE_Titan_TOP_off: 1006
|
|||||||
ACE_Titan_DIR: 1007
|
ACE_Titan_DIR: 1007
|
||||||
ACE_Titan_FLTR_mode_off: 1002
|
ACE_Titan_FLTR_mode_off: 1002
|
||||||
ACE_Titan_FLTR_mode: 161
|
ACE_Titan_FLTR_mode: 161
|
||||||
*/
|
*/
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
if (GVAR(Kestrel4500)) exitWith {
|
if (GVAR(Kestrel4500)) exitWith {
|
||||||
closeDialog 0;
|
closeDialog 0;
|
||||||
false
|
false
|
||||||
};
|
};
|
||||||
// Statement
|
// Statement
|
||||||
[] call FUNC(createKestrelDialog);
|
[] call FUNC(createKestrelDialog);
|
||||||
false
|
false
|
||||||
@ -17,7 +17,7 @@
|
|||||||
{
|
{
|
||||||
// Conditions: canInteract
|
// Conditions: canInteract
|
||||||
if !([ACE_player, objNull, ["notOnMap", "isNotInside", "isNotSitting"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
if !([ACE_player, objNull, ["notOnMap", "isNotInside", "isNotSitting"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||||
|
|
||||||
// Statement
|
// Statement
|
||||||
[] call FUNC(displayKestrel);
|
[] call FUNC(displayKestrel);
|
||||||
false
|
false
|
||||||
@ -34,7 +34,7 @@ _conditonCode = {
|
|||||||
_toggleCode = {
|
_toggleCode = {
|
||||||
// Conditions: canInteract
|
// Conditions: canInteract
|
||||||
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {};
|
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {};
|
||||||
|
|
||||||
// Statement
|
// Statement
|
||||||
if (!GVAR(Overlay)) then {
|
if (!GVAR(Overlay)) then {
|
||||||
//If no overlay, show it:
|
//If no overlay, show it:
|
||||||
|
@ -6,20 +6,20 @@ class CfgVehicles {
|
|||||||
model = "\A3\Weapons_F\empty.p3d";
|
model = "\A3\Weapons_F\empty.p3d";
|
||||||
destrType = "DestructNo";
|
destrType = "DestructNo";
|
||||||
simulation = "LaserTarget";
|
simulation = "LaserTarget";
|
||||||
|
|
||||||
class EventHandlers {
|
class EventHandlers {
|
||||||
init = QUOTE(_this call FUNC(laser_init));
|
init = QUOTE(_this call FUNC(laser_init));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
// Visual laserTarget override
|
// Visual laserTarget override
|
||||||
class ACE_LaserTarget_Visual : LaserTarget {
|
class ACE_LaserTarget_Visual : LaserTarget {
|
||||||
simulation = "LaserTarget";
|
simulation = "LaserTarget";
|
||||||
model = "\A3\Weapons_f\laserTgt.p3d";
|
model = "\A3\Weapons_f\laserTgt.p3d";
|
||||||
};
|
};
|
||||||
|
|
||||||
// Vehicle lockable configurations
|
// Vehicle lockable configurations
|
||||||
|
|
||||||
class AllVehicles;
|
class AllVehicles;
|
||||||
class Air: AllVehicles {
|
class Air: AllVehicles {
|
||||||
class Turrets;
|
class Turrets;
|
||||||
@ -42,4 +42,4 @@ class CfgVehicles {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
class CfgWeapons {
|
class CfgWeapons {
|
||||||
class Binocular;
|
class Binocular;
|
||||||
|
|
||||||
class Laserdesignator : Binocular {
|
class Laserdesignator : Binocular {
|
||||||
visionMode[] = {"Normal","NVG"};
|
visionMode[] = {"Normal","NVG"};
|
||||||
};
|
};
|
||||||
|
@ -8,11 +8,10 @@ class RscInGameUI {
|
|||||||
class RscOptics_LaserDesignator {
|
class RscOptics_LaserDesignator {
|
||||||
idd = 300;
|
idd = 300;
|
||||||
controls[] = {"CA_IGUI_elements_group"};
|
controls[] = {"CA_IGUI_elements_group"};
|
||||||
|
|
||||||
onLoad = "uiNameSpace setVariable ['ACE_RscOptics_LaserDesignator',(_this select 0)];";
|
onLoad = "uiNameSpace setVariable ['ACE_RscOptics_LaserDesignator',(_this select 0)];";
|
||||||
onUnload = "uiNameSpace setVariable ['ACE_RscOptics_LaserDesignator',nil];";
|
onUnload = "uiNameSpace setVariable ['ACE_RscOptics_LaserDesignator',nil];";
|
||||||
|
|
||||||
|
|
||||||
class CA_IGUI_elements_group: RscControlsGroup {
|
class CA_IGUI_elements_group: RscControlsGroup {
|
||||||
idc = 170;
|
idc = 170;
|
||||||
|
|
||||||
@ -118,7 +117,7 @@ class RscInGameUI {
|
|||||||
w = "3.5 * (0.01875 * SafezoneH)";
|
w = "3.5 * (0.01875 * SafezoneH)";
|
||||||
h = "1.6 * (0.025 * SafezoneH)";
|
h = "1.6 * (0.025 * SafezoneH)";
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_LaserCode_Helper : RscMapControl {
|
class ACE_LaserCode_Helper : RscMapControl {
|
||||||
idc = -1;
|
idc = -1;
|
||||||
onDraw = QUOTE(_this call FUNC(onLaserDesignatorDraw));
|
onDraw = QUOTE(_this call FUNC(onLaserDesignatorDraw));
|
||||||
@ -141,4 +140,4 @@ class RscInGameUI {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
* Return value:
|
* Return value:
|
||||||
* None
|
* None
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
private ["_uuid"];
|
private ["_uuid"];
|
||||||
|
@ -12,7 +12,7 @@ _uuid = _args select 2;
|
|||||||
if(isNull _laserTarget || !alive _shooter) exitWith {
|
if(isNull _laserTarget || !alive _shooter) exitWith {
|
||||||
[(_this select 1)] call CBA_fnc_removePerFrameHandler;
|
[(_this select 1)] call CBA_fnc_removePerFrameHandler;
|
||||||
REM(GVAR(VanillaLasers), _laserTarget);
|
REM(GVAR(VanillaLasers), _laserTarget);
|
||||||
|
|
||||||
// Remove laseron
|
// Remove laseron
|
||||||
[_uuid] call FUNC(laserOff);
|
[_uuid] call FUNC(laserOff);
|
||||||
};
|
};
|
||||||
@ -28,4 +28,3 @@ drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa", [1,0,0,1], (A
|
|||||||
} forEach DRAW_LINES;
|
} forEach DRAW_LINES;
|
||||||
DRAW_LINES = [];
|
DRAW_LINES = [];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ _finalOwner = nil;
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
//Handle Weird Data Return
|
//Handle Weird Data Return
|
||||||
if (_laser params [["_laserPos", [], [[]], 3], ["_laserDir", [], [[]], 3]]) then {
|
if (_laser params [["_laserPos", [], [[]], 3], ["_laserDir", [], [[]], 3]]) then {
|
||||||
_res = [_laserPos, _laserDir, _divergence] call FUNC(shootCone);
|
_res = [_laserPos, _laserDir, _divergence] call FUNC(shootCone);
|
||||||
|
@ -6,7 +6,7 @@ class CfgSettings {
|
|||||||
class dependencies {
|
class dependencies {
|
||||||
//ACE will hard exit if this is missing
|
//ACE will hard exit if this is missing
|
||||||
CBA[] = {"cba_main", REQUIRED_CBA_VERSION, "(true)"};
|
CBA[] = {"cba_main", REQUIRED_CBA_VERSION, "(true)"};
|
||||||
|
|
||||||
//Warnings for missing RHS compat pbos
|
//Warnings for missing RHS compat pbos
|
||||||
compat_rhs_afrf3[] = {"ace_compat_rhs_afrf3", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'rhs_main')"};
|
compat_rhs_afrf3[] = {"ace_compat_rhs_afrf3", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'rhs_main')"};
|
||||||
compat_rhs_usf3[] = {"ace_compat_rhs_usf3", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'rhsusf_main')"};
|
compat_rhs_usf3[] = {"ace_compat_rhs_usf3", {VERSION_AR}, "isClass (configFile >> 'CfgPatches' >> 'rhsusf_main')"};
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
class CfgAmmo {
|
class CfgAmmo {
|
||||||
|
|
||||||
class FlareCore;
|
class FlareCore;
|
||||||
|
|
||||||
class FlareBase: FlareCore {};
|
class FlareBase: FlareCore {};
|
||||||
class F_20mm_White: FlareBase {};
|
class F_20mm_White: FlareBase {};
|
||||||
|
|
||||||
class ACE_FlashlightProxy_White: F_20mm_White {
|
class ACE_FlashlightProxy_White: F_20mm_White {
|
||||||
model = "\A3\Weapons_f\empty";
|
model = "\A3\Weapons_f\empty";
|
||||||
effectFlare = "FlareShell";
|
effectFlare = "FlareShell";
|
||||||
|
|
||||||
triggerTime = 0;
|
triggerTime = 0;
|
||||||
intensity = 0.5;
|
intensity = 0.5;
|
||||||
flareSize = 1;
|
flareSize = 1;
|
||||||
timeToLive = 10e10;
|
timeToLive = 10e10;
|
||||||
|
|
||||||
lightColor[] = {1,1,1,1};
|
lightColor[] = {1,1,1,1};
|
||||||
|
|
||||||
grenadeBurningSound[] = {};
|
grenadeBurningSound[] = {};
|
||||||
grenadeFireSound[] = {};
|
grenadeFireSound[] = {};
|
||||||
soundTrigger[] = {};
|
soundTrigger[] = {};
|
||||||
@ -25,24 +25,24 @@ class CfgAmmo {
|
|||||||
SmokeShellSoundLoop1[] = {};
|
SmokeShellSoundLoop1[] = {};
|
||||||
SmokeShellSoundLoop2[] = {};
|
SmokeShellSoundLoop2[] = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_FlashlightProxy_Red: ACE_FlashlightProxy_White {
|
class ACE_FlashlightProxy_Red: ACE_FlashlightProxy_White {
|
||||||
intensity = 1;
|
intensity = 1;
|
||||||
lightColor[] = {1,0,0,1};
|
lightColor[] = {1,0,0,1};
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_FlashlightProxy_Green: ACE_FlashlightProxy_White {
|
class ACE_FlashlightProxy_Green: ACE_FlashlightProxy_White {
|
||||||
intensity = 1;
|
intensity = 1;
|
||||||
lightColor[] = {0,1,0,1};
|
lightColor[] = {0,1,0,1};
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_FlashlightProxy_Blue: ACE_FlashlightProxy_White {
|
class ACE_FlashlightProxy_Blue: ACE_FlashlightProxy_White {
|
||||||
intensity = 1.5;
|
intensity = 1.5;
|
||||||
lightColor[] = {0.25,0.25,1,1};
|
lightColor[] = {0.25,0.25,1,1};
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_FlashlightProxy_Yellow: ACE_FlashlightProxy_White {
|
class ACE_FlashlightProxy_Yellow: ACE_FlashlightProxy_White {
|
||||||
intensity = 1;
|
intensity = 1;
|
||||||
lightColor[] = {1,1,0.5,1};
|
lightColor[] = {1,1,0.5,1};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -12,7 +12,7 @@ if (isServer) then {
|
|||||||
deleteVehicle _x;
|
deleteVehicle _x;
|
||||||
};
|
};
|
||||||
} forEach attachedObjects _disconnectedPlayer;
|
} forEach attachedObjects _disconnectedPlayer;
|
||||||
|
|
||||||
nil
|
nil
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
|
@ -30,7 +30,7 @@ _flashlights = [_player] call FUNC(getUnitFlashlights);
|
|||||||
_cfg = (configFile >> "CfgWeapons" >> _x);
|
_cfg = (configFile >> "CfgWeapons" >> _x);
|
||||||
_displayName = getText (_cfg >> "displayName");
|
_displayName = getText (_cfg >> "displayName");
|
||||||
_icon = getText (_cfg >> "picture");
|
_icon = getText (_cfg >> "picture");
|
||||||
|
|
||||||
_statement = if (GVAR(flashlightInUse) == _x) then {
|
_statement = if (GVAR(flashlightInUse) == _x) then {
|
||||||
_displayName = format [localize LSTRING(turnLightOff), _displayName];
|
_displayName = format [localize LSTRING(turnLightOff), _displayName];
|
||||||
{[""] call FUNC(switchFlashlight)}
|
{[""] call FUNC(switchFlashlight)}
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
private ["_screenOffset", "_pos"];
|
private ["_screenOffset", "_pos"];
|
||||||
|
|
||||||
_pos = ((findDisplay 12) displayCtrl 51) ctrlMapScreenToWorld [0.5, 0.5];
|
_pos = ((findDisplay 12) displayCtrl 51) ctrlMapScreenToWorld [0.5, 0.5];
|
||||||
_screenOffset = ((findDisplay 12) displayCtrl 51) posWorldToScreen [(_pos select 0) + 100, (_pos select 1)];
|
_screenOffset = ((findDisplay 12) displayCtrl 51) posWorldToScreen [(_pos select 0) + 100, (_pos select 1)];
|
||||||
|
|
||||||
(_screenOffset select 0) - 0.5
|
(_screenOffset select 0) - 0.5
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
disableserialization;
|
disableserialization;
|
||||||
params ["_display"];
|
params ["_display"];
|
||||||
TRACE_1("params",_display);
|
TRACE_1("params",_display);
|
||||||
|
|
||||||
//Can't place markers when can't interact
|
//Can't place markers when can't interact
|
||||||
if !([ACE_player, objNull, ["notOnMap", "isNotInside", "isNotSitting"]] call EFUNC(common,canInteractWith)) exitWith {
|
if !([ACE_player, objNull, ["notOnMap", "isNotInside", "isNotSitting"]] call EFUNC(common,canInteractWith)) exitWith {
|
||||||
_display closeDisplay 2; //emulate "Cancel" button
|
_display closeDisplay 2; //emulate "Cancel" button
|
||||||
|
@ -46,7 +46,7 @@ if (_hitPointIndex isEqualTo true) exitWith {
|
|||||||
if (!isNil {_unit getHitPointDamage _returnHitPoint}) exitWith {
|
if (!isNil {_unit getHitPointDamage _returnHitPoint}) exitWith {
|
||||||
_returnHitPoint;
|
_returnHitPoint;
|
||||||
};
|
};
|
||||||
|
|
||||||
//Those VR fuckers have weird limb hitpoints
|
//Those VR fuckers have weird limb hitpoints
|
||||||
private _hitPoints = switch (_selection) do {
|
private _hitPoints = switch (_selection) do {
|
||||||
case ("hand_l"): {L_ARM_HITPOINTS};
|
case ("hand_l"): {L_ARM_HITPOINTS};
|
||||||
|
@ -171,7 +171,7 @@ case (APP_MODE_WAYPOINTS): {
|
|||||||
|
|
||||||
_currentIndex = (_currentIndex max 0) min (count _waypoints);
|
_currentIndex = (_currentIndex max 0) min (count _waypoints);
|
||||||
_wpListBox lbSetCurSel _currentIndex;
|
_wpListBox lbSetCurSel _currentIndex;
|
||||||
|
|
||||||
//Reset focus to a dummy ctrl (top button), otherwise HOME/POS1 key goes to top of listBox and has keybind blocked
|
//Reset focus to a dummy ctrl (top button), otherwise HOME/POS1 key goes to top of listBox and has keybind blocked
|
||||||
ctrlSetFocus (_display displayCtrl IDC_TOPMENUBUTTON);
|
ctrlSetFocus (_display displayCtrl IDC_TOPMENUBUTTON);
|
||||||
};
|
};
|
||||||
@ -193,7 +193,7 @@ case (APP_MODE_SETUP): {
|
|||||||
} else {
|
} else {
|
||||||
_settingListBox lbSetTextRight [1, (localize LSTRING(settingOff))];
|
_settingListBox lbSetTextRight [1, (localize LSTRING(settingOff))];
|
||||||
};
|
};
|
||||||
|
|
||||||
//Reset focus to a dummy ctrl (top button), otherwise HOME/POS1 key goes to top of listBox and has keybind blocked
|
//Reset focus to a dummy ctrl (top button), otherwise HOME/POS1 key goes to top of listBox and has keybind blocked
|
||||||
ctrlSetFocus (_display displayCtrl IDC_TOPMENUBUTTON);
|
ctrlSetFocus (_display displayCtrl IDC_TOPMENUBUTTON);
|
||||||
};
|
};
|
||||||
|
@ -3,42 +3,42 @@ class GVAR(AttackProfiles) {
|
|||||||
name = "";
|
name = "";
|
||||||
visualName = "";
|
visualName = "";
|
||||||
description = "";
|
description = "";
|
||||||
|
|
||||||
functionName = QFUNC(attackProfile_LIN);
|
functionName = QFUNC(attackProfile_LIN);
|
||||||
};
|
};
|
||||||
class DIR {
|
class DIR {
|
||||||
name = "";
|
name = "";
|
||||||
visualName = "";
|
visualName = "";
|
||||||
description = "";
|
description = "";
|
||||||
|
|
||||||
functionName = QFUNC(attackProfile_DIR);
|
functionName = QFUNC(attackProfile_DIR);
|
||||||
};
|
};
|
||||||
class MID {
|
class MID {
|
||||||
name = "";
|
name = "";
|
||||||
visualName = "";
|
visualName = "";
|
||||||
description = "";
|
description = "";
|
||||||
|
|
||||||
functionName = QFUNC(attackProfile_MID);
|
functionName = QFUNC(attackProfile_MID);
|
||||||
};
|
};
|
||||||
class HI {
|
class HI {
|
||||||
name = "";
|
name = "";
|
||||||
visualName = "";
|
visualName = "";
|
||||||
description = "";
|
description = "";
|
||||||
|
|
||||||
functionName = QFUNC(attackProfile_HI);
|
functionName = QFUNC(attackProfile_HI);
|
||||||
};
|
};
|
||||||
class JAV_DIR {
|
class JAV_DIR {
|
||||||
name = "";
|
name = "";
|
||||||
visualName = "";
|
visualName = "";
|
||||||
description = "";
|
description = "";
|
||||||
|
|
||||||
functionName = QFUNC(attackProfile_JAV_DIR);
|
functionName = QFUNC(attackProfile_JAV_DIR);
|
||||||
};
|
};
|
||||||
class JAV_TOP {
|
class JAV_TOP {
|
||||||
name = "";
|
name = "";
|
||||||
visualName = "";
|
visualName = "";
|
||||||
description = "";
|
description = "";
|
||||||
|
|
||||||
functionName = QFUNC(attackProfile_JAV_TOP);
|
functionName = QFUNC(attackProfile_JAV_TOP);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -48,14 +48,14 @@ class GVAR(SeekerTypes) {
|
|||||||
name = "";
|
name = "";
|
||||||
visualName = "";
|
visualName = "";
|
||||||
description = "";
|
description = "";
|
||||||
|
|
||||||
functionName = QFUNC(seekerType_SALH);
|
functionName = QFUNC(seekerType_SALH);
|
||||||
};
|
};
|
||||||
class Optic {
|
class Optic {
|
||||||
name = "";
|
name = "";
|
||||||
visualName = "";
|
visualName = "";
|
||||||
description = "";
|
description = "";
|
||||||
|
|
||||||
functionName = QFUNC(seekerType_Optic);
|
functionName = QFUNC(seekerType_Optic);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
class CfgMagazines {
|
class CfgMagazines {
|
||||||
class 12Rnd_PG_missiles;
|
class 12Rnd_PG_missiles;
|
||||||
|
|
||||||
class 6Rnd_ACE_Hydra70_DAGR : 12Rnd_PG_missiles {
|
class 6Rnd_ACE_Hydra70_DAGR : 12Rnd_PG_missiles {
|
||||||
ammo = "ACE_Hydra70_DAGR";
|
ammo = "ACE_Hydra70_DAGR";
|
||||||
count = 12;
|
count = 12;
|
||||||
@ -8,7 +8,7 @@ class CfgMagazines {
|
|||||||
displayNameShort = "6 Round DAGR";
|
displayNameShort = "6 Round DAGR";
|
||||||
descriptionShort = "6 Round DAGR";
|
descriptionShort = "6 Round DAGR";
|
||||||
weight = 36;
|
weight = 36;
|
||||||
|
|
||||||
};
|
};
|
||||||
class 12Rnd_ACE_Hydra70_DAGR : 6Rnd_ACE_Hydra70_DAGR {
|
class 12Rnd_ACE_Hydra70_DAGR : 6Rnd_ACE_Hydra70_DAGR {
|
||||||
count = 12;
|
count = 12;
|
||||||
@ -24,7 +24,7 @@ class CfgMagazines {
|
|||||||
descriptionShort = "24 Round DAGR";
|
descriptionShort = "24 Round DAGR";
|
||||||
weight = 72;
|
weight = 72;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Hellfires
|
// Hellfires
|
||||||
class 6Rnd_ACE_Hellfire_AGM114K : 12Rnd_PG_missiles {
|
class 6Rnd_ACE_Hellfire_AGM114K : 12Rnd_PG_missiles {
|
||||||
count = 12;
|
count = 12;
|
||||||
@ -33,7 +33,7 @@ class CfgMagazines {
|
|||||||
displayNameShort = "6Rnd_ACE_Hellfire_AGM114K";
|
displayNameShort = "6Rnd_ACE_Hellfire_AGM114K";
|
||||||
descriptionShort = "6Rnd_ACE_Hellfire_AGM114K";
|
descriptionShort = "6Rnd_ACE_Hellfire_AGM114K";
|
||||||
weight = 36;
|
weight = 36;
|
||||||
|
|
||||||
};
|
};
|
||||||
class 12Rnd_ACE_Hellfire_AGM114K : 6Rnd_ACE_Hydra70_DAGR {
|
class 12Rnd_ACE_Hellfire_AGM114K : 6Rnd_ACE_Hydra70_DAGR {
|
||||||
count = 12;
|
count = 12;
|
||||||
@ -49,5 +49,5 @@ class CfgMagazines {
|
|||||||
descriptionShort = "24Rnd_ACE_Hellfire_AGM114K";
|
descriptionShort = "24Rnd_ACE_Hellfire_AGM114K";
|
||||||
weight = 72;
|
weight = 72;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -17,7 +17,7 @@ class CfgVehicles {
|
|||||||
class MainTurret;
|
class MainTurret;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_Comanche_Test : B_Heli_Attack_01_F {
|
class ACE_Comanche_Test : B_Heli_Attack_01_F {
|
||||||
scope = 1;
|
scope = 1;
|
||||||
scopeCurator = 0;
|
scopeCurator = 0;
|
||||||
@ -32,5 +32,5 @@ class CfgVehicles {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@ for [{_i=0}, {_i< (count _attackProfilesCfg) }, {_i=_i+1}] do {
|
|||||||
_testProfile = _attackProfilesCfg select _i;
|
_testProfile = _attackProfilesCfg select _i;
|
||||||
_testName = configName _testProfile;
|
_testName = configName _testProfile;
|
||||||
TRACE_3("", _testName, _testProfile, _attackProfilesCfg);
|
TRACE_3("", _testName, _testProfile, _attackProfilesCfg);
|
||||||
|
|
||||||
if( _testName == _attackProfileName) exitWith {
|
if( _testName == _attackProfileName) exitWith {
|
||||||
_attackProfile = _attackProfilesCfg select _i;
|
_attackProfile = _attackProfilesCfg select _i;
|
||||||
};
|
};
|
||||||
@ -26,4 +26,4 @@ if(!isNil "_attackProfile") then {
|
|||||||
_attackProfilePos = _this call (missionNamespace getVariable (getText (_attackProfile >> "functionName")));
|
_attackProfilePos = _this call (missionNamespace getVariable (getText (_attackProfile >> "functionName")));
|
||||||
};
|
};
|
||||||
|
|
||||||
_attackProfilePos;
|
_attackProfilePos;
|
||||||
|
@ -16,7 +16,7 @@ for [{_i=0}, {_i< (count _seekerTypesCfg) }, {_i=_i+1}] do {
|
|||||||
_testProfile = _seekerTypesCfg select _i;
|
_testProfile = _seekerTypesCfg select _i;
|
||||||
_testName = configName _testProfile;
|
_testName = configName _testProfile;
|
||||||
TRACE_3("", _testName, _testProfile, _seekerTypesCfg);
|
TRACE_3("", _testName, _testProfile, _seekerTypesCfg);
|
||||||
|
|
||||||
if( _testName == _seekerTypeName) exitWith {
|
if( _testName == _seekerTypeName) exitWith {
|
||||||
_seekerType = _seekerTypesCfg select _i;
|
_seekerType = _seekerTypesCfg select _i;
|
||||||
};
|
};
|
||||||
@ -27,4 +27,4 @@ if(!isNil "_seekerType") then {
|
|||||||
_seekerProfilePos = _this call (missionNamespace getVariable (getText (_seekerType >> "functionName")));
|
_seekerProfilePos = _this call (missionNamespace getVariable (getText (_seekerType >> "functionName")));
|
||||||
};
|
};
|
||||||
|
|
||||||
_seekerProfilePos;
|
_seekerProfilePos;
|
||||||
|
@ -11,7 +11,7 @@ if(GVAR(enabled) < 1 || {!local _projectile} ) exitWith { false };
|
|||||||
if( !isPlayer _shooter && { GVAR(enabled) < 2 } ) exitWith { false };
|
if( !isPlayer _shooter && { GVAR(enabled) < 2 } ) exitWith { false };
|
||||||
|
|
||||||
// Bail on not missile
|
// Bail on not missile
|
||||||
if(! (_ammo isKindOf "MissileBase") ) exitWith { false };
|
if(! (_ammo isKindOf "MissileBase") ) exitWith { false };
|
||||||
|
|
||||||
private["_config", "_configs", "_enabled", "_target", "_seekerType", "_attackProfile"];
|
private["_config", "_configs", "_enabled", "_target", "_seekerType", "_attackProfile"];
|
||||||
private["_args", "_canUseLock", "_guidingUnit", "_launchPos", "_lockMode", "_targetPos", "_vanillaTarget"];
|
private["_args", "_canUseLock", "_guidingUnit", "_launchPos", "_lockMode", "_targetPos", "_vanillaTarget"];
|
||||||
@ -30,7 +30,7 @@ _target = (vehicle _shooter) getVariable [QGVAR(target), nil];
|
|||||||
_targetPos = (vehicle _shooter) getVariable [QGVAR(targetPosition), nil];
|
_targetPos = (vehicle _shooter) getVariable [QGVAR(targetPosition), nil];
|
||||||
_seekerType = (vehicle _shooter) getVariable [QGVAR(seekerType), nil];
|
_seekerType = (vehicle _shooter) getVariable [QGVAR(seekerType), nil];
|
||||||
_attackProfile = (vehicle _shooter) getVariable [QGVAR(attackProfile), nil];
|
_attackProfile = (vehicle _shooter) getVariable [QGVAR(attackProfile), nil];
|
||||||
_lockMode = (vehicle _shooter) getVariable [QGVAR(lockMode), nil];
|
_lockMode = (vehicle _shooter) getVariable [QGVAR(lockMode), nil];
|
||||||
|
|
||||||
// @TODO: make this vehicle shooter, but we need to differentiate where its set in ace_laser
|
// @TODO: make this vehicle shooter, but we need to differentiate where its set in ace_laser
|
||||||
_laserCode = _shooter getVariable [QEGVAR(laser,code), ACE_DEFAULT_LASER_CODE];
|
_laserCode = _shooter getVariable [QEGVAR(laser,code), ACE_DEFAULT_LASER_CODE];
|
||||||
@ -40,14 +40,14 @@ _launchPos = getPosASL (vehicle _shooter);
|
|||||||
|
|
||||||
TRACE_3("Begin guidance", _target, _seekerType, _attackProfile);
|
TRACE_3("Begin guidance", _target, _seekerType, _attackProfile);
|
||||||
|
|
||||||
if ( isNil "_seekerType" || { ! ( _seekerType in (getArray (_config >> "seekerTypes" ) ) ) } ) then {
|
if (isNil "_seekerType" || {!(_seekerType in (getArray (_config >> "seekerTypes")))}) then {
|
||||||
_seekerType = getText (_config >> "defaultSeekerType");
|
_seekerType = getText (_config >> "defaultSeekerType");
|
||||||
};
|
|
||||||
if ( isNil "_attackProfile" || { ! ( _attackProfile in (getArray (_config >> "attackProfiles" ) ) ) } ) then {
|
|
||||||
_attackProfile = getText (_config >> "defaultAttackProfile");
|
|
||||||
};
|
};
|
||||||
if ( isNil "_lockMode" || { ! ( _lockMode in (getArray (_config >> "seekerLockModes" ) ) ) } ) then {
|
if (isNil "_attackProfile" || {!(_attackProfile in (getArray (_config >> "attackProfiles")))}) then {
|
||||||
_lockMode = getText (_config >> "defaultSeekerLockMode");
|
_attackProfile = getText (_config >> "defaultAttackProfile");
|
||||||
|
};
|
||||||
|
if (isNil "_lockMode" || {!(_lockMode in (getArray (_config >> "seekerLockModes")))}) then {
|
||||||
|
_lockMode = getText (_config >> "defaultSeekerLockMode");
|
||||||
};
|
};
|
||||||
|
|
||||||
// If we didn't get a target, try to fall back on tab locking
|
// If we didn't get a target, try to fall back on tab locking
|
||||||
@ -61,7 +61,7 @@ if(isNil "_target") then {
|
|||||||
// @TODO: Get vanilla target
|
// @TODO: Get vanilla target
|
||||||
if(_canUseLock > 0 || difficulty < 1) then {
|
if(_canUseLock > 0 || difficulty < 1) then {
|
||||||
_vanillaTarget = cursorTarget;
|
_vanillaTarget = cursorTarget;
|
||||||
|
|
||||||
TRACE_1("Using Vanilla Locking", _vanillaTarget);
|
TRACE_1("Using Vanilla Locking", _vanillaTarget);
|
||||||
if(!isNil "_vanillaTarget") then {
|
if(!isNil "_vanillaTarget") then {
|
||||||
_target = _vanillaTarget;
|
_target = _vanillaTarget;
|
||||||
@ -71,14 +71,14 @@ if(isNil "_target") then {
|
|||||||
};
|
};
|
||||||
|
|
||||||
TRACE_4("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile);
|
TRACE_4("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile);
|
||||||
_args = [_this,
|
_args = [_this,
|
||||||
[_shooter,
|
[_shooter,
|
||||||
[_target, _targetPos, _launchPos],
|
[_target, _targetPos, _launchPos],
|
||||||
_seekerType,
|
_seekerType,
|
||||||
_attackProfile,
|
_attackProfile,
|
||||||
_lockMode,
|
_lockMode,
|
||||||
_laserInfo
|
_laserInfo
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
getNumber ( _config >> "minDeflection" ),
|
getNumber ( _config >> "minDeflection" ),
|
||||||
getNumber ( _config >> "maxDeflection" ),
|
getNumber ( _config >> "maxDeflection" ),
|
||||||
@ -91,7 +91,7 @@ _args = [_this,
|
|||||||
],
|
],
|
||||||
[ ACE_diagTime, [], [] ]
|
[ ACE_diagTime, [], [] ]
|
||||||
];
|
];
|
||||||
|
|
||||||
// Hand off to the guiding unit. We just use local player so local PFH fires for now
|
// Hand off to the guiding unit. We just use local player so local PFH fires for now
|
||||||
// Laser code needs to give us a shooter for LOBL, or the seeker unit needs to be able to shift locality
|
// Laser code needs to give us a shooter for LOBL, or the seeker unit needs to be able to shift locality
|
||||||
// Based on its homing laser
|
// Based on its homing laser
|
||||||
@ -115,4 +115,4 @@ _args = [_this,
|
|||||||
(vehicle _shooter) setVariable [QGVAR(seekerType), nil];
|
(vehicle _shooter) setVariable [QGVAR(seekerType), nil];
|
||||||
(vehicle _shooter) setVariable [QGVAR(attackProfile), nil];
|
(vehicle _shooter) setVariable [QGVAR(attackProfile), nil];
|
||||||
(vehicle _shooter) setVariable [QGVAR(lockMode), nil];
|
(vehicle _shooter) setVariable [QGVAR(lockMode), nil];
|
||||||
*/
|
*/
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
["InitSettingsFromModules", {
|
["InitSettingsFromModules", {
|
||||||
// TODO This is a basic and limited implementation that mimics some of the functionality from the A3 module framework, but not all of it.
|
// TODO This is a basic and limited implementation that mimics some of the functionality from the A3 module framework, but not all of it.
|
||||||
// We have to execute this in the postInit XEH because on object init, the parameters of the modules are not yet available. They are if we execute it at the start of postInit execution.
|
// We have to execute this in the postInit XEH because on object init, the parameters of the modules are not yet available. They are if we execute it at the start of postInit execution.
|
||||||
|
|
||||||
private _uniqueModulesHandled = [];
|
private _uniqueModulesHandled = [];
|
||||||
{
|
{
|
||||||
[_x] call {
|
[_x] call {
|
||||||
@ -28,8 +28,8 @@
|
|||||||
};
|
};
|
||||||
if (_isSingular && {_logicType in _uniqueModulesHandled}) then { //ToDo: should this be an exit?
|
if (_isSingular && {_logicType in _uniqueModulesHandled}) then { //ToDo: should this be an exit?
|
||||||
ACE_LOGWARNING_1("Module [%1] - More than 1 singular module placed", _logicType);
|
ACE_LOGWARNING_1("Module [%1] - More than 1 singular module placed", _logicType);
|
||||||
};
|
};
|
||||||
if (_isSingular) then {_uniqueModulesHandled pushBack _logicType;};
|
if (_isSingular) then {_uniqueModulesHandled pushBack _logicType;};
|
||||||
|
|
||||||
if (_isGlobal || isServer) then {
|
if (_isGlobal || isServer) then {
|
||||||
[_logic, (synchronizedObjects _logic), true] call _function;
|
[_logic, (synchronizedObjects _logic), true] call _function;
|
||||||
@ -44,7 +44,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
} forEach GVAR(moduleInitCollection);
|
} forEach GVAR(moduleInitCollection);
|
||||||
|
|
||||||
if (isServer) then {
|
if (isServer) then {
|
||||||
GVAR(serverModulesRead) = true;
|
GVAR(serverModulesRead) = true;
|
||||||
publicVariable QGVAR(serverModulesRead);
|
publicVariable QGVAR(serverModulesRead);
|
||||||
|
@ -35,16 +35,16 @@ _turretRoles = _data apply {_x select 1};
|
|||||||
_roleType = CARGO;
|
_roleType = CARGO;
|
||||||
_toShow = [];
|
_toShow = [];
|
||||||
{
|
{
|
||||||
switch (_x) do {
|
switch (_x) do {
|
||||||
case commander _vehicle: {
|
case commander _vehicle: {
|
||||||
_roleType = COMMANDER;
|
_roleType = COMMANDER;
|
||||||
};
|
};
|
||||||
case gunner _vehicle: {
|
case gunner _vehicle: {
|
||||||
_roleType = GUNNER;
|
_roleType = GUNNER;
|
||||||
};
|
};
|
||||||
case driver _vehicle: {
|
case driver _vehicle: {
|
||||||
_roleType = if(_isAir) then { PILOT } else { DRIVER };
|
_roleType = if(_isAir) then { PILOT } else { DRIVER };
|
||||||
};
|
};
|
||||||
default {
|
default {
|
||||||
_index = _turretUnits find _x;
|
_index = _turretUnits find _x;
|
||||||
if(_index !=-1 ) then {
|
if(_index !=-1 ) then {
|
||||||
@ -61,7 +61,7 @@ _toShow = [
|
|||||||
_toShow,
|
_toShow,
|
||||||
[],
|
[],
|
||||||
{
|
{
|
||||||
_x select 1
|
_x select 1
|
||||||
},
|
},
|
||||||
"ASCEND",
|
"ASCEND",
|
||||||
{
|
{
|
||||||
@ -71,7 +71,7 @@ _toShow = [
|
|||||||
] call BIS_fnc_sortBy;
|
] call BIS_fnc_sortBy;
|
||||||
|
|
||||||
_roleImages = ROLE_IMAGES;
|
_roleImages = ROLE_IMAGES;
|
||||||
{
|
{
|
||||||
_unit = _x select 0;
|
_unit = _x select 0;
|
||||||
_roleType = _x select 1;
|
_roleType = _x select 1;
|
||||||
_text = _text + format["<t size='1.5' shadow='true'>%1</t> <t size='1.3'><img image='%2'></t><br/>", [_unit] call EFUNC(common,getName), _roleImages select _roleType];
|
_text = _text + format["<t size='1.5' shadow='true'>%1</t> <t size='1.3'><img image='%2'></t><br/>", [_unit] call EFUNC(common,getName), _roleImages select _roleType];
|
||||||
|
@ -29,18 +29,18 @@ GVAR(ppEffectMuzzleFlash) ppEffectAdjust [1, 1, 0, [0, 0, 0, 0], [0, 0, 0, 1], [
|
|||||||
GVAR(ppEffectMuzzleFlash) ppEffectCommit 0;
|
GVAR(ppEffectMuzzleFlash) ppEffectCommit 0;
|
||||||
|
|
||||||
// Setup the event handlers
|
// Setup the event handlers
|
||||||
["playerInventoryChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
["playerInventoryChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
||||||
["playerVisionModeChanged", {
|
["playerVisionModeChanged", {
|
||||||
_this call FUNC(updatePPEffects);
|
_this call FUNC(updatePPEffects);
|
||||||
_this call FUNC(onVisionModeChanged);
|
_this call FUNC(onVisionModeChanged);
|
||||||
}] call EFUNC(common,addEventHandler);
|
}] call EFUNC(common,addEventHandler);
|
||||||
|
|
||||||
["cameraViewChanged", {
|
["cameraViewChanged", {
|
||||||
_this call FUNC(updatePPEffects);
|
_this call FUNC(updatePPEffects);
|
||||||
_this call FUNC(onCameraViewChanged);
|
_this call FUNC(onCameraViewChanged);
|
||||||
}] call EFUNC(common,addEventHandler);
|
}] call EFUNC(common,addEventHandler);
|
||||||
["playerVehicleChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
["playerVehicleChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
||||||
["playerTurretChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
["playerTurretChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
||||||
|
|
||||||
// Add keybinds
|
// Add keybinds
|
||||||
["ACE3 Equipment", QGVAR(IncreaseNVGBrightness), localize LSTRING(IncreaseNVGBrightness),
|
["ACE3 Equipment", QGVAR(IncreaseNVGBrightness), localize LSTRING(IncreaseNVGBrightness),
|
||||||
|
@ -30,7 +30,7 @@ private _distance = 999;
|
|||||||
{
|
{
|
||||||
_x params ["_intersectPosASL", "_surfaceNormal", "_intersectObject"];
|
_x params ["_intersectPosASL", "_surfaceNormal", "_intersectObject"];
|
||||||
TRACE_3("Intersect",_intersectPosASL,_surfaceNormal,_intersectObject);
|
TRACE_3("Intersect",_intersectPosASL,_surfaceNormal,_intersectObject);
|
||||||
|
|
||||||
//Hit something solid that can reflect - (Static covers Building) [Need to manually filter out _shoot for FFV shots]
|
//Hit something solid that can reflect - (Static covers Building) [Need to manually filter out _shoot for FFV shots]
|
||||||
if ((isNull _intersectObject) || {(_intersectObject != _shooter) && {(_intersectObject isKindOf "Static") || {_intersectObject isKindOf "AllVehicles"}}}) exitWith {
|
if ((isNull _intersectObject) || {(_intersectObject != _shooter) && {(_intersectObject isKindOf "Static") || {_intersectObject isKindOf "AllVehicles"}}}) exitWith {
|
||||||
_distance = _posASL vectorDistance _intersectPosASL;
|
_distance = _posASL vectorDistance _intersectPosASL;
|
||||||
|
@ -64,7 +64,7 @@ class ACE_RangeCard_Dialog {
|
|||||||
onLoad = "uiNamespace setVariable ['RangleCard_Display', (_this select 0)]";
|
onLoad = "uiNamespace setVariable ['RangleCard_Display', (_this select 0)]";
|
||||||
onUnload = QUOTE(_this call FUNC(onCloseDialog));
|
onUnload = QUOTE(_this call FUNC(onCloseDialog));
|
||||||
objects[] = {};
|
objects[] = {};
|
||||||
|
|
||||||
class controls {
|
class controls {
|
||||||
class BACKGROUND {
|
class BACKGROUND {
|
||||||
moving=1;
|
moving=1;
|
||||||
|
@ -45,33 +45,8 @@
|
|||||||
* Public: No
|
* Public: No
|
||||||
*/
|
*/
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
params ["_scopeBaseAngle", "_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_temperature", "_barometricPressure", "_relativeHumidity", "_simSteps", "_windSpeed", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange", "_bc", "_dragModel", "_atmosphereModel", "_storeRangeCardData", "_stabilityFactor", "_twistDirection", "_latitude", "_directionOfFire", "_rangeCardSlot", "_useABConfig"];
|
||||||
private ["_scopeBaseAngle", "_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_temperature", "_barometricPressure", "_relativeHumidity", "_simSteps", "_windSpeed1", "_windSpeed2", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange", "_drag", "_bc", "_dragModel", "_atmosphereModel", "_storeRangeCardData", "_stabilityFactor", "_twistDirection", "_latitude", "_directionOfFire", "_rangeCardSlot", "_useABConfig"];
|
_windSpeed params ["_windSpeed1", "_windSpeed2"];
|
||||||
_scopeBaseAngle = _this select 0;
|
|
||||||
_bulletMass = _this select 1;
|
|
||||||
_boreHeight = _this select 2;
|
|
||||||
_airFriction = _this select 3;
|
|
||||||
_muzzleVelocity = _this select 4;
|
|
||||||
_temperature = _this select 5;
|
|
||||||
_barometricPressure = _this select 6;
|
|
||||||
_relativeHumidity = _this select 7;
|
|
||||||
_simSteps = _this select 8;
|
|
||||||
_windSpeed1 = (_this select 9) select 0;
|
|
||||||
_windSpeed2 = (_this select 9) select 1;
|
|
||||||
_windDirection = _this select 10;
|
|
||||||
_inclinationAngle = _this select 11;
|
|
||||||
_targetSpeed = _this select 12;
|
|
||||||
_targetRange = _this select 13;
|
|
||||||
_bc = _this select 14;
|
|
||||||
_dragModel = _this select 15;
|
|
||||||
_atmosphereModel = _this select 16;
|
|
||||||
_storeRangeCardData = _this select 17;
|
|
||||||
_stabilityFactor = _this select 18;
|
|
||||||
_twistDirection = _this select 19;
|
|
||||||
_latitude = _this select 20;
|
|
||||||
_directionOfFire = _this select 21;
|
|
||||||
_rangeCardSlot = _this select 22;
|
|
||||||
_useABConfig = _this select 23;
|
|
||||||
|
|
||||||
if (_storeRangeCardData) then {
|
if (_storeRangeCardData) then {
|
||||||
GVAR(rangeCardDataMVs) set [_rangeCardSlot, format[" %1", round(_muzzleVelocity)]];
|
GVAR(rangeCardDataMVs) set [_rangeCardSlot, format[" %1", round(_muzzleVelocity)]];
|
||||||
@ -138,19 +113,19 @@ _bulletVelocity set [2, Sin(_scopeBaseAngle) * _muzzleVelocity];
|
|||||||
|
|
||||||
while {_TOF < 6 && (_bulletPos select 1) < _targetRange} do {
|
while {_TOF < 6 && (_bulletPos select 1) < _targetRange} do {
|
||||||
_bulletSpeed = vectorMagnitude _bulletVelocity;
|
_bulletSpeed = vectorMagnitude _bulletVelocity;
|
||||||
|
|
||||||
_speedTotal = _speedTotal + _bulletSpeed;
|
_speedTotal = _speedTotal + _bulletSpeed;
|
||||||
_stepsTotal = _stepsTotal + 1;
|
_stepsTotal = _stepsTotal + 1;
|
||||||
_speedAverage = (_speedTotal / _stepsTotal);
|
_speedAverage = (_speedTotal / _stepsTotal);
|
||||||
|
|
||||||
if (_speedAverage > 450 && _bulletSpeed < _speedOfSound) exitWith {};
|
if (_speedAverage > 450 && _bulletSpeed < _speedOfSound) exitWith {};
|
||||||
if (atan((_bulletPos select 2) / (abs(_bulletPos select 1) + 1)) < -2.254) exitWith {};
|
if (atan((_bulletPos select 2) / (abs(_bulletPos select 1) + 1)) < -2.254) exitWith {};
|
||||||
|
|
||||||
_trueVelocity = _bulletVelocity vectorDiff _wind1;
|
_trueVelocity = _bulletVelocity vectorDiff _wind1;
|
||||||
_trueSpeed = vectorMagnitude _trueVelocity;
|
_trueSpeed = vectorMagnitude _trueVelocity;
|
||||||
|
|
||||||
if (_useABConfig) then {
|
if (_useABConfig) then {
|
||||||
_drag = if (missionNamespace getVariable [QEGVAR(advanced_ballistics,extensionAvailable), false]) then {
|
private _drag = if (missionNamespace getVariable [QEGVAR(advanced_ballistics,extensionAvailable), false]) then {
|
||||||
parseNumber(("ace_advanced_ballistics" callExtension format["retard:%1:%2:%3", _dragModel, _bc, _trueSpeed]))
|
parseNumber(("ace_advanced_ballistics" callExtension format["retard:%1:%2:%3", _dragModel, _bc, _trueSpeed]))
|
||||||
} else {
|
} else {
|
||||||
([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation))
|
([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation))
|
||||||
@ -215,4 +190,4 @@ if (_targetRange != 0) then {
|
|||||||
_kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2));
|
_kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2));
|
||||||
_kineticEnergy = _kineticEnergy * 0.737562149;
|
_kineticEnergy = _kineticEnergy * 0.737562149;
|
||||||
|
|
||||||
[_elevation * 60, [_windage1 * 60, _windage2 * 60], _lead, _TOF, _bulletSpeed, _kineticEnergy, _verticalCoriolis * 60, _horizontalCoriolis * 60, _spinDrift * 60]
|
[_elevation * 60, [_windage1 * 60, _windage2 * 60], _lead, _TOF, _bulletSpeed, _kineticEnergy, _verticalCoriolis * 60, _horizontalCoriolis * 60, _spinDrift * 60]
|
||||||
|
@ -20,17 +20,17 @@ if (GVAR(RangeCardOpened)) exitWith {};
|
|||||||
if (_this) then {
|
if (_this) then {
|
||||||
if (GVAR(ammoClassCopy) != "" && GVAR(magazineClassCopy) != "" && GVAR(weaponClassCopy) != "") then {
|
if (GVAR(ammoClassCopy) != "" && GVAR(magazineClassCopy) != "" && GVAR(weaponClassCopy) != "") then {
|
||||||
GVAR(RangeCardOpened) = true;
|
GVAR(RangeCardOpened) = true;
|
||||||
|
|
||||||
createDialog "ACE_RangeCard_Dialog";
|
createDialog "ACE_RangeCard_Dialog";
|
||||||
|
|
||||||
[GVAR(ammoClassCopy), GVAR(magazineClassCopy), GVAR(weaponClassCopy)] call FUNC(updateRangeCard);
|
[GVAR(ammoClassCopy), GVAR(magazineClassCopy), GVAR(weaponClassCopy)] call FUNC(updateRangeCard);
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
if (ACE_player call FUNC(updateClassNames)) then {
|
if (ACE_player call FUNC(updateClassNames)) then {
|
||||||
GVAR(RangeCardOpened) = true;
|
GVAR(RangeCardOpened) = true;
|
||||||
|
|
||||||
createDialog "ACE_RangeCard_Dialog";
|
createDialog "ACE_RangeCard_Dialog";
|
||||||
|
|
||||||
[GVAR(ammoClass), GVAR(magazineClass), GVAR(weaponClass)] call FUNC(updateRangeCard);
|
[GVAR(ammoClass), GVAR(magazineClass), GVAR(weaponClass)] call FUNC(updateRangeCard);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -107,7 +107,7 @@ _dragModel = _ammoConfig select 5;
|
|||||||
_atmosphereModel = _ammoConfig select 8;
|
_atmosphereModel = _ammoConfig select 8;
|
||||||
_bulletMass = 5;
|
_bulletMass = 5;
|
||||||
_boreHeight = 3.81;
|
_boreHeight = 3.81;
|
||||||
_zeroRange = 100;
|
_zeroRange = 100;
|
||||||
|
|
||||||
if (_bc == 0) then {
|
if (_bc == 0) then {
|
||||||
_useABConfig = false;
|
_useABConfig = false;
|
||||||
@ -169,13 +169,13 @@ if (isNil {_cacheEntry}) then {
|
|||||||
{
|
{
|
||||||
_mvShift = [_ammoConfig select 9, _x] call EFUNC(advanced_ballistics,calculateAmmoTemperatureVelocityShift);
|
_mvShift = [_ammoConfig select 9, _x] call EFUNC(advanced_ballistics,calculateAmmoTemperatureVelocityShift);
|
||||||
_mv = _muzzleVelocity + _mvShift;
|
_mv = _muzzleVelocity + _mvShift;
|
||||||
|
|
||||||
[_scopeBaseAngle,_bulletMass,_boreHeight,_airFriction,_mv,_x,_barometricPressure,_relativeHumidity,1000,[4,0],3,0,1,GVAR(rangeCardEndRange),_bc,_dragModel,_atmosphereModel,true,1.5,1,46,23,_forEachIndex,_useABConfig] call FUNC(calculateSolution);
|
[_scopeBaseAngle,_bulletMass,_boreHeight,_airFriction,_mv,_x,_barometricPressure,_relativeHumidity,1000,[4,0],3,0,1,GVAR(rangeCardEndRange),_bc,_dragModel,_atmosphereModel,true,1.5,1,46,23,_forEachIndex,_useABConfig] call FUNC(calculateSolution);
|
||||||
} forEach [-15, -5, 5, 10, 15, 20, 25, 30, 35];
|
} forEach [-15, -5, 5, 10, 15, 20, 25, 30, 35];
|
||||||
} else {
|
} else {
|
||||||
[_scopeBaseAngle,_bulletMass,_boreHeight,_airFriction,_muzzleVelocity,15,_barometricPressure,_relativeHumidity,1000,[4,0],3,0,1,GVAR(rangeCardEndRange),_bc,_dragModel,_atmosphereModel,true,1.5,1,46,23,3,_useABConfig] call FUNC(calculateSolution);
|
[_scopeBaseAngle,_bulletMass,_boreHeight,_airFriction,_muzzleVelocity,15,_barometricPressure,_relativeHumidity,1000,[4,0],3,0,1,GVAR(rangeCardEndRange),_bc,_dragModel,_atmosphereModel,true,1.5,1,46,23,3,_useABConfig] call FUNC(calculateSolution);
|
||||||
};
|
};
|
||||||
|
|
||||||
for "_i" from 0 to 9 do {
|
for "_i" from 0 to 9 do {
|
||||||
GVAR(lastValidRow) pushBack count (GVAR(rangeCardDataElevation) select _i);
|
GVAR(lastValidRow) pushBack count (GVAR(rangeCardDataElevation) select _i);
|
||||||
while {count (GVAR(rangeCardDataElevation) select _i) < 50} do {
|
while {count (GVAR(rangeCardDataElevation) select _i) < 50} do {
|
||||||
@ -190,7 +190,7 @@ if (isNil {_cacheEntry}) then {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
missionNamespace setVariable [format[QGVAR(%1_%2_%3), _ammoClass, _weaponClass, missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]], [GVAR(rangeCardDataElevation), GVAR(rangeCardDataWindage), GVAR(rangeCardDataLead), GVAR(rangeCardDataMVs), GVAR(lastValidRow)]];
|
missionNamespace setVariable [format[QGVAR(%1_%2_%3), _ammoClass, _weaponClass, missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]], [GVAR(rangeCardDataElevation), GVAR(rangeCardDataWindage), GVAR(rangeCardDataLead), GVAR(rangeCardDataMVs), GVAR(lastValidRow)]];
|
||||||
} else {
|
} else {
|
||||||
GVAR(rangeCardDataElevation) = _cacheEntry select 0;
|
GVAR(rangeCardDataElevation) = _cacheEntry select 0;
|
||||||
@ -246,4 +246,4 @@ if (_useABConfig) then {
|
|||||||
} else {
|
} else {
|
||||||
ctrlSetText [770020, ""];
|
ctrlSetText [770020, ""];
|
||||||
ctrlSetText [770021, ""];
|
ctrlSetText [770021, ""];
|
||||||
};
|
};
|
||||||
|
@ -636,11 +636,11 @@ class CfgVehicles {
|
|||||||
class Weapon_MMG_02_sand_F: Weapon_Base_F {
|
class Weapon_MMG_02_sand_F: Weapon_Base_F {
|
||||||
displayName = CSTRING(MMG_02_sand);
|
displayName = CSTRING(MMG_02_sand);
|
||||||
};*/
|
};*/
|
||||||
|
|
||||||
//attachments
|
//attachments
|
||||||
|
|
||||||
class Item_Base_F;
|
class Item_Base_F;
|
||||||
|
|
||||||
class Item_acc_flashlight: Item_Base_F {
|
class Item_acc_flashlight: Item_Base_F {
|
||||||
displayName="UTG Defender 126";
|
displayName="UTG Defender 126";
|
||||||
};
|
};
|
||||||
|
@ -12,7 +12,7 @@ class ACE_Repair {
|
|||||||
condition = QUOTE(call FUNC(canReplaceWheel));
|
condition = QUOTE(call FUNC(canReplaceWheel));
|
||||||
itemConsumed = 0;
|
itemConsumed = 0;
|
||||||
claimObjects[] = {{"ACE_Wheel"}};
|
claimObjects[] = {{"ACE_Wheel"}};
|
||||||
|
|
||||||
callbackSuccess = QUOTE(call FUNC(doReplaceWheel));
|
callbackSuccess = QUOTE(call FUNC(doReplaceWheel));
|
||||||
callbackFailure = "";
|
callbackFailure = "";
|
||||||
callbackProgress = "";
|
callbackProgress = "";
|
||||||
|
@ -9,7 +9,7 @@ class CfgWeapons {
|
|||||||
displayName = CSTRING(sandbagEmpty_displayName);
|
displayName = CSTRING(sandbagEmpty_displayName);
|
||||||
model = PATHTOF(data\ace_sandbag_m.p3d);
|
model = PATHTOF(data\ace_sandbag_m.p3d);
|
||||||
picture = PATHTOF(data\m_sandbag_ca.paa);
|
picture = PATHTOF(data\m_sandbag_ca.paa);
|
||||||
|
|
||||||
class ItemInfo: InventoryItem_Base_F {
|
class ItemInfo: InventoryItem_Base_F {
|
||||||
mass = 8;
|
mass = 8;
|
||||||
};
|
};
|
||||||
@ -21,7 +21,7 @@ class CfgWeapons {
|
|||||||
displayName = CSTRING(sandbag_displayName);
|
displayName = CSTRING(sandbag_displayName);
|
||||||
model = PATHTOF(data\ace_sandbag_build.p3d);
|
model = PATHTOF(data\ace_sandbag_build.p3d);
|
||||||
picture = PATHTOF(data\m_sandbag_ca.paa);
|
picture = PATHTOF(data\m_sandbag_ca.paa);
|
||||||
|
|
||||||
class ItemInfo: InventoryItem_Base_F {
|
class ItemInfo: InventoryItem_Base_F {
|
||||||
mass = 160;
|
mass = 160;
|
||||||
};
|
};
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
class CfgWeapons {
|
class CfgWeapons {
|
||||||
class ItemCore;
|
class ItemCore;
|
||||||
class InventoryOpticsItem_Base_F;
|
class InventoryOpticsItem_Base_F;
|
||||||
|
|
||||||
class optic_LRPS : ItemCore {
|
class optic_LRPS : ItemCore {
|
||||||
ACE_ScopeAdjust_Vertical[] = { -4, 30 };
|
ACE_ScopeAdjust_Vertical[] = { -4, 30 };
|
||||||
ACE_ScopeAdjust_Horizontal[] = { -6, 6 };
|
ACE_ScopeAdjust_Horizontal[] = { -6, 6 };
|
||||||
@ -46,7 +46,7 @@ class CfgWeapons {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class optic_AMS_base : ItemCore {
|
class optic_AMS_base : ItemCore {
|
||||||
ACE_ScopeAdjust_Vertical[] = { -4, 30 };
|
ACE_ScopeAdjust_Vertical[] = { -4, 30 };
|
||||||
ACE_ScopeAdjust_Horizontal[] = { -6, 6 };
|
ACE_ScopeAdjust_Horizontal[] = { -6, 6 };
|
||||||
@ -61,7 +61,7 @@ class CfgWeapons {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class optic_KHS_base : ItemCore {
|
class optic_KHS_base : ItemCore {
|
||||||
ACE_ScopeAdjust_Vertical[] = { -4, 30 };
|
ACE_ScopeAdjust_Vertical[] = { -4, 30 };
|
||||||
ACE_ScopeAdjust_Horizontal[] = { -6, 6 };
|
ACE_ScopeAdjust_Horizontal[] = { -6, 6 };
|
||||||
@ -76,7 +76,7 @@ class CfgWeapons {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class optic_KHS_old : ItemCore {
|
class optic_KHS_old : ItemCore {
|
||||||
ACE_ScopeAdjust_Vertical[] = { -4, 30 };
|
ACE_ScopeAdjust_Vertical[] = { -4, 30 };
|
||||||
ACE_ScopeAdjust_Horizontal[] = { -6, 6 };
|
ACE_ScopeAdjust_Horizontal[] = { -6, 6 };
|
||||||
|
@ -47,7 +47,7 @@ if ((count _maxHorizontal < 2) || (count _maxVertical < 2)) exitWith {false};
|
|||||||
if ((_verticalIncrement == 0) && (_turretAndDirection in [ELEVATION_UP, ELEVATION_DOWN])) exitWith {false};
|
if ((_verticalIncrement == 0) && (_turretAndDirection in [ELEVATION_UP, ELEVATION_DOWN])) exitWith {false};
|
||||||
if ((_horizontalIncrement == 0) && (_turretAndDirection in [WINDAGE_UP, WINDAGE_DOWN])) exitWith {false};
|
if ((_horizontalIncrement == 0) && (_turretAndDirection in [WINDAGE_UP, WINDAGE_DOWN])) exitWith {false};
|
||||||
|
|
||||||
_zeroing = _adjustment select _weaponIndex;
|
_zeroing = _adjustment select _weaponIndex;
|
||||||
_zeroing params ["_elevation", "_windage", "_zero"];
|
_zeroing params ["_elevation", "_windage", "_zero"];
|
||||||
|
|
||||||
switch (_turretAndDirection) do {
|
switch (_turretAndDirection) do {
|
||||||
|
@ -5,7 +5,7 @@ if (!hasInterface) exitWith {};
|
|||||||
|
|
||||||
["SettingsInitialized", {
|
["SettingsInitialized", {
|
||||||
TRACE_1("SettingInit", GVAR(enable));
|
TRACE_1("SettingInit", GVAR(enable));
|
||||||
|
|
||||||
//If not enabled, then do not add CanInteractWith Condition or event handlers:
|
//If not enabled, then do not add CanInteractWith Condition or event handlers:
|
||||||
if (!GVAR(enable)) exitWith {};
|
if (!GVAR(enable)) exitWith {};
|
||||||
|
|
||||||
|
@ -2,14 +2,14 @@
|
|||||||
class CfgWeapons {
|
class CfgWeapons {
|
||||||
class ACE_ItemCore;
|
class ACE_ItemCore;
|
||||||
class InventoryItem_Base_F;
|
class InventoryItem_Base_F;
|
||||||
|
|
||||||
class ACE_SpottingScope: ACE_ItemCore {
|
class ACE_SpottingScope: ACE_ItemCore {
|
||||||
scope = 2;
|
scope = 2;
|
||||||
displayName = CSTRING(DisplayName);
|
displayName = CSTRING(DisplayName);
|
||||||
descriptionShort = "";
|
descriptionShort = "";
|
||||||
picture = PATHTOF(UI\w_spottingscope_ca.paa);
|
picture = PATHTOF(UI\w_spottingscope_ca.paa);
|
||||||
model = PATHTOF(data\ace_spottingscope.p3d);
|
model = PATHTOF(data\ace_spottingscope.p3d);
|
||||||
|
|
||||||
class ItemInfo: InventoryItem_Base_F {
|
class ItemInfo: InventoryItem_Base_F {
|
||||||
mass = 40;
|
mass = 40;
|
||||||
};
|
};
|
||||||
|
@ -37,7 +37,7 @@ GVAR(AllMarkerNames) = [];
|
|||||||
// create markers
|
// create markers
|
||||||
{
|
{
|
||||||
if (([_x] call FUNC(isValidAi) && (side group _x in _sides)) || (_x getVariable [QGVAR(IsPlayerControlled), false])) then {
|
if (([_x] call FUNC(isValidAi) && (side group _x in _sides)) || (_x getVariable [QGVAR(IsPlayerControlled), false])) then {
|
||||||
|
|
||||||
private _markerName = str _x;
|
private _markerName = str _x;
|
||||||
|
|
||||||
private _marker = createMarkerLocal [_markerName, position _x];
|
private _marker = createMarkerLocal [_markerName, position _x];
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
class CfgWeapons {
|
class CfgWeapons {
|
||||||
class ACE_ItemCore;
|
class ACE_ItemCore;
|
||||||
class InventoryItem_Base_F;
|
class InventoryItem_Base_F;
|
||||||
|
|
||||||
class ACE_Tripod: ACE_ItemCore {
|
class ACE_Tripod: ACE_ItemCore {
|
||||||
author[] = {"Rocko", "Scubaman3D"};
|
author[] = {"Rocko", "Scubaman3D"};
|
||||||
scope = 2;
|
scope = 2;
|
||||||
@ -9,7 +9,7 @@ class CfgWeapons {
|
|||||||
descriptionShort = "";
|
descriptionShort = "";
|
||||||
model = PATHTOF(data\w_sniper_tripod.p3d);
|
model = PATHTOF(data\w_sniper_tripod.p3d);
|
||||||
picture = PATHTOF(UI\w_sniper_tripod_ca.paa);
|
picture = PATHTOF(UI\w_sniper_tripod_ca.paa);
|
||||||
|
|
||||||
class ItemInfo: InventoryItem_Base_F {
|
class ItemInfo: InventoryItem_Base_F {
|
||||||
mass = 40;
|
mass = 40;
|
||||||
};
|
};
|
||||||
|
@ -5,8 +5,8 @@ ADDON = false;
|
|||||||
#include "XEH_PREP.hpp"
|
#include "XEH_PREP.hpp"
|
||||||
|
|
||||||
// collect frag and other grenades separately
|
// collect frag and other grenades separately
|
||||||
GVAR(GrenadesAll) = [];
|
GVAR(GrenadesAll) = [];
|
||||||
GVAR(GrenadesFrag) = [];
|
GVAR(GrenadesFrag) = [];
|
||||||
GVAR(GrenadesNonFrag) = [];
|
GVAR(GrenadesNonFrag) = [];
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -17,24 +17,26 @@
|
|||||||
|
|
||||||
// Assume default wind values
|
// Assume default wind values
|
||||||
// Source: https://weatherspark.com/averages/32194/Lemnos-Limnos-North-Aegean-Islands-Greece
|
// Source: https://weatherspark.com/averages/32194/Lemnos-Limnos-North-Aegean-Islands-Greece
|
||||||
GVAR(WindSpeedMax) = [[8.8, 5.5], [8.8, 5], [8.6, 4.8], [7.6, 3.4], [7.0, 3.0], [7.1, 3.0], [7.5, 3.1], [8.0, 3.2], [7.6, 3.5], [7.8, 4.6], [7.9, 5.0], [8.2, 5.5]];
|
GVAR(WindSpeedMax) = [[8.8, 5.5], [8.8, 5], [8.6, 4.8], [7.6, 3.4], [7.0, 3.0], [7.1, 3.0], [7.5, 3.1], [8.0, 3.2], [7.6, 3.5], [7.8, 4.6], [7.9, 5.0], [8.2, 5.5]];
|
||||||
GVAR(WindSpeedMean) = [4.8, 4.9, 4.6, 4.1, 3.5, 3.5, 4.3, 4.4, 4.1, 4.5, 4.5, 5.0];
|
GVAR(WindSpeedMean) = [4.8, 4.9, 4.6, 4.1, 3.5, 3.5, 4.3, 4.4, 4.1, 4.5, 4.5, 5.0];
|
||||||
GVAR(WindSpeedMin) = [[0.2, 5.0], [0.1, 5.0], [0.2, 4.3], [0.0, 3.0], [0.0, 2.1], [0.0, 2.0], [0.1, 3.1], [0.3, 3.1], [0.0, 3.6], [0.0, 4.2], [0.1, 5.0], [0.2, 5.5]];
|
GVAR(WindSpeedMin) = [[0.2, 5.0], [0.1, 5.0], [0.2, 4.3], [0.0, 3.0], [0.0, 2.1], [0.0, 2.0], [0.1, 3.1], [0.3, 3.1], [0.0, 3.6], [0.0, 4.2], [0.1, 5.0], [0.2, 5.5]];
|
||||||
GVAR(WindDirectionProbabilities) = [[0.06, 0.32, 0.05, 0.04, 0.15, 0.06, 0.02, 0.02], // January
|
GVAR(WindDirectionProbabilities) = [
|
||||||
[0.08, 0.32, 0.04, 0.04, 0.18, 0.06, 0.02, 0.02], // February
|
[0.06, 0.32, 0.05, 0.04, 0.15, 0.06, 0.02, 0.02], // January
|
||||||
[0.09, 0.30, 0.04, 0.04, 0.20, 0.06, 0.02, 0.03], // March
|
[0.08, 0.32, 0.04, 0.04, 0.18, 0.06, 0.02, 0.02], // February
|
||||||
[0.10, 0.25, 0.03, 0.04, 0.22, 0.06, 0.02, 0.04], // April
|
[0.09, 0.30, 0.04, 0.04, 0.20, 0.06, 0.02, 0.03], // March
|
||||||
[0.18, 0.25, 0.03, 0.04, 0.18, 0.04, 0.01, 0.05], // May
|
[0.10, 0.25, 0.03, 0.04, 0.22, 0.06, 0.02, 0.04], // April
|
||||||
[0.25, 0.25, 0.03, 0.03, 0.15, 0.03, 0.00, 0.08], // June
|
[0.18, 0.25, 0.03, 0.04, 0.18, 0.04, 0.01, 0.05], // May
|
||||||
[0.32, 0.30, 0.02, 0.02, 0.10, 0.01, 0.00, 0.09], // July
|
[0.25, 0.25, 0.03, 0.03, 0.15, 0.03, 0.00, 0.08], // June
|
||||||
[0.28, 0.35, 0.02, 0.01, 0.08, 0.01, 0.00, 0.08], // August
|
[0.32, 0.30, 0.02, 0.02, 0.10, 0.01, 0.00, 0.09], // July
|
||||||
[0.20, 0.37, 0.03, 0.01, 0.11, 0.01, 0.01, 0.05], // September
|
[0.28, 0.35, 0.02, 0.01, 0.08, 0.01, 0.00, 0.08], // August
|
||||||
[0.10, 0.39, 0.04, 0.02, 0.15, 0.02, 0.01, 0.03], // October
|
[0.20, 0.37, 0.03, 0.01, 0.11, 0.01, 0.01, 0.05], // September
|
||||||
[0.08, 0.38, 0.06, 0.04, 0.19, 0.03, 0.02, 0.02], // November
|
[0.10, 0.39, 0.04, 0.02, 0.15, 0.02, 0.01, 0.03], // October
|
||||||
[0.06, 0.37, 0.05, 0.03, 0.18, 0.04, 0.02, 0.02]];// December
|
[0.08, 0.38, 0.06, 0.04, 0.19, 0.03, 0.02, 0.02], // November
|
||||||
|
[0.06, 0.37, 0.05, 0.03, 0.18, 0.04, 0.02, 0.02] // December
|
||||||
|
];
|
||||||
|
|
||||||
// Check if the wind data is defined in the map config
|
// Check if the wind data is defined in the map config
|
||||||
if (isArray (configFile >> "CfgWorlds" >> worldName >> "ACE_WindSpeedMean")) then {
|
if (isArray (configFile >> "CfgWorlds" >> worldName >> "ACE_WindSpeedMean")) then {
|
||||||
GVAR(WindSpeedMin) = getArray (configFile >> "CfgWorlds" >> worldName >> "ACE_WindSpeedMin");
|
GVAR(WindSpeedMin) = getArray (configFile >> "CfgWorlds" >> worldName >> "ACE_WindSpeedMin");
|
||||||
GVAR(WindSpeedMean) = getArray (configFile >> "CfgWorlds" >> worldName >> "ACE_WindSpeedMean");
|
GVAR(WindSpeedMean) = getArray (configFile >> "CfgWorlds" >> worldName >> "ACE_WindSpeedMean");
|
||||||
GVAR(WindSpeedMax) = getArray (configFile >> "CfgWorlds" >> worldName >> "ACE_WindSpeedMax");
|
GVAR(WindSpeedMax) = getArray (configFile >> "CfgWorlds" >> worldName >> "ACE_WindSpeedMax");
|
||||||
@ -55,23 +57,25 @@ if (toLower worldName in ["chernarus", "bootcamp_acr", "woodland_acr", "utes"])
|
|||||||
GVAR(TempNight) = [-4, -3, 0, 4, 9, 12, 14, 14, 10, 6, 2, -2];
|
GVAR(TempNight) = [-4, -3, 0, 4, 9, 12, 14, 14, 10, 6, 2, -2];
|
||||||
// Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Prague,Czech-Republic
|
// Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Prague,Czech-Republic
|
||||||
GVAR(Humidity) = [82, 80, 78, 70, 71, 72, 70, 73, 78, 80, 83, 82];
|
GVAR(Humidity) = [82, 80, 78, 70, 71, 72, 70, 73, 78, 80, 83, 82];
|
||||||
|
|
||||||
// Source: https://weatherspark.com/averages/32335/Prague-Central-Bohemia-Czech-Republic
|
// Source: https://weatherspark.com/averages/32335/Prague-Central-Bohemia-Czech-Republic
|
||||||
GVAR(WindSpeedMax) = [[6.7, 2.4], [6.8, 2.2], [7.1, 2.0], [6.7, 1.9], [6.5, 1.8], [6.4, 1.8], [6.4, 1.8], [5.9, 1.9], [5.8, 2.1], [5.9, 2.3], [6.4, 2.8], [7.0, 3.0]];
|
GVAR(WindSpeedMax) = [[6.7, 2.4], [6.8, 2.2], [7.1, 2.0], [6.7, 1.9], [6.5, 1.8], [6.4, 1.8], [6.4, 1.8], [5.9, 1.9], [5.8, 2.1], [5.9, 2.3], [6.4, 2.8], [7.0, 3.0]];
|
||||||
GVAR(WindSpeedMean) = [4.5, 4.3, 4.4, 4.1, 3.6, 3.6, 3.6, 3.4, 3.6, 0, 4.1, 4.6];
|
GVAR(WindSpeedMean) = [4.5, 4.3, 4.4, 4.1, 3.6, 3.6, 3.6, 3.4, 3.6, 0, 4.1, 4.6];
|
||||||
GVAR(WindSpeedMin) = [[1.5, 1.1], [1.5, 1.1], [1.5, 1.0], [1.2, 0.9], [1.1, 0.8], [1.0, 0.8], [1.0, 1.0], [1.0, 0.9], [1.1, 1.0], [1.0, 1.0], [1.3, 1.1], [1.8, 1.2]];
|
GVAR(WindSpeedMin) = [[1.5, 1.1], [1.5, 1.1], [1.5, 1.0], [1.2, 0.9], [1.1, 0.8], [1.0, 0.8], [1.0, 1.0], [1.0, 0.9], [1.1, 1.0], [1.0, 1.0], [1.3, 1.1], [1.8, 1.2]];
|
||||||
GVAR(WindDirectionProbabilities) = [[0.06, 0.02, 0.06, 0.06, 0.10, 0.23, 0.15, 0.06], // January
|
GVAR(WindDirectionProbabilities) = [
|
||||||
[0.08, 0.03, 0.08, 0.06, 0.08, 0.18, 0.15, 0.08], // February
|
[0.06, 0.02, 0.06, 0.06, 0.10, 0.23, 0.15, 0.06], // January
|
||||||
[0.08, 0.02, 0.10, 0.06, 0.07, 0.17, 0.15, 0.08], // March
|
[0.08, 0.03, 0.08, 0.06, 0.08, 0.18, 0.15, 0.08], // February
|
||||||
[0.12, 0.04, 0.10, 0.05, 0.06, 0.12, 0.13, 0.10], // April
|
[0.08, 0.02, 0.10, 0.06, 0.07, 0.17, 0.15, 0.08], // March
|
||||||
[0.12, 0.05, 0.09, 0.05, 0.05, 0.10, 0.13, 0.10], // May
|
[0.12, 0.04, 0.10, 0.05, 0.06, 0.12, 0.13, 0.10], // April
|
||||||
[0.12, 0.04, 0.06, 0.03, 0.05, 0.13, 0.16, 0.10], // June
|
[0.12, 0.05, 0.09, 0.05, 0.05, 0.10, 0.13, 0.10], // May
|
||||||
[0.09, 0.03, 0.07, 0.04, 0.06, 0.16, 0.18, 0.10], // July
|
[0.12, 0.04, 0.06, 0.03, 0.05, 0.13, 0.16, 0.10], // June
|
||||||
[0.09, 0.03, 0.08, 0.04, 0.06, 0.15, 0.16, 0.09], // August
|
[0.09, 0.03, 0.07, 0.04, 0.06, 0.16, 0.18, 0.10], // July
|
||||||
[0.07, 0.03, 0.08, 0.06, 0.08, 0.18, 0.15, 0.08], // September
|
[0.09, 0.03, 0.08, 0.04, 0.06, 0.15, 0.16, 0.09], // August
|
||||||
[0.06, 0.03, 0.10, 0.07, 0.10, 0.19, 0.13, 0.05], // October
|
[0.07, 0.03, 0.08, 0.06, 0.08, 0.18, 0.15, 0.08], // September
|
||||||
[0.06, 0.02, 0.08, 0.07, 0.10, 0.15, 0.13, 0.05], // November
|
[0.06, 0.03, 0.10, 0.07, 0.10, 0.19, 0.13, 0.05], // October
|
||||||
[0.06, 0.02, 0.06, 0.06, 0.10, 0.24, 0.15, 0.05]];// December
|
[0.06, 0.02, 0.08, 0.07, 0.10, 0.15, 0.13, 0.05], // November
|
||||||
|
[0.06, 0.02, 0.06, 0.06, 0.10, 0.24, 0.15, 0.05] // December
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
if (toLower worldName in ["takistan", "zargabad", "mountains_acr", "shapur_baf", "provinggrounds_pmc"]) exitWith {
|
if (toLower worldName in ["takistan", "zargabad", "mountains_acr", "shapur_baf", "provinggrounds_pmc"]) exitWith {
|
||||||
@ -80,23 +84,25 @@ if (toLower worldName in ["takistan", "zargabad", "mountains_acr", "shapur_baf",
|
|||||||
GVAR(TempNight) = [-7.1, -5.7, 0.7, 6, 8.8, 12.4, 15.3, 14.3, 9.4, 3.9, -1.2, -4.7];
|
GVAR(TempNight) = [-7.1, -5.7, 0.7, 6, 8.8, 12.4, 15.3, 14.3, 9.4, 3.9, -1.2, -4.7];
|
||||||
// Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Kabul,Afghanistan
|
// Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Kabul,Afghanistan
|
||||||
GVAR(Humidity) = [68, 69, 62, 60, 49, 37, 38, 39, 40, 41, 56, 61];
|
GVAR(Humidity) = [68, 69, 62, 60, 49, 37, 38, 39, 40, 41, 56, 61];
|
||||||
|
|
||||||
// Source: https://weatherspark.com/averages/32750/Kabul-Afghanistan
|
// Source: https://weatherspark.com/averages/32750/Kabul-Afghanistan
|
||||||
GVAR(WindSpeedMax) = [[4.0, 1.0], [4.1, 1.0], [5.1, 1.1], [6.9, 1.2], [8.9, 1.2], [10.0, 1.1], [9.1,1.0], [8.2, 1.0], [6.9, 1.0], [5.2, 1.0], [3.8, 0.9], [3.7, 0.9]];
|
GVAR(WindSpeedMax) = [[4.0, 1.0], [4.1, 1.0], [5.1, 1.1], [6.9, 1.2], [8.9, 1.2], [10.0, 1.1], [9.1,1.0], [8.2, 1.0], [6.9, 1.0], [5.2, 1.0], [3.8, 0.9], [3.7, 0.9]];
|
||||||
GVAR(WindSpeedMean) = [2.2, 2.2, 2.5, 2.8, 3.8, 4.4, 0, 3.3, 2.7, 2.4, 1.8, 1.9];
|
GVAR(WindSpeedMean) = [2.2, 2.2, 2.5, 2.8, 3.8, 4.4, 0, 3.3, 2.7, 2.4, 1.8, 1.9];
|
||||||
GVAR(WindSpeedMin) = [[0.2, 0.4], [0.2, 0.4], [0.2, 0.4], [0.3, 0.4], [0.6, 0.4], [0.9, 0.4], [0.7, 0.4], [0.5, 0.4], [0.2, 0.5], [0.1, 0.1], [0, 0.1], [0, 0.1]];
|
GVAR(WindSpeedMin) = [[0.2, 0.4], [0.2, 0.4], [0.2, 0.4], [0.3, 0.4], [0.6, 0.4], [0.9, 0.4], [0.7, 0.4], [0.5, 0.4], [0.2, 0.5], [0.1, 0.1], [0, 0.1], [0, 0.1]];
|
||||||
GVAR(WindDirectionProbabilities) = [[0.04, 0.02, 0.05, 0.04, 0.05, 0.04, 0.11, 0.29], // January
|
GVAR(WindDirectionProbabilities) = [
|
||||||
[0.08, 0.04, 0.06, 0.04, 0.06, 0.04, 0.10, 0.20], // February
|
[0.04, 0.02, 0.05, 0.04, 0.05, 0.04, 0.11, 0.29], // January
|
||||||
[0.12, 0.06, 0.08, 0.04, 0.05, 0.04, 0.09, 0.19], // March
|
[0.08, 0.04, 0.06, 0.04, 0.06, 0.04, 0.10, 0.20], // February
|
||||||
[0.18, 0.07, 0.09, 0.05, 0.05, 0.04, 0.08, 0.16], // April
|
[0.12, 0.06, 0.08, 0.04, 0.05, 0.04, 0.09, 0.19], // March
|
||||||
[0.27, 0.05, 0.05, 0.03, 0.04, 0.03, 0.08, 0.16], // May
|
[0.18, 0.07, 0.09, 0.05, 0.05, 0.04, 0.08, 0.16], // April
|
||||||
[0.35, 0.04, 0.04, 0.02, 0.02, 0.02, 0.07, 0.13], // June
|
[0.27, 0.05, 0.05, 0.03, 0.04, 0.03, 0.08, 0.16], // May
|
||||||
[0.30, 0.07, 0.09, 0.04, 0.02, 0.02, 0.05, 0.10], // July
|
[0.35, 0.04, 0.04, 0.02, 0.02, 0.02, 0.07, 0.13], // June
|
||||||
[0.23, 0.07, 0.08, 0.06, 0.03, 0.02, 0.05, 0.10], // August
|
[0.30, 0.07, 0.09, 0.04, 0.02, 0.02, 0.05, 0.10], // July
|
||||||
[0.15, 0.06, 0.10, 0.06, 0.04, 0.02, 0.07, 0.13], // September
|
[0.23, 0.07, 0.08, 0.06, 0.03, 0.02, 0.05, 0.10], // August
|
||||||
[0.12, 0.04, 0.07, 0.06, 0.04, 0.03, 0.10, 0.17], // October
|
[0.15, 0.06, 0.10, 0.06, 0.04, 0.02, 0.07, 0.13], // September
|
||||||
[0.07, 0.03, 0.06, 0.05, 0.06, 0.02, 0.10, 0.20], // November
|
[0.12, 0.04, 0.07, 0.06, 0.04, 0.03, 0.10, 0.17], // October
|
||||||
[0.05, 0.03, 0.06, 0.05, 0.06, 0.04, 0.11, 0.26]];// December
|
[0.07, 0.03, 0.06, 0.05, 0.06, 0.02, 0.10, 0.20], // November
|
||||||
|
[0.05, 0.03, 0.06, 0.05, 0.06, 0.04, 0.11, 0.26] // December
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
if (toLower worldName in ["fallujah"]) exitWith {
|
if (toLower worldName in ["fallujah"]) exitWith {
|
||||||
@ -113,24 +119,25 @@ if (toLower worldName in ["fata", "Abbottabad"]) exitWith {
|
|||||||
GVAR(TempNight) = [-0.6, 2.4, 7.4, 13.1, 18.2, 22.8, 23.8, 22.9, 19.2, 12, 5.6, 1.2];
|
GVAR(TempNight) = [-0.6, 2.4, 7.4, 13.1, 18.2, 22.8, 23.8, 22.9, 19.2, 12, 5.6, 1.2];
|
||||||
// Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Zhob,Pakistan
|
// Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Zhob,Pakistan
|
||||||
GVAR(Humidity) = [50, 40, 42, 40, 30, 30, 50, 49, 40, 32, 38, 41];
|
GVAR(Humidity) = [50, 40, 42, 40, 30, 30, 50, 49, 40, 32, 38, 41];
|
||||||
|
|
||||||
// Source: https://weatherspark.com/averages/31382/Shkin-Paktika-Afghanistan
|
// Source: https://weatherspark.com/averages/31382/Shkin-Paktika-Afghanistan
|
||||||
GVAR(WindSpeedMax) = [[3.0, 1.0], [3.3, 1.0], [4.0, 1.0], [4.3, 1.4], [4.3, 1.5], [4.6, 1.4], [4.5, 1.3], [4.0, 0.9], [4.0, 1.0], [3.5, 1.0], [3.4, 1.0], [3.1, 1.0]];
|
GVAR(WindSpeedMax) = [[3.0, 1.0], [3.3, 1.0], [4.0, 1.0], [4.3, 1.4], [4.3, 1.5], [4.6, 1.4], [4.5, 1.3], [4.0, 0.9], [4.0, 1.0], [3.5, 1.0], [3.4, 1.0], [3.1, 1.0]];
|
||||||
GVAR(WindSpeedMean) = [1.3, 1.5, 1.6, 1.7, 1.7, 1.7, 1.6, 1.5, 1.5, 1.4, 1.4, 1.2];
|
GVAR(WindSpeedMean) = [1.3, 1.5, 1.6, 1.7, 1.7, 1.7, 1.6, 1.5, 1.5, 1.4, 1.4, 1.2];
|
||||||
GVAR(WindSpeedMin) = [[0.2, 0.1], [0.2, 0.1], [0.2, 0.1], [0.2, 0.1], [0.1, 0.1], [0.1, 0.1], [0.3, 0.1], [0.2, 0.1], [0.1, 0.1], [0.1, 0.1], [0.1, 0.1], [0.1, 0.1]];
|
GVAR(WindSpeedMin) = [[0.2, 0.1], [0.2, 0.1], [0.2, 0.1], [0.2, 0.1], [0.1, 0.1], [0.1, 0.1], [0.3, 0.1], [0.2, 0.1], [0.1, 0.1], [0.1, 0.1], [0.1, 0.1], [0.1, 0.1]];
|
||||||
GVAR(WindDirectionProbabilities) = [[0.09, 0.03, 0.02, 0.03, 0.05, 0.07, 0.07, 0.18], // January
|
GVAR(WindDirectionProbabilities) = [
|
||||||
[0.07, 0.02, 0.01, 0.05, 0.10, 0.10, 0.06, 0.12], // February
|
[0.09, 0.03, 0.02, 0.03, 0.05, 0.07, 0.07, 0.18], // January
|
||||||
[0.07, 0.02, 0.01, 0.07, 0.14, 0.11, 0.08, 0.12], // March
|
[0.07, 0.02, 0.01, 0.05, 0.10, 0.10, 0.06, 0.12], // February
|
||||||
[0.07, 0.04, 0.03, 0.05, 0.12, 0.08, 0.06, 0.13], // April
|
[0.07, 0.02, 0.01, 0.07, 0.14, 0.11, 0.08, 0.12], // March
|
||||||
[0.10, 0.03, 0.02, 0.04, 0.10, 0.09, 0.08, 0.18], // May
|
[0.07, 0.04, 0.03, 0.05, 0.12, 0.08, 0.06, 0.13], // April
|
||||||
[0.12, 0.05, 0.04, 0.05, 0.08, 0.06, 0.06, 0.16], // June
|
[0.10, 0.03, 0.02, 0.04, 0.10, 0.09, 0.08, 0.18], // May
|
||||||
[0.06, 0.04, 0.02, 0.06, 0.05, 0.01, 0.02, 0.06], // July
|
[0.12, 0.05, 0.04, 0.05, 0.08, 0.06, 0.06, 0.16], // June
|
||||||
[0.08, 0.03, 0.04, 0.05, 0.09, 0.04, 0.02, 0.06], // August
|
[0.06, 0.04, 0.02, 0.06, 0.05, 0.01, 0.02, 0.06], // July
|
||||||
[0.10, 0.04, 0.02, 0.06, 0.11, 0.09, 0.06, 0.13], // September
|
[0.08, 0.03, 0.04, 0.05, 0.09, 0.04, 0.02, 0.06], // August
|
||||||
[0.07, 0.02, 0.01, 0.04, 0.11, 0.08, 0.08, 0.19], // October
|
[0.10, 0.04, 0.02, 0.06, 0.11, 0.09, 0.06, 0.13], // September
|
||||||
[0.06, 0.01, 0.00, 0.05, 0.11, 0.09, 0.08, 0.13], // November
|
[0.07, 0.02, 0.01, 0.04, 0.11, 0.08, 0.08, 0.19], // October
|
||||||
[0.07, 0.01, 0.01, 0.03, 0.08, 0.09, 0.09, 0.18]];// December
|
[0.06, 0.01, 0.00, 0.05, 0.11, 0.09, 0.08, 0.13], // November
|
||||||
|
[0.07, 0.01, 0.01, 0.03, 0.08, 0.09, 0.09, 0.18] // December
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
if (worldName in ["sfp_wamako"]) exitWith {
|
if (worldName in ["sfp_wamako"]) exitWith {
|
||||||
@ -155,23 +162,25 @@ if (worldName in ["Bornholm"]) exitWith {
|
|||||||
GVAR(TempNight) = [-1.6, -2.1, -0.7, 1.7, 6.2, 10.7, 13, 13.1, 10.6, 7.2, 3.5, 0.1];
|
GVAR(TempNight) = [-1.6, -2.1, -0.7, 1.7, 6.2, 10.7, 13, 13.1, 10.6, 7.2, 3.5, 0.1];
|
||||||
// Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,allinge,Denmark
|
// Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,allinge,Denmark
|
||||||
GVAR(Humidity) = [85, 84, 80, 76, 69, 69, 76, 77, 79, 81, 86, 86];
|
GVAR(Humidity) = [85, 84, 80, 76, 69, 69, 76, 77, 79, 81, 86, 86];
|
||||||
|
|
||||||
// Source: https://weatherspark.com/averages/28830/R-nne-Capital-Region-of-Denmark
|
// Source: https://weatherspark.com/averages/28830/R-nne-Capital-Region-of-Denmark
|
||||||
GVAR(WindSpeedMax) = [[9.3, 2.2], [8.4, 2.2], [7.9, 2.2], [7.1, 2.1], [7.2, 2.1], [6.8, 2.0], [6.8, 2.0], [7.1, 2.1], [7.7, 2.2], [8.6, 2.2], [8.8, 2.2], [9.3, 2.2]];
|
GVAR(WindSpeedMax) = [[9.3, 2.2], [8.4, 2.2], [7.9, 2.2], [7.1, 2.1], [7.2, 2.1], [6.8, 2.0], [6.8, 2.0], [7.1, 2.1], [7.7, 2.2], [8.6, 2.2], [8.8, 2.2], [9.3, 2.2]];
|
||||||
GVAR(WindSpeedMean) = [6.9, 6.0, 5.7, 4.9, 4.8, 4.6, 4.7, 4.9, 5.5, 6.2, 6.5, 6.7];
|
GVAR(WindSpeedMean) = [6.9, 6.0, 5.7, 4.9, 4.8, 4.6, 4.7, 4.9, 5.5, 6.2, 6.5, 6.7];
|
||||||
GVAR(WindSpeedMin) = [[3.9, 2.0], [3.0, 2.0], [2.3, 2.0], [1.8, 1.8], [1.7, 1.8], [1.7, 1.7], [1.7, 1.8], [1.9, 1.9], [2.6, 2.0], [2.9, 2.0], [3.3, 2.1], [3.5, 2.0]];
|
GVAR(WindSpeedMin) = [[3.9, 2.0], [3.0, 2.0], [2.3, 2.0], [1.8, 1.8], [1.7, 1.8], [1.7, 1.7], [1.7, 1.8], [1.9, 1.9], [2.6, 2.0], [2.9, 2.0], [3.3, 2.1], [3.5, 2.0]];
|
||||||
GVAR(WindDirectionProbabilities) = [[0.07, 0.04, 0.07, 0.05, 0.09, 0.12, 0.20, 0.07], // January
|
GVAR(WindDirectionProbabilities) = [
|
||||||
[0.08, 0.06, 0.10, 0.06, 0.06, 0.08, 0.20, 0.08], // February
|
[0.07, 0.04, 0.07, 0.05, 0.09, 0.12, 0.20, 0.07], // January
|
||||||
[0.05, 0.06, 0.13, 0.08, 0.07, 0.08, 0.19, 0.06], // March
|
[0.08, 0.06, 0.10, 0.06, 0.06, 0.08, 0.20, 0.08], // February
|
||||||
[0.05, 0.11, 0.16, 0.09, 0.05, 0.06, 0.17, 0.06], // April
|
[0.05, 0.06, 0.13, 0.08, 0.07, 0.08, 0.19, 0.06], // March
|
||||||
[0.04, 0.10, 0.15, 0.08, 0.05, 0.06, 0.20, 0.05], // May
|
[0.05, 0.11, 0.16, 0.09, 0.05, 0.06, 0.17, 0.06], // April
|
||||||
[0.03, 0.07, 0.10, 0.07, 0.05, 0.07, 0.28, 0.06], // June
|
[0.04, 0.10, 0.15, 0.08, 0.05, 0.06, 0.20, 0.05], // May
|
||||||
[0.04, 0.06, 0.11, 0.07, 0.04, 0.07, 0.28, 0.06], // July
|
[0.03, 0.07, 0.10, 0.07, 0.05, 0.07, 0.28, 0.06], // June
|
||||||
[0.05, 0.06, 0.11, 0.07, 0.06, 0.08, 0.26, 0.06], // August
|
[0.04, 0.06, 0.11, 0.07, 0.04, 0.07, 0.28, 0.06], // July
|
||||||
[0.06, 0.06, 0.11, 0.07, 0.06, 0.09, 0.21, 0.06], // September
|
[0.05, 0.06, 0.11, 0.07, 0.06, 0.08, 0.26, 0.06], // August
|
||||||
[0.07, 0.05, 0.09, 0.08, 0.08, 0.12, 0.18, 0.07], // October
|
[0.06, 0.06, 0.11, 0.07, 0.06, 0.09, 0.21, 0.06], // September
|
||||||
[0.08, 0.06, 0.08, 0.07, 0.10, 0.12, 0.16, 0.07], // November
|
[0.07, 0.05, 0.09, 0.08, 0.08, 0.12, 0.18, 0.07], // October
|
||||||
[0.08, 0.05, 0.06, 0.04, 0.10, 0.14, 0.19, 0.07]];// December
|
[0.08, 0.06, 0.08, 0.07, 0.10, 0.12, 0.16, 0.07], // November
|
||||||
|
[0.08, 0.05, 0.06, 0.04, 0.10, 0.14, 0.19, 0.07] // December
|
||||||
|
];
|
||||||
};
|
};
|
||||||
if (worldName in ["Imrali"]) exitWith {
|
if (worldName in ["Imrali"]) exitWith {
|
||||||
// Source: http://www.iten-online.ch/klima/europa/tuerkei/bursa.htm
|
// Source: http://www.iten-online.ch/klima/europa/tuerkei/bursa.htm
|
||||||
@ -186,23 +195,25 @@ if (worldName in ["Kunduz"]) exitWith {
|
|||||||
GVAR(TempNight) = [-2.4, 0, 5.7, 11.6, 15.7, 20.9, 21.5, 21.5, 16.3, 10.6, 4.1, 0];
|
GVAR(TempNight) = [-2.4, 0, 5.7, 11.6, 15.7, 20.9, 21.5, 21.5, 16.3, 10.6, 4.1, 0];
|
||||||
// Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Kabul,Afghanistan
|
// Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Kabul,Afghanistan
|
||||||
GVAR(Humidity) = [70, 72, 64, 61, 49, 34, 36, 38, 39, 52, 51, 63];
|
GVAR(Humidity) = [70, 72, 64, 61, 49, 34, 36, 38, 39, 52, 51, 63];
|
||||||
|
|
||||||
// Source: https://weatherspark.com/averages/32753/Kunduz-Afghanistan
|
// Source: https://weatherspark.com/averages/32753/Kunduz-Afghanistan
|
||||||
GVAR(WindSpeedMax) = [[3.5, 0.8], [4.0, 0.6], [4.3, 2.0], [4.6, 1.1], [5.1, 1.2], [5.7, 1.0], [4.9, 0.8], [4.5, 0.3], [4.3, 0.3], [3.8, 0.5], [3.0, 1.3], [3.1, 0.8]];
|
GVAR(WindSpeedMax) = [[3.5, 0.8], [4.0, 0.6], [4.3, 2.0], [4.6, 1.1], [5.1, 1.2], [5.7, 1.0], [4.9, 0.8], [4.5, 0.3], [4.3, 0.3], [3.8, 0.5], [3.0, 1.3], [3.1, 0.8]];
|
||||||
GVAR(WindSpeedMean) = [1.5, 1.8, 2.1, 2.4, 2.5, 2.8, 2.7, 2.5, 2.3, 2.1, 1.7, 1.6];
|
GVAR(WindSpeedMean) = [1.5, 1.8, 2.1, 2.4, 2.5, 2.8, 2.7, 2.5, 2.3, 2.1, 1.7, 1.6];
|
||||||
GVAR(WindSpeedMin) = [[0.2, 0.1], [0.3, 0.3], [0.4, 0.1], [0.8, 0.2], [0.8, 0.1], [1.0, 0.3], [0.9, 0.5], [0.8, 0.2], [0.8, 0.1], [0.7, 0.1], [0.5, 0.1], [0.2, 0.2]];
|
GVAR(WindSpeedMin) = [[0.2, 0.1], [0.3, 0.3], [0.4, 0.1], [0.8, 0.2], [0.8, 0.1], [1.0, 0.3], [0.9, 0.5], [0.8, 0.2], [0.8, 0.1], [0.7, 0.1], [0.5, 0.1], [0.2, 0.2]];
|
||||||
GVAR(WindDirectionProbabilities) = [[0.04, 0.02, 0.05, 0.11, 0.12, 0.06, 0.09, 0.06], // January
|
GVAR(WindDirectionProbabilities) = [
|
||||||
[0.04, 0.02, 0.05, 0.11, 0.12, 0.06, 0.08, 0.07], // February
|
[0.04, 0.02, 0.05, 0.11, 0.12, 0.06, 0.09, 0.06], // January
|
||||||
[0.05, 0.04, 0.06, 0.14, 0.12, 0.06, 0.10, 0.08], // March
|
[0.04, 0.02, 0.05, 0.11, 0.12, 0.06, 0.08, 0.07], // February
|
||||||
[0.09, 0.05, 0.08, 0.13, 0.07, 0.05, 0.07, 0.07], // April
|
[0.05, 0.04, 0.06, 0.14, 0.12, 0.06, 0.10, 0.08], // March
|
||||||
[0.14, 0.07, 0.13, 0.13, 0.06, 0.05, 0.05, 0.08], // May
|
[0.09, 0.05, 0.08, 0.13, 0.07, 0.05, 0.07, 0.07], // April
|
||||||
[0.16, 0.06, 0.12, 0.12, 0.05, 0.04, 0.05, 0.10], // June
|
[0.14, 0.07, 0.13, 0.13, 0.06, 0.05, 0.05, 0.08], // May
|
||||||
[0.17, 0.06, 0.08, 0.12, 0.06, 0.04, 0.05, 0.12], // July
|
[0.16, 0.06, 0.12, 0.12, 0.05, 0.04, 0.05, 0.10], // June
|
||||||
[0.15, 0.05, 0.06, 0.16, 0.08, 0.05, 0.07, 0.13], // August
|
[0.17, 0.06, 0.08, 0.12, 0.06, 0.04, 0.05, 0.12], // July
|
||||||
[0.15, 0.04, 0.08, 0.20, 0.13, 0.05, 0.10, 0.14], // September
|
[0.15, 0.05, 0.06, 0.16, 0.08, 0.05, 0.07, 0.13], // August
|
||||||
[0.08, 0.02, 0.08, 0.22, 0.15, 0.06, 0.13, 0.13], // October
|
[0.15, 0.04, 0.08, 0.20, 0.13, 0.05, 0.10, 0.14], // September
|
||||||
[0.06, 0.02, 0.05, 0.20, 0.17, 0.06, 0.12, 0.10], // November
|
[0.08, 0.02, 0.08, 0.22, 0.15, 0.06, 0.13, 0.13], // October
|
||||||
[0.04, 0.02, 0.05, 0.14, 0.19, 0.07, 0.10, 0.07]];// December
|
[0.06, 0.02, 0.05, 0.20, 0.17, 0.06, 0.12, 0.10], // November
|
||||||
|
[0.04, 0.02, 0.05, 0.14, 0.19, 0.07, 0.10, 0.07] // December
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
// Assume default values
|
// Assume default values
|
||||||
|
@ -19,7 +19,7 @@ private _month = date select 1;
|
|||||||
private _windDirectionProbabilities = GVAR(WindDirectionProbabilities) select (_month - 1);
|
private _windDirectionProbabilities = GVAR(WindDirectionProbabilities) select (_month - 1);
|
||||||
|
|
||||||
ACE_wind = [0, 0, 0];
|
ACE_wind = [0, 0, 0];
|
||||||
|
|
||||||
GVAR(wind_direction_reference) = random 360;
|
GVAR(wind_direction_reference) = random 360;
|
||||||
private _sum = 0;
|
private _sum = 0;
|
||||||
for "_i" from 0 to 7 do {
|
for "_i" from 0 to 7 do {
|
||||||
|
@ -27,7 +27,7 @@ if ((rain > 0) && {overcast > 0.7}) then {
|
|||||||
private _PS2 = 6.112 * exp((17.62 * GVAR(currentTemperature)) / (243.12 + GVAR(currentTemperature)));
|
private _PS2 = 6.112 * exp((17.62 * GVAR(currentTemperature)) / (243.12 + GVAR(currentTemperature)));
|
||||||
GVAR(currentHumidity) = GVAR(currentHumidity) * _PS1 / _PS2;
|
GVAR(currentHumidity) = GVAR(currentHumidity) * _PS1 / _PS2;
|
||||||
GVAR(currentHumidity) = GVAR(currentHumidity) + GVAR(humidityShift);
|
GVAR(currentHumidity) = GVAR(currentHumidity) + GVAR(humidityShift);
|
||||||
|
|
||||||
TRACE_1("humidityShift",GVAR(humidityShift));
|
TRACE_1("humidityShift",GVAR(humidityShift));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -22,6 +22,6 @@ if (!isNil "ACE_RAIN_PARAMS") then {
|
|||||||
private _periodPercent = (_periodPosition / _period) min 1;
|
private _periodPercent = (_periodPosition / _period) min 1;
|
||||||
|
|
||||||
GVAR(ACE_Rain) = linearConversion [GVAR(rain_period_start_time), (GVAR(rain_period_start_time) + _period), ACE_time, _oldRain, _newRain];
|
GVAR(ACE_Rain) = linearConversion [GVAR(rain_period_start_time), (GVAR(rain_period_start_time) + _period), ACE_time, _oldRain, _newRain];
|
||||||
|
|
||||||
TRACE_3("Update Rain",rain,ACE_RAIN_PARAMS,GVAR(ACE_Rain));
|
TRACE_3("Update Rain",rain,ACE_RAIN_PARAMS,GVAR(ACE_Rain));
|
||||||
};
|
};
|
||||||
|
@ -32,15 +32,15 @@ GVAR(distanceIndex) = -1;
|
|||||||
GVAR(lasing) = false;
|
GVAR(lasing) = false;
|
||||||
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
||||||
};
|
};
|
||||||
|
|
||||||
_result = [eyePos ACE_player, ACE_player weaponDirection (currentWeapon ACE_player)] call EFUNC(laser,shootRay);
|
_result = [eyePos ACE_player, ACE_player weaponDirection (currentWeapon ACE_player)] call EFUNC(laser,shootRay);
|
||||||
_distance = _result select 1;
|
_distance = _result select 1;
|
||||||
|
|
||||||
_distance = _distance - 1 + (random 2);
|
_distance = _distance - 1 + (random 2);
|
||||||
|
|
||||||
GVAR(distanceIndex) = (GVAR(distanceIndex) + 1) % METERING_POINT_NUMBER;
|
GVAR(distanceIndex) = (GVAR(distanceIndex) + 1) % METERING_POINT_NUMBER;
|
||||||
GVAR(distances) set [GVAR(distanceIndex), _distance];
|
GVAR(distances) set [GVAR(distanceIndex), _distance];
|
||||||
|
|
||||||
if (count GVAR(distances) == METERING_POINT_NUMBER) then {
|
if (count GVAR(distances) == METERING_POINT_NUMBER) then {
|
||||||
_min = MAX_DISTANCE;
|
_min = MAX_DISTANCE;
|
||||||
_max = MIN_DISTANCE;
|
_max = MIN_DISTANCE;
|
||||||
@ -48,7 +48,7 @@ GVAR(distanceIndex) = -1;
|
|||||||
_min = _x min _min;
|
_min = _x min _min;
|
||||||
_max = _max max _x;
|
_max = _max max _x;
|
||||||
} forEach GVAR(distances);
|
} forEach GVAR(distances);
|
||||||
|
|
||||||
if (abs(_max - _min) < 5) then {
|
if (abs(_max - _min) < 5) then {
|
||||||
_range = (_min + _max) / 2;
|
_range = (_min + _max) / 2;
|
||||||
if (_range >= MIN_DISTANCE && _range <= MAX_DISTANCE) then {
|
if (_range >= MIN_DISTANCE && _range <= MAX_DISTANCE) then {
|
||||||
|
@ -35,10 +35,10 @@ GVAR(active) = true;
|
|||||||
74210 cutText ["", "PLAIN"];
|
74210 cutText ["", "PLAIN"];
|
||||||
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (currentWeapon ACE_player == "ACE_Yardage450" && cameraView == "GUNNER") then {
|
if (currentWeapon ACE_player == "ACE_Yardage450" && cameraView == "GUNNER") then {
|
||||||
74210 cutRsc ["ACE_RscYardage450", "PLAIN", 1, false];
|
74210 cutRsc ["ACE_RscYardage450", "PLAIN", 1, false];
|
||||||
|
|
||||||
__ctrlLaser ctrlShow GVAR(lasing);
|
__ctrlLaser ctrlShow GVAR(lasing);
|
||||||
if (GVAR(targetAcquired)) then {
|
if (GVAR(targetAcquired)) then {
|
||||||
__ctrlTarget ctrlSetText "Target Acquired";
|
__ctrlTarget ctrlSetText "Target Acquired";
|
||||||
@ -52,5 +52,5 @@ GVAR(active) = true;
|
|||||||
} else {
|
} else {
|
||||||
74210 cutText ["", "PLAIN"];
|
74210 cutText ["", "PLAIN"];
|
||||||
};
|
};
|
||||||
|
|
||||||
}, 0, []] call CBA_fnc_addPerFrameHandler;
|
}, 0, []] call CBA_fnc_addPerFrameHandler;
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
// Conditions: specific
|
// Conditions: specific
|
||||||
if !(GVAR(active)) exitWith {false};
|
if !(GVAR(active)) exitWith {false};
|
||||||
if (currentWeapon ACE_player != "ACE_Yardage450" || cameraView != "GUNNER") exitWith {false};
|
if (currentWeapon ACE_player != "ACE_Yardage450" || cameraView != "GUNNER") exitWith {false};
|
||||||
|
|
||||||
// Statement
|
// Statement
|
||||||
if !(GVAR(powerButtonPressed)) then {
|
if !(GVAR(powerButtonPressed)) then {
|
||||||
GVAR(powerButtonPressed) = true;
|
GVAR(powerButtonPressed) = true;
|
||||||
@ -19,7 +19,7 @@
|
|||||||
if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||||
// Conditions: specific
|
// Conditions: specific
|
||||||
if (currentWeapon ACE_player != "ACE_Yardage450" || cameraView != "GUNNER") exitWith {false};
|
if (currentWeapon ACE_player != "ACE_Yardage450" || cameraView != "GUNNER") exitWith {false};
|
||||||
|
|
||||||
// Statement
|
// Statement
|
||||||
GVAR(powerButtonPressed) = false;
|
GVAR(powerButtonPressed) = false;
|
||||||
call FUNC(turnOn);
|
call FUNC(turnOn);
|
||||||
|
@ -167,7 +167,7 @@ class CfgVehicles {
|
|||||||
sync[] = {};
|
sync[] = {};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
// class GVAR(moduleSetSuppression): GVAR(moduleBase) {
|
// class GVAR(moduleSetSuppression): GVAR(moduleBase) {
|
||||||
// curatorCanAttach = 1;
|
// curatorCanAttach = 1;
|
||||||
// displayName = CSTRING(ModuleSetSupp_DisplayName);
|
// displayName = CSTRING(ModuleSetSupp_DisplayName);
|
||||||
|
Loading…
Reference in New Issue
Block a user