Merge branch 'master' into release-3.14.0

This commit is contained in:
PabstMirror
2021-10-18 19:17:49 -05:00
202 changed files with 1595 additions and 1414 deletions

82
.github/workflows/pboproject.yml vendored Normal file
View File

@ -0,0 +1,82 @@
name: pboProject
on:
push:
branches:
- master
pull_request_target:
jobs:
pboproject:
runs-on: windows-2019
steps:
- name: Install Arma 3 Tools
uses: arma-actions/arma3-tools@master
with:
toolsUrl: ${{ secrets.ARMA3_TOOLS_URL }}
- name: Install Mikero Tools
uses: arma-actions/mikero-tools@2021-04-10
- name: Download game data
run: |
Invoke-WebRequest "$env:ARMA3_DATA_URL" -OutFile arma3.zip
Invoke-WebRequest "$env:RHSAFRF_URL" -OutFile rhsafrf.zip
Invoke-WebRequest "$env:RHSGREF_URL" -OutFile rhsgref.zip
Invoke-WebRequest "$env:RHSSAF_URL" -OutFile rhssaf.zip
Invoke-WebRequest "$env:RHSUSF_URL" -OutFile rhsusf.zip
$files = @("arma3.zip", "rhsafrf.zip", "rhsgref.zip", "rhssaf.zip", "rhsusf.zip")
ForEach ($file in $files) {
Extract-7Zip -Path $file -DestinationPath .
Remove-Item $file
}
env:
ARMA3_DATA_URL: ${{ secrets.ARMA3_DATA_URL }}
RHSAFRF_URL: ${{ secrets.RHSAFRF_URL }}
RHSGREF_URL: ${{ secrets.RHSGREF_URL }}
RHSSAF_URL: ${{ secrets.RHSSAF_URL }}
RHSUSF_URL: ${{ secrets.RHSUSF_URL }}
- name: Checkout CBA A3
uses: actions/checkout@v2
with:
path: x\cba
ref: master
repository: CBATeam/CBA_A3.git
- name: Checkout ACE3
uses: actions/checkout@v2
with:
path: z\ace
persist-credentials: false
- name: Checkout pull request
uses: actions/checkout@v2
if: ${{ github.event_name == 'pull_request_target' }}
with:
path: pullrequest
ref: 'refs/pull/${{ github.event.number }}/merge'
- name: Replace addons with pull request addons
if: ${{ github.event_name == 'pull_request_target' }}
run: |
rm -r z\ace\addons\
rm -r z\ace\optionals\
xcopy /e /h /q pullrequest\addons z\ace\addons\
xcopy /e /h /q pullrequest\optionals z\ace\optionals\
- name: Setup build environment
run: |
subst P: .
pboproject -P
xcopy /e /h /q z\ace\tools\pDummies\A3\ui_f_enoch a3\ui_f_enoch\
xcopy /e /h /q z\ace\tools\pDummies\gm gm\
xcopy /e /h /q z\ace\tools\pDummies\vn vn\
- name: Build
run: py P:\z\ace\tools\make.py ci
env:
PYTHONUNBUFFERED: 1
- name: Archive logs
uses: actions/upload-artifact@v2
if: ${{ always() }}
with:
name: logs
path: temp/*.log
- name: Archive @ace
uses: actions/upload-artifact@v2
with:
name: '@ace3-${{ github.sha }}'
path: z\ace\release\@ace

View File

@ -47,7 +47,7 @@ class RscTitles {
sizeEx=0.027;
text="";
};
class RscProtractorMarker : RscProtractorBase {
class RscProtractorMarker: RscProtractorBase {
idc=132951;
};
};

View File

@ -1,6 +1,6 @@
class RscControlsGroup;
class RscText;
class RangeText: RscText{};
class RangeText: RscText {};
class RscPicture;
class RscOpticsText;
class RscIGProgress;

View File

@ -492,7 +492,7 @@ class GVAR(display) {
x = QUOTE(safezoneX + safezoneW - 93 * GRID_W);
h = QUOTE(safezoneH - 28 * GRID_H);
};
class rightTabContentListnBox : RscListNBox {
class rightTabContentListnBox: RscListNBox {
idc = IDC_rightTabContentListnBox;
colorBackground[]={0,0,0,0};
colorSelectBackground[]={1,1,1,0.5};

View File

@ -1,4 +1,4 @@
class GVAR(customArsenalButton_Button) : RscButtonArsenal {
class GVAR(customArsenalButton_Button): RscButtonArsenal {
x = QUOTE(safezoneW + safezoneX - 10 * GRID_W);
y = QUOTE(safezoneY + 88 * GRID_H);
w = QUOTE(9 * GRID_W);
@ -10,7 +10,7 @@ class GVAR(customArsenalButton_Button) : RscButtonArsenal {
colorBackground[] = {0,0,0,0.5};
};
class GVAR(customArsenalButton_Background) : ctrlStaticBackground {
class GVAR(customArsenalButton_Background): ctrlStaticBackground {
x = QUOTE(safezoneW + safezoneX - 13 * GRID_W);
y = QUOTE(safezoneY + 88 * GRID_H);
w = QUOTE(12 * GRID_W);

View File

@ -42,7 +42,7 @@ class GVAR(rangeTableDialog) {
colorSelectBackground[] = {0, 0, 0, 0.025};
colorSelectBackground2[] = {0, 0, 0, 0.025};
colorScrollbar[] = {0.95,0,0.95,1};
class ListScrollBar: ScrollBar{
class ListScrollBar: ScrollBar {
color[] = {0,0,0,0.6};
};
};

View File

@ -126,7 +126,7 @@ class ATragMX_RscListBox {
thumb="\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
};
class ListScrollBar : ScrollBar {
class ListScrollBar: ScrollBar {
};
};
class ATragMX_RscListNBox: ATragMX_RscListBox {

View File

@ -114,7 +114,7 @@ class CfgAmmo {
caliber = 1.037; //~7mm RHA, ~22.4mm metal, probably still too high though as RHA is hardened.
};
class B_556x45_Ball : BulletBase {
class B_556x45_Ball: BulletBase {
airFriction=-0.00130094;
tracerScale = 1;
tracerStartTime=0.073; // M856 tracer burns out to 800m
@ -138,7 +138,7 @@ class CfgAmmo {
ACE_barrelLengths[] = {457.2}; // according with the SDAR barrel length: https://en.wikipedia.org/wiki/Kel-Tec_RFB
};
class ACE_556x45_Ball_Mk262 : B_556x45_Ball {
class ACE_556x45_Ball_Mk262: B_556x45_Ball {
airFriction=-0.00111805;
ACE_caliber=5.69;
ACE_bulletLength=23.012;
@ -152,7 +152,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={624, 816, 832, 838};
ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0};
};
class ACE_556x45_Ball_Mk318 : B_556x45_Ball {
class ACE_556x45_Ball_Mk318: B_556x45_Ball {
airFriction=-0.0012588;
ACE_caliber=5.69;
ACE_bulletLength=23.012;
@ -165,7 +165,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={780, 886, 950};
ACE_barrelLengths[]={254.0, 393.7, 508.0};
};
class ACE_556x45_Ball_M995_AP : B_556x45_Ball {
class ACE_556x45_Ball_M995_AP: B_556x45_Ball {
airFriction=-0.00126182;
caliber=1.6;
ACE_caliber=5.69;
@ -221,7 +221,7 @@ class CfgAmmo {
ACE_barrelLengths[] = {640};
};
class B_65x39_Caseless : BulletBase {
class B_65x39_Caseless: BulletBase {
airFriction=-0.00077363;
tracerScale = 1.1; //1.0;
ACE_caliber=6.706;
@ -236,11 +236,11 @@ class CfgAmmo {
ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4, 762.0};
};
class B_65x39_Case_yellow;
class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow {
class ACE_65x39_Caseless_Tracer_Dim: B_65x39_Case_yellow {
nvgOnly = 1;
};
class B_65x39_Caseless_green;
class ACE_65x39_Caseless_green_Tracer_Dim : B_65x39_Caseless_green {
class ACE_65x39_Caseless_green_Tracer_Dim: B_65x39_Caseless_green {
nvgOnly = 1;
};
class ACE_65x47_Ball_Scenar: B_65x39_Caseless {
@ -277,7 +277,7 @@ class CfgAmmo {
class B_65x39_Minigun_Caseless: SubmunitionBullet {
tracerScale = 1.1; //1.0;
};
class B_762x51_Ball : BulletBase {
class B_762x51_Ball: BulletBase {
airFriction=-0.00103711;
tracerScale = 1.2; //0.6;
tracerStartTime=0.073; // Based on the British L5A1 which burns out to 1000m
@ -297,7 +297,7 @@ class CfgAmmo {
class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow {
nvgOnly = 1;
};
class ACE_762x51_Ball_M118LR : B_762x51_Ball {
class ACE_762x51_Ball_M118LR: B_762x51_Ball {
airFriction=-0.00085157;
caliber=1.8;
hit=16;
@ -314,7 +314,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={750, 780, 790, 794};
ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4};
};
class ACE_762x51_Ball_Mk316_Mod_0 : B_762x51_Ball {
class ACE_762x51_Ball_Mk316_Mod_0: B_762x51_Ball {
airFriction=-0.00084311;
caliber=1.8;
hit=16;
@ -331,7 +331,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={775, 790, 805, 810};
ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4};
};
class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball {
class ACE_762x51_Ball_Mk319_Mod_0: B_762x51_Ball {
airFriction=-0.00104515;
caliber=1.5;
hit=14;
@ -348,7 +348,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={838, 892, 910};
ACE_barrelLengths[]={330.2, 406.4, 508.0};
};
class ACE_762x51_Ball_M993_AP : B_762x51_Ball {
class ACE_762x51_Ball_M993_AP: B_762x51_Ball {
airFriction=-0.0010939;
caliber=2.2;
hit=11;
@ -364,7 +364,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={875, 910, 930};
ACE_barrelLengths[]={330.2, 406.4, 508.0};
};
class ACE_762x51_Ball_Subsonic : B_762x51_Ball {
class ACE_762x51_Ball_Subsonic: B_762x51_Ball {
airFriction=-0.00060194;
caliber=1;
hit=6;
@ -380,7 +380,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={305, 325, 335, 340};
ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4};
};
class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball {
class ACE_762x67_Ball_Mk248_Mod_0: B_762x51_Ball {
airFriction=-0.00072468;
caliber=1.8;
hit=17;
@ -397,7 +397,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={865, 900, 924};
ACE_barrelLengths[]={508.0, 609.6, 660.4};
};
class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball {
class ACE_762x67_Ball_Mk248_Mod_1: B_762x51_Ball {
airFriction=-0.00063027;
caliber=1.9;
hit=18;
@ -414,7 +414,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={847, 867, 877};
ACE_barrelLengths[]={508.0, 609.6, 660.4};
};
class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball {
class ACE_762x67_Ball_Berger_Hybrid_OTM: B_762x51_Ball {
airFriction=-0.000546;
caliber=2.0;
hit=19;
@ -446,7 +446,7 @@ class CfgAmmo {
ACE_barrelLengths[]={406.4, 508.0, 604.5, 736.6};
};
class B_762x54_Tracer_Green;
class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green {
class ACE_762x54_Ball_7T2: B_762x54_Tracer_Green {
airFriction=-0.00103739;
typicalSpeed=800;
tracerStartTime=0.073; // Based on the 7T2 which burns three seconds
@ -475,7 +475,7 @@ class CfgAmmo {
ACE_muzzleVelocities[] = {658, 678, 723, 743, 753}; // at 21°C, at 15°C {650, 670, 715, 735, 745} according with the AKM,AK12,AK12U,RPK initSpeed
ACE_barrelLengths[] = {254, 314, 415, 520, 590}; // respectively {default / AK104,AK15K / AK47,AKM,AK103,AK15 / SKS / RPK}
};
class B_9x21_Ball : BulletBase {
class B_9x21_Ball: BulletBase {
airFriction=-0.00211064;
tracerScale = 0.5;
ACE_caliber=9.042;
@ -492,7 +492,7 @@ class CfgAmmo {
class B_9x21_Ball_Tracer_Green: B_9x21_Ball {
tracerScale = 0.5;
};
class ACE_9x19_Ball : B_9x21_Ball {
class ACE_9x19_Ball: B_9x21_Ball {
airFriction=-0.00201185;
ACE_caliber=9.017;
ACE_bulletLength=15.494;
@ -505,7 +505,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={340, 370, 400};
ACE_barrelLengths[]={101.6, 127.0, 228.6};
};
class B_93x64_Ball : BulletBase {
class B_93x64_Ball: BulletBase {
airFriction = -0.000808; // According with the G1 BC 0.515 and the SVDK muzzle velocity 780 m/s https://www.kalashnikov.ru/medialibrary/bd9/72_77.pdf#page=3
ACE_caliber = 9.28; // https://www.kalashnikov.ru/medialibrary/bd9/72_77.pdf#page=3
ACE_bulletLength = 35.56; // Average length from bullets with similar mass and BC
@ -519,7 +519,7 @@ class CfgAmmo {
ACE_muzzleVelocities[] = {768, 788, 798}; // Default values - 82 m/s at 21°C, at 15°C {760, 780, 790} according with the 10Rnd_93x64_DMR_05_Mag and the 150Rnd_93x64_Mag initSpeed
ACE_barrelLengths[] = {508.0, 620.0, 660.4};
};
class B_408_Ball : BulletBase {
class B_408_Ball: BulletBase {
timeToLive=10;
airFriction=-0.00046249;
tracerScale = 1.3;
@ -536,7 +536,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={867};
ACE_barrelLengths[]={736.6};
};
class ACE_408_Ball : BulletBase {
class ACE_408_Ball: BulletBase {
timeToLive=10;
airFriction=-0.00065414;
typicalSpeed=1067;
@ -554,7 +554,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={1067};
ACE_barrelLengths[]={736.6};
};
class B_338_Ball : BulletBase {
class B_338_Ball: BulletBase {
timeToLive=10;
airFriction=-0.00060841;
ACE_caliber=8.585;
@ -569,7 +569,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={880, 915, 925};
ACE_barrelLengths[]={508.0, 660.4, 711.2};
};
class B_338_NM_Ball : BulletBase {
class B_338_NM_Ball: BulletBase {
airFriction=-0.00053639;
ACE_caliber=8.585;
ACE_bulletLength=43.18;
@ -582,7 +582,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={790, 807, 820};
ACE_barrelLengths[]={508.0, 609.6, 660.4};
};
class ACE_338_Ball : B_338_Ball {
class ACE_338_Ball: B_338_Ball {
timeToLive=10;
airFriction=-0.00055706;
typicalSpeed=826;
@ -598,7 +598,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={800, 820, 826, 830};
ACE_barrelLengths[]={508.0, 609.6, 673.1, 711.2};
};
class ACE_338_Ball_API526 : B_338_Ball {
class ACE_338_Ball_API526: B_338_Ball {
timeToLive=10;
airFriction=-0.0006922;
caliber=2.8;
@ -619,7 +619,7 @@ class CfgAmmo {
class B_127x33_Ball: BulletBase {
tracerScale = 1.3; //1.2;
};
class B_127x54_Ball : BulletBase {
class B_127x54_Ball: BulletBase {
airFriction=-0.00019568;
tracerScale = 1.3;//
ACE_caliber=12.954;
@ -633,7 +633,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={300};
ACE_barrelLengths[]={436.88};
};
class B_127x99_Ball : BulletBase {
class B_127x99_Ball: BulletBase {
timeToLive=10;
airFriction=-0.00058679;
tracerScale = 1.3; //1.2;
@ -649,7 +649,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={900};
ACE_barrelLengths[]={736.6};
};
class ACE_127x99_API : B_127x99_Ball {
class ACE_127x99_API: B_127x99_Ball {
timeToLive=10;
airFriction=-0.00058679;
tracerScale = 1.3;//
@ -668,7 +668,7 @@ class CfgAmmo {
ACE_barrelLengths[]={736.6};
EGVAR(vehicle_damage,incendiary) = 1.0;
};
class ACE_127x99_Ball_AMAX : B_127x99_Ball {
class ACE_127x99_Ball_AMAX: B_127x99_Ball {
timeToLive=10;
airFriction=-0.00037397;
caliber=3.0;
@ -684,7 +684,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={860};
ACE_barrelLengths[]={736.6};
};
class B_127x108_Ball : BulletBase {
class B_127x108_Ball: BulletBase {
timeToLive=10;
airFriction=-0.00065098;
tracerScale = 1.3; //1.5;
@ -703,7 +703,7 @@ class CfgAmmo {
typicalSpeed = 820;
airFriction = -0.00065098;
};
class B_45ACP_Ball : BulletBase {
class B_45ACP_Ball: BulletBase {
airFriction=-0.00082143;
tracerScale = 0.6;
ACE_caliber=11.481;

View File

@ -671,7 +671,7 @@ class CfgMagazines {
initSpeed = 254;
};
class 6Rnd_45ACP_Cylinder : 11Rnd_45ACP_Mag {
class 6Rnd_45ACP_Cylinder: 11Rnd_45ACP_Mag {
initSpeed = 254;
};

View File

@ -2761,15 +2761,19 @@
</Key>
<Key ID="STR_ACE_Ballistics_30Rnd_65x47_Scenar_mag_Name">
<English>6.5x47 mm 30Rnd Sand Mag (HPBT Scenar)</English>
<Japanese>6.5x47 mm 30発入り サンド 弾倉 (HPBT Scenar)</Japanese>
</Key>
<Key ID="STR_ACE_Ballistics_30Rnd_65x47_Scenar_msbs_mag_Name">
<English>6.5x47 mm 30Rnd Promet Mag (HPBT Scenar)</English>
<Japanese>6.5x47 mm 30発入り プロメット 弾倉 (HPBT Scenar)</Japanese>
</Key>
<Key ID="STR_ACE_Ballistics_30Rnd_65x47_Scenar_black_mag_Name">
<English>6.5x47 mm 30Rnd Black Mag (HPBT Scenar)</English>
<Japanese>6.5x47 mm 30発入り ブラック 弾倉 (HPBT Scenar)</Japanese>
</Key>
<Key ID="STR_ACE_Ballistics_30Rnd_65x47_Scenar_khaki_mag_Name">
<English>6.5x47 mm 30Rnd Khaki Mag (HPBT Scenar)</English>
<Japanese>6.5x47 mm 30発入り カーキ 弾倉 (HPBT Scenar)</Japanese>
</Key>
<Key ID="STR_ACE_Ballistics_30Rnd_65x47_Scenar_mag_NameShort">
<English>6.5 mm Lapua</English>
@ -2824,15 +2828,19 @@
</Key>
<Key ID="STR_ACE_Ballistics_30Rnd_65_Creedmor_mag_Name">
<English>6.5 mm Creedmor 30Rnd Sand Mag</English>
<Japanese>6.5 mm クリードモア 30発入り サンド 弾倉</Japanese>
</Key>
<Key ID="STR_ACE_Ballistics_30Rnd_65_Creedmor_msbs_mag_Name">
<English>6.5 mm Creedmor 30Rnd Promet Mag</English>
<Japanese>6.5 mm クリードモア 30発入り プロメット 弾倉</Japanese>
</Key>
<Key ID="STR_ACE_Ballistics_30Rnd_65_Creedmor_black_mag_Name">
<English>6.5 mm Creedmor 30Rnd Black Mag</English>
<Japanese>6.5 mm クリードモア 30発入り ブラック 弾倉</Japanese>
</Key>
<Key ID="STR_ACE_Ballistics_30Rnd_65_Creedmor_khaki_mag_Name">
<English>6.5 mm Creedmor 30Rnd Khaki Mag</English>
<Japanese>6.5 mm クリードモア 30発入り カーキ 弾倉</Japanese>
</Key>
<Key ID="STR_ACE_Ballistics_30Rnd_65_Creedmor_mag_NameShort">
<English>6.5 mm CM</English>

View File

@ -90,6 +90,7 @@ GVAR(vehicleAction) = [
GVAR(objectActions) = [
[QGVAR(renameObject), LELSTRING(common,rename), "", //TODO: add icon, maybe a pencil couldn't find it before.
{
//IGNORE_PRIVATE_WARNING ["_target", "_player"];
GVAR(interactionVehicle) = _target;
createDialog QGVAR(renameMenu);
},

View File

@ -98,7 +98,7 @@ if (_showHint) then {
[
[
LSTRING(UnloadedItem),
[_itemObject, true] call FUNC(getNameItem),
[_object, true] call FUNC(getNameItem),
getText (configOf _vehicle >> "displayName")
],
3

View File

@ -6,7 +6,7 @@ class GVAR(menu) {
onLoad = QUOTE([_this select 0] call FUNC(onMenuOpen));
onUnload = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(menuDisplay)),nil)];);
class controlsBackground {
class HeaderBackground: ACE_gui_backgroundBase{
class HeaderBackground: ACE_gui_backgroundBase {
idc = -1;
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
x = "13 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";

View File

@ -6,7 +6,7 @@ class GVAR(renameMenu) {
onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(menuDisplay)),_this select 0)];);
onUnload = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(menuDisplay)),nil)];);
class controlsBackground {
class HeaderBackground: ACE_gui_backgroundBase{
class HeaderBackground: ACE_gui_backgroundBase {
idc = -1;
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
x = "13 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";

View File

@ -35,18 +35,23 @@
</Key>
<Key ID="STR_ACE_Cargo_renamedObject">
<English>Renamed to:&lt;br/&gt;%1</English>
<Japanese>名前を次に変更:&lt;br/&gt;%1</Japanese>
</Key>
<Key ID="STR_ACE_Cargo_clearedCustomName">
<English>Custom name has been cleared.</English>
<Japanese>カスタム名が削除されました。</Japanese>
</Key>
<Key ID="STR_ACE_Cargo_renameObjectUI">
<English>Set New Name:</English>
<Japanese>新しい名前:</Japanese>
</Key>
<Key ID="STR_ACE_Cargo_ModuleSettings_enableRename">
<English>Enable Rename Action</English>
<Japanese>名前変更を有効化</Japanese>
</Key>
<Key ID="STR_ACE_Cargo_ModuleSettings_enableRename_Description">
<English>Enables the rename action for renamable objects.</English>
<Japanese>名前変更が可能なオブジェクトに対して、名前変更動作を有効化します。</Japanese>
</Key>
<Key ID="STR_ACE_Cargo_openMenu">
<English>Cargo</English>
@ -256,9 +261,11 @@
</Key>
<Key ID="STR_ACE_Cargo_customName_edenName">
<English>Custom Name</English>
<Japanese>カスタム名</Japanese>
</Key>
<Key ID="STR_ACE_Cargo_customName_edenDesc">
<English>Set a custom cargo name used in the cargo interface.</English>
<Japanese>カーゴ欄で使われるカスタム名を設定します。</Japanese>
</Key>
<Key ID="STR_ACE_Cargo_space_edenName">
<English>Cargo Space</English>
@ -411,10 +418,12 @@
<Key ID="STR_ACE_Cargo_openAfterUnload">
<English>Reopen Cargo Menu</English>
<Turkish>Kargo Menüsünü Tekrar Aç</Turkish>
<Japanese>カーゴ メニューを再度開く</Japanese>
</Key>
<Key ID="STR_ACE_Cargo_openAfterUnload_description">
<English>Reopen the Cargo Menu after successful unload.</English>
<Turkish>Başarılı bir yük indirmeden sonra Kargo Menüsünü tekrar göster.</Turkish>
<Japanese>カーゴを降ろした後に再びカーゴ メニューを開きます。</Japanese>
</Key>
</Package>
</Project>

View File

@ -121,6 +121,7 @@ class CfgVehicles {
class Land_HelipadEmpty_F;
class ACE_LogicDummy: Land_HelipadEmpty_F {
scope = 1;
scopeCurator = 0;
SLX_XEH_DISABLED = 1;
author = CSTRING(ACETeam);
class EventHandlers {

View File

@ -72,4 +72,5 @@ class ACE_Extensions {};
class ACE_Tests {
vehicleTransportInventory = QPATHTOF(dev\test_vehicleInventory.sqf);
mapConfigs = QPATHTOF(dev\test_mapConfigs.sqf);
cfgPatches = QPATHTOF(dev\test_cfgPatches.sqf);
};

View File

@ -92,8 +92,7 @@ class ACE_gui_backgroundBase {
text = "";
sizeEx = 0.032;
};
class ACE_gui_editBase
{
class ACE_gui_editBase {
type = 2;
x = 0;
y = 0;
@ -236,7 +235,7 @@ class ACE_gui_staticBase {
};
class RscListBox;
class ACE_gui_listBoxBase : RscListBox{
class ACE_gui_listBoxBase: RscListBox {
type = CT_LISTBOX;
style = ST_MULTI;
font = FONT_ACE;
@ -379,8 +378,7 @@ class ACE_gui_comboBoxBase: RscCombo {
soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1};
soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1};
maxHistoryDelay = 1.0;
class ScrollBar
{
class ScrollBar {
color[] = {0.3,0.3,0.3,0.6};
colorActive[] = {0.3,0.3,0.3,1};
colorDisabled[] = {0.3,0.3,0.3,0.3};
@ -485,8 +483,7 @@ onMouseButtonDblClick = "";
color[] = {0.30, 0.10, 0.90, 1.00};
size = 50;
};
class Legend
{
class Legend {
x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)";
y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
@ -496,8 +493,7 @@ onMouseButtonDblClick = "";
colorBackground[] = {1,1,1,0.5};
color[] = {0,0,0,1};
};
class Task
{
class Task {
icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa";
iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa";
iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa";
@ -513,8 +509,7 @@ onMouseButtonDblClick = "";
coefMin = 1;
coefMax = 1;
};
class Waypoint
{
class Waypoint {
icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
color[] = {0,0,0,1};
size = 20;
@ -522,8 +517,7 @@ onMouseButtonDblClick = "";
coefMin = 0.900000;
coefMax = 4;
};
class WaypointCompleted
{
class WaypointCompleted {
icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa";
color[] = {0,0,0,1};
size = 20;
@ -531,8 +525,7 @@ onMouseButtonDblClick = "";
coefMin = 0.900000;
coefMax = 4;
};
class CustomMark
{
class CustomMark {
icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";
size = 24;
importance = 1;
@ -540,8 +533,7 @@ onMouseButtonDblClick = "";
coefMax = 1;
color[] = {0,0,0,1};
};
class Command
{
class Command {
icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
size = 18;
importance = 1;
@ -549,8 +541,7 @@ onMouseButtonDblClick = "";
coefMax = 1;
color[] = {1,1,1,1};
};
class Bush
{
class Bush {
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
color[] = {0.45,0.64,0.33,0.4};
size = "14/2";
@ -558,8 +549,7 @@ onMouseButtonDblClick = "";
coefMin = 0.25;
coefMax = 4;
};
class Rock
{
class Rock {
icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa";
color[] = {0.1,0.1,0.1,0.8};
size = 12;
@ -567,8 +557,7 @@ onMouseButtonDblClick = "";
coefMin = 0.25;
coefMax = 4;
};
class SmallTree
{
class SmallTree {
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
color[] = {0.45,0.64,0.33,0.4};
size = 12;
@ -576,8 +565,7 @@ onMouseButtonDblClick = "";
coefMin = 0.25;
coefMax = 4;
};
class Tree
{
class Tree {
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
color[] = {0.45,0.64,0.33,0.4};
size = 12;
@ -585,8 +573,7 @@ onMouseButtonDblClick = "";
coefMin = 0.25;
coefMax = 4;
};
class busstop
{
class busstop {
icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa";
size = 24;
importance = 1;
@ -594,8 +581,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {1,1,1,1};
};
class fuelstation
{
class fuelstation {
icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa";
size = 24;
importance = 1;
@ -603,8 +589,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {1,1,1,1};
};
class hospital
{
class hospital {
icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa";
size = 24;
importance = 1;
@ -612,8 +597,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {1,1,1,1};
};
class church
{
class church {
icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa";
size = 24;
importance = 1;
@ -621,8 +605,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {1,1,1,1};
};
class lighthouse
{
class lighthouse {
icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa";
size = 24;
importance = 1;
@ -630,8 +613,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {1,1,1,1};
};
class power
{
class power {
icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa";
size = 24;
importance = 1;
@ -639,8 +621,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {1,1,1,1};
};
class powersolar
{
class powersolar {
icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa";
size = 24;
importance = 1;
@ -648,8 +629,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {1,1,1,1};
};
class powerwave
{
class powerwave {
icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa";
size = 24;
importance = 1;
@ -657,8 +637,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {1,1,1,1};
};
class powerwind
{
class powerwind {
icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa";
size = 24;
importance = 1;
@ -666,8 +645,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {1,1,1,1};
};
class quay
{
class quay {
icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa";
size = 24;
importance = 1;
@ -675,8 +653,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {1,1,1,1};
};
class shipwreck
{
class shipwreck {
icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa";
size = 24;
importance = 1;
@ -684,8 +661,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {1,1,1,1};
};
class transmitter
{
class transmitter {
icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa";
size = 24;
importance = 1;
@ -693,8 +669,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {1,1,1,1};
};
class watertower
{
class watertower {
icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa";
size = 24;
importance = 1;
@ -702,8 +677,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {1,1,1,1};
};
class Cross
{
class Cross {
icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa";
size = 24;
importance = 1;
@ -711,8 +685,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {0,0,0,1};
};
class Chapel
{
class Chapel {
icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa";
size = 24;
importance = 1;
@ -720,8 +693,7 @@ onMouseButtonDblClick = "";
coefMax = 1.0;
color[] = {0,0,0,1};
};
class Bunker
{
class Bunker {
icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
size = 14;
importance = "1.5 * 14 * 0.05";
@ -729,8 +701,7 @@ onMouseButtonDblClick = "";
coefMax = 4;
color[] = {0,0,0,1};
};
class Fortress
{
class Fortress {
icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
size = 16;
importance = "2 * 16 * 0.05";
@ -738,8 +709,7 @@ onMouseButtonDblClick = "";
coefMax = 4;
color[] = {0,0,0,1};
};
class Fountain
{
class Fountain {
icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa";
size = 11;
importance = "1 * 12 * 0.05";
@ -747,8 +717,7 @@ onMouseButtonDblClick = "";
coefMax = 4;
color[] = {0,0,0,1};
};
class Ruin
{
class Ruin {
icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa";
size = 16;
importance = "1.2 * 16 * 0.05";
@ -756,8 +725,7 @@ onMouseButtonDblClick = "";
coefMax = 4;
color[] = {0,0,0,1};
};
class Stack
{
class Stack {
icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa";
size = 20;
importance = "2 * 16 * 0.05";
@ -765,8 +733,7 @@ onMouseButtonDblClick = "";
coefMax = 4;
color[] = {0,0,0,1};
};
class Tourism
{
class Tourism {
icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa";
size = 16;
importance = "1 * 16 * 0.05";
@ -774,8 +741,7 @@ onMouseButtonDblClick = "";
coefMax = 4;
color[] = {0,0,0,1};
};
class ViewTower
{
class ViewTower {
icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa";
size = 16;
importance = "2.5 * 16 * 0.05";

View File

@ -0,0 +1,72 @@
#include "\z\ace\addons\common\script_component.hpp"
// PabstMirror
// ["cfgPatches"] call ace_common_fnc_runTests;
diag_log text format ["--- Checking CfgPatches --- "];
private _testPass = true;
// All ace cfgPatches
private _allPatches = "(configName _x) select [0,3] == 'ace'" configClasses (configFile >> "CfgPatches");
// Get all units[]
private _allUnits = [];
{
_allUnits append ((getArray (_x >> "units")) apply { toLower _x });
} forEach _allPatches;
{
private _class = configFile >> "CfgVehicles" >> _x;
if (isNull _class) then {
WARNING_1("in units[] but null - %1", _x);
_testPass = false;
} else {
// if (((getNumber (_class >> "scope")) != 2) && {((getNumber (_class >> "scopeCurator")) != 2)}) then {
// WARNING_2("in units[] but not public - %1 from %2", configName _class, configSourceMod _class);
// _testPass = false;
// };
};
} forEach _allUnits;
// Get all weapons[]
private _allWeapons = [];
{
_allWeapons append ((getArray (_x >> "weapons")) apply { toLower _x });
} forEach _allPatches;
{
private _class = configFile >> "CfgWeapons" >> _x;
if (isNull _class) then {
WARNING_1("in weapons[] but null - %1", _x);
_testPass = false;
} else {
// if (((getNumber (_class >> "scope")) != 2) && {((getNumber (_class >> "scopeCurator")) != 2)}) then {
// WARNING_2("in weapons[] but not public - %1 from %2", configName _class, configSourceMod _class);
// _testPass = false;
// };
};
} forEach _allWeapons;
// Check if all public vics are defined in a cfgPatch
private _vics = "(configName _x) select [0,3] == 'ace'" configClasses (configFile >> "CfgVehicles");
{
if (((getNumber (_x >> "scope")) == 2) || {((getNumber (_x >> "scopeCurator")) == 2)}) then {
if (!((toLower configName _x) in _allUnits)) then {
WARNING_2("Not in any units[] - %1 from %2", configName _x, configSourceMod _x);
_testPass = false;
};
};
} forEach _vics;
// Check if all public weapons are defined in a cfgPatch
private _weapons = "(configName _x) select [0,3] == 'ace'" configClasses (configFile >> "CfgWeapons");
{
private _type = toLower configName _x;
if (((getNumber (_x >> "scope")) == 2) || {((getNumber (_x >> "scopeCurator")) == 2)}) then {
if (!((toLower configName _x) in _allWeapons)) then {
WARNING_2("Not in any weapons[] - %1 from %2", configName _x, configSourceMod _x);
_testPass = false;
};
};
} forEach _weapons;
_testPass

View File

@ -14,7 +14,7 @@ private _vehicles = configProperties [configFile >> "CfgVehicles", "(isClass _x)
private _glassesConfig = configFile >> "CfgGlasses" >> _name;
if (((!isClass _weaponConfig) || {(getNumber (_weaponConfig >> "type")) in [1,2,4]}) && {!isClass _glassesConfig}) then {
diag_log text format ["%1 -> TransportItems -> %2 = Bad", _vehType, _name];
_testPass = false;
if ("ace" in toLower (_vehType + _name)) then { _testPass = false; };
};
};
} forEach (configProperties [_x >> "TransportItems", "isClass _x", true]);
@ -23,7 +23,7 @@ private _vehicles = configProperties [configFile >> "CfgVehicles", "(isClass _x)
private _weaponConfig = configFile >> "CfgWeapons" >> _name;
if ((!isClass _weaponConfig) || {!((getNumber (_weaponConfig >> "type")) in [1,2,4])}) then {
diag_log text format ["%1 -> TransportWeapons -> %2 = Bad", _vehType, _name];
_testPass = false;
if ("ace" in toLower (_vehType + _name)) then { _testPass = false; };
};
} forEach (configProperties [_x >> "TransportWeapons", "isClass _x", true]);
{
@ -31,7 +31,7 @@ private _vehicles = configProperties [configFile >> "CfgVehicles", "(isClass _x)
private _magConfig = configFile >> "CfgMagazines" >> _name;
if ((!isClass _magConfig)) then {
diag_log text format ["%1 -> TransportMagazines -> %2 = Bad", _vehType, _name];
_testPass = false;
if ("ace" in toLower (_vehType + _name)) then { _testPass = false; };
};
} forEach (configProperties [_x >> "TransportMagazines", "isClass _x", true]);
{
@ -39,7 +39,7 @@ private _vehicles = configProperties [configFile >> "CfgVehicles", "(isClass _x)
private _vehConfig = configFile >> "CfgVehicles" >> _name;
if ((!isClass _vehConfig)) then {
diag_log text format ["%1 -> TransportBackpacks -> %2 = Bad", _vehType, _name];
_testPass = false;
if ("ace" in toLower (_vehType + _name)) then { _testPass = false; };
};
} forEach (configProperties [_x >> "TransportBackpacks", "isClass _x", true]);
} forEach _vehicles;

View File

@ -21,10 +21,11 @@ params ["_unit", "_target", ["_exceptions", []]];
_exceptions = _exceptions apply {toLower _x};
private _owner = _target getVariable [QGVAR(owner), objNull];
// exit if the target is not free to interact
if (!isNull _owner && {_unit != _owner}) exitWith {false};
if ((!isNull _target) && {
private _owner = _target getVariable [QGVAR(owner), objNull];
(!isNull _owner) && {_unit != _owner}}
) exitWith {false};
// check general conditions
private _conditions = missionNamespace getVariable [QGVAR(InteractionConditions), [[],[]]];

View File

@ -1471,18 +1471,23 @@
<Key ID="STR_ACE_Common_both">
<English>Both</English>
<Turkish>İkisi de</Turkish>
<Japanese>両方</Japanese>
</Key>
<Key ID="STR_ACE_Common_progressBarInfoName">
<English>Additional progress bar information</English>
<Japanese>プログレス バー詳細情報</Japanese>
</Key>
<Key ID="STR_ACE_Common_progressBarInfoDesc">
<English>Controls extra information shown in progress bar.</English>
<Japanese>プログレス バーへ表示される情報量を決定します。</Japanese>
</Key>
<Key ID="STR_ACE_Common_progressBarInfoPercentage">
<English>Percentage</English>
<Japanese>パーセンテージ</Japanese>
</Key>
<Key ID="STR_ACE_Common_progressBarInfoTime">
<English>Time remaining</English>
<Japanese>残り時間</Japanese>
</Key>
<Key ID="STR_ACE_Common_None">
<English>None</English>
@ -1518,6 +1523,7 @@
</Key>
<Key ID="STR_ACE_Common_TimeLeft">
<English>Time left: %1s</English>
<Japanese>残り時間: %1 秒</Japanese>
</Key>
<Key ID="STR_ACE_Common_LocationsBoostTraining_DisplayName">
<English>Locations Boost Training</English>

View File

@ -34,22 +34,22 @@ class CfgVehicles {
source = "user";
animPeriod = 1e-007;
};
class wire_3: wire_2{};
class wire_4: wire_2{};
class wire_5: wire_2{};
class wire_6: wire_2{};
class wire_7: wire_2{};
class wire_8: wire_2{};
class wire_9: wire_2{};
class wire_10: wire_2{};
class wire_11: wire_2{};
class wire_12: wire_2{};
class wire_13: wire_2{};
class wire_14: wire_2{};
class wire_15: wire_2{};
class wire_16: wire_2{};
class wire_17: wire_2{};
class wire_18: wire_2{};
class wire_3: wire_2 {};
class wire_4: wire_2 {};
class wire_5: wire_2 {};
class wire_6: wire_2 {};
class wire_7: wire_2 {};
class wire_8: wire_2 {};
class wire_9: wire_2 {};
class wire_10: wire_2 {};
class wire_11: wire_2 {};
class wire_12: wire_2 {};
class wire_13: wire_2 {};
class wire_14: wire_2 {};
class wire_15: wire_2 {};
class wire_16: wire_2 {};
class wire_17: wire_2 {};
class wire_18: wire_2 {};
class wire_2_1: wire_2 {
animPeriod = 8;

View File

@ -1,5 +1,5 @@
PREP(handleDamage);
PREP(handleDamageBox);
PREP(engineFire);
PREP(cookOff);
PREP(smoke);

View File

@ -25,7 +25,7 @@ GVAR(cacheTankDuplicates) = call CBA_fnc_createNamespace;
["ReammoBox_F", "init", {
(_this select 0) addEventHandler ["HandleDamage", {
if ((_this select 0) getVariable [QGVAR(enableAmmoCookoff), GVAR(enableAmmobox)]) then {
_this call FUNC(handleDamage);
_this call FUNC(handleDamageBox);
};
}];
}, nil, nil, true] call CBA_fnc_addClassEventHandler;

View File

@ -3,7 +3,7 @@
class CfgPatches {
class ADDON {
name = COMPONENT_NAME;
units[] = {QGVAR(Sound),QGVAR(Turret_MBT_01),QGVAR(Turret_MBT_02)};
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};

View File

@ -1,7 +1,7 @@
#include "script_component.hpp"
/*
* Author: KoffeinFlummi, commy2
* Handles all incoming damage for tanks (including wheeled APCs).
* Handles all incoming damage for boxi
*
* Arguments:
* HandleDamage EH <ARRAY>
@ -10,7 +10,7 @@
* Damage to be inflicted. <NUMBER>
*
* Example:
* _this call ace_cookoff_fnc_handleDamage
* _this call ace_cookoff_fnc_handleDamageBox
*
* Public: No
*/
@ -23,13 +23,6 @@ if (damage _vehicle >= 1) exitWith {};
// If cookoff is disabled exit
if (_vehicle getVariable [QGVAR(enable), GVAR(enable)] in [0, false]) exitWith {};
// Check for players and exit if none found and the enable for players only setting is true
if (
_vehicle getVariable [QGVAR(enable), GVAR(enable)] isEqualTo 1
&& {fullCrew [_vehicle, "", false] findIf {isPlayer (_x select 0)} == -1}
&& {_simulationType isNotEqualTo "box"}
) exitWith {};
// get hitpoint name
private _hitpoint = "#structural";

