mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge branch 'master' into mk6-fixBISleveling
This commit is contained in:
commit
f6973c61fa
@ -210,7 +210,6 @@
|
|||||||
<Portuguese>Define o raio ao redor do jogador (em metros) onde a balística avançada será aplicada aos projéteis</Portuguese>
|
<Portuguese>Define o raio ao redor do jogador (em metros) onde a balística avançada será aplicada aos projéteis</Portuguese>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Advanced_Ballistics_Description">
|
<Key ID="STR_ACE_Advanced_Ballistics_Description">
|
||||||
<English></English>
|
|
||||||
<Polish>Moduł ten pozwala aktywować zaawansowaną balistykę biorącą przy obliczeniach trajektorii lotu pocisku pod uwagę takie rzeczy jak temperatura powietrza, ciśnienie atmosferyczne, wilgotność powietrza, siły Coriolisa i Eotvosa, grawitację a także broń z jakiej wykonywany jest strzał oraz rodzaj amunicji. Wszystko to sprowadza się na bardzo dokładne odwzorowanie balistyki.</Polish>
|
<Polish>Moduł ten pozwala aktywować zaawansowaną balistykę biorącą przy obliczeniach trajektorii lotu pocisku pod uwagę takie rzeczy jak temperatura powietrza, ciśnienie atmosferyczne, wilgotność powietrza, siły Coriolisa i Eotvosa, grawitację a także broń z jakiej wykonywany jest strzał oraz rodzaj amunicji. Wszystko to sprowadza się na bardzo dokładne odwzorowanie balistyki.</Polish>
|
||||||
<Czech>Tento modul umožňuje aktivovat pokročilou balistiku, která vypočítává trajektorii kulky a bere do úvahy věci jako je teplota vzduchu, atmosférický tlak, vlhkost vzduchu, gravitaci, typ munice a zbraň, ze které je náboj vystřelen. To vše přispívá k velmi přesné balistice.</Czech>
|
<Czech>Tento modul umožňuje aktivovat pokročilou balistiku, která vypočítává trajektorii kulky a bere do úvahy věci jako je teplota vzduchu, atmosférický tlak, vlhkost vzduchu, gravitaci, typ munice a zbraň, ze které je náboj vystřelen. To vše přispívá k velmi přesné balistice.</Czech>
|
||||||
<Portuguese>Este módulo permite que você ative cálculos de balística avançada, fazendo a trajetória do projétil levar em consideração coisas como temperatura do ar, pressão atmosférica, umidade, força de Coriolis, a gravidade, o modelo da arma no qual o disparo é realizado e o tipo de munição. Tudo isso acrescenta-se a um balística muito precisa.</Portuguese>
|
<Portuguese>Este módulo permite que você ative cálculos de balística avançada, fazendo a trajetória do projétil levar em consideração coisas como temperatura do ar, pressão atmosférica, umidade, força de Coriolis, a gravidade, o modelo da arma no qual o disparo é realizado e o tipo de munição. Tudo isso acrescenta-se a um balística muito precisa.</Portuguese>
|
||||||
|
@ -56,20 +56,23 @@ _addons = [_addons, {_this find "ace_" == 0}] call FUNC(filter);
|
|||||||
} forEach getArray (configFile >> "ACE_Extensions" >> "extensions");
|
} forEach getArray (configFile >> "ACE_Extensions" >> "extensions");
|
||||||
|
|
||||||
///////////////
|
///////////////
|
||||||
// check server version
|
// check server version/addons
|
||||||
///////////////
|
///////////////
|
||||||
if (isMultiplayer) then {
|
if (isMultiplayer) then {
|
||||||
if (isServer) then {
|
if (isServer) then {
|
||||||
// send servers version of ACE to all clients
|
// send servers version of ACE to all clients
|
||||||
GVAR(ServerVersion) = _version;
|
GVAR(ServerVersion) = _version;
|
||||||
|
GVAR(ServerAddons) = _addons;
|
||||||
publicVariable QGVAR(ServerVersion);
|
publicVariable QGVAR(ServerVersion);
|
||||||
|
publicVariable QGVAR(ServerAddons);
|
||||||
} else {
|
} else {
|
||||||
// clients have to wait for the variable
|
// clients have to wait for the variables
|
||||||
[{
|
[{
|
||||||
if (isNil QGVAR(ServerVersion)) exitWith {};
|
if (isNil QGVAR(ServerVersion) || isNil QGVAR(ServerAddons)) exitWith {};
|
||||||
|
|
||||||
private "_version";
|
private ["_version","_addons"];
|
||||||
_version = _this select 0;
|
_version = (_this select 0) select 0;
|
||||||
|
_addons = (_this select 0) select 1;
|
||||||
|
|
||||||
if (_version != GVAR(ServerVersion)) then {
|
if (_version != GVAR(ServerVersion)) then {
|
||||||
private "_errorMsg";
|
private "_errorMsg";
|
||||||
@ -82,7 +85,18 @@ if (isMultiplayer) then {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
_addons = _addons - GVAR(ServerAddons);
|
||||||
|
if !(_addons isEqualTo []) then {
|
||||||
|
_errorMsg = format ["Client/Server Addon Mismatch. Client has extra addons: %1.",_addons];
|
||||||
|
|
||||||
|
diag_log text format ["[ACE] ERROR: %1", _errorMsg];
|
||||||
|
|
||||||
|
if (hasInterface) then {diag_log str "1";
|
||||||
|
["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
||||||
}, 1, _version] call CBA_fnc_addPerFrameHandler;
|
}, 1, [_version,_addons]] call CBA_fnc_addPerFrameHandler;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -8,8 +8,8 @@
|
|||||||
* 0: Warn once
|
* 0: Warn once
|
||||||
* 1: Warn permanently
|
* 1: Warn permanently
|
||||||
* 2: Kick
|
* 2: Kick
|
||||||
* 1: Check all PBOs? <BOOL> (Optional - default: "[]")
|
* 1: Check all PBOs? <BOOL> (Optional - default: false)
|
||||||
* 2: Whitelist <STRING> (Optinal - default: false)
|
* 2: Whitelist <STRING> (Optinal - default: "[]")
|
||||||
*
|
*
|
||||||
* Return value:
|
* Return value:
|
||||||
* None
|
* None
|
||||||
|
@ -29,6 +29,6 @@ if !(_reason in _setHiddenReasons) then {
|
|||||||
_unit setVariable [QGVAR(setHiddenReasons), _setHiddenReasons, true];
|
_unit setVariable [QGVAR(setHiddenReasons), _setHiddenReasons, true];
|
||||||
};
|
};
|
||||||
|
|
||||||
if !(isObjectHidden _unit) then {
|
//if !(isObjectHidden _unit) then { (Uncomment when isObjectHidden hits stable branch)
|
||||||
["hideObjectGlobal",[_unit,true]] call FUNC(serverEvent);
|
["hideObjectGlobal",[_unit,true]] call FUNC(serverEvent);
|
||||||
};
|
//};
|
||||||
|
@ -3,7 +3,9 @@
|
|||||||
* Initializes the check-PBOs module.
|
* Initializes the check-PBOs module.
|
||||||
*
|
*
|
||||||
* Arguments:
|
* Arguments:
|
||||||
* Whatever the module provides. (I dunno.)
|
* 0: The module logic <LOGIC>
|
||||||
|
* 1: units <ARRAY>
|
||||||
|
* 2: activated <BOOL>
|
||||||
*
|
*
|
||||||
* Return Value:
|
* Return Value:
|
||||||
* None
|
* None
|
||||||
|
@ -579,18 +579,21 @@
|
|||||||
<Spanish>Seleccionar dispositivo de mano</Spanish>
|
<Spanish>Seleccionar dispositivo de mano</Spanish>
|
||||||
<Portuguese>Ativa dispositivo de mão</Portuguese>
|
<Portuguese>Ativa dispositivo de mão</Portuguese>
|
||||||
<Polish>Przełącz urządzenie podręczne</Polish>
|
<Polish>Przełącz urządzenie podręczne</Polish>
|
||||||
|
<Czech>Přepnout ruční zařízení</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Common_closeHandheldDevice">
|
<Key ID="STR_ACE_Common_closeHandheldDevice">
|
||||||
<English>Close Handheld Device</English>
|
<English>Close Handheld Device</English>
|
||||||
<Spanish>Cerrar dispositivo de mano</Spanish>
|
<Spanish>Cerrar dispositivo de mano</Spanish>
|
||||||
<Portuguese>Fecha dispositivo de mão</Portuguese>
|
<Portuguese>Fecha dispositivo de mão</Portuguese>
|
||||||
<Polish>Zamknij urządzenie podręczne</Polish>
|
<Polish>Zamknij urządzenie podręczne</Polish>
|
||||||
|
<Czech>Zavřít ruční zařízení</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Common_cycleHandheldDevices">
|
<Key ID="STR_ACE_Common_cycleHandheldDevices">
|
||||||
<English>Cycle Handheld Devices</English>
|
<English>Cycle Handheld Devices</English>
|
||||||
<Spanish>Cambiar dispositivos de mano</Spanish>
|
<Spanish>Cambiar dispositivos de mano</Spanish>
|
||||||
<Portuguese>Troca dispositivos de mão</Portuguese>
|
<Portuguese>Troca dispositivos de mão</Portuguese>
|
||||||
<Polish>Następne urządzenie podręczne</Polish>
|
<Polish>Następne urządzenie podręczne</Polish>
|
||||||
|
<Czech>Procházet ruční zařízení</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
@ -549,11 +549,13 @@
|
|||||||
<English>Explode on defusal?</English>
|
<English>Explode on defusal?</English>
|
||||||
<Portuguese>Explosão no desarmamento?</Portuguese>
|
<Portuguese>Explosão no desarmamento?</Portuguese>
|
||||||
<Polish>Eksplozja przy rozbrajaniu?</Polish>
|
<Polish>Eksplozja przy rozbrajaniu?</Polish>
|
||||||
|
<Czech>Explodovat při zneškodňování?</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Explosives_ExplodeOnDefuse_Description">
|
<Key ID="STR_ACE_Explosives_ExplodeOnDefuse_Description">
|
||||||
<English>Enable certain explosives to explode on defusal? Default: Yes</English>
|
<English>Enable certain explosives to explode on defusal? Default: Yes</English>
|
||||||
<Portuguese>Ativa certos explosivos para detonar no desarmamento? Padrão: Sim</Portuguese>
|
<Portuguese>Ativa certos explosivos para detonar no desarmamento? Padrão: Sim</Portuguese>
|
||||||
<Polish>Spraw, aby niektóre ładunki wybuchowe eksplodowały przy próbie ich rozbrojenia? Domyślnie:Tak</Polish>
|
<Polish>Spraw, aby niektóre ładunki wybuchowe eksplodowały przy próbie ich rozbrojenia? Domyślnie:Tak</Polish>
|
||||||
|
<Czech>Umožnit u některých výbušnin explozi při pokusu je zneškodnit? Výchozí: Ano</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Explosives_Module_Description">
|
<Key ID="STR_ACE_Explosives_Module_Description">
|
||||||
<English></English>
|
<English></English>
|
||||||
|
@ -88,6 +88,7 @@
|
|||||||
<Key ID="STR_ACE_Interact_Menu_ZeusActionsRoot">
|
<Key ID="STR_ACE_Interact_Menu_ZeusActionsRoot">
|
||||||
<English>Zeus Actions</English>
|
<English>Zeus Actions</English>
|
||||||
<Polish>Akcje Zeusa</Polish>
|
<Polish>Akcje Zeusa</Polish>
|
||||||
|
<Czech>Akce Zeuse</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Interact_Menu_ColorTextMax">
|
<Key ID="STR_ACE_Interact_Menu_ColorTextMax">
|
||||||
<English>Interaction - Text Max</English>
|
<English>Interaction - Text Max</English>
|
||||||
@ -252,10 +253,12 @@
|
|||||||
<Key ID="STR_ACE_Interact_Menu_addBuildingActions">
|
<Key ID="STR_ACE_Interact_Menu_addBuildingActions">
|
||||||
<English>Show actions for buildings</English>
|
<English>Show actions for buildings</English>
|
||||||
<Polish>Pokazuj akcje dla budynków</Polish>
|
<Polish>Pokazuj akcje dla budynków</Polish>
|
||||||
|
<Czech>Zobrazit akci pro budovy</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Interact_Menu_addBuildingActionsDescription">
|
<Key ID="STR_ACE_Interact_Menu_addBuildingActionsDescription">
|
||||||
<English>Adds interaction actions for opening doors and mounting ladders on buildings. (Note: There is a performance cost when opening interaction menu, especially in towns)</English>
|
<English>Adds interaction actions for opening doors and mounting ladders on buildings. (Note: There is a performance cost when opening interaction menu, especially in towns)</English>
|
||||||
<Polish>Dodaje opcje interakcji dla otwierania drzwi oraz wchodzenia po drabinach do budynków. Uwaga: Użycie tej opcji może spowodować spadek wydajności menu interakcji, szczególnie w dużych miastach.</Polish>
|
<Polish>Dodaje opcje interakcji dla otwierania drzwi oraz wchodzenia po drabinach do budynków. Uwaga: Użycie tej opcji może spowodować spadek wydajności menu interakcji, szczególnie w dużych miastach.</Polish>
|
||||||
|
<Czech>Přidá možnost interakce pro otevření dvěří a umistňovat žebříky na budovy. (Poznámka: Použití této možnosti snižuje výkon při otevírání pomocí interakčního menu, zejména ve velkých městech.) </Czech>
|
||||||
</Key>
|
</Key>
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
@ -8,23 +8,23 @@ class ACE_ZeusActions {
|
|||||||
class stance {
|
class stance {
|
||||||
displayName = "$STR_A3_RscAttributeUnitPos_Title";
|
displayName = "$STR_A3_RscAttributeUnitPos_Title";
|
||||||
|
|
||||||
class limited {
|
class prone {
|
||||||
displayName = "$STR_A3_RscAttributeUnitPos_Down_tooltip";
|
displayName = "$STR_Pos_Down";
|
||||||
icon = "\A3\UI_F\Data\IGUI\RscIngameUI\RscUnitInfo\SI_prone_ca.paa";
|
icon = "\A3\UI_F\Data\IGUI\RscIngameUI\RscUnitInfo\SI_prone_ca.paa";
|
||||||
statement = "{_x setUnitPos 'DOWN';} forEach (curatorSelected select 0);";
|
statement = "{_x setUnitPos 'DOWN';} forEach (curatorSelected select 0);";
|
||||||
};
|
};
|
||||||
class normal {
|
class crouch {
|
||||||
displayName = "$STR_A3_RscAttributeUnitPos_Crouch_tooltip";
|
displayName = "$STR_Pos_Crouch";
|
||||||
icon = "\A3\UI_F\Data\IGUI\RscIngameUI\RscUnitInfo\SI_crouch_ca.paa";
|
icon = "\A3\UI_F\Data\IGUI\RscIngameUI\RscUnitInfo\SI_crouch_ca.paa";
|
||||||
statement = "{_x setUnitPos 'MIDDLE';} forEach (curatorSelected select 0);";
|
statement = "{_x setUnitPos 'MIDDLE';} forEach (curatorSelected select 0);";
|
||||||
};
|
};
|
||||||
class full {
|
class stand {
|
||||||
displayName = "$STR_A3_RscAttributeUnitPos_Up_tooltip";
|
displayName = "$STR_Pos_Up";
|
||||||
icon = "\A3\UI_F\Data\IGUI\RscIngameUI\RscUnitInfo\SI_stand_ca.paa";
|
icon = "\A3\UI_F\Data\IGUI\RscIngameUI\RscUnitInfo\SI_stand_ca.paa";
|
||||||
statement = "{_x setUnitPos 'UP';} forEach (curatorSelected select 0);";
|
statement = "{_x setUnitPos 'UP';} forEach (curatorSelected select 0);";
|
||||||
};
|
};
|
||||||
class auto {
|
class auto {
|
||||||
displayName = "$STR_A3_RscAttributeUnitPos_Auto_tooltip";
|
displayName = "$STR_Pos_Automatic";
|
||||||
icon = "\A3\UI_F_Curator\Data\default_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\default_ca.paa";
|
||||||
statement = "{_x setUnitPos 'AUTO';} forEach (curatorSelected select 0);";
|
statement = "{_x setUnitPos 'AUTO';} forEach (curatorSelected select 0);";
|
||||||
};
|
};
|
||||||
@ -40,121 +40,97 @@ class ACE_ZeusActions {
|
|||||||
icon = "\A3\UI_F_Curator\Data\Displays\RscDisplayCurator\modeGroups_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\Displays\RscDisplayCurator\modeGroups_ca.paa";
|
||||||
|
|
||||||
class behaviour {
|
class behaviour {
|
||||||
displayName = CSTRING(Zeus_Behaviour);
|
displayName = "$STR_Combat_Mode";
|
||||||
|
|
||||||
class careless {
|
class careless {
|
||||||
displayName = CSTRING(Zeus_Behaviour_careless);
|
displayName = "$STR_Combat_Careless";
|
||||||
statement = "{ _x setBehaviour 'CARELESS'; } forEach (curatorSelected select 1);";
|
statement = "{ _x setBehaviour 'CARELESS'; } forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class safe {
|
class safe {
|
||||||
displayName = "$STR_safe";
|
displayName = "$STR_Combat_Safe";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\safe_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\safe_ca.paa";
|
||||||
statement = "{ _x setBehaviour 'SAFE'; } forEach (curatorSelected select 1);";
|
statement = "{ _x setBehaviour 'SAFE'; } forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class aware {
|
class aware {
|
||||||
displayName = "$STR_aware";
|
displayName = "$STR_Combat_Aware";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\aware_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\aware_ca.paa";
|
||||||
statement = "{ _x setBehaviour 'AWARE'; } forEach (curatorSelected select 1);";
|
statement = "{ _x setBehaviour 'AWARE'; } forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class combat {
|
class combat {
|
||||||
displayName = "$STR_combat";
|
displayName = "$STR_Combat_Combat";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\combat_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\combat_ca.paa";
|
||||||
statement = "{ _x setBehaviour 'COMBAT'; } forEach (curatorSelected select 1);";
|
statement = "{ _x setBehaviour 'COMBAT'; } forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class stealth {
|
class stealth {
|
||||||
displayName = "$STR_stealth";
|
displayName = "$STR_Combat_Stealth";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\stealth_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\stealth_ca.paa";
|
||||||
statement = "{ _x setBehaviour 'STEALTH'; } forEach (curatorSelected select 1);";
|
statement = "{ _x setBehaviour 'STEALTH'; } forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class speed {
|
class speed {
|
||||||
displayName = CSTRING(Zeus_Speed);
|
displayName = "$STR_HC_Menu_Speed";
|
||||||
|
|
||||||
class limited {
|
class limited {
|
||||||
displayName = "$STR_speed_limited";
|
displayName = "$STR_Speed_Limited";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeSpeedMode\limited_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeSpeedMode\limited_ca.paa";
|
||||||
statement = "{_x setSpeedMode 'LIMITED';} forEach (curatorSelected select 1);";
|
statement = "{_x setSpeedMode 'LIMITED';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class normal {
|
class normal {
|
||||||
displayName = "$STR_speed_normal";
|
displayName = "$STR_Speed_Normal";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeSpeedMode\normal_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeSpeedMode\normal_ca.paa";
|
||||||
statement = "{_x setSpeedMode 'NORMAL';} forEach (curatorSelected select 1);";
|
statement = "{_x setSpeedMode 'NORMAL';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class full {
|
class full {
|
||||||
displayName = "$STR_speed_full";
|
displayName = "$STR_Speed_Full";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeSpeedMode\full_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeSpeedMode\full_ca.paa";
|
||||||
statement = "{_x setSpeedMode 'FULL';} forEach (curatorSelected select 1);";
|
statement = "{_x setSpeedMode 'FULL';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class stance {
|
|
||||||
displayName = "$STR_A3_RscAttributeUnitPos_Title";
|
|
||||||
|
|
||||||
class limited {
|
|
||||||
displayName = "$STR_A3_RscAttributeUnitPos_Down_tooltip";
|
|
||||||
icon = "\A3\UI_F\Data\IGUI\RscIngameUI\RscUnitInfo\SI_prone_ca.paa";
|
|
||||||
statement = "{ {_x setUnitPos 'DOWN'} forEach (units _x); } forEach (curatorSelected select 1);";
|
|
||||||
};
|
|
||||||
class normal {
|
|
||||||
displayName = "$STR_A3_RscAttributeUnitPos_Crouch_tooltip";
|
|
||||||
icon = "\A3\UI_F\Data\IGUI\RscIngameUI\RscUnitInfo\SI_crouch_ca.paa";
|
|
||||||
statement = "{ {_x setUnitPos 'MIDDLE'} forEach (units _x); } forEach (curatorSelected select 1);";
|
|
||||||
};
|
|
||||||
class full {
|
|
||||||
displayName = "$STR_A3_RscAttributeUnitPos_Up_tooltip";
|
|
||||||
icon = "\A3\UI_F\Data\IGUI\RscIngameUI\RscUnitInfo\SI_stand_ca.paa";
|
|
||||||
statement = "{ {_x setUnitPos 'UP'} forEach (units _x); } forEach (curatorSelected select 1);";
|
|
||||||
};
|
|
||||||
class auto {
|
|
||||||
displayName = "$STR_A3_RscAttributeUnitPos_Auto_tooltip";
|
|
||||||
icon = "\A3\UI_F_Curator\Data\default_ca.paa";
|
|
||||||
statement = "{ {_x setUnitPos 'AUTO'} forEach (units _x); } forEach (curatorSelected select 1);";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class formation {
|
class formation {
|
||||||
displayName = CSTRING(Zeus_Formation);
|
displayName = "$STR_Formation";
|
||||||
|
|
||||||
class wedge {
|
class wedge {
|
||||||
displayName = "$STR_wedge";
|
displayName = "$STR_Wedge";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\wedge_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\wedge_ca.paa";
|
||||||
statement = "{_x setFormation 'WEDGE';} forEach (curatorSelected select 1);";
|
statement = "{_x setFormation 'WEDGE';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class vee {
|
class vee {
|
||||||
displayName = "$STR_vee";
|
displayName = "$STR_Vee";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\vee_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\vee_ca.paa";
|
||||||
statement = "{_x setFormation 'VEE';} forEach (curatorSelected select 1);";
|
statement = "{_x setFormation 'VEE';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class line {
|
class line {
|
||||||
displayName = "$STR_line";
|
displayName = "$STR_Line";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\line_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\line_ca.paa";
|
||||||
statement = "{_x setFormation 'LINE';} forEach (curatorSelected select 1);";
|
statement = "{_x setFormation 'LINE';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class column {
|
class column {
|
||||||
displayName = "$STR_column";
|
displayName = "$STR_Column";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\column_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\column_ca.paa";
|
||||||
statement = "{_x setFormation 'COLUMN';} forEach (curatorSelected select 1);";
|
statement = "{_x setFormation 'COLUMN';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class file {
|
class file {
|
||||||
displayName = "$STR_file";
|
displayName = "$STR_File";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\file_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\file_ca.paa";
|
||||||
statement = "{_x setFormation 'FILE';} forEach (curatorSelected select 1);";
|
statement = "{_x setFormation 'FILE';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class stag_column {
|
class stag_column {
|
||||||
displayName = "$STR_staggered";
|
displayName = "$STR_Staggered";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\stag_column_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\stag_column_ca.paa";
|
||||||
statement = "{_x setFormation 'STAG COLUMN';} forEach (curatorSelected select 1);";
|
statement = "{_x setFormation 'STAG COLUMN';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class ech_left {
|
class ech_left {
|
||||||
displayName = "$STR_echl";
|
displayName = "$STR_EchL";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\ech_left_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\ech_left_ca.paa";
|
||||||
statement = "{_x setFormation 'ECH LEFT';} forEach (curatorSelected select 1);";
|
statement = "{_x setFormation 'ECH LEFT';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class ech_right {
|
class ech_right {
|
||||||
displayName = "$STR_echr";
|
displayName = "$STR_EchR";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\ech_right_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\ech_right_ca.paa";
|
||||||
statement = "{_x setFormation 'ECH RIGHT';} forEach (curatorSelected select 1);";
|
statement = "{_x setFormation 'ECH RIGHT';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class diamond {
|
class diamond {
|
||||||
displayName = "$STR_diamond";
|
displayName = "$STR_Diamond";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\diamond_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\diamond_ca.paa";
|
||||||
statement = "{_x setFormation 'DIAMOND';} forEach (curatorSelected select 1);";
|
statement = "{_x setFormation 'DIAMOND';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
@ -165,97 +141,97 @@ class ACE_ZeusActions {
|
|||||||
icon = "\A3\UI_F_Curator\Data\CfgCurator\waypoint_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\CfgCurator\waypoint_ca.paa";
|
||||||
|
|
||||||
class behaviour {
|
class behaviour {
|
||||||
displayName = CSTRING(Zeus_Behaviour);
|
displayName = "$STR_Combat_Mode";
|
||||||
|
|
||||||
class careless {
|
class careless {
|
||||||
displayName = CSTRING(Zeus_Behaviour_careless);
|
displayName = "$STR_Combat_Careless";
|
||||||
statement = "{ _x setWaypointBehaviour 'CARELESS'; } forEach (curatorSelected select 2);";
|
statement = "{ _x setWaypointBehaviour 'CARELESS'; } forEach (curatorSelected select 2);";
|
||||||
};
|
};
|
||||||
class safe {
|
class safe {
|
||||||
displayName = "$STR_safe";
|
displayName = "$STR_Combat_Safe";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\safe_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\safe_ca.paa";
|
||||||
statement = "{ _x setWaypointBehaviour 'SAFE'; } forEach (curatorSelected select 2);";
|
statement = "{ _x setWaypointBehaviour 'SAFE'; } forEach (curatorSelected select 2);";
|
||||||
};
|
};
|
||||||
class aware {
|
class aware {
|
||||||
displayName = "$STR_aware";
|
displayName = "$STR_Combat_Aware";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\aware_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\aware_ca.paa";
|
||||||
statement = "{ _x setWaypointBehaviour 'AWARE'; } forEach (curatorSelected select 2);";
|
statement = "{ _x setWaypointBehaviour 'AWARE'; } forEach (curatorSelected select 2);";
|
||||||
};
|
};
|
||||||
class combat {
|
class combat {
|
||||||
displayName = "$STR_combat";
|
displayName = "$STR_Combat_Combat";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\combat_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\combat_ca.paa";
|
||||||
statement = "{ _x setWaypointBehaviour 'COMBAT'; } forEach (curatorSelected select 2);";
|
statement = "{ _x setWaypointBehaviour 'COMBAT'; } forEach (curatorSelected select 2);";
|
||||||
};
|
};
|
||||||
class stealth {
|
class stealth {
|
||||||
displayName = "$STR_stealth";
|
displayName = "$STR_Combat_Stealth";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\stealth_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeBehaviour\stealth_ca.paa";
|
||||||
statement = "{ _x setWaypointBehaviour 'STEALTH'; } forEach (curatorSelected select 2);";
|
statement = "{ _x setWaypointBehaviour 'STEALTH'; } forEach (curatorSelected select 2);";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class speed {
|
class speed {
|
||||||
displayName = CSTRING(Zeus_Speed);
|
displayName = "$STR_HC_Menu_Speed";
|
||||||
|
|
||||||
class limited {
|
class limited {
|
||||||
displayName = "$STR_speed_limited";
|
displayName = "$STR_Speed_Limited";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeSpeedMode\limited_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeSpeedMode\limited_ca.paa";
|
||||||
statement = "{ _x setWaypointSpeed 'LIMITED'; } forEach (curatorSelected select 2);";
|
statement = "{ _x setWaypointSpeed 'LIMITED'; } forEach (curatorSelected select 2);";
|
||||||
};
|
};
|
||||||
class normal {
|
class normal {
|
||||||
displayName = "$STR_speed_normal";
|
displayName = "$STR_Speed_Normal";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeSpeedMode\normal_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeSpeedMode\normal_ca.paa";
|
||||||
statement = "{ _x setWaypointSpeed 'NORMAL'; } forEach (curatorSelected select 2);";
|
statement = "{ _x setWaypointSpeed 'NORMAL'; } forEach (curatorSelected select 2);";
|
||||||
};
|
};
|
||||||
class full {
|
class full {
|
||||||
displayName = "$STR_speed_full";
|
displayName = "$STR_Speed_Full";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeSpeedMode\full_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeSpeedMode\full_ca.paa";
|
||||||
statement = "{ _x setWaypointSpeed 'FULL'; } forEach (curatorSelected select 2);";
|
statement = "{ _x setWaypointSpeed 'FULL'; } forEach (curatorSelected select 2);";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class formation {
|
class formation {
|
||||||
displayName = CSTRING(Zeus_Formation);
|
displayName = "$STR_Formation";
|
||||||
|
|
||||||
class wedge {
|
class wedge {
|
||||||
displayName = "$STR_wedge";
|
displayName = "$STR_Wedge";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\wedge_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\wedge_ca.paa";
|
||||||
statement = "{_x setWaypointFormation 'WEDGE';} forEach (curatorSelected select 1);";
|
statement = "{_x setWaypointFormation 'WEDGE';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class vee {
|
class vee {
|
||||||
displayName = "$STR_vee";
|
displayName = "$STR_Vee";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\vee_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\vee_ca.paa";
|
||||||
statement = "{_x setWaypointFormation 'VEE';} forEach (curatorSelected select 1);";
|
statement = "{_x setWaypointFormation 'VEE';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class line {
|
class line {
|
||||||
displayName = "$STR_line";
|
displayName = "$STR_Line";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\line_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\line_ca.paa";
|
||||||
statement = "{_x setWaypointFormation 'LINE';} forEach (curatorSelected select 1);";
|
statement = "{_x setWaypointFormation 'LINE';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class column {
|
class column {
|
||||||
displayName = "$STR_column";
|
displayName = "$STR_Column";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\column_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\column_ca.paa";
|
||||||
statement = "{_x setWaypointFormation 'COLUMN';} forEach (curatorSelected select 1);";
|
statement = "{_x setWaypointFormation 'COLUMN';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class file {
|
class file {
|
||||||
displayName = "$STR_file";
|
displayName = "$STR_File";
|
||||||
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\file_ca.paa";
|
icon = "\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\file_ca.paa";
|
||||||
statement = "{_x setWaypointFormation 'FILE';} forEach (curatorSelected select 1);";
|
statement = "{_x setWaypointFormation 'FILE';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class stag_column {
|
class stag_column {
|
||||||
displayName = "$STR_staggered";
|
displayName = "$STR_Staggered";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\stag_column_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\stag_column_ca.paa";
|
||||||
statement = "{_x setWaypointFormation 'STAG COLUMN';} forEach (curatorSelected select 1);";
|
statement = "{_x setWaypointFormation 'STAG COLUMN';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class ech_left {
|
class ech_left {
|
||||||
displayName = "$STR_echl";
|
displayName = "$STR_EchL";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\ech_left_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\ech_left_ca.paa";
|
||||||
statement = "{_x setWaypointFormation 'ECH LEFT';} forEach (curatorSelected select 1);";
|
statement = "{_x setWaypointFormation 'ECH LEFT';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class ech_right {
|
class ech_right {
|
||||||
displayName = "$STR_echr";
|
displayName = "$STR_EchR";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\ech_right_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\ech_right_ca.paa";
|
||||||
statement = "{_x setWaypointFormation 'ECH RIGHT';} forEach (curatorSelected select 1);";
|
statement = "{_x setWaypointFormation 'ECH RIGHT';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
class diamond {
|
class diamond {
|
||||||
displayName = "$STR_diamond";
|
displayName = "$STR_Diamond";
|
||||||
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\diamond_ca.paa";
|
icon="\A3\UI_F_Curator\Data\RscCommon\RscAttributeFormation\diamond_ca.paa";
|
||||||
statement = "{_x setWaypointFormation 'DIAMOND';} forEach (curatorSelected select 1);";
|
statement = "{_x setWaypointFormation 'DIAMOND';} forEach (curatorSelected select 1);";
|
||||||
};
|
};
|
||||||
|
@ -796,6 +796,7 @@
|
|||||||
<Key ID="STR_ACE_Interaction_OpenBox">
|
<Key ID="STR_ACE_Interaction_OpenBox">
|
||||||
<English>Open</English>
|
<English>Open</English>
|
||||||
<Polish>Otwórz</Polish>
|
<Polish>Otwórz</Polish>
|
||||||
|
<Czech>Otevřít</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Interaction_Module_DisplayName">
|
<Key ID="STR_ACE_Interaction_Module_DisplayName">
|
||||||
<English>Interaction System</English>
|
<English>Interaction System</English>
|
||||||
@ -828,21 +829,5 @@
|
|||||||
<Czech>Správa týmu se skládá z: přidělení barev pro členy týmu, převzetí velení, připojení/odpojení. </Czech>
|
<Czech>Správa týmu se skládá z: přidělení barev pro členy týmu, převzetí velení, připojení/odpojení. </Czech>
|
||||||
<Russian>O módulo de gestão de equipe é composto por: a atribuição de cores para os membros da equipe, comando das equipes, juntando-se / deixando equipes.</Russian>
|
<Russian>O módulo de gestão de equipe é composto por: a atribuição de cores para os membros da equipe, comando das equipes, juntando-se / deixando equipes.</Russian>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Interaction_Zeus_Behaviour">
|
|
||||||
<English>Behaviour</English>
|
|
||||||
<Polish>Zachowanie</Polish>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_Zeus_Behaviour_careless">
|
|
||||||
<English>Careless</English>
|
|
||||||
<Polish>Beztroski</Polish>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_Zeus_Formation">
|
|
||||||
<English>Formation</English>
|
|
||||||
<Polish>Formacja</Polish>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_Zeus_Speed">
|
|
||||||
<English>Speed Mode</English>
|
|
||||||
<Polish>Prędkość</Polish>
|
|
||||||
</Key>
|
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
@ -92,11 +92,13 @@
|
|||||||
<English>BFT Enable</English>
|
<English>BFT Enable</English>
|
||||||
<Portuguese>RFA ativo</Portuguese>
|
<Portuguese>RFA ativo</Portuguese>
|
||||||
<Polish>Aktywuj BFT</Polish>
|
<Polish>Aktywuj BFT</Polish>
|
||||||
|
<Czech>Povolit BFT</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Map_BFT_Enabled_Description">
|
<Key ID="STR_ACE_Map_BFT_Enabled_Description">
|
||||||
<English>Enable Blue Force Tracking. Default: No</English>
|
<English>Enable Blue Force Tracking. Default: No</English>
|
||||||
<Portuguese>Ativa Rastreio de Forças Azuis. Padrão: Não</Portuguese>
|
<Portuguese>Ativa Rastreio de Forças Azuis. Padrão: Não</Portuguese>
|
||||||
<Polish>Aktywuj Blue Force Tracking. Domyślnie: Nie</Polish>
|
<Polish>Aktywuj Blue Force Tracking. Domyślnie: Nie</Polish>
|
||||||
|
<Czech>Povolit Blue Force Tracking. Výchozí: Ne</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Map_BFT_Interval_DisplayName">
|
<Key ID="STR_ACE_Map_BFT_Interval_DisplayName">
|
||||||
<English>Interval</English>
|
<English>Interval</English>
|
||||||
|
@ -11,6 +11,7 @@ class ACE_Medical_Actions {
|
|||||||
treatmentTimeSelfCoef = 1;
|
treatmentTimeSelfCoef = 1;
|
||||||
items[] = {{"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_quikclot"}};
|
items[] = {{"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_quikclot"}};
|
||||||
condition = "";
|
condition = "";
|
||||||
|
patientStateCondition = 0;
|
||||||
itemConsumed = 1;
|
itemConsumed = 1;
|
||||||
|
|
||||||
callbackSuccess = QUOTE(DFUNC(treatmentBasic_bandage));
|
callbackSuccess = QUOTE(DFUNC(treatmentBasic_bandage));
|
||||||
@ -107,6 +108,7 @@ class ACE_Medical_Actions {
|
|||||||
// Item required for the action. Leave empty for no item required.
|
// Item required for the action. Leave empty for no item required.
|
||||||
items[] = {"ACE_fieldDressing"};
|
items[] = {"ACE_fieldDressing"};
|
||||||
condition = "";
|
condition = "";
|
||||||
|
patientStateCondition = 0;
|
||||||
// Callbacks
|
// Callbacks
|
||||||
callbackSuccess = QUOTE(DFUNC(treatmentAdvanced_bandage));
|
callbackSuccess = QUOTE(DFUNC(treatmentAdvanced_bandage));
|
||||||
callbackFailure = "";
|
callbackFailure = "";
|
||||||
@ -206,6 +208,7 @@ class ACE_Medical_Actions {
|
|||||||
items[] = {"ACE_surgicalKit"};
|
items[] = {"ACE_surgicalKit"};
|
||||||
treatmentLocations[] = {QGVAR(useLocation_SurgicalKit)};
|
treatmentLocations[] = {QGVAR(useLocation_SurgicalKit)};
|
||||||
requiredMedic = QGVAR(medicSetting_SurgicalKit);
|
requiredMedic = QGVAR(medicSetting_SurgicalKit);
|
||||||
|
patientStateCondition = QGVAR(useCondition_SurgicalKit);
|
||||||
treatmentTime = "(count ((_this select 1) getVariable ['ACE_Medical_bandagedWounds', []]) * 5)";
|
treatmentTime = "(count ((_this select 1) getVariable ['ACE_Medical_bandagedWounds', []]) * 5)";
|
||||||
callbackSuccess = "";
|
callbackSuccess = "";
|
||||||
callbackProgress = QUOTE(DFUNC(treatmentAdvanced_surgicalKit_onProgress));
|
callbackProgress = QUOTE(DFUNC(treatmentAdvanced_surgicalKit_onProgress));
|
||||||
@ -219,6 +222,7 @@ class ACE_Medical_Actions {
|
|||||||
items[] = {"ACE_personalAidKit"};
|
items[] = {"ACE_personalAidKit"};
|
||||||
treatmentLocations[] = {QGVAR(useLocation_PAK)};
|
treatmentLocations[] = {QGVAR(useLocation_PAK)};
|
||||||
requiredMedic = QGVAR(medicSetting_PAK);
|
requiredMedic = QGVAR(medicSetting_PAK);
|
||||||
|
patientStateCondition = QGVAR(useCondition_PAK);
|
||||||
treatmentTime = QUOTE((_this select 1) call FUNC(treatmentAdvanced_fullHealTreatmentTime));
|
treatmentTime = QUOTE((_this select 1) call FUNC(treatmentAdvanced_fullHealTreatmentTime));
|
||||||
callbackSuccess = QUOTE(DFUNC(treatmentAdvanced_fullHeal));
|
callbackSuccess = QUOTE(DFUNC(treatmentAdvanced_fullHeal));
|
||||||
itemConsumed = QGVAR(consumeItem_PAK);
|
itemConsumed = QGVAR(consumeItem_PAK);
|
||||||
@ -266,10 +270,10 @@ class ACE_Medical_Actions {
|
|||||||
requiredMedic = 0;
|
requiredMedic = 0;
|
||||||
treatmentTime = 15;
|
treatmentTime = 15;
|
||||||
items[] = {};
|
items[] = {};
|
||||||
condition = "((_this select 1) getvariable ['ACE_medical_inCardiacArrest', false])";
|
condition = "!([(_this select 1)] call ace_common_fnc_isAwake)";
|
||||||
callbackSuccess = QUOTE(DFUNC(treatmentAdvanced_CPR));
|
callbackSuccess = QUOTE(DFUNC(treatmentAdvanced_CPR));
|
||||||
callbackFailure = "";
|
callbackFailure = "";
|
||||||
callbackProgress = "(((_this select 0) select 1) getvariable ['ACE_medical_inCardiacArrest', false])";
|
callbackProgress = "!([((_this select 0) select 1)] call ace_common_fnc_isAwake)";
|
||||||
animationPatient = "";
|
animationPatient = "";
|
||||||
animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback";
|
animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback";
|
||||||
animationCaller = "AinvPknlMstpSlayWnonDnon_medic";
|
animationCaller = "AinvPknlMstpSlayWnonDnon_medic";
|
||||||
|
@ -133,6 +133,20 @@ class ACE_Settings {
|
|||||||
value = 2;
|
value = 2;
|
||||||
values[] = {"Anywhere", "Medical vehicles", "Medical facility", "vehicle & facility", "Disabled"};
|
values[] = {"Anywhere", "Medical vehicles", "Medical facility", "vehicle & facility", "Disabled"};
|
||||||
};
|
};
|
||||||
|
class GVAR(useCondition_PAK) {
|
||||||
|
displayName = CSTRING(AdvancedMedicalSettings_useCondition_PAK_DisplayName);
|
||||||
|
description = CSTRING(AdvancedMedicalSettings_useCondition_PAK_Description);
|
||||||
|
typeName = "SCALAR";
|
||||||
|
value = 0;
|
||||||
|
values[] = {"Anytime", "Stable"};
|
||||||
|
};
|
||||||
|
class GVAR(useCondition_SurgicalKit) {
|
||||||
|
displayName = CSTRING(AdvancedMedicalSettings_useCondition_SurgicalKit_DisplayName);
|
||||||
|
description = CSTRING(AdvancedMedicalSettings_useCondition_SurgicalKit_Description);
|
||||||
|
typeName = "SCALAR";
|
||||||
|
value = 0;
|
||||||
|
values[] = {"Anytime", "Stable"};
|
||||||
|
};
|
||||||
class GVAR(keepLocalSettingsSynced) {
|
class GVAR(keepLocalSettingsSynced) {
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
value = 1;
|
value = 1;
|
||||||
|
@ -196,13 +196,21 @@ class CfgVehicles {
|
|||||||
class consumeItem_PAK {
|
class consumeItem_PAK {
|
||||||
displayName = CSTRING(AdvancedMedicalSettings_consumeItem_PAK_DisplayName);
|
displayName = CSTRING(AdvancedMedicalSettings_consumeItem_PAK_DisplayName);
|
||||||
description = CSTRING(AdvancedMedicalSettings_consumeItem_PAK_Description);
|
description = CSTRING(AdvancedMedicalSettings_consumeItem_PAK_Description);
|
||||||
|
|
||||||
typeName = "NUMBER";
|
typeName = "NUMBER";
|
||||||
class values {
|
class values {
|
||||||
class keep { name = CSTRING(No); value = 0; };
|
class keep { name = CSTRING(No); value = 0; };
|
||||||
class remove { name = CSTRING(Yes); value = 1; default = 1; };
|
class remove { name = CSTRING(Yes); value = 1; default = 1; };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
class useCondition_PAK {
|
||||||
|
displayName = CSTRING(AdvancedMedicalSettings_useCondition_PAK_DisplayName);
|
||||||
|
description = CSTRING(AdvancedMedicalSettings_useCondition_PAK_Description);
|
||||||
|
typeName = "NUMBER";
|
||||||
|
class values {
|
||||||
|
class AnyTime { name = CSTRING(AnyTime); value = 0; };
|
||||||
|
class Stable { name = CSTRING(Stable); value = 1; default = 1; };
|
||||||
|
};
|
||||||
|
};
|
||||||
class useLocation_PAK {
|
class useLocation_PAK {
|
||||||
displayName = CSTRING(AdvancedMedicalSettings_useLocation_PAK_DisplayName);
|
displayName = CSTRING(AdvancedMedicalSettings_useLocation_PAK_DisplayName);
|
||||||
description = CSTRING(AdvancedMedicalSettings_useLocation_PAK_Description);
|
description = CSTRING(AdvancedMedicalSettings_useLocation_PAK_Description);
|
||||||
@ -227,15 +235,23 @@ class CfgVehicles {
|
|||||||
displayName = CSTRING(AdvancedMedicalSettings_useLocation_SurgicalKit_DisplayName);
|
displayName = CSTRING(AdvancedMedicalSettings_useLocation_SurgicalKit_DisplayName);
|
||||||
description = CSTRING(AdvancedMedicalSettings_useLocation_SurgicalKit_Description);
|
description = CSTRING(AdvancedMedicalSettings_useLocation_SurgicalKit_Description);
|
||||||
};
|
};
|
||||||
|
class useCondition_SurgicalKit: useCondition_PAK {
|
||||||
|
displayName = CSTRING(AdvancedMedicalSettings_useCondition_SurgicalKit_DisplayName);
|
||||||
|
description = CSTRING(AdvancedMedicalSettings_useCondition_SurgicalKit_Description);
|
||||||
|
class values {
|
||||||
|
class AnyTime { name = CSTRING(AnyTime); value = 0; default = 1; };
|
||||||
|
class Stable { name = CSTRING(Stable); value = 1; };
|
||||||
|
};
|
||||||
|
};
|
||||||
class healHitPointAfterAdvBandage {
|
class healHitPointAfterAdvBandage {
|
||||||
displayName = CSTRING(AdvancedMedicalSettings_healHitPointAfterAdvBandage_DisplayName);
|
displayName = CSTRING(AdvancedMedicalSettings_healHitPointAfterAdvBandage_DisplayName);
|
||||||
description = CSTRING(AdvancedMedicalSettings_healHitPointAfterAdvBandage_Description);
|
description = CSTRING(AdvancedMedicalSettings_healHitPointAfterAdvBandage_Description);
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
defaultValue = 0;
|
defaultValue = 0;
|
||||||
};
|
};
|
||||||
class painIsOnlySuppressed {
|
class painIsOnlySuppressed {
|
||||||
displayName = CSTRING(AdvancedMedicalSettings_painIsOnlySuppressed_DisplayName);
|
displayName = CSTRING(AdvancedMedicalSettings_painIsOnlySuppressed_DisplayName);
|
||||||
description = CSTRING(AdvancedMedicalSettings_painIsOnlySuppressed_Description);
|
description = CSTRING(AdvancedMedicalSettings_painIsOnlySuppressed_Description);
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
defaultValue = 1;
|
defaultValue = 1;
|
||||||
};
|
};
|
||||||
|
@ -92,7 +92,7 @@ GVAR(effectTimeBlood) = ACE_time;
|
|||||||
[{
|
[{
|
||||||
private["_bleeding", "_blood"];
|
private["_bleeding", "_blood"];
|
||||||
// Zeus interface is open or player is dead; disable everything
|
// Zeus interface is open or player is dead; disable everything
|
||||||
if (!(isNull (findDisplay 312)) or !(alive ACE_player)) exitWith {
|
if (!(isNull curatorCamera) or !(alive ACE_player)) exitWith {
|
||||||
GVAR(effectUnconsciousCC) ppEffectEnable false;
|
GVAR(effectUnconsciousCC) ppEffectEnable false;
|
||||||
GVAR(effectUnconsciousRB) ppEffectEnable false;
|
GVAR(effectUnconsciousRB) ppEffectEnable false;
|
||||||
GVAR(effectBlindingCC) ppEffectEnable false;
|
GVAR(effectBlindingCC) ppEffectEnable false;
|
||||||
@ -174,52 +174,54 @@ GVAR(lastHeartBeatSound) = ACE_time;
|
|||||||
if ((ACE_time > GVAR(lastHeartBeat) + _interval)) then {
|
if ((ACE_time > GVAR(lastHeartBeat) + _interval)) then {
|
||||||
GVAR(lastHeartBeat) = ACE_time;
|
GVAR(lastHeartBeat) = ACE_time;
|
||||||
|
|
||||||
// Pain effect
|
// Pain effect, no pain effect in zeus camera
|
||||||
_strength = (_pain - (ACE_player getvariable [QGVAR(painSuppress), 0])) max 0;
|
if (isNull curatorCamera) then {
|
||||||
_strength = _strength * (ACE_player getVariable [QGVAR(painCoefficient), GVAR(painCoefficient)]);
|
_strength = (_pain - (ACE_player getvariable [QGVAR(painSuppress), 0])) max 0;
|
||||||
if (GVAR(painEffectType) == 1) then {
|
_strength = _strength * (ACE_player getVariable [QGVAR(painCoefficient), GVAR(painCoefficient)]);
|
||||||
GVAR(effectPainCC) ppEffectEnable false;
|
if (GVAR(painEffectType) == 1) then {
|
||||||
if (_pain > (ACE_player getvariable [QGVAR(painSuppress), 0]) && {alive ACE_player}) then {
|
GVAR(effectPainCC) ppEffectEnable false;
|
||||||
_strength = _strength * 0.15;
|
if (_pain > (ACE_player getvariable [QGVAR(painSuppress), 0]) && {alive ACE_player}) then {
|
||||||
GVAR(effectPainCA) ppEffectEnable true;
|
_strength = _strength * 0.15;
|
||||||
GVAR(effectPainCA) ppEffectAdjust [_strength, _strength, false];
|
GVAR(effectPainCA) ppEffectEnable true;
|
||||||
GVAR(effectPainCA) ppEffectCommit 0.01;
|
GVAR(effectPainCA) ppEffectAdjust [_strength, _strength, false];
|
||||||
[{
|
|
||||||
GVAR(effectPainCA) ppEffectAdjust [(_this select 0), (_this select 0), false];
|
|
||||||
GVAR(effectPainCA) ppEffectCommit (_this select 1);
|
|
||||||
}, [_strength * 0.1, _interval * 0.2], _interval * 0.05, 0] call EFUNC(common,waitAndExecute);
|
|
||||||
[{
|
|
||||||
GVAR(effectPainCA) ppEffectAdjust [(_this select 0), (_this select 0), false];
|
|
||||||
GVAR(effectPainCA) ppEffectCommit 0.01;
|
GVAR(effectPainCA) ppEffectCommit 0.01;
|
||||||
}, [_strength * 0.7], _interval * 0.3, 0] call EFUNC(common,waitAndExecute);
|
[{
|
||||||
[{
|
GVAR(effectPainCA) ppEffectAdjust [(_this select 0), (_this select 0), false];
|
||||||
GVAR(effectPainCA) ppEffectAdjust [(_this select 0), (_this select 0), false];
|
GVAR(effectPainCA) ppEffectCommit (_this select 1);
|
||||||
GVAR(effectPainCA) ppEffectCommit (_this select 1);
|
}, [_strength * 0.1, _interval * 0.2], _interval * 0.05, 0] call EFUNC(common,waitAndExecute);
|
||||||
}, [_strength * 0.1, _interval * 0.55], _interval * 0.4, 0] call EFUNC(common,waitAndExecute);
|
[{
|
||||||
|
GVAR(effectPainCA) ppEffectAdjust [(_this select 0), (_this select 0), false];
|
||||||
|
GVAR(effectPainCA) ppEffectCommit 0.01;
|
||||||
|
}, [_strength * 0.7], _interval * 0.3, 0] call EFUNC(common,waitAndExecute);
|
||||||
|
[{
|
||||||
|
GVAR(effectPainCA) ppEffectAdjust [(_this select 0), (_this select 0), false];
|
||||||
|
GVAR(effectPainCA) ppEffectCommit (_this select 1);
|
||||||
|
}, [_strength * 0.1, _interval * 0.55], _interval * 0.4, 0] call EFUNC(common,waitAndExecute);
|
||||||
|
} else {
|
||||||
|
GVAR(effectPainCA) ppEffectEnable false;
|
||||||
|
};
|
||||||
} else {
|
} else {
|
||||||
GVAR(effectPainCA) ppEffectEnable false;
|
GVAR(effectPainCA) ppEffectEnable false;
|
||||||
};
|
if (_pain > (ACE_player getvariable [QGVAR(painSuppress), 0]) && {alive ACE_player}) then {
|
||||||
} else {
|
_strength = _strength * 0.9;
|
||||||
GVAR(effectPainCA) ppEffectEnable false;
|
GVAR(effectPainCC) ppEffectEnable true;
|
||||||
if (_pain > (ACE_player getvariable [QGVAR(painSuppress), 0]) && {alive ACE_player}) then {
|
GVAR(effectPainCC) ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1 - _strength,1 - _strength,0,0,0,0.2,2]];
|
||||||
_strength = _strength * 0.9;
|
|
||||||
GVAR(effectPainCC) ppEffectEnable true;
|
|
||||||
GVAR(effectPainCC) ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1 - _strength,1 - _strength,0,0,0,0.2,2]];
|
|
||||||
GVAR(effectPainCC) ppEffectCommit 0.01;
|
|
||||||
[{
|
|
||||||
GVAR(effectPainCC) ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1 - (_this select 0),1 - (_this select 0),0,0,0,0.2,2]];
|
|
||||||
GVAR(effectPainCC) ppEffectCommit (_this select 1);
|
|
||||||
}, [_strength * 0.1, _interval * 0.2], _interval * 0.05, 0] call EFUNC(common,waitAndExecute);
|
|
||||||
[{
|
|
||||||
GVAR(effectPainCC) ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1 - (_this select 0),1 - (_this select 0),0,0,0,0.2,2]];
|
|
||||||
GVAR(effectPainCC) ppEffectCommit 0.01;
|
GVAR(effectPainCC) ppEffectCommit 0.01;
|
||||||
}, [_strength * 0.7], _interval * 0.3, 0] call EFUNC(common,waitAndExecute);
|
[{
|
||||||
[{
|
GVAR(effectPainCC) ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1 - (_this select 0),1 - (_this select 0),0,0,0,0.2,2]];
|
||||||
GVAR(effectPainCC) ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1 - (_this select 0),1 - (_this select 0),0,0,0,0.2,2]];
|
GVAR(effectPainCC) ppEffectCommit (_this select 1);
|
||||||
GVAR(effectPainCC) ppEffectCommit (_this select 1);
|
}, [_strength * 0.1, _interval * 0.2], _interval * 0.05, 0] call EFUNC(common,waitAndExecute);
|
||||||
}, [_strength * 0.1, _interval * 0.55], _interval * 0.4, 0] call EFUNC(common,waitAndExecute);
|
[{
|
||||||
} else {
|
GVAR(effectPainCC) ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1 - (_this select 0),1 - (_this select 0),0,0,0,0.2,2]];
|
||||||
GVAR(effectPainCC) ppEffectEnable false;
|
GVAR(effectPainCC) ppEffectCommit 0.01;
|
||||||
|
}, [_strength * 0.7], _interval * 0.3, 0] call EFUNC(common,waitAndExecute);
|
||||||
|
[{
|
||||||
|
GVAR(effectPainCC) ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1 - (_this select 0),1 - (_this select 0),0,0,0,0.2,2]];
|
||||||
|
GVAR(effectPainCC) ppEffectCommit (_this select 1);
|
||||||
|
}, [_strength * 0.1, _interval * 0.55], _interval * 0.4, 0] call EFUNC(common,waitAndExecute);
|
||||||
|
} else {
|
||||||
|
GVAR(effectPainCC) ppEffectEnable false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -56,6 +56,7 @@ PREP(isInMedicalFacility);
|
|||||||
PREP(isInMedicalVehicle);
|
PREP(isInMedicalVehicle);
|
||||||
PREP(isMedic);
|
PREP(isMedic);
|
||||||
PREP(isMedicalVehicle);
|
PREP(isMedicalVehicle);
|
||||||
|
PREP(isInStableCondition);
|
||||||
PREP(itemCheck);
|
PREP(itemCheck);
|
||||||
PREP(modifyMedicalAction);
|
PREP(modifyMedicalAction);
|
||||||
PREP(onMedicationUsage);
|
PREP(onMedicationUsage);
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
private ["_caller", "_target", "_selectionName", "_className", "_config", "_medicRequired", "_items", "_locations", "_return", "_condition"];
|
private ["_caller", "_target", "_selectionName", "_className", "_config", "_medicRequired", "_items", "_locations", "_return", "_condition", "_patientStateCondition"];
|
||||||
_caller = _this select 0;
|
_caller = _this select 0;
|
||||||
_target = _this select 1;
|
_target = _this select 1;
|
||||||
_selectionName = _this select 2;
|
_selectionName = _this select 2;
|
||||||
@ -44,7 +44,6 @@ if !([_caller, _medicRequired] call FUNC(isMedic)) exitwith {false};
|
|||||||
_items = getArray (_config >> "items");
|
_items = getArray (_config >> "items");
|
||||||
if (count _items > 0 && {!([_caller, _target, _items] call FUNC(hasItems))}) exitwith {false};
|
if (count _items > 0 && {!([_caller, _target, _items] call FUNC(hasItems))}) exitwith {false};
|
||||||
|
|
||||||
_locations = getArray (_config >> "treatmentLocations");
|
|
||||||
|
|
||||||
_return = true;
|
_return = true;
|
||||||
if (getText (_config >> "condition") != "") then {
|
if (getText (_config >> "condition") != "") then {
|
||||||
@ -62,6 +61,14 @@ if (getText (_config >> "condition") != "") then {
|
|||||||
};
|
};
|
||||||
if (!_return) exitwith {false};
|
if (!_return) exitwith {false};
|
||||||
|
|
||||||
|
_patientStateCondition = if (isText(_config >> "patientStateCondition")) then {
|
||||||
|
missionNamespace getvariable [getText(_config >> "patientStateCondition"), 0]
|
||||||
|
} else {
|
||||||
|
getNumber(_config >> "patientStateCondition")
|
||||||
|
};
|
||||||
|
if (_patientStateCondition == 1 && {!([_target] call FUNC(isInStableCondition))}) exitwith {false};
|
||||||
|
|
||||||
|
_locations = getArray (_config >> "treatmentLocations");
|
||||||
if ("All" in _locations) exitwith {true};
|
if ("All" in _locations) exitwith {true};
|
||||||
|
|
||||||
private [ "_medFacility", "_medVeh"];
|
private [ "_medFacility", "_medVeh"];
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
private ["_unit","_return"];
|
private ["_unit","_return"];
|
||||||
_unit = _this select 0;
|
_unit = _this select 0;
|
||||||
|
|
||||||
if (GVAR(level) == 1) exitwith {true};
|
|
||||||
if (isnil QGVAR(unconsciousConditions)) then {
|
if (isnil QGVAR(unconsciousConditions)) then {
|
||||||
GVAR(unconsciousConditions) = [];
|
GVAR(unconsciousConditions) = [];
|
||||||
};
|
};
|
||||||
|
@ -58,10 +58,10 @@ if (isClass (_config >> _className)) then {
|
|||||||
|
|
||||||
_bandagedWounds = _target getvariable [QGVAR(bandagedWounds), []];
|
_bandagedWounds = _target getvariable [QGVAR(bandagedWounds), []];
|
||||||
_exist = false;
|
_exist = false;
|
||||||
_injuryId = _injury select 0;
|
_injuryType = _injury select 1;
|
||||||
_bandagedInjury = [];
|
_bandagedInjury = [];
|
||||||
{
|
{
|
||||||
if ((_x select 0) == _injuryId) exitwith {
|
if ((_x select 1) == _injuryType && (_x select 2) == (_injury select 2)) exitwith {
|
||||||
_exist = true;
|
_exist = true;
|
||||||
_existingInjury = _x;
|
_existingInjury = _x;
|
||||||
_existingInjury set [3, (_existingInjury select 3) + _impact];
|
_existingInjury set [3, (_existingInjury select 3) + _impact];
|
||||||
@ -73,16 +73,11 @@ _bandagedInjury = [];
|
|||||||
|
|
||||||
if !(_exist) then {
|
if !(_exist) then {
|
||||||
// [ID, classID, bodypart, percentage treated, bloodloss rate]
|
// [ID, classID, bodypart, percentage treated, bloodloss rate]
|
||||||
_bandagedInjury = [_injuryId, _injury select 1, _injury select 2, _impact, _injury select 4];
|
_bandagedInjury = [_injury select 0, _injury select 1, _injury select 2, _impact, _injury select 4];
|
||||||
_bandagedWounds pushback _bandagedInjury;
|
_bandagedWounds pushback _bandagedInjury;
|
||||||
};
|
};
|
||||||
|
|
||||||
_target setvariable [QGVAR(bandagedWounds), _bandagedWounds, !USE_WOUND_EVENT_SYNC];
|
_target setvariable [QGVAR(bandagedWounds), _bandagedWounds, true];
|
||||||
|
|
||||||
if (USE_WOUND_EVENT_SYNC) then {
|
|
||||||
// sync _bandagedInjury
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
// Check if we are ever going to reopen this
|
// Check if we are ever going to reopen this
|
||||||
if (random(1) <= _reopeningChance) then {
|
if (random(1) <= _reopeningChance) then {
|
||||||
@ -95,22 +90,19 @@ if (random(1) <= _reopeningChance) then {
|
|||||||
_injuryIndex = _this select 3;
|
_injuryIndex = _this select 3;
|
||||||
_injury = _this select 4;
|
_injury = _this select 4;
|
||||||
|
|
||||||
if (alive _target) then {
|
//if (alive _target) then {
|
||||||
_openWounds = _target getvariable [QGVAR(openWounds), []];
|
_openWounds = _target getvariable [QGVAR(openWounds), []];
|
||||||
if ((count _openWounds)-1 < _injuryIndex) exitwith {};
|
if ((count _openWounds)-1 < _injuryIndex) exitwith {};
|
||||||
_selectedInjury = _openWounds select _injuryIndex;
|
_selectedInjury = _openWounds select _injuryIndex;
|
||||||
if (_selectedInjury select 0 == _injury select 0) then { // matching the IDs
|
if (_selectedInjury select 1 == _injury select 1 && (_selectedInjury select 2) == (_injury select 2)) then { // matching the IDs
|
||||||
_selectedInjury set [3, (_selectedInjury select 3) + _impact];
|
_selectedInjury set [3, (_selectedInjury select 3) + _impact];
|
||||||
_openWounds set [_injuryIndex, _selectedInjury];
|
_openWounds set [_injuryIndex, _selectedInjury];
|
||||||
_target setvariable [QGVAR(openWounds), _openWounds, !USE_WOUND_EVENT_SYNC];
|
|
||||||
if (USE_WOUND_EVENT_SYNC) then {
|
|
||||||
["medical_propagateWound", [_target, _selectedInjury]] call EFUNC(common,globalEvent);
|
|
||||||
};
|
|
||||||
_bandagedWounds = _target getvariable [QGVAR(bandagedWounds), []];
|
_bandagedWounds = _target getvariable [QGVAR(bandagedWounds), []];
|
||||||
_exist = false;
|
_exist = false;
|
||||||
_injuryId = _injury select 0;
|
_injuryId = _injury select 1;
|
||||||
{
|
{
|
||||||
if ((_x select 0) == _injuryId) exitwith {
|
if ((_x select 1) == _injuryId && (_x select 2) == (_injury select 2)) exitwith {
|
||||||
_exist = true;
|
_exist = true;
|
||||||
_existingInjury = _x;
|
_existingInjury = _x;
|
||||||
_existingInjury set [3, ((_existingInjury select 3) - _impact) max 0];
|
_existingInjury set [3, ((_existingInjury select 3) - _impact) max 0];
|
||||||
@ -119,10 +111,11 @@ if (random(1) <= _reopeningChance) then {
|
|||||||
}foreach _bandagedWounds;
|
}foreach _bandagedWounds;
|
||||||
|
|
||||||
if (_exist) then {
|
if (_exist) then {
|
||||||
_target setvariable [QGVAR(bandagedWounds), _bandagedWounds, !USE_WOUND_EVENT_SYNC];
|
_target setvariable [QGVAR(bandagedWounds), _bandagedWounds, true];
|
||||||
|
_target setvariable [QGVAR(openWounds), _openWounds, true];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
// Otherwise something went wrong, we we don't reopen them..
|
// Otherwise something went wrong, we we don't reopen them..
|
||||||
};
|
//};
|
||||||
}, [_target, _impact, _part, _injuryIndex, _injury], _delay, 0] call EFUNC(common,waitAndExecute);
|
}, [_target, _impact, _part, _injuryIndex, +_injury], _delay, 0] call EFUNC(common,waitAndExecute);
|
||||||
};
|
};
|
||||||
|
@ -80,10 +80,10 @@ if (GVAR(level) < 2) then {
|
|||||||
} else {
|
} else {
|
||||||
_damageReturn = _damageReturn min 0.89;
|
_damageReturn = _damageReturn min 0.89;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
[_unit] call FUNC(addToInjuredCollection);
|
[_unit] call FUNC(addToInjuredCollection);
|
||||||
|
|
||||||
|
|
||||||
if (_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)]) exitWith {
|
if (_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)]) exitWith {
|
||||||
if (vehicle _unit != _unit and {damage (vehicle _unit) >= 1}) then {
|
if (vehicle _unit != _unit and {damage (vehicle _unit) >= 1}) then {
|
||||||
[_unit] call EFUNC(common,unloadPerson);
|
[_unit] call EFUNC(common,unloadPerson);
|
||||||
@ -99,7 +99,7 @@ if (_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)]) exitW
|
|||||||
if (_damageReturn >= 0.9 && {_selection in ["", "head", "body"]}) exitWith {
|
if (_damageReturn >= 0.9 && {_selection in ["", "head", "body"]}) exitWith {
|
||||||
if (_unit getvariable ["ACE_isUnconscious", false]) exitwith {
|
if (_unit getvariable ["ACE_isUnconscious", false]) exitwith {
|
||||||
[_unit] call FUNC(setDead);
|
[_unit] call FUNC(setDead);
|
||||||
0.89
|
0.89;
|
||||||
};
|
};
|
||||||
if (_delayedUnconsicous) then {
|
if (_delayedUnconsicous) then {
|
||||||
[{
|
[{
|
||||||
@ -110,9 +110,9 @@ if (_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)]) exitW
|
|||||||
[_this select 0, true] call FUNC(setUnconscious);
|
[_this select 0, true] call FUNC(setUnconscious);
|
||||||
}, [_unit]] call EFUNC(common,execNextFrame);
|
}, [_unit]] call EFUNC(common,execNextFrame);
|
||||||
};
|
};
|
||||||
0.89
|
0.89;
|
||||||
};
|
};
|
||||||
_damageReturn min 0.89;
|
0.89;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]) > 0) && {_damageReturn >= 0.9} && {_selection in ["", "head", "body"]}) exitWith {
|
if (((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]) > 0) && {_damageReturn >= 0.9} && {_selection in ["", "head", "body"]}) exitWith {
|
||||||
@ -120,8 +120,7 @@ if (((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]) > 0) && {_dam
|
|||||||
[_unit] call EFUNC(common,unloadPerson);
|
[_unit] call EFUNC(common,unloadPerson);
|
||||||
};
|
};
|
||||||
[_unit] call FUNC(setDead);
|
[_unit] call FUNC(setDead);
|
||||||
|
0.89;
|
||||||
0.89
|
|
||||||
};
|
};
|
||||||
|
|
||||||
_damageReturn
|
_damageReturn;
|
||||||
|
@ -39,8 +39,6 @@ _damageBodyParts = _unit getvariable [QGVAR(bodyPartStatus), [0,0,0,0,0,0]];
|
|||||||
_damageBodyParts set [_part, (_damageBodyParts select _part) + _newDamage];
|
_damageBodyParts set [_part, (_damageBodyParts select _part) + _newDamage];
|
||||||
_unit setvariable [QGVAR(bodyPartStatus), _damageBodyParts, true];
|
_unit setvariable [QGVAR(bodyPartStatus), _damageBodyParts, true];
|
||||||
|
|
||||||
[_unit] call FUNC(handleDamage_advancedSetDamage);
|
|
||||||
|
|
||||||
_typeOfDamage = [_typeOfProjectile] call FUNC(getTypeOfDamage);
|
_typeOfDamage = [_typeOfProjectile] call FUNC(getTypeOfDamage);
|
||||||
[_unit, _selectionName, _newDamage, _typeOfProjectile, _typeOfDamage] call FUNC(handleDamage_assignWounds);
|
[_unit, _selectionName, _newDamage, _typeOfProjectile, _typeOfDamage] call FUNC(handleDamage_assignWounds);
|
||||||
|
|
||||||
|
@ -81,12 +81,17 @@ if (diag_frameno > (_unit getVariable [QGVAR(frameNo_damageCaching), -3]) + 2) t
|
|||||||
_args = _this select 0;
|
_args = _this select 0;
|
||||||
|
|
||||||
if (diag_frameno > (_args select 1) + 2) then {
|
if (diag_frameno > (_args select 1) + 2) then {
|
||||||
|
(_args select 0) setDamage 0;
|
||||||
|
|
||||||
_cache_params = (_args select 0) getVariable [QGVAR(cachedHandleDamageParams), []];
|
_cache_params = (_args select 0) getVariable [QGVAR(cachedHandleDamageParams), []];
|
||||||
_cache_damages = (_args select 0) getVariable QGVAR(cachedDamages);
|
_cache_damages = (_args select 0) getVariable QGVAR(cachedDamages);
|
||||||
{
|
{
|
||||||
_params = _x + [_cache_damages select _foreachIndex];
|
_params = _x + [_cache_damages select _foreachIndex];
|
||||||
_params call FUNC(handleDamage_advanced);
|
_params call FUNC(handleDamage_advanced);
|
||||||
}foreach _cache_params;
|
}foreach _cache_params;
|
||||||
|
|
||||||
|
[(_args select 0)] call FUNC(handleDamage_advancedSetDamage);
|
||||||
|
|
||||||
[(_this select 1)] call cba_fnc_removePerFrameHandler;
|
[(_this select 1)] call cba_fnc_removePerFrameHandler;
|
||||||
};
|
};
|
||||||
}, 0, [_unit, diag_frameno] ] call CBA_fnc_addPerFrameHandler;
|
}, 0, [_unit, diag_frameno] ] call CBA_fnc_addPerFrameHandler;
|
||||||
|
30
addons/medical/functions/fnc_isInStableCondition.sqf
Normal file
30
addons/medical/functions/fnc_isInStableCondition.sqf
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* Author: Glowbal
|
||||||
|
* Check if a unit is in a stable condition
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* 0: The patient <OBJECT>
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* Is in stable condition <BOOL>
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
private ["_unit"];
|
||||||
|
_unit = _this select 0;
|
||||||
|
|
||||||
|
if (GVAR(level) <= 1) exitwith {
|
||||||
|
([_unit] call FUNC(getBloodloss)) == 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
_totalBloodLoss = 0;
|
||||||
|
_openWounds = _unit getvariable [QGVAR(openWounds), []];
|
||||||
|
{
|
||||||
|
// total bleeding ratio * percentage of injury left
|
||||||
|
_totalBloodLoss = _totalBloodLoss + ((_x select 4) * (_x select 3));
|
||||||
|
}foreach _openWounds;
|
||||||
|
|
||||||
|
(_totalBloodLoss == 0);
|
@ -33,5 +33,7 @@ if !(_activated) exitWith {};
|
|||||||
[_logic, QGVAR(consumeItem_SurgicalKit), "consumeItem_SurgicalKit"] call EFUNC(common,readSettingFromModule);
|
[_logic, QGVAR(consumeItem_SurgicalKit), "consumeItem_SurgicalKit"] call EFUNC(common,readSettingFromModule);
|
||||||
[_logic, QGVAR(useLocation_PAK), "useLocation_PAK"] call EFUNC(common,readSettingFromModule);
|
[_logic, QGVAR(useLocation_PAK), "useLocation_PAK"] call EFUNC(common,readSettingFromModule);
|
||||||
[_logic, QGVAR(useLocation_SurgicalKit), "useLocation_SurgicalKit"] call EFUNC(common,readSettingFromModule);
|
[_logic, QGVAR(useLocation_SurgicalKit), "useLocation_SurgicalKit"] call EFUNC(common,readSettingFromModule);
|
||||||
|
[_logic, QGVAR(useCondition_PAK), "useCondition_PAK"] call EFUNC(common,readSettingFromModule);
|
||||||
|
[_logic, QGVAR(useCondition_SurgicalKit), "useCondition_SurgicalKit"] call EFUNC(common,readSettingFromModule);
|
||||||
[_logic, QGVAR(healHitPointAfterAdvBandage), "healHitPointAfterAdvBandage"] call EFUNC(common,readSettingFromModule);
|
[_logic, QGVAR(healHitPointAfterAdvBandage), "healHitPointAfterAdvBandage"] call EFUNC(common,readSettingFromModule);
|
||||||
[_logic, QGVAR(painIsOnlySuppressed), "painIsOnlySuppressed"] call EFUNC(common,readSettingFromModule);
|
[_logic, QGVAR(painIsOnlySuppressed), "painIsOnlySuppressed"] call EFUNC(common,readSettingFromModule);
|
||||||
|
@ -66,6 +66,11 @@ if (((_reviveVal == 1 && {[_unit] call EFUNC(common,isPlayer)} || _reviveVal ==
|
|||||||
_unit setvariable [QGVAR(reviveStartTime), nil];
|
_unit setvariable [QGVAR(reviveStartTime), nil];
|
||||||
[(_this select 1)] call cba_fnc_removePerFrameHandler;
|
[(_this select 1)] call cba_fnc_removePerFrameHandler;
|
||||||
};
|
};
|
||||||
|
if (GVAR(level) >= 2) then {
|
||||||
|
if (_unit getvariable [QGVAR(heartRate), 60] > 0) then {
|
||||||
|
_unit setvariable [QGVAR(heartRate), 0];
|
||||||
|
};
|
||||||
|
};
|
||||||
}, 1, [_unit] ] call CBA_fnc_addPerFrameHandler;
|
}, 1, [_unit] ] call CBA_fnc_addPerFrameHandler;
|
||||||
false;
|
false;
|
||||||
};
|
};
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
private ["_caller", "_target", "_selectionName", "_className", "_config", "_medicRequired", "_items", "_locations", "_return", "_callbackProgress", "_treatmentTime", "_callerAnim", "_patientAnim", "_iconDisplayed", "_return", "_usersOfItems", "_consumeItems", "_condition", "_displayText", "_wpn", "_treatmentTimeConfig"];
|
private ["_caller", "_target", "_selectionName", "_className", "_config", "_medicRequired", "_items", "_locations", "_return", "_callbackProgress", "_treatmentTime", "_callerAnim", "_patientAnim", "_iconDisplayed", "_return", "_usersOfItems", "_consumeItems", "_condition", "_displayText", "_wpn", "_treatmentTimeConfig", "_patientStateCondition"];
|
||||||
_caller = _this select 0;
|
_caller = _this select 0;
|
||||||
_target = _this select 1;
|
_target = _this select 1;
|
||||||
_selectionName = _this select 2;
|
_selectionName = _this select 2;
|
||||||
@ -53,9 +53,6 @@ if !([_caller, _medicRequired] call FUNC(isMedic)) exitwith {false};
|
|||||||
_items = getArray (_config >> "items");
|
_items = getArray (_config >> "items");
|
||||||
if (count _items > 0 && {!([_caller, _target, _items] call FUNC(hasItems))}) exitwith {false};
|
if (count _items > 0 && {!([_caller, _target, _items] call FUNC(hasItems))}) exitwith {false};
|
||||||
|
|
||||||
// Check allowed locations
|
|
||||||
_locations = getArray (_config >> "treatmentLocations");
|
|
||||||
|
|
||||||
_return = true;
|
_return = true;
|
||||||
if (isText (_config >> "Condition")) then {
|
if (isText (_config >> "Condition")) then {
|
||||||
_condition = getText(_config >> "condition");
|
_condition = getText(_config >> "condition");
|
||||||
@ -74,6 +71,16 @@ if (isText (_config >> "Condition")) then {
|
|||||||
};
|
};
|
||||||
if (!_return) exitwith {false};
|
if (!_return) exitwith {false};
|
||||||
|
|
||||||
|
_patientStateCondition = if (isText(_config >> "patientStateCondition")) then {
|
||||||
|
missionNamespace getvariable [getText(_config >> "patientStateCondition"), 0]
|
||||||
|
} else {
|
||||||
|
getNumber(_config >> "patientStateCondition")
|
||||||
|
};
|
||||||
|
if (_patientStateCondition == 1 && {!([_target] call FUNC(isInStableCondition))}) exitwith {false};
|
||||||
|
|
||||||
|
// Check allowed locations
|
||||||
|
_locations = getArray (_config >> "treatmentLocations");
|
||||||
|
|
||||||
if ("All" in _locations) then {
|
if ("All" in _locations) then {
|
||||||
_return = true;
|
_return = true;
|
||||||
} else {
|
} else {
|
||||||
|
@ -23,7 +23,7 @@ _selectionName = _this select 2;
|
|||||||
_className = _this select 3;
|
_className = _this select 3;
|
||||||
_items = _this select 4;
|
_items = _this select 4;
|
||||||
|
|
||||||
// TODO replace by event system instead
|
if (alive _target && {(_target getvariable [QGVAR(inCardiacArrest), false] || _target getvariable [QGVAR(inReviveState), false])}) then {
|
||||||
[[_caller, _target], QUOTE(DFUNC(treatmentAdvanced_CPRLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
|
[[_caller, _target], QUOTE(DFUNC(treatmentAdvanced_CPRLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
|
||||||
|
};
|
||||||
true;
|
true;
|
||||||
|
@ -14,17 +14,15 @@
|
|||||||
|
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
private ["_caller","_target", "_n"];
|
private ["_caller","_target", "_reviveStartTime"];
|
||||||
_caller = _this select 0;
|
_caller = _this select 0;
|
||||||
_target = _this select 1;
|
_target = _this select 1;
|
||||||
|
|
||||||
_n = _target getvariable [QEGVAR(common,ENABLE_REVIVE_COUNTER),0];
|
if (_target getvariable [QGVAR(inReviveState), false]) exitwith {
|
||||||
if (_n > 0) then {
|
_reviveStartTime = _target getvariable [QGVAR(reviveStartTime),0];
|
||||||
_n = _n - random(20);
|
if (_reviveStartTime > 0) then {
|
||||||
if (_n < 0) then {
|
_target setvariable [QGVAR(reviveStartTime), (_reviveStartTime + random(20)) min ACE_time];
|
||||||
_n = 0;
|
|
||||||
};
|
};
|
||||||
_target setvariable [QEGVAR(common,ENABLE_REVIVE_COUNTER), _n];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if (random(1)>= 0.6) exitwith {
|
if (random(1)>= 0.6) exitwith {
|
||||||
|
@ -60,4 +60,4 @@ if (isNil _callback) then {
|
|||||||
|
|
||||||
_args call _callback;
|
_args call _callback;
|
||||||
|
|
||||||
_args call FUNC(createLitter);
|
// _args call FUNC(createLitter);
|
||||||
|
@ -2919,12 +2919,14 @@
|
|||||||
<Spanish>IA controlada remotamente</Spanish>
|
<Spanish>IA controlada remotamente</Spanish>
|
||||||
<Portuguese>IA controlada remotamente</Portuguese>
|
<Portuguese>IA controlada remotamente</Portuguese>
|
||||||
<Polish>Zdalnie sterowane AI</Polish>
|
<Polish>Zdalnie sterowane AI</Polish>
|
||||||
|
<Czech>Vzdáleně ovládané AI</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Medical_MedicalSettings_remoteControlledAI_Description">
|
<Key ID="STR_ACE_Medical_MedicalSettings_remoteControlledAI_Description">
|
||||||
<English>Treat remote controlled units as AI not players?</English>
|
<English>Treat remote controlled units as AI not players?</English>
|
||||||
<Spanish>¿Tratar unidades remotamente controladas como IA?</Spanish>
|
<Spanish>¿Tratar unidades remotamente controladas como IA?</Spanish>
|
||||||
<Portuguese>Tratar unidades remotamente controladas como IA?</Portuguese>
|
<Portuguese>Tratar unidades remotamente controladas como IA?</Portuguese>
|
||||||
<Polish>Traktuj jednostki zdalnie sterowane (przez Zeusa) jako AI, nie jako graczy?</Polish>
|
<Polish>Traktuj jednostki zdalnie sterowane (przez Zeusa) jako AI, nie jako graczy?</Polish>
|
||||||
|
<Czech>Ošetřit vzdáleně ovládané jednotky jako AI, ne jako hráče?</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Medical_disabled">
|
<Key ID="STR_ACE_Medical_disabled">
|
||||||
<English>Disabled</English>
|
<English>Disabled</English>
|
||||||
@ -3179,14 +3181,22 @@
|
|||||||
<Portuguese>Localizações do KPS</Portuguese>
|
<Portuguese>Localizações do KPS</Portuguese>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Medical_AdvancedMedicalSettings_useLocation_PAK_Description">
|
<Key ID="STR_ACE_Medical_AdvancedMedicalSettings_useLocation_PAK_Description">
|
||||||
<English>Where can the personal aid kit be used?</English>
|
<English>Where can the Personal Aid Kit be used?</English>
|
||||||
<Russian>Где может использоваться аптечка?</Russian>
|
<Russian>Где может использоваться аптечка?</Russian>
|
||||||
<Polish>Gdzie można korzystać z apteczek osobistych?</Polish>
|
<Polish>Gdzie można korzystać z apteczek osobistych?</Polish>
|
||||||
<Spanish>¿Dónde se puede utilizar el equipo de primeros auxilios?</Spanish>
|
<Spanish>¿Dónde se puede utilizar el equipo de primeros auxilios?</Spanish>
|
||||||
<German>Wo kann der Erstehilfekasten verwendet werden?</German>
|
<German>Wo kann der Erstehilfekasten verwendet werden?</German>
|
||||||
<Czech>Kde může být osobní lékárnička použita?</Czech>
|
<Czech>Kde může být použita osobní lékárnička?</Czech>
|
||||||
<Portuguese>Onde o kit de primeiros socorros pode ser utilizado?</Portuguese>
|
<Portuguese>Onde o kit de primeiros socorros pode ser utilizado?</Portuguese>
|
||||||
</Key>
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Medical_AdvancedMedicalSettings_useCondition_PAK_DisplayName">
|
||||||
|
<English>Condition PAK</English>
|
||||||
|
<Czech>Podmínka osobní lékárničky</Czech>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Medical_AdvancedMedicalSettings_useCondition_PAK_Description">
|
||||||
|
<English>When can the Personal Aid Kit be used?</English>
|
||||||
|
<Czech>Kde může být použita osobní lékárnička?</Czech>
|
||||||
|
</Key>
|
||||||
<Key ID="STR_ACE_Medical_AdvancedMedicalSettings_anywhere">
|
<Key ID="STR_ACE_Medical_AdvancedMedicalSettings_anywhere">
|
||||||
<English>Anywhere</English>
|
<English>Anywhere</English>
|
||||||
<Russian>Где угодно</Russian>
|
<Russian>Где угодно</Russian>
|
||||||
@ -3286,6 +3296,14 @@
|
|||||||
<Czech>Kde může být použita chirurgická souprava?</Czech>
|
<Czech>Kde může být použita chirurgická souprava?</Czech>
|
||||||
<Portuguese>Onde o kit cirúrgico pode ser utilizado?</Portuguese>
|
<Portuguese>Onde o kit cirúrgico pode ser utilizado?</Portuguese>
|
||||||
</Key>
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Medical_AdvancedMedicalSettings_useCondition_SurgicalKit_DisplayName">
|
||||||
|
<English>Condition Surgical kit (Adv)</English>
|
||||||
|
<Czech>Podmínka chirurgické soupravy (Pokr.)</Czech>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Medical_AdvancedMedicalSettings_useCondition_SurgicalKit_Description">
|
||||||
|
<English>When can the Surgical kit be used?</English>
|
||||||
|
<Czech>Kde může být použita chirurgická souprava?</Czech>
|
||||||
|
</Key>
|
||||||
<Key ID="STR_ACE_Medical_AdvancedMedicalSettings_healHitPointAfterAdvBandage_DisplayName">
|
<Key ID="STR_ACE_Medical_AdvancedMedicalSettings_healHitPointAfterAdvBandage_DisplayName">
|
||||||
<English>Bloodstains</English>
|
<English>Bloodstains</English>
|
||||||
<German>Blutflecken</German>
|
<German>Blutflecken</German>
|
||||||
@ -3611,5 +3629,13 @@
|
|||||||
<Portuguese>Não</Portuguese>
|
<Portuguese>Não</Portuguese>
|
||||||
<Italian>No</Italian>
|
<Italian>No</Italian>
|
||||||
</Key>
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Medical_AnyTime">
|
||||||
|
<English>Anytime</English>
|
||||||
|
<Czech>Kdykoli</Czech>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Medical_Stable">
|
||||||
|
<English>Stable</English>
|
||||||
|
<Czech>Stabilní</Czech>
|
||||||
|
</Key>
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
@ -35,7 +35,7 @@ if ((_iconType == ICON_NAME_SPEAK) || (_iconType == ICON_SPEAK)) then {
|
|||||||
_alpha = _alpha max 0.6;//Boost alpha when speaking
|
_alpha = _alpha max 0.6;//Boost alpha when speaking
|
||||||
} else {
|
} else {
|
||||||
if (_iconType == ICON_NAME_RANK) then {
|
if (_iconType == ICON_NAME_RANK) then {
|
||||||
_icon = TEXTURES_RANKS select ((["PRIVATE", "CORPORAL", "SERGEANT", "LIEUTENANT", "CAPTAIN", "MAJOR", "COLONEL"] find (rank _target)) + 1);
|
_icon = format["\A3\Ui_f\data\GUI\Cfg\Ranks\%1_gs.paa",(toLower(rank _target))];
|
||||||
_size = 1;
|
_size = 1;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -16,15 +16,3 @@
|
|||||||
#define ICON_NAME_RANK 2
|
#define ICON_NAME_RANK 2
|
||||||
#define ICON_NAME_SPEAK 3
|
#define ICON_NAME_SPEAK 3
|
||||||
#define ICON_SPEAK 4
|
#define ICON_SPEAK 4
|
||||||
|
|
||||||
//todo?: custom rank icons??
|
|
||||||
#define TEXTURES_RANKS [ \
|
|
||||||
"", \
|
|
||||||
"\A3\Ui_f\data\GUI\Cfg\Ranks\private_gs.paa", \
|
|
||||||
"\A3\Ui_f\data\GUI\Cfg\Ranks\corporal_gs.paa", \
|
|
||||||
"\A3\Ui_f\data\GUI\Cfg\Ranks\sergeant_gs.paa", \
|
|
||||||
"\A3\Ui_f\data\GUI\Cfg\Ranks\lieutenant_gs.paa", \
|
|
||||||
"\A3\Ui_f\data\GUI\Cfg\Ranks\captain_gs.paa", \
|
|
||||||
"\A3\Ui_f\data\GUI\Cfg\Ranks\major_gs.paa", \
|
|
||||||
"\A3\Ui_f\data\GUI\Cfg\Ranks\colonel_gs.paa" \
|
|
||||||
]
|
|
@ -348,12 +348,14 @@
|
|||||||
<Spanish>Noticias ACE</Spanish>
|
<Spanish>Noticias ACE</Spanish>
|
||||||
<Portuguese>Notícias do ACE</Portuguese>
|
<Portuguese>Notícias do ACE</Portuguese>
|
||||||
<Polish>Wiadomości ACE</Polish>
|
<Polish>Wiadomości ACE</Polish>
|
||||||
|
<Czech>ACE Novinky</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_OptionsMenu_showNewsOnMainMenu_name">
|
<Key ID="STR_ACE_OptionsMenu_showNewsOnMainMenu_name">
|
||||||
<English>Show News on Main Menu</English>
|
<English>Show News on Main Menu</English>
|
||||||
<Spanish>Mostrar noticias en el menú principal</Spanish>
|
<Spanish>Mostrar noticias en el menú principal</Spanish>
|
||||||
<Portuguese>Mostrar notícias no menu principal</Portuguese>
|
<Portuguese>Mostrar notícias no menu principal</Portuguese>
|
||||||
<Polish>Pokazuj wiadomości ACE w menu głównym</Polish>
|
<Polish>Pokazuj wiadomości ACE w menu głównym</Polish>
|
||||||
|
<Czech>Zobrazit novinky v hlavním menu</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
@ -5,26 +5,31 @@
|
|||||||
<English>Sit Down</English>
|
<English>Sit Down</English>
|
||||||
<Polish>Usiądź</Polish>
|
<Polish>Usiądź</Polish>
|
||||||
<Portuguese>Sentar</Portuguese>
|
<Portuguese>Sentar</Portuguese>
|
||||||
|
<Czech>Sednout si</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Sitting_Stand">
|
<Key ID="STR_ACE_Sitting_Stand">
|
||||||
<English>Stand Up</English>
|
<English>Stand Up</English>
|
||||||
<Polish>Wstań</Polish>
|
<Polish>Wstań</Polish>
|
||||||
<Portuguese>Levantar</Portuguese>
|
<Portuguese>Levantar</Portuguese>
|
||||||
|
<Czech>Vstát</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Sitting_Enable">
|
<Key ID="STR_ACE_Sitting_Enable">
|
||||||
<English>Enable Sitting</English>
|
<English>Enable Sitting</English>
|
||||||
<Portuguese>Habilitar opção para sentar</Portuguese>
|
<Portuguese>Habilitar opção para sentar</Portuguese>
|
||||||
<Polish>Aktywuj siadanie</Polish>
|
<Polish>Aktywuj siadanie</Polish>
|
||||||
|
<Czech>Povolit sezení</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Sitting_ModuleDisplayName">
|
<Key ID="STR_ACE_Sitting_ModuleDisplayName">
|
||||||
<English>Sitting</English>
|
<English>Sitting</English>
|
||||||
<Portuguese>Sentado</Portuguese>
|
<Portuguese>Sentado</Portuguese>
|
||||||
<Polish>Siadanie</Polish>
|
<Polish>Siadanie</Polish>
|
||||||
|
<Czech>Sedící</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Sitting_ModuleDescription">
|
<Key ID="STR_ACE_Sitting_ModuleDescription">
|
||||||
<English>This module allows you to disable the ability to sit on chairs and toilets.</English>
|
<English>This module allows you to disable the ability to sit on chairs and toilets.</English>
|
||||||
<Portuguese>Este módulo permite que você desabilite a capacidade de sentar-se em cadeiras e banheiros.</Portuguese>
|
<Portuguese>Este módulo permite que você desabilite a capacidade de sentar-se em cadeiras e banheiros.</Portuguese>
|
||||||
<Polish>Moduł ten pozwala na włączenie lub wyłączenie możliwości siadania na krzesłach i toaletach.</Polish>
|
<Polish>Moduł ten pozwala na włączenie lub wyłączenie możliwości siadania na krzesłach i toaletach.</Polish>
|
||||||
|
<Czech>Tento modul dovoluje zakázat možnost sedět na židlých a toaletách.</Czech>
|
||||||
</Key>
|
</Key>
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
@ -4,107 +4,77 @@
|
|||||||
<Key ID="STR_ACE_Spectator_Module_DisplayName">
|
<Key ID="STR_ACE_Spectator_Module_DisplayName">
|
||||||
<English>Spectator</English>
|
<English>Spectator</English>
|
||||||
<Polish>Obserwator</Polish>
|
<Polish>Obserwator</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Pozorovatel</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_Enabled_DisplayName">
|
<Key ID="STR_ACE_Spectator_Enabled_DisplayName">
|
||||||
<English>Enable Spectator</English>
|
<English>Enable Spectator</English>
|
||||||
<Polish>Aktywuj obserwatora</Polish>
|
<Polish>Aktywuj obserwatora</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Povolit pozorovatele</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_Enabled_Description">
|
<Key ID="STR_ACE_Spectator_Enabled_Description">
|
||||||
<English>Begin spectating on player death?</English>
|
<English>Begin spectating on player death?</English>
|
||||||
<Polish>Włącz obserwatora po śmierci gracza?</Polish>
|
<Polish>Włącz obserwatora po śmierci gracza?</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Přepnout do pozorovatele po hráčově smrti?</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_PlayerSide_DisplayName">
|
<Key ID="STR_ACE_Spectator_PlayerSide_DisplayName">
|
||||||
<English>Player Side Only</English>
|
<English>Player Side Only</English>
|
||||||
<Polish>Tylko strona gracza</Polish>
|
<Polish>Tylko strona gracza</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Pouze strana hráče</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_PlayerSide_Description">
|
<Key ID="STR_ACE_Spectator_PlayerSide_Description">
|
||||||
<English>Only spectate units belonging to player's side?</English>
|
<English>Only spectate units belonging to player's side?</English>
|
||||||
<Polish>Pozwól obserwować jednostki będące tylko po stronie gracza?</Polish>
|
<Polish>Pozwól obserwować jednostki będące tylko po stronie gracza?</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Pozorovat pouze jednotky patřící k hráčově straně?</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_AI_DisplayName">
|
<Key ID="STR_ACE_Spectator_AI_DisplayName">
|
||||||
<English>Spectate AI</English>
|
<English>Spectate AI</English>
|
||||||
<Polish>Obserwacja AI</Polish>
|
<Polish>Obserwacja AI</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Pozorovat AI</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_AI_Description">
|
<Key ID="STR_ACE_Spectator_AI_Description">
|
||||||
<English>Allow spectating of AI units?</English>
|
<English>Allow spectating of AI units?</English>
|
||||||
<Polish>Pozwól obserwować jednostki AI?</Polish>
|
<Polish>Pozwól obserwować jednostki AI?</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Umožnit pozorovat AI jednotky?</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_Tracking_DisplayName">
|
<Key ID="STR_ACE_Spectator_Tracking_DisplayName">
|
||||||
<English>Track Units</English>
|
<English>Track Units</English>
|
||||||
<Polish>Śledź jednostki</Polish>
|
<Polish>Śledź jednostki</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Sledovat jednotky</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_Tracking_Description">
|
<Key ID="STR_ACE_Spectator_Tracking_Description">
|
||||||
<English>Track units' movements throughout mission?</English>
|
<English>Track units' movements throughout mission?</English>
|
||||||
<Polish>Śledź ruch jednostek w trakcie misji?</Polish>
|
<Polish>Śledź ruch jednostek w trakcie misji?</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Sledovat pohyby jednotek napříč misí?</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_Pos_DisplayName">
|
<Key ID="STR_ACE_Spectator_Pos_DisplayName">
|
||||||
<English>Start Position</English>
|
<English>Start Position</English>
|
||||||
<Polish>Pozycja startowa</Polish>
|
<Polish>Pozycja startowa</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Počáteční pozice</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_Pos_Description">
|
<Key ID="STR_ACE_Spectator_Pos_Description">
|
||||||
<English>Use this module as a starting position for spectator camera?</English>
|
<English>Use this module as a starting position for spectator camera?</English>
|
||||||
<Polish>Użyj pozycji modułu jako pozycje startową dla kamery obserwatora?</Polish>
|
<Polish>Użyj pozycji modułu jako pozycje startową dla kamery obserwatora?</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Použít tento modul jako počáteční pozici pro pozorovací kameru?</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_End_DisplayName">
|
<Key ID="STR_ACE_Spectator_End_DisplayName">
|
||||||
<English>End Mission</English>
|
<English>End Mission</English>
|
||||||
<Polish>Zakończ misję</Polish>
|
<Polish>Zakończ misję</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Konec mise</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_End_Description">
|
<Key ID="STR_ACE_Spectator_End_Description">
|
||||||
<English>End mission when all players dead (default BIS behaviour)?</English>
|
<English>End mission when all players dead (default BIS behaviour)?</English>
|
||||||
<Polish>Zakończ misję kiedy wszyscy gracze będą martwi (domyślne zachowanie BIS)?</Polish>
|
<Polish>Zakończ misję kiedy wszyscy gracze będą martwi (domyślne zachowanie BIS)?</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Ukončit misi když umřou všichni hráči (výchozí BIS chování)?</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_VD_Title">
|
<Key ID="STR_ACE_Spectator_VD_Title">
|
||||||
<English>View Distance</English>
|
<English>View Distance</English>
|
||||||
<Polish>Zasięg widzenia</Polish>
|
<Polish>Zasięg widzenia</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>Dohlednost</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Spectator_VD_Button">
|
<Key ID="STR_ACE_Spectator_VD_Button">
|
||||||
<English>OK</English>
|
<English>OK</English>
|
||||||
<Polish>OK</Polish>
|
<Polish>OK</Polish>
|
||||||
<Spanish></Spanish>
|
<Czech>OK</Czech>
|
||||||
<German></German>
|
|
||||||
<Czech></Czech>
|
|
||||||
</Key>
|
</Key>
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
@ -23,7 +23,7 @@ This page describes how you can setup your development environment for ACE3, all
|
|||||||
|
|
||||||
## 2. Why so complicated?
|
## 2. Why so complicated?
|
||||||
|
|
||||||
If you have contributed to AGM you might be used to an easier build process, where there was even an .exe you could use for building. ACE3, however, makes use of CBA macros to simplify things and give the developer access to a better debug process, which requires a stricter build environment. Additionally, Mikero's tools are stricter and report more errors than AddonBuilder does. The structure of this development environment also allows for [file patching](#file-patching), which is very useful for debugging.
|
If you have contributed to AGM you might be used to an easier build process, where there was even an .exe you could use for building. ACE3, however, makes use of CBA macros to simplify things and give the developer access to a better debug process, which requires a stricter build environment. Additionally, Mikero's tools are stricter and report more errors than AddonBuilder does. The structure of this development environment also allows for [file patching](#7-file-patching), which is very useful for debugging.
|
||||||
|
|
||||||
Not offering .exes for the Python scripts we use allows us to make easy changes without the hassle of compiling self-extracting exes all the time.
|
Not offering .exes for the Python scripts we use allows us to make easy changes without the hassle of compiling self-extracting exes all the time.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user