View File

@ -162,9 +162,11 @@
</Key>
<Key ID="STR_ACE_CookOff_enableFire_name">
<English>Enable Cook-Off Vehicle Fire</English>
<Japanese>誘爆火災を有効化</Japanese>
</Key>
<Key ID="STR_ACE_CookOff_enableFire_tooltip">
<English>Whether or not vehicles will catch on fire during cook-off</English>
<Japanese>誘爆により車両が炎上するかどうかを設定します。</Japanese>
</Key>
</Package>
</Project>

View File

@ -9,7 +9,7 @@ class Cfg3DEN {
};
class Combo: Title {
class Controls: Controls {
class Title: Title{};
class Title: Title {};
class Value;
};
};

View File

@ -246,7 +246,7 @@ class CfgWeapons {
EGVAR(javelin,enabled) = 1; // needs to be explicitly enabled
magazineReloadTime = 0.5;
};
class GVAR(Titan_AA_Static) : missiles_titan_static {
class GVAR(Titan_AA_Static): missiles_titan_static {
magazineReloadTime = 0.5;
};

View File

@ -4,8 +4,8 @@
class CfgPatches {
class ADDON {
name = COMPONENT_NAME;
units[] = {};
weapons[] = {"ace_csw_carryTripod", "ace_csw_staticATWeapon"};
units[] = {QGVAR(m3Tripod),QGVAR(m3TripodLow),QGVAR(kordTripod),QGVAR(kordTripodLow),QGVAR(sag30Tripod),QGVAR(m220Tripod),QGVAR(spg9Tripod),QGVAR(mortarBaseplate)};
weapons[] = {QGVAR(m3CarryTripod),QGVAR(m3CarryTripodLow),QGVAR(kordCarryTripod),QGVAR(kordCarryTripodLow),QGVAR(m220CarryTripod),QGVAR(spg9CarryTripod),QGVAR(sag30CarryTripod),QGVAR(carryMortarBaseplate),QGVAR(staticATCarry),QGVAR(staticAACarry),QGVAR(staticHMGCarry),QGVAR(staticM2ShieldCarry),QGVAR(staticGMGCarry),QGVAR(staticMortarCarry)};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_interaction"};
author = ECSTRING(common,ACETeam);

View File

@ -20,37 +20,37 @@ class CfgModels {
sections[] = {};
skeletonName = "";
};
class ACE_CSW_Tripod : Default {
class ACE_CSW_Tripod: Default {
sectionsInherit = "";
sections[] = {};
skeletonName = "ACE_CSW_Tripod_Skeleton";
};
class ACE_CSW_M3_Tripod : Default {
class ACE_CSW_M3_Tripod: Default {
sectionsInherit = "";
sections[] = {};
skeletonName = "ACE_CSW_M3_Tripod_Skeleton";
};
class ace_csw_tripod_ags30 : Default {
class ace_csw_tripod_ags30: Default {
sectionsInherit = "";
sections[] = {};
skeletonName = "ace_csw_tripod_ags30_Skeleton";
};
class ace_csw_tripod_kord : Default {
class ace_csw_tripod_kord: Default {
sectionsInherit = "";
sections[] = {};
skeletonName = "ace_csw_tripod_kord_Skeleton";
};
class ace_csw_tripod_m122 : Default {
class ace_csw_tripod_m122: Default {
sectionsInherit = "";
sections[] = {};
skeletonName = "ace_csw_tripod_m122_Skeleton";
};
class ace_csw_tripod_m220 : Default {
class ace_csw_tripod_m220: Default {
sectionsInherit = "";
sections[] = {};
skeletonName = "ace_csw_tripod_m220_Skeleton";
};
class ace_csw_tripod_spg9 : Default {
class ace_csw_tripod_spg9: Default {
sectionsInherit = "";
sections[] = {};
skeletonName = "ace_csw_tripod_spg9_Skeleton";

View File

@ -152,7 +152,7 @@ class DAGR_Menu {
"DAGR_MENU_SELECTION3", "DAGR_MENU_SELECTION4", "DAGR_MENU_Main_Text", "DAGR_MENU_PSELECTION1", "DAGR_MENU_PSELECTION2", "DAGR_MENU_PSELECTION3",
"DAGR_MENU_PSELECTION4", "DAGR_MENU_PSELECTION5", "DAGR_MENU_PSELECTION6","DAGR_MENU_PSELECTION7", "DAGR_MENU_PSELECTION8"};
class DAGR_MENU_UI : DAGR_Menu_Pic {
class DAGR_MENU_UI: DAGR_Menu_Pic {
idc = 266861;
x = 0.175;
y = -0.173;
@ -160,28 +160,28 @@ class DAGR_Menu {
sizeEx = 0.1;
};
class DAGR_PWR_Button : DAGR_Button {
class DAGR_PWR_Button: DAGR_Button {
idc = 266863;
action = QUOTE(GVAR(PWR) = true);
x = 0.40;
y = 0.65;
};
class DAGR_UP_Button : DAGR_Button {
class DAGR_UP_Button: DAGR_Button {
idc = 266864;
action = QUOTE(GVAR(UP) = true);
x = 0.50;
y = 0.675;
};
class DAGR_DOWN_Button : DAGR_Button {
class DAGR_DOWN_Button: DAGR_Button {
idc = 266865;
action = QUOTE(GVAR(DOWN) = true);
x = 0.50;
y = 0.81;
};
class DAGR_LEFT_Button : DAGR_Button {
class DAGR_LEFT_Button: DAGR_Button {
idc = 266866;
action = QUOTE(GVAR(LEFT) = true);
x = 0.40;
@ -190,7 +190,7 @@ class DAGR_Menu {
h = 0.07;
};
class DAGR_RIGHT_Button : DAGR_Button {
class DAGR_RIGHT_Button: DAGR_Button {
idc = 266867;
action = QUOTE(GVAR(RIGHT) = true);
x = 0.62;
@ -199,13 +199,13 @@ class DAGR_Menu {
h = 0.07;
};
class DAGR_NEXT_Button : DAGR_Button {
class DAGR_NEXT_Button: DAGR_Button {
idc = 266868;
x = 0.60;
y = 0.65;
};
class DAGR_SEL_Button : DAGR_Button {
class DAGR_SEL_Button: DAGR_Button {
idc = 266869;
action = QUOTE(GVAR(SEL) = true);
x = 0.54;
@ -214,7 +214,7 @@ class DAGR_Menu {
h = 0.06;
};
class DAGR_MENU_Button : DAGR_Button {
class DAGR_MENU_Button: DAGR_Button {
idc = 266870;
action = QUOTE(GVAR(MENU_B) = true);
x = 0.46;
@ -223,47 +223,47 @@ class DAGR_Menu {
h = 0.06;
};
class DAGR_F1_Button : DAGR_Button {
class DAGR_F1_Button: DAGR_Button {
idc = 266871;
action = QUOTE(GVAR(F1) = true);
x = 0.40;
y = 0.575;
};
class DAGR_F2_Button : DAGR_Button {
class DAGR_F2_Button: DAGR_Button {
idc = 266872;
action = QUOTE(GVAR(F2) = true);
x = 0.495;
y = 0.575;
};
class DAGR_F3_Button : DAGR_Button {
class DAGR_F3_Button: DAGR_Button {
idc = 266873;
action = QUOTE(GVAR(F3) = true);
x = 0.59;
y = 0.575;
};
class DAGR_F1_Text : DAGR_Menu_Text {
class DAGR_F1_Text: DAGR_Menu_Text {
idc = 266874;
x = 0.388;
y = 0.38;
text = "";
};
class DAGR_F2_Text : DAGR_Menu_Text {
class DAGR_F2_Text: DAGR_Menu_Text {
idc = 266875;
x = 0.506;
y = 0.38;
};
class DAGR_F3_Text : DAGR_Menu_Text {
class DAGR_F3_Text: DAGR_Menu_Text {
idc = 266876;
x = 0.612;
y = 0.38;
};
class DAGR_MENU_OPTION0 : DAGR_Menu_Text {
class DAGR_MENU_OPTION0: DAGR_Menu_Text {
idc = 2668777;
style = 0x02;
sizeEx = 0.035;
@ -271,7 +271,7 @@ class DAGR_Menu {
y = 0.19;
};
class DAGR_MENU_OPTION1 : DAGR_Menu_Text {
class DAGR_MENU_OPTION1: DAGR_Menu_Text {
idc = 2668778;
style = 0x02;
sizeEx = 0.035;
@ -279,7 +279,7 @@ class DAGR_Menu {
y = 0.225;
};
class DAGR_MENU_OPTION2 : DAGR_Menu_Text {
class DAGR_MENU_OPTION2: DAGR_Menu_Text {
idc = 2668779;
style = 0x02;
sizeEx = 0.035;
@ -287,7 +287,7 @@ class DAGR_Menu {
y = 0.26;
};
class DAGR_MENU_OPTION3 : DAGR_Menu_Text {
class DAGR_MENU_OPTION3: DAGR_Menu_Text {
idc = 2668780;
style = 0x02;
sizeEx = 0.035;
@ -295,14 +295,14 @@ class DAGR_Menu {
y = 0.295;
};
class DAGR_MENU_OPTION4 : DAGR_Menu_Text {
class DAGR_MENU_OPTION4: DAGR_Menu_Text {
idc = 2668781;
style = 0x02;
sizeEx = 0.035;
x = 0.43;
y = 0.33;
};
class DAGR_MENU_SELECTION0 : DAGR_Menu_Pic {
class DAGR_MENU_SELECTION0: DAGR_Menu_Pic {
idc = 2668783;
x = 0.42;
y = 0.246;
@ -311,7 +311,7 @@ class DAGR_Menu {
sizeEx = 0.05;
};
class DAGR_MENU_SELECTION1 : DAGR_Menu_Pic {
class DAGR_MENU_SELECTION1: DAGR_Menu_Pic {
idc = 2668784;
x = 0.42;
y = 0.281;
@ -320,7 +320,7 @@ class DAGR_Menu {
sizeEx = 0.05;
};
class DAGR_MENU_SELECTION2 : DAGR_Menu_Pic {
class DAGR_MENU_SELECTION2: DAGR_Menu_Pic {
idc = 2668785;
x = 0.42;
y = 0.316;
@ -329,7 +329,7 @@ class DAGR_Menu {
sizeEx = 0.05;
};
class DAGR_MENU_SELECTION3 : DAGR_Menu_Pic {
class DAGR_MENU_SELECTION3: DAGR_Menu_Pic {
idc = 2668786;
x = 0.42;
y = 0.351;
@ -338,7 +338,7 @@ class DAGR_Menu {
sizeEx = 0.05;
};
class DAGR_MENU_SELECTION4 : DAGR_Menu_Pic {
class DAGR_MENU_SELECTION4: DAGR_Menu_Pic {
idc = 2668787;
x = 0.42;
y = 0.386;
@ -347,7 +347,7 @@ class DAGR_Menu {
sizeEx = 0.05;
};
class DAGR_MENU_Main_Text : DAGR_Menu_Text {
class DAGR_MENU_Main_Text: DAGR_Menu_Text {
idc = 2668782;
style = ST_CENTER;
x = 0.38;
@ -358,7 +358,7 @@ class DAGR_Menu {
};
//Waypoint adding and modification digits underline
class DAGR_MENU_PSELECTION1 : DAGR_Menu_Pic {
class DAGR_MENU_PSELECTION1: DAGR_Menu_Pic {
idc = 2668788;
x = 0.465;
y = 0.352;
@ -366,7 +366,7 @@ class DAGR_Menu {
h = 0.003;
};
class DAGR_MENU_PSELECTION2 : DAGR_Menu_Pic {
class DAGR_MENU_PSELECTION2: DAGR_Menu_Pic {
idc = 2668789;
x = 0.475;
y = 0.352;
@ -374,7 +374,7 @@ class DAGR_Menu {
h = 0.003;
};
class DAGR_MENU_PSELECTION3 : DAGR_Menu_Pic {
class DAGR_MENU_PSELECTION3: DAGR_Menu_Pic {
idc = 2668790;
x = 0.485;
y = 0.352;
@ -382,7 +382,7 @@ class DAGR_Menu {
h = 0.003;
};
class DAGR_MENU_PSELECTION4 : DAGR_Menu_Pic {
class DAGR_MENU_PSELECTION4: DAGR_Menu_Pic {
idc = 2668791;
x = 0.495;
y = 0.352;
@ -390,7 +390,7 @@ class DAGR_Menu {
h = 0.003;
};
class DAGR_MENU_PSELECTION5 : DAGR_Menu_Pic {
class DAGR_MENU_PSELECTION5: DAGR_Menu_Pic {
idc = 2668792;
x = 0.505;
y = 0.352;
@ -398,7 +398,7 @@ class DAGR_Menu {
h = 0.003;
};
class DAGR_MENU_PSELECTION6 : DAGR_Menu_Pic {
class DAGR_MENU_PSELECTION6: DAGR_Menu_Pic {
idc = 2668793;
x = 0.515;
y = 0.352;
@ -406,7 +406,7 @@ class DAGR_Menu {
h = 0.003;
};
class DAGR_MENU_PSELECTION7 : DAGR_Menu_Pic {
class DAGR_MENU_PSELECTION7: DAGR_Menu_Pic {
idc = 2668794;
x = 0.525;
y = 0.352;
@ -414,7 +414,7 @@ class DAGR_Menu {
h = 0.003;
};
class DAGR_MENU_PSELECTION8 : DAGR_Menu_Pic {
class DAGR_MENU_PSELECTION8: DAGR_Menu_Pic {
idc = 2668795;
x = 0.535;
y = 0.352;

View File

@ -40,13 +40,13 @@ class RscTitles {
onLoad="uiNamespace setVariable ['DAGR_Display', _this select 0]";
controls[] = {"DAGR_UI", "DAGR_Grid", "DAGR_Speed", "DAGR_Elevation", "DAGR_Heading", "DAGR_Time", "DAGR_WP", "DAGR_Bearing", "DAGR_DIST"};
class DAGR_UI : DAGR_Pic {
class DAGR_UI: DAGR_Pic {
idc = 266856;
x = "(SafeZoneW + SafeZoneX) - 0.45";
y = "(SafeZoneH + SafeZoneY) - 0.47";
};
class DAGR_Grid : DAGR_Text {
class DAGR_Grid: DAGR_Text {
idc = 266851;
x = "(SafeZoneW + SafeZoneX) - 0.370";// 0.830
y = "(SafeZoneH + SafeZoneY)- 0.250";// 0.845
@ -54,39 +54,39 @@ class RscTitles {
h = 0.06;
sizeEx = 0.07;
};
class DAGR_Speed : DAGR_Text {
class DAGR_Speed: DAGR_Text {
idc = 266852;
x = "(SafeZoneW + SafeZoneX) - 0.388"; //0.812
y = "(SafeZoneH + SafeZoneY) - 0.181"; //0.914
};
class DAGR_Elevation : DAGR_Text {
class DAGR_Elevation: DAGR_Text {
idc = 266853;
x = "(SafeZoneW + SafeZoneX) - 0.270"; //0.930
y = "(SafeZoneH + SafeZoneY) - 0.181"; //0.914
};
class DAGR_Heading : DAGR_Text {
class DAGR_Heading: DAGR_Text {
idc = 266854;
x = "(SafeZoneW + SafeZoneX) - 0.413"; //0.787
y = "(SafeZoneH + SafeZoneY) - 0.1294"; //0.9656
};
class DAGR_Time : DAGR_Text {
class DAGR_Time: DAGR_Text {
idc = 266855;
x = "(SafeZoneW + SafeZoneX) - 0.275"; //0.925
y = "(SafeZoneH + SafeZoneY) - 0.129"; //0.965
};
class DAGR_WP : DAGR_Text {
class DAGR_WP: DAGR_Text {
idc = 266857;
x = "(SafeZoneW + SafeZoneX) - 0.235"; //0.965
y = "(SafeZoneH + SafeZoneY) - 0.181"; //0.914
};
class DAGR_Bearing : DAGR_Text {
class DAGR_Bearing: DAGR_Text {
idc = 266858;
x = "(SafeZoneW + SafeZoneX) - 0.413"; //0.787
y = "(SafeZoneH + SafeZoneY) - 0.181"; //0.914
};
class DAGR_DIST : DAGR_Text {
class DAGR_DIST: DAGR_Text {
idc = 266859;
x = "(SafeZoneW + SafeZoneX) - 0.265"; //0.935
y = "(SafeZoneH + SafeZoneY) - 0.129"; //0.965

View File

@ -4,7 +4,7 @@ class CfgPatches {
class ADDON {
name = COMPONENT_NAME;
units[] = {};
weapons[] = {"ACE_launch_NLAW_loaded_F","ACE_launch_NLAW_used_F"};
weapons[] = {"ACE_launch_NLAW_ready_F","ACE_launch_NLAW_used_F"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};
author = ECSTRING(common,ACETeam);

View File

@ -1,5 +1,5 @@
#define ACE_DOGTAG_ITEM(DOGTAGBASE,DOGTAGID) \
class DOGTAGBASE##_##DOGTAGID : DOGTAGBASE { \
class DOGTAGBASE##_##DOGTAGID: DOGTAGBASE { \
author = ECSTRING(common,ACETeam); \
scope = 1; \
scopeArsenal = 0; \

View File

@ -72,7 +72,7 @@ class CfgAmmo {
};
};
class GVAR(super) : GVAR(dragonBase) {
class GVAR(super): GVAR(dragonBase) {
submunitionAmmo = QGVAR(penetrator_super);
submunitionDirectionType = "SubmunitionModelDirection";
submunitionInitSpeed = 1000;
@ -110,7 +110,7 @@ class CfgAmmo {
};
class ShellBase;
class GVAR(serviceCharge) : ShellBase {
class GVAR(serviceCharge): ShellBase {
hit = 1;
indirectHit = 2;
indirectHitRange = 1;

View File

@ -1,6 +1,6 @@
class CfgMagazines {
class 1Rnd_GAA_missiles;
class GVAR(super) : 1Rnd_GAA_missiles {
class GVAR(super): 1Rnd_GAA_missiles {
sound[] = {};
soundFly[] = {};
soundHit[] = {};

View File

@ -86,13 +86,13 @@ class CfgMagazines {
GVAR(SetupObject) = "ACE_Explosives_Place_SLAM";
class ACE_Triggers {
SupportedTriggers[] = {"IRSensor", "PressurePlate", "Timer", "Command", "MK16_Transmitter"};
class PressurePlate{
class PressurePlate {
displayName = CSTRING(SLAME_Magnetic);
digDistance = 0;
ammo = "ACE_SLAMDirectionalMine_Magnetic_Ammo";
pitch = 90;
};
class IRSensor{
class IRSensor {
displayName = CSTRING(SLAME_IRSensor);
};
class Timer {

View File

@ -2,7 +2,7 @@ class CfgWeapons {
class Default;
class Put: Default {
muzzles[] += {QGVAR(muzzle)};
class PutMuzzle: Default{};
class PutMuzzle: Default {};
class GVAR(muzzle): PutMuzzle {
magazines[] = {"ACE_FlareTripMine_Mag"};
};

View File

@ -41,10 +41,10 @@ class CfgActions {
class ActivateMine: None {
show = 0;
};
class Deactivate:None {
class Deactivate: None {
show = 0;
};
class DeactivateMine:None {
class DeactivateMine: None {
show = 0;
};
class UseContainerMagazine: None {

View File

@ -4,7 +4,7 @@ class CfgPatches {
class ADDON {
name = COMPONENT_NAME;
units[] = {"ACE_fastropingSupplyCrate"};
weapons[] = {"ACE_rope12","ACE_rope15","ACE_rope18","ACE_rope27","ACE_rope36"};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_interaction","ace_logistics_rope"};
author = ECSTRING(common,ACETeam);

View File

@ -167,6 +167,7 @@
<Czech>Připravit 3m lana</Czech>
<Turkish>3m halat sal</Turkish>
<Spanish>Desplegar cuerdas de 3m</Spanish>
<Japanese>3m ロープを展開</Japanese>
</Key>
<Key ID="STR_ACE_Fastroping_Interaction_deployRopes6">
<English>Deploy 6m ropes</English>
@ -179,6 +180,7 @@
<Czech>Připravit 6m lana</Czech>
<Turkish>6m halat sal</Turkish>
<Spanish>Desplegar cuerdas de 6m</Spanish>
<Japanese>6m ロープを展開</Japanese>
</Key>
<Key ID="STR_ACE_Fastroping_Interaction_deployRopes12">
<English>Deploy 12m ropes</English>

View File

@ -1,17 +1,17 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
init = QUOTE(call COMPILE_SCRIPT(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit));
init = QUOTE(call COMPILE_SCRIPT(XEH_preInit));
};
};
class Extended_PostInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_postInit));
init = QUOTE(call COMPILE_SCRIPT(XEH_postInit));
};
};

View File

@ -3,3 +3,11 @@ ace_field_rations
Provides a survival style, hunger and thirst system.
Adds consumable items such as MREs.
## ACEX Conversion - things still using acex prefix
- All settings
- CfgUIGrids Entry
- CfgWeapon Configs (e.g. `acex_field_rations_thirstQuenched`)
- CfgVehicles Configs (e.g. `acex_field_rations_waterSupply`)
- Events (`acex_rationConsumed`, `acex_rationRefilled`)
- Player setVars for thirst/hunger (e.g. `player getVariable "acex_field_rations_thirst"`)

View File

@ -21,7 +21,7 @@ if !(hasInterface) exitWith {};
QPATHTOF(ui\icon_water_tap.paa),
{true},
{
private _waterSource = _target getVariable [QXGVAR(waterSource), objNull];
private _waterSource = _target getVariable [QGVAR(waterSource), objNull];
alive _waterSource
&& {XGVAR(waterSourceActions) != 0}
@ -29,7 +29,7 @@ if !(hasInterface) exitWith {};
&& {[_player, _waterSource] call EFUNC(common,canInteractWith)}
},
{
private _waterSource = _target getVariable [QXGVAR(waterSource), objNull];
private _waterSource = _target getVariable [QGVAR(waterSource), objNull];
[_waterSource, _player] call FUNC(getRefillChildren);
},
[],
@ -44,11 +44,11 @@ if !(hasInterface) exitWith {};
LLSTRING(CheckWater),
QPATHTOF(ui\icon_water_tap.paa),
{
private _waterSource = _target getVariable [QXGVAR(waterSource), objNull];
private _waterSource = _target getVariable [QGVAR(waterSource), objNull];
[_player, _waterSource] call FUNC(checkWater);
},
{
private _waterSource = _target getVariable [QXGVAR(waterSource), objNull];
private _waterSource = _target getVariable [QGVAR(waterSource), objNull];
(_waterSource call FUNC(getRemainingWater)) != REFILL_WATER_INFINITE
}
] call EFUNC(interact_menu,createAction),
@ -57,11 +57,11 @@ if !(hasInterface) exitWith {};
LLSTRING(DrinkFromSource),
QPATHTOF(ui\icon_water_tap.paa),
{
private _waterSource = _target getVariable [QXGVAR(waterSource), objNull];
private _waterSource = _target getVariable [QGVAR(waterSource), objNull];
[_player, _waterSource] call FUNC(drinkFromSource);
},
{
private _waterSource = _target getVariable [QXGVAR(waterSource), objNull];
private _waterSource = _target getVariable [QGVAR(waterSource), objNull];
[_player, _waterSource] call FUNC(canDrinkFromSource);
}
] call EFUNC(interact_menu,createAction)
@ -70,7 +70,7 @@ if !(hasInterface) exitWith {};
// Add water source actions to helper
[QGVAR(helper), 0, [], _mainAction] call EFUNC(interact_menu,addActionToClass);
{
[QGVAR(helper), 0, [QXGVAR(waterSource)], _x] call EFUNC(interact_menu,addActionToClass);
[QGVAR(helper), 0, [QGVAR(waterSource)], _x] call EFUNC(interact_menu,addActionToClass);
} forEach _subActions;
// Add inventory context menu option to consume items

View File

@ -51,7 +51,7 @@ class CfgPatches {
VERSION_CONFIG;
};
class XADDON: ADDON {};
BWC_CONFIG(XADDON);
};
#include "CfgEventHandlers.hpp"

View File

@ -50,7 +50,7 @@ TRACE_1("Starting interact PFH",_interactionType);
if (_waterRemaining != REFILL_WATER_DISABLED) then {
private _offset = [_x] call FUNC(getActionOffset);
private _helper = QGVAR(helper) createVehicleLocal [0, 0, 0];
_helper setVariable [QXGVAR(waterSource), _x];
_helper setVariable [QGVAR(waterSource), _x];
_helper attachTo [_x, _offset];
_addedHelpers pushBack _helper;

View File

@ -1,17 +1,17 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
init = QUOTE(call COMPILE_SCRIPT(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit));
init = QUOTE(call COMPILE_SCRIPT(XEH_preInit));
};
};
class Extended_PostInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_postInit));
init = QUOTE(call COMPILE_SCRIPT(XEH_postInit));
};
};

View File

@ -3,21 +3,27 @@
<Package name="Fire">
<Key ID="STR_ACE_Fire_category_displayName">
<English>ACE Fire</English>
<Japanese>ACE 火災</Japanese>
</Key>
<Key ID="STR_ACE_Fire_Actions_PatDown">
<English>Pat Down Fire</English>
<Japanese>火を叩き消す</Japanese>
</Key>
<Key ID="STR_ACE_Fire_Actions_PerformingPatDown">
<English>Patting Down Fire</English>
<Japanese>火を叩き消しています</Japanese>
</Key>
<Key ID="STR_ACE_Fire_setting_description">
<English>Allow units to catch fire</English>
<Japanese>ユニットへ着火を許可</Japanese>
</Key>
<Key ID="STR_ACE_Fire_setting_flareEnable">
<English>Enable fire-flare at night</English>
<Japanese>夜間にフレア効果を有効化</Japanese>
</Key>
<Key ID="STR_ACE_Fire_setting_flareDescription">
<English>Uses a flare effect to increase fire intensity at night</English>
<Japanese>夜間に火災の強さを上昇させるフレア効果を有効化します。</Japanese>
</Key>
</Package>
</Project>

View File

@ -59,8 +59,8 @@ class CfgVehicles {
editorSubcategory = "EdSubcat_InventoryItems";
vehicleClass = "Items";
class TransportItems {
MACRO_ADDITEM(ACE_Flashlight_Maglite_ML300L,1);
class TransportWeapons {
MACRO_ADDWEAPON(ACE_Flashlight_Maglite_ML300L,1);
};
};
@ -97,7 +97,9 @@ class CfgVehicles {
MACRO_ADDITEM(ACE_Flashlight_MX991,12);
MACRO_ADDITEM(ACE_Flashlight_KSF1,12);
MACRO_ADDITEM(ACE_Flashlight_XL50,12);
MACRO_ADDITEM(ACE_Flashlight_Maglite_ML300L,2);
};
class TransportWeapons {
MACRO_ADDWEAPON(ACE_Flashlight_Maglite_ML300L,2);
};
};
};

View File

@ -1,23 +1,23 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
init = QUOTE(call COMPILE_SCRIPT(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit));
init = QUOTE(call COMPILE_SCRIPT(XEH_preInit));
};
};
class Extended_PostInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_postInit));
init = QUOTE(call COMPILE_SCRIPT(XEH_postInit));
};
};
class Extended_DisplayLoad_EventHandlers {
class RscDisplayMission {
ADDON = QUOTE(_this call COMPILE_FILE(XEH_missionDisplayLoad));
ADDON = QUOTE(_this call COMPILE_SCRIPT(XEH_missionDisplayLoad));
};
};

View File

@ -2,3 +2,9 @@ ace_fortify
============
Allows quick placement of fortifications.
## ACEX Conversion - things still using acex prefix
- **Some** settings
- CfgVehicles Module Classnames
- `ACEX_Fortify_Presets` config
- Events (`acex_fortify_objectPlaced`, `acex_fortify_objectDeleted`, `acex_fortify_onDeployStart`)

View File

@ -2,7 +2,7 @@
if (isServer) then {
[QGVAR(registerObjects), LINKFUNC(registerObjects)] call CBA_fnc_addEventHandler;
[QGVAR(objectPlaced), {
[QXGVAR(objectPlaced), {
params ["_unit", "_side", "_object"];
TRACE_3("objectPlaced",_unit,_side,_object);
private _jipID = [QGVAR(addActionToObject), [_side, _object]] call CBA_fnc_globalEventJIP;
@ -49,7 +49,7 @@ GVAR(objectRotationZ) = 0;
params ["_target", "_player", "_params"];
_params params ["_side"];
TRACE_2("deleting placed object",_target,_params);
[QGVAR(objectDeleted), [_player, _side, _target]] call CBA_fnc_globalEvent;
[QXGVAR(objectDeleted), [_player, _side, _target]] call CBA_fnc_globalEvent;
deleteVehicle _target;
_params call FUNC(updateBudget);
},

View File

@ -2,8 +2,8 @@
class CfgPatches {
class ADDON {
units[] = {};
weapons[] = {};
units[] = {QXGVAR(setupModule), QXGVAR(buildLocationModule)};
weapons[] = {"ACE_Fortify"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_interaction"};
author = ECSTRING(common,ACETeam);
@ -12,7 +12,7 @@ class CfgPatches {
VERSION_CONFIG;
};
class XADDON: ADDON {};
BWC_CONFIG(XADDON);
};
#include "Cfg3DEN.hpp"

View File

@ -35,7 +35,7 @@ _newObject setPosASL _posASL;
_newObject setVectorDirAndUp [_vectorDir, _vectorUp];
// Server will use this event to run the jip compatible QGVAR(addActionToObject) event
[QGVAR(objectPlaced), [_unit, _side, _newObject]] call CBA_fnc_globalEvent;
[QXGVAR(objectPlaced), [_unit, _side, _newObject]] call CBA_fnc_globalEvent;
if (cba_events_control) then {
// Re-run if ctrl key held

View File

@ -43,7 +43,7 @@ private _icons = [["alt", localize "str_3den_display3den_entitymenu_movesurface_
[_lmb, _rmb, _wheel, _icons] call EFUNC(interaction,showMouseHint);
private _mouseClickID = [_player, "DefaultAction", {GVAR(isPlacing) == PLACE_WAITING}, {GVAR(isPlacing) = PLACE_APPROVE}] call EFUNC(common,addActionEventHandler);
[QGVAR(onDeployStart), [_player, _object, _cost]] call CBA_fnc_localEvent;
[QXGVAR(onDeployStart), [_player, _object, _cost]] call CBA_fnc_localEvent;
[{
params ["_args", "_pfID"];

View File

@ -1,5 +1,5 @@
#define ACE_EXPLOSION_REFLECTION(range, hit)\
class ace_explosion_reflection_##range##_##hit : ace_explosion_reflection_base {\
class ace_explosion_reflection_##range##_##hit: ace_explosion_reflection_base {\
indirectHitRange = range;\
indirectHit = hit;\
dangerRadiusHit = range*3;\
@ -58,7 +58,7 @@ class ace_explosion_reflection_##range##_##hit : ace_explosion_reflection_base {
ACE_EXPLOSION_REFLECTION(range,490);\
ACE_EXPLOSION_REFLECTION(range,500)
class ace_explosion_reflection_base : Sh_120mm_HE {
class ace_explosion_reflection_base: Sh_120mm_HE {
CraterWaterEffects = "";
CraterEffects = "";
effectsMissile = "";

View File

@ -1,7 +1,7 @@
class RscTitles{
class RscTitles {
#include "define.hpp"
class RscACE_Goggles_BaseTitle{
class RscACE_Goggles_BaseTitle {
idd = -1;
onLoad = "uiNamespace setVariable ['ACE_Goggles_Display', _this select 0]";
onUnload = "uiNamespace setVariable ['ACE_Goggles_Display', displayNull]";
@ -13,25 +13,25 @@ class RscTitles{
class controls;
};
class RscACE_Goggles:RscACE_Goggles_BaseTitle{
class RscACE_Goggles: RscACE_Goggles_BaseTitle {
idd = 1044;
name = "RscACE_Goggles";
class controls{
class gogglesImage: RscPicture{
class controls {
class gogglesImage: RscPicture {
idc = 10650;
};
};
};
class RscACE_GogglesEffects:RscACE_Goggles_BaseTitle{
class RscACE_GogglesEffects: RscACE_Goggles_BaseTitle {
idd = 1045;
onLoad = "uiNamespace setVariable ['ACE_Goggles_DisplayEffects', _this select 0]";
onUnload = "uiNamespace setVariable ['ACE_Goggles_DisplayEffects', displayNull]";
name = "RscACE_GogglesEffects";
fadeIn=0;
fadeOut=0.5;
class controls{
class dirtImage: RscPicture {
class controls {
class dirtImage: RscPicture {
idc = 10660;
};
class dustImage: RscPicture {

View File

@ -42,7 +42,7 @@ class CfgGlasses {
ACE_Protection = 1;
};
class G_Combat:None {
class G_Combat: None {
COMBAT_GOGGLES
};
@ -57,135 +57,135 @@ class CfgGlasses {
ACE_Protection = 1;
};
class G_Lowprofile:None {
class G_Lowprofile: None {
ACE_TintAmount=COLOUR*2;
ACE_Resistance = 2;
ACE_Protection = 1;
};
class G_Shades_Black:None {
class G_Shades_Black: None {
ACE_TintAmount=COLOUR*2;
ACE_Resistance = 1;
};
class G_Shades_Blue:None{
class G_Shades_Blue: None {
ACE_Color[] = {0,0,1};
ACE_TintAmount=COLOUR;
ACE_Resistance = 1;
};
class G_Shades_Green:None{
class G_Shades_Green: None {
ACE_Color[] = {0,1,0};
ACE_TintAmount=COLOUR;
ACE_Resistance = 1;
};
class G_Shades_Red:None{
class G_Shades_Red: None {
ACE_Color[] = {1,0,0};
ACE_TintAmount=COLOUR;
ACE_Resistance = 1;
};
class G_Spectacles:None{
class G_Spectacles: None {
ACE_TintAmount=COLOUR;
ACE_Resistance = 1;
};
class G_Spectacles_Tinted:None{
class G_Spectacles_Tinted: None {
ACE_TintAmount=COLOUR*2;
ACE_Resistance = 1;
};
class G_Sport_Blackred:None{
class G_Sport_Blackred: None {
ACE_Color[] = {1,0,0};
ACE_TintAmount=COLOUR;
ACE_Resistance = 1;
};
class G_Sport_BlackWhite:None{
class G_Sport_BlackWhite: None {
ACE_Color[] = {0,0,1};
ACE_TintAmount=COLOUR;
ACE_Resistance = 1;
};
class G_Sport_Blackyellow:None{
class G_Sport_Blackyellow: None {
ACE_TintAmount=COLOUR*2;
ACE_Resistance = 1;
};
class G_Sport_Checkered:None{
class G_Sport_Checkered: None {
ACE_TintAmount=COLOUR*2;
ACE_Resistance = 1;
};
class G_Sport_Greenblack:None{
class G_Sport_Greenblack: None {
ACE_TintAmount=COLOUR*2;
ACE_Resistance = 1;
};
class G_Sport_Red:None{
class G_Sport_Red: None {
ACE_TintAmount=COLOUR*2;
ACE_Color[] = {0,0,0};
ACE_Resistance = 1;
};
class G_Squares:None{
class G_Squares: None {
ACE_TintAmount=COLOUR;
ACE_Resistance = 1;
};
class G_Squares_Tinted:None{
class G_Squares_Tinted: None {
ACE_TintAmount=COLOUR;
ACE_Resistance = 1;
};
class G_Tactical_Black:None{
class G_Tactical_Black: None {
ACE_TintAmount=COLOUR;
ACE_Color[] = {0,0,-1.5};
ACE_Resistance = 1;
};
class G_Tactical_Clear:None{
class G_Tactical_Clear: None {
ACE_TintAmount=COLOUR;
ACE_Color[] = {0,0,-1};
ACE_Resistance = 1;
};
class G_Aviator:None{
class G_Aviator: None {
ACE_Color[] = {0,0,-1};
ACE_TintAmount=COLOUR;
ACE_Resistance = 1;
};
class G_Lady_Blue:None{
class G_Lady_Blue: None {
ACE_Color[] = {0,0,1};
ACE_TintAmount=COLOUR;
ACE_Resistance = 1;
};
class G_Lady_Red:None{
class G_Lady_Red: None {
ACE_Color[] = {1,0,0};
ACE_TintAmount=COLOUR;
ACE_Resistance = 1;
};
class G_Lady_Dark:None{
class G_Lady_Dark: None {
ACE_TintAmount=COLOUR*2;
ACE_Resistance = 1;
};
class G_Lady_Mirror:None{
class G_Lady_Mirror: None {
ACE_TintAmount=COLOUR;
ACE_Resistance = 1;
};
class G_Balaclava_blk;
class G_Balaclava_combat:G_Balaclava_blk {
class G_Balaclava_combat: G_Balaclava_blk {
COMBAT_GOGGLES
};
class G_Balaclava_lowprofile:G_Balaclava_blk {
class G_Balaclava_lowprofile: G_Balaclava_blk {
ACE_TintAmount=COLOUR*2;
ACE_Resistance = 2;
ACE_Protection = 1;
@ -202,7 +202,7 @@ class CfgGlasses {
};
class G_Bandanna_blk;
class G_Bandanna_shades:G_Bandanna_blk {
class G_Bandanna_shades: G_Bandanna_blk {
ACE_TintAmount=COLOUR*2;
ACE_Resistance = 1;
ACE_Protection = 1;
@ -265,13 +265,13 @@ class CfgGesturesMale {
class CfgWeapons {
class H_HelmetB;
class H_CrewHelmetHeli_B:H_HelmetB {
class H_CrewHelmetHeli_B: H_HelmetB {
ACE_Protection = 1;
};
class H_PilotHelmetHeli_B:H_HelmetB {
class H_PilotHelmetHeli_B: H_HelmetB {
ACE_Protection = 1;
};
class H_PilotHelmetFighter_B:H_HelmetB {
class H_PilotHelmetFighter_B: H_HelmetB {
ACE_Protection = 1;
};
};
@ -290,7 +290,7 @@ class SniperCloud {
class CfgCloudlets {
class Default;
class ACERainEffect:Default {
class ACERainEffect: Default {
interval = 0.001;
particleShape = "\A3\data_f\ParticleEffects\Universal\Refract";
particleFSNtieth = 1;

View File

@ -1,17 +1,17 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
init = QUOTE(call COMPILE_SCRIPT(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit));
init = QUOTE(call COMPILE_SCRIPT(XEH_preInit));
};
};
class Extended_PostInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_postInit));
init = QUOTE(call COMPILE_SCRIPT(XEH_postInit));
};
};

View File

@ -7,3 +7,8 @@ Adds automatic passing of AI groups to (up to 3) Headless Clients.
- Round-robin transferring when more than 1 Headless Client is present
- Mission makers can use the following to prevent a group from transferring to a Headless Client:
`this setVariable ["acex_headless_blacklist", true, true];`
## ACEX Conversion - things still using acex prefix
- All settings
- 3DEN attribute config name
- Object SetVar (`acex_headless_blacklist`)

View File

@ -13,7 +13,7 @@ class CfgPatches {
VERSION_CONFIG;
};
class XADDON: ADDON {};
BWC_CONFIG(XADDON);
};
#include "ACE_Settings.hpp"

View File

@ -3,7 +3,7 @@
class CfgPatches {
class ADDON {
name = COMPONENT_NAME;
units[] = {"ACE_HuntIR", "ACE_HuntIRBox"};
units[] = {"ACE_HuntIR", "ACE_HuntIR_Box", "ACE_Item_HuntIR_monitor"};
weapons[] = {"ACE_HuntIR_monitor"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};

View File

@ -1,17 +1,17 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
init = QUOTE(call COMPILE_SCRIPT(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit));
init = QUOTE(call COMPILE_SCRIPT(XEH_preInit));
};
};
class Extended_PostInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_postInit));
init = QUOTE(call COMPILE_SCRIPT(XEH_postInit));
};
};

View File

@ -2,3 +2,6 @@ ace_intelitems
===============
Implements an intel system with unique items.
## ACEX Conversion - things still using acex prefix
- All CfgWeapon Items (e.g. `acex_intelitems_notepad`)

View File

@ -17,7 +17,7 @@ class CfgPatches {
VERSION_CONFIG;
};
class XADDON: ADDON {};
BWC_CONFIG(XADDON);
};
#include "CfgEventHandlers.hpp"

View File

@ -365,7 +365,7 @@ class CfgVehicles {
};
};
class Car_F: Car{};
class Car_F: Car {};
class Quadbike_01_base_F: Car_F {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {

View File

@ -57,7 +57,7 @@ class RscACE_SelectAnItem {
h = 0.71;
colorBackground[] = {0, 0, 0, 0.2};
};
class header: RscText{
class header: RscText {
idc = 8870;
x = X_OFFSET + 0.005;
y = 0.005;

View File

@ -30,6 +30,6 @@
#define IDC_MOUSEHINT_EXTRA_NAME 2510
#define IDC_MOUSEHINT_EXTRA_TEXT 2520
#define MACRO_DOOR_REACH_DISTANCE (AGLToASL positionCameraToWorld [0,0,0] vectorDistance ACE_player modelToWorldWorld (ACE_player selectionPosition "Head")) + 2
#define MACRO_DOOR_REACH_DISTANCE ((AGLToASL positionCameraToWorld [0, 0, 0]) vectorDistance (ACE_player modelToWorldWorld (ACE_player selectionPosition "Head"))) + 2
#define DISABLED_LAMP_DAMAGE 0.95

View File

@ -325,12 +325,15 @@
</Key>
<Key ID="STR_ACE_Interaction_RenameGroup">
<English>Rename Group</English>
<Japanese>グループ名変更</Japanese>
</Key>
<Key ID="STR_ACE_Interaction_RenameGroupAlreadyExists">
<English>This group name is already in use.</English>
<Japanese>このグループ名は既に使われています。</Japanese>
</Key>
<Key ID="STR_ACE_Interaction_RenameGroupInput">
<English>NEW GROUP NAME:</English>
<Japanese>新しいグループ名:</Japanese>
</Key>
<Key ID="STR_ACE_Interaction_Dance">
<English>DANCE!</English>
@ -1238,13 +1241,16 @@
</Key>
<Key ID="STR_ACE_Interaction_enableRenameGroup_DisplayName">
<English>Allow group rename</English>
<Japanese>グループ名変更を許可</Japanese>
</Key>
<Key ID="STR_ACE_Interaction_enableRenameGroup_Description">
<English>Allows a group leader to rename their group if the name is not already taken.</English>
<Japanese>グループ リーダーによるグループ名の変更を許可します。</Japanese>
</Key>
<Key ID="STR_ACE_Interaction_interactWithTerrainObjects_Description">
<English>Warning: can cause some objects to collide with others.</English>
<Russian>Внимание: может вызвать отталкивание некоторых объектов друг от друга.</Russian>
<Japanese>警告: 一部のオブジェクトが干渉する可能性があります。</Japanese>
</Key>
</Package>
</Project>

View File

@ -1,39 +1,32 @@
class CfgSounds
{
class kestrel4500_center_button_click
{
class CfgSounds {
class kestrel4500_center_button_click {
name="kestrel4500_center_button_click";
sound[]={PATHTOF(sound\kestrel_center_button_click.wav),1,1};
titles[]={};
};
class kestrel4500_top_button_click
{
class kestrel4500_top_button_click {
name="kestrel4500_top_button_click";
sound[]={PATHTOF(sound\kestrel_top_button_click.wav),1,1};
titles[]={};
};
class kestrel4500_right_button_click
{
class kestrel4500_right_button_click {
name="kestrel4500_right_button_click";
sound[]={PATHTOF(sound\kestrel_right_button_click.wav),1,1};
titles[]={};
};
class kestrel4500_bottom_button_click
{
class kestrel4500_bottom_button_click {
name="kestrel4500_bottom_button_click";
sound[]={PATHTOF(sound\kestrel_bottom_button_click.wav),1,1};
titles[]={};
};
class kestrel4500_left_button_click
{
class kestrel4500_left_button_click {
name="kestrel4500_left_button_click";
sound[]={PATHTOF(sound\kestrel_left_button_click.wav),1,1};
titles[]={};
};
class kestrel4500_exit_button_click
{
class kestrel4500_exit_button_click {
name="kestrel4500_exit_button_click";
sound[]={PATHTOF(sound\kestrel_exit_button_click.wav),1,1};
titles[]={};
};
};
};

View File

@ -1,5 +1,5 @@
class Extended_PostInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_postInit));
init = QUOTE(call COMPILE_SCRIPT(XEH_postInit));
};
};

View File

@ -4,3 +4,7 @@ ace_killtracker
Tracks deaths/kills and logs to the end mission disaplay. Attemps to log kills from Medical by using `ace_medical_lastDamageSource`.
Note: Requires config setup in a mission, see `killtracker.inc` - has no effect if mission is not setup correctly.
## ACEX Conversion - things still using acex prefix
- Global Var `acex_killTracker_outputText`
- `acex_killTracker` classname for `CfgDebriefingSections`

View File

@ -3,6 +3,7 @@
<Package name="KillTracker">
<Key ID="STR_ACE_KillTracker_Title">
<English>ACE Killed Events</English>
<Japanese>ACE キルトラッカー</Japanese>
</Key>
<Key ID="STR_ACE_KillTracker_TotalKills">
<English>Total Kills:</English>

View File

@ -1,7 +1,7 @@
class CfgWeapons {
class Binocular;
class Laserdesignator : Binocular {
class Laserdesignator: Binocular {
visionMode[] = {"Normal","NVG"};
};
};

View File

@ -112,13 +112,13 @@ class RscInGameUI {
h = "1.6 * (0.025 * SafezoneH)";
};
class ACE_LaserCode_Helper : RscMapControl {
class ACE_LaserCode_Helper: RscMapControl {
idc = -1;
onDraw = QUOTE(_this call FUNC(onLaserDesignatorDraw));
w = 0;
h = 0;
};
class ACE_LaserCode : RscText {
class ACE_LaserCode: RscText {
idc = 123001;
style = 0;
sizeEx = "0.038*SafezoneH";

View File

@ -95,7 +95,7 @@ private _finalOwner = objNull;
};
};
};
} forEach (GVAR(laserEmitters) select 2); // Go through all values in hash
} forEach (values GVAR(laserEmitters)); // Go through all values in hash
TRACE_2("",count _spots, _spots);
@ -164,8 +164,8 @@ if ((count _spots) > 0) then {
{
_x params ["_xPos", "_owner"];
_finalPos = _finalPos vectorAdd _xPos;
private _count = _ownersHash getOrDefault [_owner, 0];
_ownersHash set [_owner, _count + 1];
private _count = _ownersHash getOrDefault [hashValue _owner, 0];
_ownersHash set [hashValue _owner, _count + 1];
} forEach _finalBucket;
_finalPos = _finalPos vectorMultiply (1 / (count _finalBucket));

View File

@ -2,10 +2,3 @@ ace_logistics_rope
===================
Adds ropes.
## Maintainers
The people responsible for merging changes to this component or answering potential questions.
- [Brandon (TCVM)](https://github.com/TheCandianVendingMachine)

View File

@ -4,7 +4,7 @@ class CfgPatches {
class ADDON {
name = COMPONENT_NAME;
units[] = {};
weapons[] = {};
weapons[] = {"ACE_rope3","ACE_rope6","ACE_rope12","ACE_rope15","ACE_rope18","ACE_rope27","ACE_rope36"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};
author = ECSTRING(common,ACETeam);

View File

@ -3,6 +3,7 @@
<Package name="Logistics_Rope">
<Key ID="STR_ACE_Logistics_Rope_descriptionShort">
<English>A twisted braid of fibers. Usually used for rappelling or towing.</English>
<Japanese>組み紐されたロープ。ラペリングやけん引に使用されます。</Japanese>
</Key>
<Key ID="STR_ACE_Logistics_Rope_Rope_3_Display">
<English>Rope 3.2 meters</English>
@ -15,6 +16,7 @@
<Czech>Lano 3.2 metrů</Czech>
<Turkish>3.2 metre halat</Turkish>
<Spanish>Cuerda de 3.2 metros</Spanish>
<Japanese>ロープ (3.2 メートル)</Japanese>
</Key>
<Key ID="STR_ACE_Logistics_Rope_Rope_6_Display">
<English>Rope 6.2 meters</English>
@ -27,6 +29,7 @@
<Czech>Lano 6.2 metrů</Czech>
<Turkish>6.2 metre halat</Turkish>
<Spanish>Cuerda de 6.2 metros</Spanish>
<Japanese>ロープ (6.2 メートル)</Japanese>
</Key>
<Key ID="STR_ACE_Logistics_Rope_Rope_12_Display">
<English>Rope 12.2 meters</English>

View File

@ -168,9 +168,11 @@
</Key>
<Key ID="STR_ACE_MagazineRepack_repackLoadedMagazines">
<English>Repack Loaded Magazines</English>
<Japanese>装填済み弾倉を詰め替え</Japanese>
</Key>
<Key ID="STR_ACE_MagazineRepack_repackLoadedMagazinesHint">
<English>Repacking magazines, weapon unloaded</English>
<Japanese>弾倉を詰め替えし、&lt;br /&gt;非装填状態です</Japanese>
</Key>
</Package>
</Project>

View File

@ -11,6 +11,11 @@ class CfgPatches {
url = CSTRING(URL);
VERSION_CONFIG;
};
class XADDON: ADDON { // just in-case anything requires "acex_main"
units[] = {};
weapons[] = {};
};
};
class CfgMods {

View File

@ -43,9 +43,12 @@
#define ACEX_PREFIX acex
#define XADDON DOUBLES(ACEX_PREFIX,COMPONENT)
#define XGVAR(var) DOUBLES(XADDON,var)
#define EXGVAR(var1,var2) TRIPLES(ACEX_PREFIX,var1,var2)
#define QXGVAR(var) QUOTE(XGVAR(var))
#define QEXGVAR(var1,var2) QUOTE(EXGVAR(var1,var2))
#define QQXGVAR(var) QUOTE(QXGVAR(var))
#define ACEX_PREP(func) PREP(func); OBSOLETE_SYS(TRIPLES(XADDON,fnc,func),DFUNC(func))
#define QQEXGVAR(var1,var2) QUOTE(QEXGVAR(var1,var2))
#define ACEX_PREP(func) PREP(func); TRIPLES(XADDON,fnc,func) = DFUNC(func)
#define MACRO_ADDWEAPON(WEAPON,COUNT) class _xx_##WEAPON { \

View File

@ -3,7 +3,7 @@
class CfgPatches {
class ADDON {
name = COMPONENT_NAME;
units[] = {};
units[] = {QGVAR(moduleGroupSettings)};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};

View File

@ -51,7 +51,7 @@ class RscDisplayMainMap {
shadow = 0;
sizeEx = 0.18;
};
class altitude: RscText{
class altitude: RscText {
idc = 913591;
x = 0.5;
y = 0;
@ -66,7 +66,7 @@ class RscDisplayMainMap {
shadow = 0;
sizeEx = 0.18;
};
class coordinates: RscText{
class coordinates: RscText {
idc = 913592;
x = 0;
y = 0.225;

View File

@ -1,7 +1,4 @@
class ACE_Settings {
class GVAR(movableMarkersEnabled) {
movedToSQF = 1;
};
class GVAR(moveRestriction) {
movedToSQF = 1;
};

View File

@ -1,11 +1,11 @@
class CfgAmmo {
class MissileCore;
class MissileBase : MissileCore {
class MissileBase: MissileCore {
class Components;
};
class Missile_AGM_02_F : MissileBase {};
class Missile_AGM_02_F: MissileBase {};
class GVAR(L) : Missile_AGM_02_F {
class GVAR(L): Missile_AGM_02_F {
author = "xrufix";
autoSeekTarget = 0;
irLock = 0;

View File

@ -1,19 +1,19 @@
class CfgMagazines {
class CA_Magazine;
class VehicleMagazine : CA_Magazine {};
class VehicleMagazine: CA_Magazine {};
class magazine_Missile_AGM_02_x1 : VehicleMagazine {};
class PylonMissile_Missile_AGM_02_x1 : magazine_Missile_AGM_02_x1 {};
class PylonMissile_Missile_AGM_02_x2 : magazine_Missile_AGM_02_x1 {};
class magazine_Missile_AGM_02_x1: VehicleMagazine {};
class PylonMissile_Missile_AGM_02_x1: magazine_Missile_AGM_02_x1 {};
class PylonMissile_Missile_AGM_02_x2: magazine_Missile_AGM_02_x1 {};
class 6Rnd_Missile_AGM_02_F : VehicleMagazine {};
class PylonRack_1Rnd_Missile_AGM_02_F : 6Rnd_Missile_AGM_02_F {};
class PylonRack_3Rnd_Missile_AGM_02_F : PylonRack_1Rnd_Missile_AGM_02_F{};
class 6Rnd_Missile_AGM_02_F: VehicleMagazine {};
class PylonRack_1Rnd_Missile_AGM_02_F: 6Rnd_Missile_AGM_02_F {};
class PylonRack_3Rnd_Missile_AGM_02_F: PylonRack_1Rnd_Missile_AGM_02_F {};
class PylonRack_Missile_AGM_02_x1 : magazine_Missile_AGM_02_x1 {};
class PylonRack_Missile_AGM_02_x2 : magazine_Missile_AGM_02_x1 {};
class PylonRack_Missile_AGM_02_x1: magazine_Missile_AGM_02_x1 {};
class PylonRack_Missile_AGM_02_x2: magazine_Missile_AGM_02_x1 {};
class GVAR(L_magazine_x1) : magazine_Missile_AGM_02_x1 {
class GVAR(L_magazine_x1): magazine_Missile_AGM_02_x1 {
ammo = QGVAR(L);
author = "xrufix";
descriptionShort = CSTRING(L_MAG_DESCR);
@ -21,7 +21,7 @@ class CfgMagazines {
displayNameShort = CSTRING(L_MAG_short);
};
class GVAR(L_pylonmissile_x1) : PylonMissile_Missile_AGM_02_x1 {
class GVAR(L_pylonmissile_x1): PylonMissile_Missile_AGM_02_x1 {
ammo = QGVAR(L);
author = "xrufix";
descriptionShort = CSTRING(L_MAG_DESCR);
@ -29,7 +29,7 @@ class CfgMagazines {
displayNameShort = CSTRING(L_MAG_short);
pylonWeapon = QGVAR(L_Launcher);
};
class GVAR(L_pylonmissile_x2) : PylonMissile_Missile_AGM_02_x2 {
class GVAR(L_pylonmissile_x2): PylonMissile_Missile_AGM_02_x2 {
ammo = QGVAR(L);
author = "xrufix";
descriptionShort = CSTRING(L_MAG_DESCR);
@ -38,7 +38,7 @@ class CfgMagazines {
pylonWeapon = QGVAR(L_Launcher);
};
class GVAR(L_pylonRack_1Rnd) : PylonRack_1Rnd_Missile_AGM_02_F {
class GVAR(L_pylonRack_1Rnd): PylonRack_1Rnd_Missile_AGM_02_F {
ammo = QGVAR(L);
author = "xrufix";
descriptionShort = CSTRING(L_MAG_DESCR);
@ -46,7 +46,7 @@ class CfgMagazines {
displayNameShort = CSTRING(L_MAG_short);
pylonWeapon = QGVAR(L_Launcher_Plane);
};
class GVAR(L_PylonRack_3Rnd) : PylonRack_3Rnd_Missile_AGM_02_F {
class GVAR(L_PylonRack_3Rnd): PylonRack_3Rnd_Missile_AGM_02_F {
ammo = QGVAR(L);
author = "xrufix";
descriptionShort = CSTRING(L_MAG_DESCR);
@ -55,7 +55,7 @@ class CfgMagazines {
pylonWeapon = QGVAR(L_Launcher_Plane);
};
class GVAR(L_PylonRack_x1) : PylonRack_Missile_AGM_02_x1 {
class GVAR(L_PylonRack_x1): PylonRack_Missile_AGM_02_x1 {
ammo = QGVAR(L);
author = "xrufix";
descriptionShort = CSTRING(L_MAG_DESCR);
@ -63,7 +63,7 @@ class CfgMagazines {
displayNameShort = CSTRING(L_MAG_short);
pylonWeapon = QGVAR(L_Launcher);
};
class GVAR(L_PylonRack_x2) : PylonRack_Missile_AGM_02_x2 {
class GVAR(L_PylonRack_x2): PylonRack_Missile_AGM_02_x2 {
ammo = QGVAR(L);
author = "xrufix";
descriptionShort = CSTRING(L_MAG_DESCR);
@ -74,12 +74,12 @@ class CfgMagazines {
// KH-25
class 4Rnd_Missile_AGM_01_F;
class PylonRack_1Rnd_Missile_AGM_01_F : 4Rnd_Missile_AGM_01_F {};
class magazine_Missile_AGM_KH25_x1 : VehicleMagazine {};
class PylonMissile_Missile_AGM_KH25_x1 : magazine_Missile_AGM_KH25_x1 {};
class PylonMissile_Missile_AGM_KH25_INT_x1 : PylonMissile_Missile_AGM_KH25_x1 {};
class PylonRack_1Rnd_Missile_AGM_01_F: 4Rnd_Missile_AGM_01_F {};
class magazine_Missile_AGM_KH25_x1: VehicleMagazine {};
class PylonMissile_Missile_AGM_KH25_x1: magazine_Missile_AGM_KH25_x1 {};
class PylonMissile_Missile_AGM_KH25_INT_x1: PylonMissile_Missile_AGM_KH25_x1 {};
class ace_kh25ml_pylonrack_x1 : PylonRack_1Rnd_Missile_AGM_01_F {
class ace_kh25ml_pylonrack_x1: PylonRack_1Rnd_Missile_AGM_01_F {
ammo = "ace_kh25ml";
author = "xrufix";
descriptionShort = CSTRING(KH25ML_MAG_DESCR);
@ -87,14 +87,14 @@ class CfgMagazines {
displayNameShort = CSTRING(L_MAG_short);
pylonWeapon = "ace_kh25ml_launcher";
};
class ace_kh25ml_magazine_x1 : magazine_Missile_AGM_KH25_x1 {
class ace_kh25ml_magazine_x1: magazine_Missile_AGM_KH25_x1 {
ammo = "ace_kh25ml";
author = "xrufix";
descriptionShort = CSTRING(KH25ML_MAG_DESCR);
displayName = CSTRING(KH25ML_MAG_x1);
displayNameShort = CSTRING(L_MAG_short);
};
class ace_kh25ml_pylonmissile_x1 : PylonMissile_Missile_AGM_KH25_x1 {
class ace_kh25ml_pylonmissile_x1: PylonMissile_Missile_AGM_KH25_x1 {
ammo = "ace_kh25ml";
author = "xrufix";
descriptionShort = CSTRING(KH25ML_MAG_DESCR);
@ -102,7 +102,7 @@ class CfgMagazines {
displayNameShort = CSTRING(L_MAG_short);
pylonWeapon = "ace_kh25ml_launcher";
};
class ace_kh25ml_pylonmissile_int_x1 : PylonMissile_Missile_AGM_KH25_INT_x1 {
class ace_kh25ml_pylonmissile_int_x1: PylonMissile_Missile_AGM_KH25_INT_x1 {
ammo = "ace_kh25ml";
author = "xrufix";
descriptionShort = CSTRING(KH25ML_MAG_DESCR);

View File

@ -1,12 +1,12 @@
class CfgWeapons {
class LauncherCore;
class RocketPods : LauncherCore {};
class weapon_AGM_65Launcher : RocketPods{};
class RocketPods: LauncherCore {};
class weapon_AGM_65Launcher: RocketPods {};
class MissileLauncher : LauncherCore {};
class Missile_AGM_02_Plane_CAS_01_F : MissileLauncher {};
class MissileLauncher: LauncherCore {};
class Missile_AGM_02_Plane_CAS_01_F: MissileLauncher {};
class GVAR(L_Launcher) : weapon_AGM_65Launcher {
class GVAR(L_Launcher): weapon_AGM_65Launcher {
author = "xrufix";
displayname = CSTRING(L);
magazines[] = {
@ -26,7 +26,7 @@ class CfgWeapons {
GVAR(enabled) = 1;
};
class GVAR(L_Launcher_Plane) : Missile_AGM_02_Plane_CAS_01_F {
class GVAR(L_Launcher_Plane): Missile_AGM_02_Plane_CAS_01_F {
author = "xrufix";
displayname = CSTRING(L);
magazines[] = {
@ -46,8 +46,8 @@ class CfgWeapons {
GVAR(enabled) = 1;
};
class weapon_AGM_KH25Launcher : MissileLauncher {};
class ace_kh25ml_launcher : weapon_AGM_KH25Launcher {
class weapon_AGM_KH25Launcher: MissileLauncher {};
class ace_kh25ml_launcher: weapon_AGM_KH25Launcher {
author = "xrufix";
displayName = CSTRING(KH25ML);
magazines[] = {

View File

@ -669,15 +669,19 @@
</Key>
<Key ID="STR_ACE_Medical_Damage_ThermalBurn">
<English>Thermal Burn</English>
<Japanese>熱傷</Japanese>
</Key>
<Key ID="STR_ACE_Medical_Damage_ThermalBurn_Minor">
<English>Minor Thermal Burn</English>
<Japanese>小さな熱傷</Japanese>
</Key>
<Key ID="STR_ACE_Medical_Damage_ThermalBurn_Medium">
<English>Medium Thermal Burn</English>
<Japanese>中くらいの熱傷</Japanese>
</Key>
<Key ID="STR_ACE_Medical_Damage_ThermalBurn_Large">
<English>Major Thermal Burn</English>
<Japanese>大きな熱傷</Japanese>
</Key>
<Key ID="STR_ACE_Medical_Damage_Eden_threshold_DisplayName">
<English>Unit Damage Threshold</English>

View File

@ -19,10 +19,10 @@
params ["_enable", "_intensity"];
if (!_enable || {_intensity == 0}) exitWith {
GVAR(ppPain) ppEffectEnable false;
if (GVAR(ppPain) != -1) then { GVAR(ppPain) ppEffectEnable false; };
GVAR(ppPainBlur) ppEffectEnable false;
};
GVAR(ppPain) ppEffectEnable true;
if (GVAR(ppPain) != -1) then { GVAR(ppPain) ppEffectEnable true; };
GVAR(ppPainBlur) ppEffectEnable true;
// Trigger effect every 2s

View File

@ -33,7 +33,7 @@ private _fnc_createEffect = {
// - Pain ---------------------------------------------------------------------
if (!isNil QGVAR(ppPain)) then {
TRACE_1("delete pain",GVAR(ppPain));
ppEffectDestroy GVAR(ppPain)
if (GVAR(ppPain) != -1) then { ppEffectDestroy GVAR(ppPain); };
};
switch (GVAR(painEffectType)) do {
case FX_PAIN_WHITE_FLASH: {
@ -57,6 +57,7 @@ switch (GVAR(painEffectType)) do {
[0, 0, false]
] call _fnc_createEffect;
};
default { GVAR(ppPain) = -1; };
};
// Base blur on high pain
if (isNil QGVAR(ppPainBlur)) then {

View File

@ -192,10 +192,12 @@
<Key ID="STR_ACE_Medical_Feedback_EnableHUDIndicators_DisplayName">
<English>Enable Fracture/Tourniquet/Splint Indicators</English>
<Russian>Включить индикаторы переломов/жгутов/шин</Russian>
<Japanese>骨折/止血帯の表記を有効化</Japanese>
</Key>
<Key ID="STR_ACE_Medical_Feedback_EnableHUDIndicators_Description">
<English>Enables indicators for fractures and applied tourniquets and splints over the Stance Indicator.</English>
<Russian>Включает индикацию переломов, наложенных шин и жгутов поверх индикатора положения тела.</Russian>
<Japanese>体勢インジケータに骨折や添え木、止血帯の有無を表示するかどうかを設定できます。</Japanese>
</Key>
</Container>
</Package>

View File

@ -1129,26 +1129,32 @@
<Key ID="STR_ACE_Medical_GUI_BloodLossColors">
<English>Blood Loss Colors</English>
<Russian>Цвета кровопотери</Russian>
<Japanese>失血量カラー</Japanese>
</Key>
<Key ID="STR_ACE_Medical_GUI_BloodLossColor_Description">
<English>Blood Loss Colors, That Used in Medical GUI. 10 Color Gradient.</English>
<Russian>Цвета кровопотери, которые используются в Медицинском интерфейсе. Градиент из 10 цветов.</Russian>
<Japanese>医療 GUI 内で失血量を 10 段階のカラーで表します。</Japanese>
</Key>
<Key ID="STR_ACE_Medical_GUI_BloodLossColorX_DisplayName">
<English>Blood Loss Color %1</English>
<Russian>Цвет кровопотери %1</Russian>
<Japanese>失血量カラー %1</Japanese>
</Key>
<Key ID="STR_ACE_Medical_GUI_DamageColors">
<English>Damage Colors</English>
<Russian>Цвета урона</Russian>
<Japanese>負傷カラー</Japanese>
</Key>
<Key ID="STR_ACE_Medical_GUI_DamageColor_Description">
<English>Damage Colors, That Used in Medical GUI. 10 Color Gradient.</English>
<Russian>Цвета урона, которые используются в Медицинском интерфейсе. Градиент из 10 цветов.</Russian>
<Japanese>医療 GUI 内で負傷を 10 段階のカラーで表します。</Japanese>
</Key>
<Key ID="STR_ACE_Medical_GUI_DamageColorX_DisplayName">
<English>Damage Color %1</English>
<Russian>Цвет урона %1</Russian>
<Japanese>負傷カラー %1</Japanese>
</Key>
</Package>
</Project>

View File

@ -152,15 +152,19 @@
</Key>
<Key ID="STR_ACE_Medical_Treatment_ClearTrauma_DisplayName">
<English>Clear Trauma</English>
<Japanese>外傷の削除</Japanese>
</Key>
<Key ID="STR_ACE_Medical_Treatment_ClearTrauma_Description">
<English>Controls when hitpoint damage from wounds is healed.</English>
<Japanese>治療後に負傷箇所にある外傷の状態を決定できます。</Japanese>
</Key>
<Key ID="STR_ACE_Medical_Treatment_ClearTrauma_AfterBandage">
<English>After Bandage</English>
<Japanese>包帯を巻いた後</Japanese>
</Key>
<Key ID="STR_ACE_Medical_Treatment_ClearTrauma_AfterStitch">
<English>After Stitch</English>
<Japanese>縫合後</Japanese>
</Key>
<Key ID="STR_ACE_Medical_Treatment_LocationsBoostTraining_Description">
<English>Boost medical training when in medical vehicles or facilities. Untrained becomes medic, medic becomes doctor.</English>

View File

@ -1,9 +1,9 @@
class CfgMagazines {
class CA_LauncherMagazine;
class Vorona_HEAT : CA_LauncherMagazine {
class Vorona_HEAT: CA_LauncherMagazine {
ammo = QGVAR(HEAT);
};
class Vorona_HE : Vorona_HEAT {
class Vorona_HE: Vorona_HEAT {
ammo = QGVAR(HE);
};
};

View File

@ -1,7 +1,7 @@
class CfgMagazines {
class 12Rnd_PG_missiles;
class 6Rnd_ACE_Hydra70_DAGR : 12Rnd_PG_missiles {
class 6Rnd_ACE_Hydra70_DAGR: 12Rnd_PG_missiles {
ammo = "ACE_Hydra70_DAGR";
count = 12;
displayName = "6 Round DAGR";
@ -10,14 +10,14 @@ class CfgMagazines {
weight = 36;
};
class 12Rnd_ACE_Hydra70_DAGR : 6Rnd_ACE_Hydra70_DAGR {
class 12Rnd_ACE_Hydra70_DAGR: 6Rnd_ACE_Hydra70_DAGR {
count = 12;
displayName = "16 Round DAGR";
displayNameShort = "16 Round DAGR";
descriptionShort = "16 Round DAGR";
weight = 72;
};
class 24Rnd_ACE_Hydra70_DAGR : 6Rnd_ACE_Hydra70_DAGR {
class 24Rnd_ACE_Hydra70_DAGR: 6Rnd_ACE_Hydra70_DAGR {
count = 24;
displayName = "24 Round DAGR";
displayNameShort = "24 Round DAGR";

View File

@ -23,7 +23,9 @@ if (isNull _unit) exitWith {};
private _virtualLoad = 0;
{
_virtualLoad = _virtualLoad + (_x getVariable [QGVAR(vLoad), 0]);
if (!isNull _x) then {
_virtualLoad = _virtualLoad + (_x getVariable [QGVAR(vLoad), 0]);
};
} forEach [
_unit,
uniformContainer _unit,

View File

@ -68,7 +68,7 @@
QGVAR(tagSize), "LIST",
[LSTRING(TagSize_Name), LSTRING(TagSize_Description)],
format ["ACE %1", localize LSTRING(Module_DisplayName)],
[[0, 1, 2, 3, 4], ["str_very_small", "str_small", "str_medium", "str_large", "str_very_large"], 1],
[[0, 1, 2, 3, 4], ["str_very_small", "str_small", "str_medium", "str_large", "str_very_large"], 2],
0
] call CBA_fnc_addSetting;

Some files were not shown because too many files have changed in this diff Show More