Merge branch 'master' into medicalImprovements

This commit is contained in:
Glowbal 2015-04-27 15:41:20 +02:00
commit b520a1072b
80 changed files with 1571 additions and 521 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@ release/*
texHeaders.bin texHeaders.bin
*.swp *.swp
*.swo *.swo
*.biprivatekey

View File

@ -17,7 +17,7 @@ Janus
Kieran Kieran
NouberNou NouberNou
PabstMirror <pabstmirror@gmail.com> PabstMirror <pabstmirror@gmail.com>
Ruthberg Ruthberg <ulteq@web.de>
tpM tpM
ViperMaul ViperMaul
VKing <kauestad@gmail.com> VKing <kauestad@gmail.com>
@ -33,6 +33,7 @@ Aggr094 <bastards4glory@gmail.com>
Anthariel <Contact@storm-simulation.com> Anthariel <Contact@storm-simulation.com>
BlackQwar BlackQwar
Brakoviejo Brakoviejo
Brisse <brisse@outlook.com>
Clon1998 <ps.patti1998@gmail.com> Clon1998 <ps.patti1998@gmail.com>
Codingboy Codingboy
Crusty Crusty
@ -69,7 +70,7 @@ Raspu86
Riccardo Petricca <petriccarcc@gmail.com> Riccardo Petricca <petriccarcc@gmail.com>
Robert Boklahánics <bokirobi@gmail.com> Robert Boklahánics <bokirobi@gmail.com>
ramius86 <pasini86@hotmail.com> ramius86 <pasini86@hotmail.com>
simon84 simon84 <badguy360th@gmail.com>
Sniperwolf572 <tenga6@gmail.com> Sniperwolf572 <tenga6@gmail.com>
Tachi <zaveruha007@gmail.com> Tachi <zaveruha007@gmail.com>
Tonic Tonic
@ -83,3 +84,4 @@ Asgar Serran <piechottaf@web.de>
Kavinsky <nmunozfernandez@gmail.com> Kavinsky <nmunozfernandez@gmail.com>
Coren <coren4@gmail.com> Coren <coren4@gmail.com>
OnkelDisMaster <onkeldismaster@gmail.com> OnkelDisMaster <onkeldismaster@gmail.com>
Dimaslg <dimaslg@telecable.e>

View File

@ -57,7 +57,7 @@ class ACE_Settings {
}; };
class GVAR(simulationRadius) { class GVAR(simulationRadius) {
displayName = "Simulation Radius"; displayName = "Simulation Radius";
description = "Defines the radius (in meters) in which advanced ballistics are applied"; description = "Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles";
typeName = "SCALAR"; typeName = "SCALAR";
value = 3000; value = 3000;
}; };

View File

@ -69,7 +69,7 @@ class CfgVehicles {
}; };
class simulationRadius { class simulationRadius {
displayName = "Simulation Radius"; displayName = "Simulation Radius";
description = "Defines the radius (in meters) in which advanced ballistics are applied"; description = "Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles";
typeName = "NUMBER"; typeName = "NUMBER";
defaultValue = 3000; defaultValue = 3000;
}; };

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="AdvancedBallistics"> <Package name="AdvancedBallistics">
<Key ID="STR_ACE_AdvancedBallistics_WindInfoKey"> <Key ID="STR_ACE_AdvancedBallistics_WindInfoKey">

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="ATragMX"> <Package name="ATragMX">
<Key ID="STR_ACE_ATragMX_Name"> <Key ID="STR_ACE_ATragMX_Name">

View File

@ -2,7 +2,7 @@
class CfgPatches { class CfgPatches {
class ADDON { class ADDON {
units[] = {"ACE_TargetWall"}; units[] = {"ACE_TargetWall","ACE_Box_Ammo"};
weapons[] = {}; weapons[] = {};
requiredVersion = REQUIRED_VERSION; requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"}; requiredAddons[] = {"ace_common"};

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="FlashSuppressors"> <Package name="FlashSuppressors">
<Key ID="STR_ACE_muzzle_mzls_H"> <Key ID="STR_ACE_muzzle_mzls_H">

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="Goggles"> <Package name="Goggles">
<Key ID="STR_ACE_Goggles_ShowInThirdPerson"> <Key ID="STR_ACE_Goggles_ShowInThirdPerson">

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="Grenades"> <Package name="Grenades">
<Key ID="STR_ACE_Grenades_SwitchGrenadeMode"> <Key ID="STR_ACE_Grenades_SwitchGrenadeMode">

View File

@ -7,7 +7,9 @@ _ctrl = _this select 0;
_index = _this select 1; _index = _this select 1;
_text = _this select 2; _text = _this select 2;
if (_text != Str(ARR_SELECT(GVAR(ParsedTextCached),_index,""))) then { //systemChat str (_text != ARR_SELECT(GVAR(ParsedTextCached),_index,"-1"));
if (_text != ARR_SELECT(GVAR(ParsedTextCached),_index,"-1")) then {
GVAR(ParsedTextCached) set [_index, _text]; GVAR(ParsedTextCached) set [_index, _text];
_ctrl ctrlSetStructuredText parseText _text; _ctrl ctrlSetStructuredText parseText _text;
}; };

View File

@ -30,6 +30,7 @@ if (_menuType == 0) then {
GVAR(keyDownTime) = diag_tickTime; GVAR(keyDownTime) = diag_tickTime;
GVAR(openedMenuType) = _menuType; GVAR(openedMenuType) = _menuType;
GVAR(lastTimeSearchedActions) = -1000; GVAR(lastTimeSearchedActions) = -1000;
GVAR(ParsedTextCached) = [];
GVAR(useCursorMenu) = (vehicle ACE_player != ACE_player) || GVAR(useCursorMenu) = (vehicle ACE_player != ACE_player) ||
visibleMap || visibleMap ||

View File

@ -119,6 +119,7 @@ if(!_foundTarget && GVAR(actionSelected)) then {
}; };
for "_i" from GVAR(iconCount) to (count GVAR(iconCtrls))-1 do { for "_i" from GVAR(iconCount) to (count GVAR(iconCtrls))-1 do {
ctrlDelete (GVAR(iconCtrls) select _i); ctrlDelete (GVAR(iconCtrls) select _i);
GVAR(ParsedTextCached) set [_i, ""];
}; };
GVAR(iconCtrls) resize GVAR(iconCount); GVAR(iconCtrls) resize GVAR(iconCount);
GVAR(iconCount) = 0; GVAR(iconCount) = 0;

View File

@ -32,9 +32,9 @@ if(_icon == "") then {
}; };
_text = if (GVAR(UseListMenu)) then { _text = if (GVAR(UseListMenu)) then {
format ["<img image='%1' color='%2' align='left'/><t color='%3' size='0.80' shadow='2' shadowColor='%4' shadowOffset='0.06'>%5</t>", _icon, _iconColor, _textColor, _shadowColor, _text] format ["<img image='%1' color='%2' align='left'/><t color='%3' size='0.80' shadow='1' shadowColor='%4' shadowOffset='0.06'>%5</t>", _icon, _iconColor, _textColor, _shadowColor, _text]
} else { } else {
format ["<img image='%1' color='%2' align='center'/><br/><t color='%3' size='0.80' align='center' shadow='2' shadowColor='%4' shadowOffset='0.06'>%5</t>", _icon, _iconColor, _textColor, _shadowColor, "ace_breakLine" callExtension _text]; format ["<img image='%1' color='%2' align='center'/><br/><t color='%3' size='0.80' align='center' shadow='1' shadowColor='%4' shadowOffset='0.06'>%5</t>", _icon, _iconColor, _textColor, _shadowColor, "ace_breakLine" callExtension _text];
}; };
//_ctrl ctrlSetStructuredText parseText _text; //_ctrl ctrlSetStructuredText parseText _text;

View File

@ -35,7 +35,7 @@ class CfgVehicles {
class ACE_TeamManagement { class ACE_TeamManagement {
displayName = "$STR_ACE_Interaction_TeamManagement"; displayName = "$STR_ACE_Interaction_TeamManagement";
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player} && {GVAR(EnableTeamManagement)}); condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {GVAR(EnableTeamManagement)});
statement = ""; statement = "";
showDisabled = 0; showDisabled = 0;
priority = 3.2; priority = 3.2;
@ -44,7 +44,7 @@ class CfgVehicles {
class ACE_JoinTeamRed { class ACE_JoinTeamRed {
displayName = "$STR_ACE_Interaction_JoinTeamRed"; displayName = "$STR_ACE_Interaction_JoinTeamRed";
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
statement = QUOTE([ARR_2(_target,'RED')] call DFUNC(joinTeam)); statement = QUOTE([ARR_2(_target,'RED')] call DFUNC(joinTeam));
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\team\team_red_ca.paa); icon = PATHTOF(UI\team\team_red_ca.paa);
@ -53,7 +53,7 @@ class CfgVehicles {
}; };
class ACE_JoinTeamGreen { class ACE_JoinTeamGreen {
displayName = "$STR_ACE_Interaction_JoinTeamGreen"; displayName = "$STR_ACE_Interaction_JoinTeamGreen";
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
statement = QUOTE([ARR_2(_target,'GREEN')] call DFUNC(joinTeam)); statement = QUOTE([ARR_2(_target,'GREEN')] call DFUNC(joinTeam));
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\team\team_green_ca.paa); icon = PATHTOF(UI\team\team_green_ca.paa);
@ -62,7 +62,7 @@ class CfgVehicles {
}; };
class ACE_JoinTeamBlue { class ACE_JoinTeamBlue {
displayName = "$STR_ACE_Interaction_JoinTeamBlue"; displayName = "$STR_ACE_Interaction_JoinTeamBlue";
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
statement = QUOTE([ARR_2(_target,'BLUE')] call DFUNC(joinTeam)); statement = QUOTE([ARR_2(_target,'BLUE')] call DFUNC(joinTeam));
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\team\team_blue_ca.paa); icon = PATHTOF(UI\team\team_blue_ca.paa);
@ -71,7 +71,7 @@ class CfgVehicles {
}; };
class ACE_JoinTeamYellow { class ACE_JoinTeamYellow {
displayName = "$STR_ACE_Interaction_JoinTeamYellow"; displayName = "$STR_ACE_Interaction_JoinTeamYellow";
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
statement = QUOTE([ARR_2(_target,'YELLOW')] call DFUNC(joinTeam)); statement = QUOTE([ARR_2(_target,'YELLOW')] call DFUNC(joinTeam));
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\team\team_yellow_ca.paa); icon = PATHTOF(UI\team\team_yellow_ca.paa);
@ -81,7 +81,7 @@ class CfgVehicles {
class ACE_LeaveTeam { class ACE_LeaveTeam {
displayName = "$STR_ACE_Interaction_LeaveTeam"; displayName = "$STR_ACE_Interaction_LeaveTeam";
condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player} && {assignedTeam _player != 'MAIN'}); condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {assignedTeam _player != 'MAIN'});
statement = QUOTE([ARR_2(_target,'MAIN')] call DFUNC(joinTeam)); statement = QUOTE([ARR_2(_target,'MAIN')] call DFUNC(joinTeam));
showDisabled = 1; showDisabled = 1;
icon = PATHTOF(UI\team\team_white_ca.paa); icon = PATHTOF(UI\team\team_white_ca.paa);
@ -92,8 +92,8 @@ class CfgVehicles {
class ACE_JoinGroup { class ACE_JoinGroup {
displayName = "$STR_ACE_Interaction_JoinGroup"; displayName = "$STR_ACE_Interaction_JoinGroup";
condition = QUOTE(side group _player == side group _target && {group _player != group _target}); condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinGroup));
statement = QUOTE([_player] joinSilent group _target;); statement = QUOTE([_player] joinSilent group _target);
showDisabled = 0; showDisabled = 0;
priority = 2.6; priority = 2.6;
icon = PATHTOF(UI\team\team_management_ca.paa); icon = PATHTOF(UI\team\team_management_ca.paa);
@ -223,7 +223,7 @@ class CfgVehicles {
displayName = "$STR_ACE_Interaction_JoinTeamBlue"; displayName = "$STR_ACE_Interaction_JoinTeamBlue";
condition = QUOTE(true); condition = QUOTE(true);
exceptions[] = {"isNotInside"}; exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_2(_player,'BLUE')] call FUNC(joinTeam)); statement = QUOTE([ARR_2(_player,'BLUE')] call DFUNC(joinTeam));
showDisabled = 1; showDisabled = 1;
priority = 2.2; priority = 2.2;
icon = PATHTOF(UI\team\team_blue_ca.paa); icon = PATHTOF(UI\team\team_blue_ca.paa);
@ -233,7 +233,7 @@ class CfgVehicles {
displayName = "$STR_ACE_Interaction_JoinTeamYellow"; displayName = "$STR_ACE_Interaction_JoinTeamYellow";
condition = QUOTE(true); condition = QUOTE(true);
exceptions[] = {"isNotInside"}; exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_2(_player,'YELLOW')] call FUNC(joinTeam)); statement = QUOTE([ARR_2(_player,'YELLOW')] call DFUNC(joinTeam));
showDisabled = 1; showDisabled = 1;
priority = 2.1; priority = 2.1;
icon = PATHTOF(UI\team\team_yellow_ca.paa); icon = PATHTOF(UI\team\team_yellow_ca.paa);
@ -244,7 +244,7 @@ class CfgVehicles {
displayName = "$STR_ACE_Interaction_LeaveTeam"; displayName = "$STR_ACE_Interaction_LeaveTeam";
condition = QUOTE(assignedTeam _player != 'MAIN'); condition = QUOTE(assignedTeam _player != 'MAIN');
exceptions[] = {"isNotInside"}; exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_2(_player,'MAIN')] call FUNC(joinTeam)); statement = QUOTE([ARR_2(_player,'MAIN')] call DFUNC(joinTeam));
showDisabled = 1; showDisabled = 1;
priority = 2.5; priority = 2.5;
icon = PATHTOF(UI\team\team_white_ca.paa); icon = PATHTOF(UI\team\team_white_ca.paa);
@ -252,9 +252,9 @@ class CfgVehicles {
}; };
class ACE_BecomeLeader { class ACE_BecomeLeader {
displayName = "$STR_ACE_Interaction_BecomeLeader"; displayName = "$STR_ACE_Interaction_BecomeLeader";
condition = QUOTE(_this call FUNC(canBecomeLeader)); condition = QUOTE(_this call DFUNC(canBecomeLeader));
exceptions[] = {"isNotInside"}; exceptions[] = {"isNotInside"};
statement = QUOTE(_this call FUNC(doBecomeLeader)); statement = QUOTE(_this call DFUNC(doBecomeLeader));
showDisabled = 1; showDisabled = 1;
priority = 1.0; priority = 1.0;
icon = PATHTOF(UI\team\team_white_ca.paa); icon = PATHTOF(UI\team\team_white_ca.paa);
@ -405,7 +405,7 @@ class CfgVehicles {
displayName = "$STR_ACE_Interaction_Passengers"; displayName = "$STR_ACE_Interaction_Passengers";
condition = "true"; condition = "true";
statement = ""; statement = "";
insertChildren = QUOTE(_this call FUNC(addPassengersActions)); insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
}; };
}; };
}; };
@ -423,7 +423,7 @@ class CfgVehicles {
displayName = "$STR_ACE_Interaction_Passengers"; displayName = "$STR_ACE_Interaction_Passengers";
condition = "true"; condition = "true";
statement = ""; statement = "";
insertChildren = QUOTE(_this call FUNC(addPassengersActions)); insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
}; };
}; };
}; };
@ -443,7 +443,7 @@ class CfgVehicles {
displayName = "$STR_ACE_Interaction_Passengers"; displayName = "$STR_ACE_Interaction_Passengers";
condition = "true"; condition = "true";
statement = ""; statement = "";
insertChildren = QUOTE(_this call FUNC(addPassengersActions)); insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
}; };
}; };
}; };
@ -461,7 +461,7 @@ class CfgVehicles {
displayName = "$STR_ACE_Interaction_Passengers"; displayName = "$STR_ACE_Interaction_Passengers";
condition = "true"; condition = "true";
statement = ""; statement = "";
insertChildren = QUOTE(_this call FUNC(addPassengersActions)); insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
}; };
}; };
}; };
@ -479,7 +479,7 @@ class CfgVehicles {
displayName = "$STR_ACE_Interaction_Push"; displayName = "$STR_ACE_Interaction_Push";
distance = 6; distance = 6;
condition = QUOTE(getMass _target < 1000 && {alive _target}); condition = QUOTE(getMass _target < 1000 && {alive _target});
statement = QUOTE([ARR_2(_target, [ARR_3(2 * (vectorDir _player select 0), 2 * (vectorDir _player select 1), 0.5)])] call FUNC(push);); statement = QUOTE([ARR_2(_target, [ARR_3(2 * (vectorDir _player select 0), 2 * (vectorDir _player select 1), 0.5)])] call DFUNC(push););
showDisabled = 0; showDisabled = 0;
priority = -1; priority = -1;
}; };
@ -490,7 +490,7 @@ class CfgVehicles {
displayName = "$STR_ACE_Interaction_Passengers"; displayName = "$STR_ACE_Interaction_Passengers";
condition = "true"; condition = "true";
statement = ""; statement = "";
insertChildren = QUOTE(_this call FUNC(addPassengersActions)); insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
}; };
}; };
}; };
@ -509,7 +509,7 @@ class CfgVehicles {
displayName = "$STR_ACE_Interaction_Passengers"; displayName = "$STR_ACE_Interaction_Passengers";
condition = "true"; condition = "true";
statement = ""; statement = "";
insertChildren = QUOTE(_this call FUNC(addPassengersActions)); insertChildren = QUOTE(_this call DFUNC(addPassengersActions));
}; };
}; };
}; };

View File

@ -8,6 +8,8 @@ PREP(addSelectableItem);
PREP(applyButtons); PREP(applyButtons);
PREP(canBecomeLeader); PREP(canBecomeLeader);
PREP(canInteractWithCivilian); PREP(canInteractWithCivilian);
PREP(canJoinGroup);
PREP(canJoinTeam);
PREP(canTapShoulder); PREP(canTapShoulder);
PREP(doBecomeLeader); PREP(doBecomeLeader);
PREP(getDoor); PREP(getDoor);

View File

@ -0,0 +1,12 @@
// by commy2
#include "script_component.hpp"
private ["_unit", "_target"];
_unit = _this select 0;
_target = _this select 1;
alive _target
&& {!(_target getVariable ["ACE_isUnconscious", false])}
&& {side group _unit == side group _target}
&& {group _unit != group _target}

View File

@ -0,0 +1,12 @@
// by commy2
#include "script_component.hpp"
private ["_unit", "_target"];
_unit = _this select 0;
_target = _this select 1;
alive _target
&& {!(_target getVariable ["ACE_isUnconscious", false])}
&& {!([_target] call EFUNC(common,isPlayer))}
&& {_target in units group _unit}

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="MagazineRepack"> <Package name="MagazineRepack">
<Key ID="STR_ACE_MagazineRepack_RepackMagazines"> <Key ID="STR_ACE_MagazineRepack_RepackMagazines">

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler - 2014-12-22 -->
<Project name="ACE"> <Project name="ACE">
<Package name="Map"> <Package name="Map">

View File

@ -66,13 +66,13 @@ class ACE_Head {
EXCEPTIONS EXCEPTIONS
}; };
class CheckResponse: CheckPulse { class CheckResponse: CheckPulse {
displayName = "Check Response"; displayName = "$STR_ACE_MEDICAL_CHECK_RESPONSE";
condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(treatment)); statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(treatment));
EXCEPTIONS EXCEPTIONS
}; };
class Diagnose: CheckPulse { class Diagnose: CheckPulse {
displayName = "Diagnose"; displayName = "$STR_ACE_MEDICAL_ACTIONS_Diagnose";
condition = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(treatment)); statement = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(treatment));
EXCEPTIONS EXCEPTIONS
@ -111,7 +111,7 @@ class ACE_Torso {
enableInside = 1; enableInside = 1;
}; };
class TriageCard { class TriageCard {
displayName = "Triage Card"; displayName = "$STR_ACE_MEDICAL_ACTIONS_TriageCard";
distance = 2.0; distance = 2.0;
condition = "true"; condition = "true";
statement = QUOTE([ARR_2(_target, true)] call DFUNC(displayTriageCard)); statement = QUOTE([ARR_2(_target, true)] call DFUNC(displayTriageCard));
@ -158,21 +158,21 @@ class ACE_Torso {
icon = PATHTOF(UI\icons\bandage.paa); icon = PATHTOF(UI\icons\bandage.paa);
}; };
class SurgicalKit: fieldDressing { class SurgicalKit: fieldDressing {
displayName = "Use Surgical Kit"; displayName = "$STR_ACE_MEDICAL_USE_SURGICALKIT";
condition = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(treatment)); statement = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(treatment));
EXCEPTIONS EXCEPTIONS
icon = PATHTOF(UI\icons\surgicalKit.paa); icon = PATHTOF(UI\icons\surgicalKit.paa);
}; };
class PersonalAidKit: fieldDressing { class PersonalAidKit: fieldDressing {
displayName = "Use Personal Aid Kit"; displayName = "$STR_ACE_MEDICAL_USE_AID_KIT";
condition = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(treatment)); statement = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(treatment));
EXCEPTIONS EXCEPTIONS
icon = ""; icon = "";
}; };
class CPR: fieldDressing { class CPR: fieldDressing {
displayName = "CPR"; displayName = "$STR_ACE_MEDICAL_ACTIONS_CPR";
condition = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(canTreatCached)); condition = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(treatment)); statement = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(treatment));
EXCEPTIONS EXCEPTIONS

View File

@ -72,8 +72,8 @@ class ACE_Medical_Actions {
litter[] = {}; litter[] = {};
}; };
class Diagnose: Bandage { class Diagnose: Bandage {
displayName = "Diagnose"; displayName = "$STR_ACE_MEDICAL_ACTIONS_Diagnose";
displayNameProgress = "Diagnosing..."; displayNameProgress = "$STR_ACE_MEDICAL_ACTIONS_Diagnosing";
treatmentLocations[] = {"All"}; treatmentLocations[] = {"All"};
requiredMedic = 0; requiredMedic = 0;
treatmentTime = 1; treatmentTime = 1;
@ -250,8 +250,8 @@ class ACE_Medical_Actions {
condition = QUOTE([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo)); condition = QUOTE([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo));
}; };
class CPR: fieldDressing { class CPR: fieldDressing {
displayName = "CPR"; displayName = "$STR_ACE_MEDICAL_ACTIONS_CPR";
displayNameProgress = "Performing CPR"; displayNameProgress = "$STR_ACE_MEDICAL_ACTIONS_PerformingCPR";
treatmentLocations[] = {"All"}; treatmentLocations[] = {"All"};
requiredMedic = 0; requiredMedic = 0;
treatmentTime = 15; treatmentTime = 15;
@ -297,23 +297,26 @@ class ACE_Medical_Advanced {
// Source: Scarle // Source: Scarle
// Also called scrapes, they occur when the skin is rubbed away by friction against another rough surface (e.g. rope burns and skinned knees). // Also called scrapes, they occur when the skin is rubbed away by friction against another rough surface (e.g. rope burns and skinned knees).
class Abrasion { class Abrasion {
name = "Scrape"; name = "$STR_ACE_Medical_Wounds_Abrasion";
selections[] = {"All"}; selections[] = {"All"};
bleedingRate = 0.0001; bleedingRate = 0.0001;
pain = 0.01; pain = 0.01;
causes[] = {"falling", "ropeburn", "vehiclecrash", "unknown"}; causes[] = {"falling", "ropeburn", "vehiclecrash", "unknown"};
minDamage = 0.01; minDamage = 0.01;
class Minor { class Minor {
name = "$STR_ACE_Medical_Wounds_Abrasion_Minor";
minDamage = 0.01; minDamage = 0.01;
maxDamage = 0.2; maxDamage = 0.2;
bleedingRate = 0.0001; bleedingRate = 0.0001;
}; };
class Medium { class Medium {
name = "$STR_ACE_Medical_Wounds_Abrasion_Medium";
minDamage = 0.2; minDamage = 0.2;
maxDamage = 0.3; maxDamage = 0.3;
bleedingRate = 0.00015; bleedingRate = 0.00015;
}; };
class Large { class Large {
name = "$STR_ACE_Medical_Wounds_Abrasion_Large";
minDamage = 0.3; minDamage = 0.3;
bleedingRate = 0.0002; bleedingRate = 0.0002;
}; };
@ -321,23 +324,26 @@ class ACE_Medical_Advanced {
// Occur when an entire structure or part of it is forcibly pulled away, such as the loss of a permanent tooth or an ear lobe. Explosions, gunshots, and animal bites may cause avulsions. // Occur when an entire structure or part of it is forcibly pulled away, such as the loss of a permanent tooth or an ear lobe. Explosions, gunshots, and animal bites may cause avulsions.
class Avulsions { class Avulsions {
name = "Avulsion"; name = "$STR_ACE_Medical_Wounds_Avulsion";
selections[] = {"All"}; selections[] = {"All"};
bleedingRate = 0.01; bleedingRate = 0.01;
pain = 0.3; pain = 0.3;
causes[] = {"explosive", "vehiclecrash", "grenade", "shell", "bullet", "backblast", "bite"}; causes[] = {"explosive", "vehiclecrash", "grenade", "shell", "bullet", "backblast", "bite"};
minDamage = 0.2; minDamage = 0.2;
class Minor { class Minor {
name = "$STR_ACE_Medical_Wounds_Avulsion_Minor";
minDamage = 0.2; minDamage = 0.2;
maxDamage = 0.3; maxDamage = 0.3;
bleedingRate = 0.01; bleedingRate = 0.01;
}; };
class Medium { class Medium {
name = "$STR_ACE_Medical_Wounds_Avulsion_Medium";
minDamage = 0.3; minDamage = 0.3;
maxDamage = 0.6; maxDamage = 0.6;
bleedingRate = 0.02; bleedingRate = 0.02;
}; };
class Large { class Large {
name = "$STR_ACE_Medical_Wounds_Avulsion_Large";
minDamage = 0.5; minDamage = 0.5;
bleedingRate = 0.05; bleedingRate = 0.05;
}; };
@ -345,22 +351,25 @@ class ACE_Medical_Advanced {
// Also called bruises, these are the result of a forceful trauma that injures an internal structure without breaking the skin. Blows to the chest, abdomen, or head with a blunt instrument (e.g. a football or a fist) can cause contusions. // Also called bruises, these are the result of a forceful trauma that injures an internal structure without breaking the skin. Blows to the chest, abdomen, or head with a blunt instrument (e.g. a football or a fist) can cause contusions.
class Contusion { class Contusion {
name = "Bruise"; name = "$STR_ACE_Medical_Wounds_Contusion";
selections[] = {"All"}; selections[] = {"All"};
bleedingRate = 0.0; bleedingRate = 0.0;
pain = 0.05; pain = 0.05;
causes[] = {"bullet", "backblast", "punch","vehiclecrash","falling"}; causes[] = {"bullet", "backblast", "punch", "vehiclecrash", "falling"};
minDamage = 0.01; minDamage = 0.01;
maxDamage = 0.1; maxDamage = 0.1;
class Minor { class Minor {
name = "$STR_ACE_Medical_Wounds_Contusion_Minor";
minDamage = 0.01; minDamage = 0.01;
maxDamage = 0.1; maxDamage = 0.1;
}; };
class Medium { class Medium {
name = "$STR_ACE_Medical_Wounds_Contusion_Medium";
minDamage = 0.1; minDamage = 0.1;
maxDamage = 0.15; maxDamage = 0.15;
}; };
class Large { class Large {
name = "$STR_ACE_Medical_Wounds_Contusion_Large";
minDamage = 0.15; minDamage = 0.15;
maxDamage = 0.2; maxDamage = 0.2;
}; };
@ -368,23 +377,26 @@ class ACE_Medical_Advanced {
// Occur when a heavy object falls onto a person, splitting the skin and shattering or tearing underlying structures. // Occur when a heavy object falls onto a person, splitting the skin and shattering or tearing underlying structures.
class CrushWound { class CrushWound {
name = "Crushed tissue"; name = "$STR_ACE_Medical_Wounds_Crush";
selections[] = {"All"}; selections[] = {"All"};
bleedingRate = 0.01; bleedingRate = 0.01;
pain = 0.1; pain = 0.1;
causes[] = {"falling", "vehiclecrash", "punch", "unknown"}; causes[] = {"falling", "vehiclecrash", "punch", "unknown"};
minDamage = 0.1; minDamage = 0.1;
class Minor { class Minor {
name = "$STR_ACE_Medical_Wounds_Crush_Minor";
minDamage = 0.1; minDamage = 0.1;
maxDamage = 0.45; maxDamage = 0.45;
bleedingRate = 0.005; bleedingRate = 0.005;
}; };
class Medium { class Medium {
name = "$STR_ACE_Medical_Wounds_Crush_Medium";
minDamage = 0.4; minDamage = 0.4;
maxDamage = 0.7; maxDamage = 0.7;
bleedingRate = 0.007; bleedingRate = 0.007;
}; };
class Large { class Large {
name = "$STR_ACE_Medical_Wounds_Crush_Large";
minDamage = 0.6; minDamage = 0.6;
bleedingRate = 0.0095; bleedingRate = 0.0095;
}; };
@ -392,23 +404,26 @@ class ACE_Medical_Advanced {
// Slicing wounds made with a sharp instrument, leaving even edges. They may be as minimal as a paper cut or as significant as a surgical incision. // Slicing wounds made with a sharp instrument, leaving even edges. They may be as minimal as a paper cut or as significant as a surgical incision.
class Cut { class Cut {
name = "Cut"; name = "$STR_ACE_Medical_Wounds_Cut";
selections[] = {"All"}; selections[] = {"All"};
bleedingRate = 0.01; bleedingRate = 0.01;
pain = 0.075; pain = 0.075;
causes[] = {"vehiclecrash", "grenade", "explosive", "shell", "backblast", "stab", "unknown"}; causes[] = {"vehiclecrash", "grenade", "explosive", "shell", "backblast", "stab", "unknown"};
minDamage = 0.1; minDamage = 0.1;
class Minor { class Minor {
name = "$STR_ACE_Medical_Wounds_Cut_Minor";
minDamage = 0.1; minDamage = 0.1;
maxDamage = 0.3; maxDamage = 0.3;
bleedingRate = 0.005; bleedingRate = 0.005;
}; };
class Medium { class Medium {
name = "$STR_ACE_Medical_Wounds_Cut_Medium";
minDamage = 0.3; minDamage = 0.3;
maxDamage = 0.65; maxDamage = 0.65;
bleedingRate = 0.02; bleedingRate = 0.02;
}; };
class Large { class Large {
name = "$STR_ACE_Medical_Wounds_Cut_Large";
minDamage = 0.65; minDamage = 0.65;
bleedingRate = 0.05; bleedingRate = 0.05;
}; };
@ -416,23 +431,26 @@ class ACE_Medical_Advanced {
// Also called tears, these are separating wounds that produce ragged edges. They are produced by a tremendous force against the body, either from an internal source as in childbirth, or from an external source like a punch. // Also called tears, these are separating wounds that produce ragged edges. They are produced by a tremendous force against the body, either from an internal source as in childbirth, or from an external source like a punch.
class Laceration { class Laceration {
name = "Tear"; name = "$STR_ACE_Medical_Wounds_Laceration";
selections[] = {"All"}; selections[] = {"All"};
bleedingRate = 0.01; bleedingRate = 0.01;
pain = 0.075; pain = 0.075;
causes[] = {"vehiclecrash", "punch"}; causes[] = {"vehiclecrash", "punch"};
minDamage = 0.01; minDamage = 0.01;
class Minor { class Minor {
name = "$STR_ACE_Medical_Wounds_Laceration_Minor";
minDamage = 0.1; minDamage = 0.1;
maxDamage = 0.5; maxDamage = 0.5;
bleedingRate = 0.005; bleedingRate = 0.005;
}; };
class Medium { class Medium {
name = "$STR_ACE_Medical_Wounds_Laceration_Medium";
minDamage = 0.5; minDamage = 0.5;
maxDamage = 0.7; maxDamage = 0.7;
bleedingRate = 0.01; bleedingRate = 0.01;
}; };
class Large { class Large {
name = "$STR_ACE_Medical_Wounds_Laceration_Large";
minDamage = 0.7; minDamage = 0.7;
bleedingRate = 0.03; bleedingRate = 0.03;
}; };
@ -440,22 +458,25 @@ class ACE_Medical_Advanced {
// Also called velocity wounds, they are caused by an object entering the body at a high speed, typically a bullet or small peices of shrapnel. // Also called velocity wounds, they are caused by an object entering the body at a high speed, typically a bullet or small peices of shrapnel.
class velocityWound { class velocityWound {
name = "Velocity Wound"; name = "$STR_ACE_Medical_Wounds_VelocityWound";
selections[] = {"All"}; selections[] = {"All"};
bleedingRate = 0.01; bleedingRate = 0.01;
pain = 0.2; pain = 0.2;
causes[] = {"bullet", "grenade","explosive", "shell", "unknown"}; causes[] = {"bullet", "grenade","explosive", "shell", "unknown"};
minDamage = 0.15; minDamage = 0.15;
class Minor { class Minor {
name = "$STR_ACE_Medical_Wounds_VelocityWound_Minor";
minDamage = 0.15; minDamage = 0.15;
maxDamage = 0.3; maxDamage = 0.3;
bleedingRate = 0.025; bleedingRate = 0.025;
}; };
class Medium { class Medium {
name = "$STR_ACE_Medical_Wounds_VelocityWound_Medium";
minDamage = 0.3; minDamage = 0.3;
bleedingRate = 0.05; bleedingRate = 0.05;
}; };
class Large { class Large {
name = "$STR_ACE_Medical_Wounds_VelocityWound_Large";
minDamage = 0.75; minDamage = 0.75;
bleedingRate = 0.1; bleedingRate = 0.1;
}; };
@ -463,23 +484,26 @@ class ACE_Medical_Advanced {
// Deep, narrow wounds produced by sharp objects such as nails, knives, and broken glass. // Deep, narrow wounds produced by sharp objects such as nails, knives, and broken glass.
class punctureWound { class punctureWound {
name = "Puncture Wound"; name = "$STR_ACE_Medical_Wounds_PunctureWound";
selections[] = {"All"}; selections[] = {"All"};
bleedingRate = 0.01; bleedingRate = 0.01;
pain = 0.075; pain = 0.075;
causes[] = {"stab", "grenade"}; causes[] = {"stab", "grenade"};
minDamage = 0.01; minDamage = 0.01;
class Minor { class Minor {
name = "$STR_ACE_Medical_Wounds_PunctureWound_Minor";
minDamage = 0.01; minDamage = 0.01;
maxDamage = 0.5; maxDamage = 0.5;
bleedingRate = 0.01; bleedingRate = 0.01;
}; };
class Medium { class Medium {
name = "$STR_ACE_Medical_Wounds_PunctureWound_Medium";
minDamage = 0.5; minDamage = 0.5;
maxDamage = 0.75; maxDamage = 0.75;
bleedingRate = 0.03; bleedingRate = 0.03;
}; };
class Large { class Large {
name = "$STR_ACE_Medical_Wounds_PunctureWound_Large";
minDamage = 0.65; minDamage = 0.65;
bleedingRate = 0.08; bleedingRate = 0.08;
}; };
@ -487,7 +511,7 @@ class ACE_Medical_Advanced {
}; };
class fractures { class fractures {
class Femur { class Femur {
name = "Broken Femur"; name = "$STR_ACE_Medical_Wounds_Femur";
selections[] = {"Head", "Torso"}; selections[] = {"Head", "Torso"};
pain = 0.2; pain = 0.2;
causes[] = {"Bullet", "VehicleCrash", "Backblast", "Explosive", "Shell", "Grenade"}; causes[] = {"Bullet", "VehicleCrash", "Backblast", "Explosive", "Shell", "Grenade"};

View File

@ -33,9 +33,6 @@ class CfgWeapons {
}; };
class ACE_packingBandage: ACE_ItemCore { class ACE_packingBandage: ACE_ItemCore {
scope = 2; scope = 2;
value = 1;
count = 1;
type = 16;
displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY; displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY;
picture = QUOTE(PATHTOF(ui\items\packingBandage_x_ca.paa)); picture = QUOTE(PATHTOF(ui\items\packingBandage_x_ca.paa));
model = QUOTE(PATHTOF(data\packingbandage.p3d)); model = QUOTE(PATHTOF(data\packingbandage.p3d));
@ -47,9 +44,6 @@ class CfgWeapons {
}; };
class ACE_elasticBandage: ACE_ItemCore { class ACE_elasticBandage: ACE_ItemCore {
scope = 2; scope = 2;
value = 1;
count = 1;
type = 16;
displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY; displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY;
picture = QUOTE(PATHTOF(ui\items\elasticBandage_x_ca.paa)); picture = QUOTE(PATHTOF(ui\items\elasticBandage_x_ca.paa));
model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d"; model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d";
@ -61,9 +55,6 @@ class CfgWeapons {
}; };
class ACE_tourniquet: ACE_ItemCore { class ACE_tourniquet: ACE_ItemCore {
scope = 2; scope = 2;
value = 1;
count = 1;
type = 16;
displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY; displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY;
picture = QUOTE(PATHTOF(ui\items\tourniquet_x_ca.paa)); picture = QUOTE(PATHTOF(ui\items\tourniquet_x_ca.paa));
model = QUOTE(PATHTOF(data\tourniquet.p3d)); model = QUOTE(PATHTOF(data\tourniquet.p3d));
@ -75,9 +66,6 @@ class CfgWeapons {
}; };
class ACE_morphine: ACE_ItemCore { class ACE_morphine: ACE_ItemCore {
scope = 2; scope = 2;
value = 1;
count = 1;
type = 16;
displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY; displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY;
picture = QUOTE(PATHTOF(ui\items\morphine_x_ca.paa)); picture = QUOTE(PATHTOF(ui\items\morphine_x_ca.paa));
model = QUOTE(PATHTOF(data\morphine.p3d)); model = QUOTE(PATHTOF(data\morphine.p3d));
@ -89,9 +77,6 @@ class CfgWeapons {
}; };
class ACE_atropine: ACE_ItemCore { class ACE_atropine: ACE_ItemCore {
scope = 2; scope = 2;
value = 1;
count = 1;
type = 16;
displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY; displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY;
picture = QUOTE(PATHTOF(ui\items\atropine_x_ca.paa)); picture = QUOTE(PATHTOF(ui\items\atropine_x_ca.paa));
model = QUOTE(PATHTOF(data\atropine.p3d)); model = QUOTE(PATHTOF(data\atropine.p3d));
@ -104,9 +89,6 @@ class CfgWeapons {
}; };
class ACE_epinephrine: ACE_ItemCore { class ACE_epinephrine: ACE_ItemCore {
scope = 2; scope = 2;
value = 1;
count = 1;
type = 16;
displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY; displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY;
picture = QUOTE(PATHTOF(ui\items\epinephrine_x_ca.paa)); picture = QUOTE(PATHTOF(ui\items\epinephrine_x_ca.paa));
model = QUOTE(PATHTOF(data\epinephrine.p3d)); model = QUOTE(PATHTOF(data\epinephrine.p3d));
@ -118,8 +100,6 @@ class CfgWeapons {
}; };
class ACE_plasmaIV: ACE_ItemCore { class ACE_plasmaIV: ACE_ItemCore {
scope = 2; scope = 2;
value = 1;
count = 1;
displayName = $STR_ACE_MEDICAL_PLASMA_IV; displayName = $STR_ACE_MEDICAL_PLASMA_IV;
picture = QUOTE(PATHTOF(ui\items\plasmaIV_x_ca.paa)); picture = QUOTE(PATHTOF(ui\items\plasmaIV_x_ca.paa));
descriptionShort = $STR_ACE_MEDICAL_PLASMA_IV_DESC_SHORT; descriptionShort = $STR_ACE_MEDICAL_PLASMA_IV_DESC_SHORT;
@ -142,8 +122,6 @@ class CfgWeapons {
}; };
class ACE_bloodIV: ACE_ItemCore { class ACE_bloodIV: ACE_ItemCore {
scope = 2; scope = 2;
value = 1;
count = 1;
model = "\A3\Structures_F_EPA\Items\Medical\BloodBag_F.p3d"; model = "\A3\Structures_F_EPA\Items\Medical\BloodBag_F.p3d";
displayName = $STR_ACE_MEDICAL_BLOOD_IV; displayName = $STR_ACE_MEDICAL_BLOOD_IV;
picture = QUOTE(PATHTOF(ui\items\bloodIV_x_ca.paa)); picture = QUOTE(PATHTOF(ui\items\bloodIV_x_ca.paa));
@ -167,8 +145,6 @@ class CfgWeapons {
}; };
class ACE_salineIV: ACE_ItemCore { class ACE_salineIV: ACE_ItemCore {
scope = 2; scope = 2;
value = 1;
count = 1;
displayName = $STR_ACE_MEDICAL_SALINE_IV; displayName = $STR_ACE_MEDICAL_SALINE_IV;
picture = QUOTE(PATHTOF(ui\items\salineIV_x_ca.paa)); picture = QUOTE(PATHTOF(ui\items\salineIV_x_ca.paa));
descriptionShort = $STR_ACE_MEDICAL_SALINE_IV_DESC_SHORT; descriptionShort = $STR_ACE_MEDICAL_SALINE_IV_DESC_SHORT;
@ -191,9 +167,6 @@ class CfgWeapons {
}; };
class ACE_quikclot: ACE_ItemCore { class ACE_quikclot: ACE_ItemCore {
scope = 2; scope = 2;
value = 1;
count = 1;
type = 16;
displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY; displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY;
picture = QUOTE(PATHTOF(ui\items\quickclot_x_ca.paa)); picture = QUOTE(PATHTOF(ui\items\quickclot_x_ca.paa));
descriptionShort = $STR_ACE_MEDICAL_QUIKCLOT_DESC_SHORT; descriptionShort = $STR_ACE_MEDICAL_QUIKCLOT_DESC_SHORT;
@ -204,9 +177,6 @@ class CfgWeapons {
}; };
class ACE_personalAidKit: ACE_ItemCore { class ACE_personalAidKit: ACE_ItemCore {
scope = 2; scope = 2;
value = 1;
count = 1;
type = 16;
displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY; displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY;
picture = QUOTE(PATHTOF(ui\items\personal_aid_kit_x_ca.paa)); picture = QUOTE(PATHTOF(ui\items\personal_aid_kit_x_ca.paa));
descriptionShort = $STR_ACE_MEDICAL_AID_KIT_DESC_SHORT; descriptionShort = $STR_ACE_MEDICAL_AID_KIT_DESC_SHORT;

View File

@ -2,7 +2,7 @@
class CfgPatches { class CfgPatches {
class ADDON { class ADDON {
units[] = {"ACE_medicalSupplyCrate", "ACE_fieldDressingItem", "ACE_packingBandageItem", "ACE_elasticBandageItem", "ACE_tourniquetItem", "ACE_morphineItem", "ACE_atropineItem", "ACE_epinephrineItem", "ACE_plasmaIVItem", "ACE_bloodIVItem", "ACE_salineIVItem", "ACE_quikclotItem", "ACE_personalAidKitItem", "ACE_surgicalKitItem", "ACE_bodyBagItem", "ACE_bodyBagObject"}; units[] = {"ACE_medicalSupplyCrate", "ACE_medicalSupplyCrate_advanced", "ACE_fieldDressingItem", "ACE_packingBandageItem", "ACE_elasticBandageItem", "ACE_tourniquetItem", "ACE_morphineItem", "ACE_atropineItem", "ACE_epinephrineItem", "ACE_plasmaIVItem", "ACE_bloodIVItem", "ACE_salineIVItem", "ACE_quikclotItem", "ACE_personalAidKitItem", "ACE_surgicalKitItem", "ACE_bodyBagItem", "ACE_bodyBagObject"};
weapons[] = {"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_tourniquet", "ACE_morphine", "ACE_atropine", "ACE_epinephrine", "ACE_plasmaIV", "ACE_plasmaIV_500", "ACE_plasmaIV_250", "ACE_bloodIV", "ACE_bloodIV_500", "ACE_bloodIV_250", "ACE_salineIV", "ACE_salineIV_500", "ACE_salineIV_250", "ACE_quikclot", "ACE_personalAidKit", "ACE_surgicalKit", "ACE_bodyBag"}; weapons[] = {"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_tourniquet", "ACE_morphine", "ACE_atropine", "ACE_epinephrine", "ACE_plasmaIV", "ACE_plasmaIV_500", "ACE_plasmaIV_250", "ACE_bloodIV", "ACE_bloodIV_500", "ACE_bloodIV_250", "ACE_salineIV", "ACE_salineIV_500", "ACE_salineIV_250", "ACE_quikclot", "ACE_personalAidKit", "ACE_surgicalKit", "ACE_bodyBag"};
requiredVersion = REQUIRED_VERSION; requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_interaction","ace_modules"}; requiredAddons[] = {"ace_interaction","ace_modules"};

View File

@ -33,20 +33,20 @@ if ([_caller] call FUNC(isMedic)) then {
} else { } else {
if (_bloodPressureHigh > 20) then { if (_bloodPressureHigh > 20) then {
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_2"; _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_2";
_logOutPut = "Low"; _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOW";
if (_bloodPressureHigh > 100) then { if (_bloodPressureHigh > 100) then {
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_3"; _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_3";
_logOutPut = "Normal"; _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NORMAL";
if (_bloodPressureHigh > 160) then { if (_bloodPressureHigh > 160) then {
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_4"; _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_4";
_logOutPut = "High"; _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_HIGH";
}; };
}; };
} else { } else {
if (random(10) > 3) then { if (random(10) > 3) then {
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_5"; _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_5";
_logOutPut = "No Blood Pressure"; _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NOBLOODPRESSURE";
} else { } else {
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_6"; _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_6";
}; };
@ -56,5 +56,5 @@ if ([_caller] call FUNC(isMedic)) then {
["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller]] call EFUNC(common,targetEvent); ["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller]] call EFUNC(common,targetEvent);
if (_logOutPut != "") then { if (_logOutPut != "") then {
[_target,"activity", "%1 checked Blood Pressure: %2", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); [_target,"activity", localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOG", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog);
}; };

View File

@ -33,14 +33,14 @@ if (_heartRate > 1.0) then {
} else { } else {
// non medical personel will only find a pulse/HR // non medical personel will only find a pulse/HR
_heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_2"; _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_2";
_logOutPut = "Weak"; _logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_WEAK";
if (_heartRate > 60) then { if (_heartRate > 60) then {
if (_heartRate > 100) then { if (_heartRate > 100) then {
_heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_3"; _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_3";
_logOutPut = "Strong"; _logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_STRONG";
} else { } else {
_heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_4"; _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_4";
_logOutPut = "Normal"; _logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_NORMAL";
}; };
}; };
}; };
@ -49,5 +49,5 @@ if (_heartRate > 1.0) then {
["displayTextStructured", [_caller], [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller]] call EFUNC(common,targetEvent); ["displayTextStructured", [_caller], [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller]] call EFUNC(common,targetEvent);
if (_logOutPut != "") then { if (_logOutPut != "") then {
[_unit,"activity","%1 checked Heart Rate: %2",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); [_unit,"activity", localize "STR_ACE_MEDICAL_CHECK_PULSE_LOG",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog);
}; };

View File

@ -186,7 +186,7 @@ if (_show) then {
_lbCtrl lbSetColor [_foreachIndex + _amountOfGeneric, _x select 1]; _lbCtrl lbSetColor [_foreachIndex + _amountOfGeneric, _x select 1];
}foreach _allInjuryTexts; }foreach _allInjuryTexts;
if (count _allInjuryTexts == 0) then { if (count _allInjuryTexts == 0) then {
_lbCtrl lbAdd "No injuries on this bodypart.."; _lbCtrl lbAdd (localize "STR_ACE_Medical_NoInjuriesBodypart");
}; };
_logCtrl = (_display displayCtrl 302); _logCtrl = (_display displayCtrl 302);

View File

@ -58,7 +58,7 @@ if (_show) then {
}foreach _log; }foreach _log;
if (count _triageCardTexts == 0) then { if (count _triageCardTexts == 0) then {
_lbCtrl lbAdd "No entries on this triage card.."; _lbCtrl lbAdd (localize "STR_ACE_MEDICAL_TriageCard_NoEntry");
}; };
{ {
_lbCtrl lbAdd _x; _lbCtrl lbAdd _x;

View File

@ -26,7 +26,7 @@ if !(_set) exitwith {
_unit setvariable ["ACE_isUnconscious", false, true]; _unit setvariable ["ACE_isUnconscious", false, true];
}; };
if !(!(isNull _unit) && {(_unit isKindOf "CaManBase") && ([_unit] call EFUNC(common,isAwake))}) exitwith{}; if !(!(isNull _unit) && {(_unit isKindOf "CAManBase") && ([_unit] call EFUNC(common,isAwake))}) exitwith{};
if (!local _unit) exitwith { if (!local _unit) exitwith {
[[_unit], QUOTE(DFUNC(setUnconscious)), _unit, false] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ [[_unit], QUOTE(DFUNC(setUnconscious)), _unit, false] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
@ -86,4 +86,7 @@ _startingTime = time;
[DFUNC(unconsciousPFH), 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler; [DFUNC(unconsciousPFH), 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler;
// unconscious can't talk
[_unit, "isUnconscious"] call EFUNC(common,muteUnit);
["medical_onUnconscious", [_unit, true]] call EFUNC(common,globalEvent); ["medical_onUnconscious", [_unit, true]] call EFUNC(common,globalEvent);

View File

@ -31,6 +31,8 @@ if (!alive _unit) exitwith {
[_unit, false] call EFUNC(common,disableAI); [_unit, false] call EFUNC(common,disableAI);
//_unit setUnitPos _originalPos; //_unit setUnitPos _originalPos;
_unit setUnconscious false; _unit setUnconscious false;
[_unit, "isUnconscious"] call EFUNC(common,unmuteUnit);
["medical_onUnconscious", [_unit, false]] call EFUNC(common,globalEvent); ["medical_onUnconscious", [_unit, false]] call EFUNC(common,globalEvent);
[(_this select 1)] call cba_fnc_removePerFrameHandler; [(_this select 1)] call cba_fnc_removePerFrameHandler;
@ -71,6 +73,8 @@ if !(_unit getvariable ["ACE_isUnconscious",false]) exitwith {
_unit setUnconscious false; _unit setUnconscious false;
[_unit, "isUnconscious"] call EFUNC(common,unmuteUnit);
// ensure this statement runs only once // ensure this statement runs only once
_args set [5, true]; _args set [5, true];
}; };

View File

@ -1,6 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="Medical"> <Package name="Medical">
<Key ID="STR_ACE_Medical_Injuries">
<English>INJURIES</English>
<German>VERLETZUNGEN</German>
</Key>
<Key ID="STR_ACE_Medical_NoInjuriesBodypart">
<English>No injuries on this bodypart ...</English>
<German>Körperteil nicht verletzt ...</German>
</Key>
<Key ID="STR_ACE_Medical_litterSimulationDetail"> <Key ID="STR_ACE_Medical_litterSimulationDetail">
<English>Litter Simulation Detail</English> <English>Litter Simulation Detail</English>
<Polish>Detale zużytych medykamentów</Polish> <Polish>Detale zużytych medykamentów</Polish>
@ -84,7 +92,7 @@
</Key> </Key>
<Key ID="STR_ACE_Medical_Apply_Tourniquet"> <Key ID="STR_ACE_Medical_Apply_Tourniquet">
<English>Apply Tourniquet</English> <English>Apply Tourniquet</English>
<German>Aderpresse anwenden</German> <German>Tourniquet anwenden</German>
<Spanish>Aplicar torniquete</Spanish> <Spanish>Aplicar torniquete</Spanish>
<Czech>Aplikovat škrtidlo</Czech> <Czech>Aplikovat škrtidlo</Czech>
<Polish>Załóż stazę</Polish> <Polish>Załóż stazę</Polish>
@ -259,7 +267,7 @@
</Key> </Key>
<Key ID="STR_ACE_Medical_Applying_Tourniquet"> <Key ID="STR_ACE_Medical_Applying_Tourniquet">
<English>Applying Tourniquet ...</English> <English>Applying Tourniquet ...</English>
<German>Setze Aderpresse an ...</German> <German>Setze Tourniquet an ...</German>
<Spanish>Aplicando torniquete ...</Spanish> <Spanish>Aplicando torniquete ...</Spanish>
<Czech>Aplikuji škrtidlo</Czech> <Czech>Aplikuji škrtidlo</Czech>
<Polish>Zakładanie stazy ...</Polish> <Polish>Zakładanie stazy ...</Polish>
@ -347,7 +355,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_TriageCard"> <Key ID="STR_ACE_MEDICAL_ACTIONS_TriageCard">
<English>Triage Card</English> <English>Triage Card</English>
<German>Verletztenanhängekarte</German> <German>Triagekarte</German>
<Spanish>Tarjeta de triaje</Spanish> <Spanish>Tarjeta de triaje</Spanish>
<Russian>Медкарта</Russian> <Russian>Медкарта</Russian>
<Polish>Karta segregacyjna</Polish> <Polish>Karta segregacyjna</Polish>
@ -356,9 +364,13 @@
<Hungarian>Orvosi lap</Hungarian> <Hungarian>Orvosi lap</Hungarian>
<Italian>Triage Card</Italian> <Italian>Triage Card</Italian>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_TriageCard_NoEntry">
<English>No entries on this triage card.</English>
<German>Keine Einträge auf der Triagekarte</German>
</Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Tourniquet"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Tourniquet">
<English>Tourniquet</English> <English>Tourniquet</English>
<German>Aderpresse</German> <German>Tourniquet</German>
<Spanish>Torniquete</Spanish> <Spanish>Torniquete</Spanish>
<Russian>Жгут</Russian> <Russian>Жгут</Russian>
<Czech>Škrtidlo</Czech> <Czech>Škrtidlo</Czech>
@ -369,7 +381,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"> <Key ID="STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet">
<English>Remove Tourniquet</English> <English>Remove Tourniquet</English>
<German>Aderpresse entfernen</German> <German>Tourniquet entfernen</German>
<Spanish>Quitar torniquete</Spanish> <Spanish>Quitar torniquete</Spanish>
<Russian>Снять жгут</Russian> <Russian>Снять жгут</Russian>
<Czech>Sundat škrtidlo</Czech> <Czech>Sundat škrtidlo</Czech>
@ -378,6 +390,22 @@
<Hungarian>Érszorító leszedése</Hungarian> <Hungarian>Érszorító leszedése</Hungarian>
<Italian>Rimuovi laccio emostatico</Italian> <Italian>Rimuovi laccio emostatico</Italian>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Diagnose">
<English>Diagnose</English>
<German>Diagnose</German>
</Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Diagnosing">
<English>Diagnosing ...</English>
<German>Diagnostizieren ...</German>
</Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_CPR">
<English>CPR</English>
<German>HLW</German>
</Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_PerformingCPR">
<English>Performing CPR ...</English>
<German>HLW durchführen ...</German>
</Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Blood4_1000"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Blood4_1000">
<English>Give Blood IV (1000ml)</English> <English>Give Blood IV (1000ml)</English>
<German>Bluttransfusion IV (1000ml)</German> <German>Bluttransfusion IV (1000ml)</German>
@ -446,7 +474,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_1000"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_1000">
<English>Give Saline IV (1000ml)</English> <English>Give Saline IV (1000ml)</English>
<German>Kochsaltzlösung IV (1000ml)</German> <German>Kochsalzlösung IV (1000ml)</German>
<Spanish>Dar Salino IV (1000ml)</Spanish> <Spanish>Dar Salino IV (1000ml)</Spanish>
<Russian>Перелить пакет физраствора (1000 мл)</Russian> <Russian>Перелить пакет физраствора (1000 мл)</Russian>
<Polish>Podaj sól fizjologiczną IV (1000ml)</Polish> <Polish>Podaj sól fizjologiczną IV (1000ml)</Polish>
@ -457,7 +485,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_500"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_500">
<English>Give Saline IV (500ml)</English> <English>Give Saline IV (500ml)</English>
<German>Kochsaltzlösung IV (500ml)</German> <German>Kochsalzlösung IV (500ml)</German>
<Spanish>Dar Salino IV (500ml)</Spanish> <Spanish>Dar Salino IV (500ml)</Spanish>
<Russian>Перелить пакет физраствора (500 мл)</Russian> <Russian>Перелить пакет физраствора (500 мл)</Russian>
<Polish>Podaj sól fizjologiczną IV (500ml)</Polish> <Polish>Podaj sól fizjologiczną IV (500ml)</Polish>
@ -468,7 +496,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_250"> <Key ID="STR_ACE_MEDICAL_ACTIONS_Saline4_250">
<English>Give Saline IV (250ml)</English> <English>Give Saline IV (250ml)</English>
<German>Kochsaltzlösung IV (250ml)</German> <German>Kochsalzlösung IV (250ml)</German>
<Spanish>Dar Salino IV (250ml)</Spanish> <Spanish>Dar Salino IV (250ml)</Spanish>
<Russian>Перелить пакет физраствора (250 мл)</Russian> <Russian>Перелить пакет физраствора (250 мл)</Russian>
<Polish>Podaj sól fizjologiczną IV (250ml)</Polish> <Polish>Podaj sól fizjologiczną IV (250ml)</Polish>
@ -611,7 +639,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_STATUS_TOURNIQUET_APPLIED"> <Key ID="STR_ACE_MEDICAL_STATUS_TOURNIQUET_APPLIED">
<English>Tourniquet [CAT]</English> <English>Tourniquet [CAT]</English>
<German>Aderpresse [CAT]</German> <German>Tourniquet [CAT]</German>
<Russian>Жгут</Russian> <Russian>Жгут</Russian>
<Spanish>Torniquete [CAT]</Spanish> <Spanish>Torniquete [CAT]</Spanish>
<French>Garrot [CAT]</French> <French>Garrot [CAT]</French>
@ -674,7 +702,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_PACKING_BANDAGE_DESC_SHORT"> <Key ID="STR_ACE_MEDICAL_PACKING_BANDAGE_DESC_SHORT">
<English>Used to pack medium to large wounds and stem the bleeding</English> <English>Used to pack medium to large wounds and stem the bleeding</English>
<German>Verwendet, um mittlere bis große Wunden abzudecken und Blutungen zu stoppen</German> <German>Wird verwendet, um mittlere bis große Wunden abzudecken und Blutungen zu stoppen</German>
<Russian>Для тампонирования ран среднего и большого размера и остановки кровотечения.</Russian> <Russian>Для тампонирования ран среднего и большого размера и остановки кровотечения.</Russian>
<Spanish>Se utiliza para vendar heridas medianas o grandes y detener el sangrado</Spanish> <Spanish>Se utiliza para vendar heridas medianas o grandes y detener el sangrado</Spanish>
<French>Utilisé pour couvrir des blessures de taille moyenne à grande. Arrête l'hémorragies</French> <French>Utilisé pour couvrir des blessures de taille moyenne à grande. Arrête l'hémorragies</French>
@ -690,6 +718,7 @@
<Polish>Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran.</Polish> <Polish>Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran.</Polish>
<Hungarian>Egy kötszerfajta, melyet a sebek nyomására használnak a vérzés elállítása és sebgyógyulás érdekében. A nyomókötés egy lehetőség nagyobb polytraumatikus sérülések esetén.</Hungarian> <Hungarian>Egy kötszerfajta, melyet a sebek nyomására használnak a vérzés elállítása és sebgyógyulás érdekében. A nyomókötés egy lehetőség nagyobb polytraumatikus sérülések esetén.</Hungarian>
<Italian>Un bendaggio usato per bendare ferite con emorragie e facilitare la guarigione. Bendare una ferita è una opzione su ferite di vario tipo.</Italian> <Italian>Un bendaggio usato per bendare ferite con emorragie e facilitare la guarigione. Bendare una ferita è una opzione su ferite di vario tipo.</Italian>
<German>Ein Verband, um die Wunde abzudecken und die Wundheilung zu fördern. Wunden abdecken ist eine Option bei größeren Polytraumen</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY"> <Key ID="STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY">
<English>Bandage (Elastic)</English> <English>Bandage (Elastic)</English>
@ -714,7 +743,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_BANDAGE_ELASTIC_DESC_USE"> <Key ID="STR_ACE_MEDICAL_BANDAGE_ELASTIC_DESC_USE">
<English>Allows an even compression and extra support to the injured area.</English> <English>Allows an even compression and extra support to the injured area.</English>
<German></German> <German>Ermöglicht eine gleichmäßige Kompression und zusätzliche Unterstützung für den verletzten Bereich.</German>
<Russian>Давящая повязка обеспечивает равномерное сжатие и дополнительную поддержку поврежденной области</Russian> <Russian>Давящая повязка обеспечивает равномерное сжатие и дополнительную поддержку поврежденной области</Russian>
<French>Ce bandage peut être utilisé pour compresser la plaie afin de ralentir le saignement et assurer la tenue du bandage lors de mouvement.</French> <French>Ce bandage peut être utilisé pour compresser la plaie afin de ralentir le saignement et assurer la tenue du bandage lors de mouvement.</French>
<Polish>Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów.</Polish> <Polish>Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów.</Polish>
@ -724,7 +753,7 @@
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_TOURNIQUET_DISPLAY"> <Key ID="STR_ACE_MEDICAL_TOURNIQUET_DISPLAY">
<English>Tourniquet (CAT)</English> <English>Tourniquet (CAT)</English>
<German>Aderpresse (CAT)</German> <German>Tourniquet [CAT]</German>
<Russian>Жгут</Russian> <Russian>Жгут</Russian>
<Spanish>Torniquete (CAT)</Spanish> <Spanish>Torniquete (CAT)</Spanish>
<French>Garrot (CAT)</French> <French>Garrot (CAT)</French>
@ -832,7 +861,7 @@
<Spanish>Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas</Spanish> <Spanish>Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas</Spanish>
<French>Augmente la fréquence cadiaque et annule les effets d'une réaction anaphylactique</French> <French>Augmente la fréquence cadiaque et annule les effets d'une réaction anaphylactique</French>
<Polish>Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne</Polish> <Polish>Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne</Polish>
<German>Steigert die Herzfrequenz, um den Effekt von allergischen Reaktionen zu bekämpfen</German> <German>Steigert die Herzfrequenz und bekämpft Symptome von allergischen Reaktionen.</German>
<Hungarian>Növeli a szívverést és ellenzi az allergiás reakciók hatásait</Hungarian> <Hungarian>Növeli a szívverést és ellenzi az allergiás reakciók hatásait</Hungarian>
<Italian>Aumenta il battito cardiaco e combatte gli effetti di reazioni allergiche.</Italian> <Italian>Aumenta il battito cardiaco e combatte gli effetti di reazioni allergiche.</Italian>
</Key> </Key>
@ -843,6 +872,7 @@
<French>Medicament qui fonctionne sur le système nerveux sympathique créant une dilatation des bronches, augmente la fréquence cardiaque et annule les effets d'une réaction allergique (anaphylaxie). Utilisé lors d'arrêt cardio-respiratoire pour augmenter les chances de retrouver un pouls.</French> <French>Medicament qui fonctionne sur le système nerveux sympathique créant une dilatation des bronches, augmente la fréquence cardiaque et annule les effets d'une réaction allergique (anaphylaxie). Utilisé lors d'arrêt cardio-respiratoire pour augmenter les chances de retrouver un pouls.</French>
<Polish>EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności.</Polish> <Polish>EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności.</Polish>
<Italian>Una sostanza che permette di dilatare i bronchi, aumentare il battito cardiaco e combattere effetti di reazioni allergiche. Usato anche in casi di arresto cardiaco.</Italian> <Italian>Una sostanza che permette di dilatare i bronchi, aumentare il battito cardiaco e combattere effetti di reazioni allergiche. Usato anche in casi di arresto cardiaco.</Italian>
<German>Ein Medikament, dass die Bronchien erweitert, die Herzfrequenz erhöht und Symptome von allergischen Reaktionen(Anaphylaxie) bekämpft. Wird bei plötzlichem Herzstillstand verabreicht.</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_PLASMA_IV"> <Key ID="STR_ACE_MEDICAL_PLASMA_IV">
<English>Plasma IV (1000ml)</English> <English>Plasma IV (1000ml)</English>
@ -862,6 +892,7 @@
<Polish>Składnik krwi, używany do zwiększenia jej objętości.</Polish> <Polish>Składnik krwi, używany do zwiększenia jej objętości.</Polish>
<Hungarian>Egy térfogatnövelő vérkiegészítmény.</Hungarian> <Hungarian>Egy térfogatnövelő vérkiegészítmény.</Hungarian>
<Italian>Aiuta ad aumentare il volume sanguigno.</Italian> <Italian>Aiuta ad aumentare il volume sanguigno.</Italian>
<German>Volumenerweiterungsmittel (künstliches Blutvolumen)</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_PLASMA_IV_DESC_USE"> <Key ID="STR_ACE_MEDICAL_PLASMA_IV_DESC_USE">
<English>A volume-expanding blood supplement.</English> <English>A volume-expanding blood supplement.</English>
@ -871,6 +902,7 @@
<Polish>Składnik krwi, używany do zwiększenia jej objętości.</Polish> <Polish>Składnik krwi, używany do zwiększenia jej objętości.</Polish>
<Hungarian>Egy térfogatnövelő vérkiegészítmény.</Hungarian> <Hungarian>Egy térfogatnövelő vérkiegészítmény.</Hungarian>
<Italian>Aiuta ad aumentare il volume sanguigno.</Italian> <Italian>Aiuta ad aumentare il volume sanguigno.</Italian>
<German>Volumenerweiterungsmittel (künstliches Blutvolumen)</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_PLASMA_IV_500"> <Key ID="STR_ACE_MEDICAL_PLASMA_IV_500">
<English>Plasma IV (500ml)</English> <English>Plasma IV (500ml)</English>
@ -910,6 +942,7 @@
<Polish>Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych</Polish> <Polish>Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych</Polish>
<Hungarian>Vér-infúzió, intravénás bejuttatásra egy páciensnek (hidegen tárolandó)</Hungarian> <Hungarian>Vér-infúzió, intravénás bejuttatásra egy páciensnek (hidegen tárolandó)</Hungarian>
<Italian>Sangue usato per ripristinare pazienti in cui si è verificata una perdita di sangue (conservare al fresco)</Italian> <Italian>Sangue usato per ripristinare pazienti in cui si è verificata una perdita di sangue (conservare al fresco)</Italian>
<German>Blut IV, Bluthaushalt des Patienten wiederherstellen. (Kühl halten)</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_BLOOD_IV_DESC_USE"> <Key ID="STR_ACE_MEDICAL_BLOOD_IV_DESC_USE">
<English>O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care.</English> <English>O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care.</English>
@ -918,6 +951,7 @@
<Spanish>Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdida. Uso habitual durante el transporte de heridos.</Spanish> <Spanish>Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdida. Uso habitual durante el transporte de heridos.</Spanish>
<Italian>Sangue 0 negativo usato per ripristinare sangue in pazienti in cui si è verificata una perdita di sangue.</Italian> <Italian>Sangue 0 negativo usato per ripristinare sangue in pazienti in cui si è verificata una perdita di sangue.</Italian>
<French>Cullot sanguin O- utilisé dans de rares et stricts cas pour compléter une perte de sang importante. Administré normalement lors d'un MEDEVAC</French> <French>Cullot sanguin O- utilisé dans de rares et stricts cas pour compléter une perte de sang importante. Administré normalement lors d'un MEDEVAC</French>
<German>O Negative Blutinfusion wird nur in seltenen Fällen verwendet, um den Bluthaushalt des Patienten zu ergänzen. Wird in der Regel wärend der Transportphase durchgeführt.</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_BLOOD_IV_500"> <Key ID="STR_ACE_MEDICAL_BLOOD_IV_500">
<English>Blood IV (500ml)</English> <English>Blood IV (500ml)</English>
@ -957,6 +991,7 @@
<Polish>Sól fizjologiczna, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta</Polish> <Polish>Sól fizjologiczna, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta</Polish>
<Hungarian>0,9%-os sósvíz-infúzió, a páciens vérmennyiségének helyreállítására</Hungarian> <Hungarian>0,9%-os sósvíz-infúzió, a páciens vérmennyiségének helyreállítására</Hungarian>
<Italian>Soluzione salina, usata per ripristinare sangue nei pazienti.</Italian> <Italian>Soluzione salina, usata per ripristinare sangue nei pazienti.</Italian>
<German>Kochsalzlösung, ein medizinisches Volumenersatzmittel</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_SALINE_IV_DESC_USE"> <Key ID="STR_ACE_MEDICAL_SALINE_IV_DESC_USE">
<English>A medical volume-replenishing agent introduced into the blood system through an IV infusion.</English> <English>A medical volume-replenishing agent introduced into the blood system through an IV infusion.</English>
@ -966,6 +1001,7 @@
<Polish>Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV).</Polish> <Polish>Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV).</Polish>
<Hungarian>Egy orvosi térfogat-helyreállító készítmény, melyet intravénás módon lehet a szervezetbe juttatni.</Hungarian> <Hungarian>Egy orvosi térfogat-helyreállító készítmény, melyet intravénás módon lehet a szervezetbe juttatni.</Hungarian>
<Italian>Una soluzione medica per ripristinare il volume del sangue introdotta tramite trasfusione IV.</Italian> <Italian>Una soluzione medica per ripristinare il volume del sangue introdotta tramite trasfusione IV.</Italian>
<German>Ein medizinisches Volumenersatzmittel, dass durch einen intravenösen Zugang in den Blutkreislauf verabreicht wird. </German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_SALINE_IV_500"> <Key ID="STR_ACE_MEDICAL_SALINE_IV_500">
<English>Saline IV (500ml)</English> <English>Saline IV (500ml)</English>
@ -1038,12 +1074,12 @@
<Italian>Include vario materiale medico per trattamenti avanzati.</Italian> <Italian>Include vario materiale medico per trattamenti avanzati.</Italian>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_AID_KIT_DESC_USE"> <Key ID="STR_ACE_MEDICAL_AID_KIT_DESC_USE">
<English></English> <English>Personal Aid Kit for in field stitching or advanced treatment</English>
<Russian></Russian>
<French></French>
<Spanish></Spanish>
<Polish>W znacznym stopniu poprawia stan pacjenta</Polish> <Polish>W znacznym stopniu poprawia stan pacjenta</Polish>
<Italian></Italian> </Key>
<Key ID="STR_ACE_MEDICAL_USE_AID_KIT">
<English>Use Personal Aid Kit</English>
<German>Verbandpäckchen benutzen</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_SURGICALKIT_DISPLAY"> <Key ID="STR_ACE_MEDICAL_SURGICALKIT_DISPLAY">
<English>Surgical Kit</English> <English>Surgical Kit</English>
@ -1075,6 +1111,10 @@
<Hungarian>Sebészeti készlet komplex orvosi feladatok terepen való ellátására</Hungarian> <Hungarian>Sebészeti készlet komplex orvosi feladatok terepen való ellátására</Hungarian>
<Italian>Kit chirurgico per trattamenti avanzati sul campo.</Italian> <Italian>Kit chirurgico per trattamenti avanzati sul campo.</Italian>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_USE_SURGICALKIT">
<English>Use Surgical Kit</English>
<German>Operationsset benutzen</German>
</Key>
<Key ID="STR_ACE_MEDICAL_BODYBAG_DISPLAY"> <Key ID="STR_ACE_MEDICAL_BODYBAG_DISPLAY">
<English>Bodybag</English> <English>Bodybag</English>
<French>Housse mortuaire</French> <French>Housse mortuaire</French>
@ -1125,6 +1165,10 @@
<Hungarian>Vérnyomás megmérése...</Hungarian> <Hungarian>Vérnyomás megmérése...</Hungarian>
<Italian>Controllando la pressione sanguigna..</Italian> <Italian>Controllando la pressione sanguigna..</Italian>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOG">
<English>%1 checked Blood Pressure: %2</English>
<German>%1 kontrollierte Blutdruck: %2</German>
</Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_CHECKED_MEDIC"> <Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_CHECKED_MEDIC">
<English>You checked %1</English> <English>You checked %1</English>
<French>Vous diagnostiquez %1</French> <French>Vous diagnostiquez %1</French>
@ -1143,6 +1187,7 @@
<Hungarian>A vérnyomás %2/%3</Hungarian> <Hungarian>A vérnyomás %2/%3</Hungarian>
<Italian>Hai riscontrato una pressione di %2/%3</Italian> <Italian>Hai riscontrato una pressione di %2/%3</Italian>
<Polish>Wyczuwasz ciśnienie krwi o wartości %2/%3</Polish> <Polish>Wyczuwasz ciśnienie krwi o wartości %2/%3</Polish>
<German>Der Blutdruck liegt bei %2/%3</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_2"> <Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_2">
<English>You find a low blood pressure</English> <English>You find a low blood pressure</English>
@ -1194,6 +1239,22 @@
<Hungarian>Nem sikerült a vérnyomás megmérése</Hungarian> <Hungarian>Nem sikerült a vérnyomás megmérése</Hungarian>
<Italian>Manca strumento per misurare pressione sanguigna</Italian> <Italian>Manca strumento per misurare pressione sanguigna</Italian>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOW">
<English>Low</English>
<German>Niedrig</German>
</Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NORMAL">
<English>Normal</English>
<German>Normal</German>
</Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_HIGH">
<English>High</English>
<German>Hoch</German>
</Key>
<Key ID="STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NOBLOODPRESSURE">
<English>No Blood Pressure</English>
<German>Kein Blutdruck</German>
</Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE"> <Key ID="STR_ACE_MEDICAL_CHECK_PULSE">
<English>Pulse</English> <English>Pulse</English>
<Russian>Пульс</Russian> <Russian>Пульс</Russian>
@ -1205,14 +1266,14 @@
<Italian>Polso</Italian> <Italian>Polso</Italian>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_CONTENT"> <Key ID="STR_ACE_MEDICAL_CHECK_PULSE_CONTENT">
<English>Checking Heart Rate..</English> <English>Checking Heart Rate ...</English>
<French>Vérification du rythme cardiaque ...</French> <French>Vérification du rythme cardiaque ...</French>
<Russian>Проверка пульса ...</Russian> <Russian>Проверка пульса ...</Russian>
<Spanish>Comprobando ritmo cardíaco...</Spanish> <Spanish>Comprobando ritmo cardíaco ...</Spanish>
<Polish>Sprawdzanie tętna...</Polish> <Polish>Sprawdzanie tętna ...</Polish>
<German>Kontrolliere Herzfrequenz</German> <German>Kontrolliere Herzfrequenz ...</German>
<Hungarian>Szívverés-szám mérése...</Hungarian> <Hungarian>Szívverés-szám mérése...</Hungarian>
<Italian>Controllando il battito cardiaco..</Italian> <Italian>Controllando il battito cardiaco ...</Italian>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_CHECKED_MEDIC"> <Key ID="STR_ACE_MEDICAL_CHECK_PULSE_CHECKED_MEDIC">
<English>You checked %1</English> <English>You checked %1</English>
@ -1220,10 +1281,26 @@
<French>Vous examinez %1</French> <French>Vous examinez %1</French>
<Spanish>Examinando a %1</Spanish> <Spanish>Examinando a %1</Spanish>
<Polish>Zbadałeś %1</Polish> <Polish>Zbadałeś %1</Polish>
<German>Kontrolliertt %1</German> <German>Kontrolliert %1</German>
<Hungarian>A %1 ellenőrizve</Hungarian> <Hungarian>A %1 ellenőrizve</Hungarian>
<Italian>Hai diagnosticato %1</Italian> <Italian>Hai diagnosticato %1</Italian>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_LOG">
<English>%1 checked Heart Rate: %2</English>
<German>%1 kontrollierte Herzfrequenz: %2</German>
</Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_WEAK">
<English>Weak</English>
<German>Schwach</German>
</Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_NORMAL">
<English>Normal</English>
<German>Normal</German>
</Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_STRONG">
<English>Strong</English>
<German>Stark</German>
</Key>
<Key ID="STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_1"> <Key ID="STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_1">
<English>You find a Heart Rate of %2</English> <English>You find a Heart Rate of %2</English>
<French>Rythme carquiaque de %2</French> <French>Rythme carquiaque de %2</French>
@ -1320,7 +1397,7 @@
<French>Vous avez examiné %1</French> <French>Vous avez examiné %1</French>
<Spanish>Examinas a %1</Spanish> <Spanish>Examinas a %1</Spanish>
<Polish>Zbadałeś %1</Polish> <Polish>Zbadałeś %1</Polish>
<German>Du versucht %1 anzusprechen</German> <German>Du hast versucht, %1 anzusprechen</German>
<Hungarian>Megnézted %1-t</Hungarian> <Hungarian>Megnézted %1-t</Hungarian>
<Italian>Hai controllato %1</Italian> <Italian>Hai controllato %1</Italian>
</Key> </Key>
@ -1354,6 +1431,7 @@
<Polish>Zabandażowano</Polish> <Polish>Zabandażowano</Polish>
<Hungarian>Bekötözve</Hungarian> <Hungarian>Bekötözve</Hungarian>
<Italian>Bendato</Italian> <Italian>Bendato</Italian>
<German>verbunden</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_APPLY_BANDAGE"> <Key ID="STR_ACE_MEDICAL_APPLY_BANDAGE">
<English>You bandage %1 (%2)</English> <English>You bandage %1 (%2)</English>
@ -1363,6 +1441,7 @@
<Polish>Bandażujesz %1 (%2)</Polish> <Polish>Bandażujesz %1 (%2)</Polish>
<Hungarian>Bekötözöd %1-t (%2)</Hungarian> <Hungarian>Bekötözöd %1-t (%2)</Hungarian>
<Italian>Stai bendando %1 (%2)</Italian> <Italian>Stai bendando %1 (%2)</Italian>
<German>Du verbindest %1 (%2)</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_IS_BANDAGING_YOU"> <Key ID="STR_ACE_MEDICAL_IS_BANDAGING_YOU">
<English>%1 is bandaging you</English> <English>%1 is bandaging you</English>
@ -1372,10 +1451,12 @@
<Polish>%1 bandażuje Ciebie</Polish> <Polish>%1 bandażuje Ciebie</Polish>
<Hungarian>%1 bekötöz téged</Hungarian> <Hungarian>%1 bekötöz téged</Hungarian>
<Italian>%1 ti sta bendando</Italian> <Italian>%1 ti sta bendando</Italian>
<German>%1 verbindet dich</German>
</Key> </Key>
<Key ID="STR_ACE_MEDICAL_START_STITCHING_INJURIES"> <Key ID="STR_ACE_MEDICAL_START_STITCHING_INJURIES">
<English>You start stitching injures from %1 (%2)</English> <English>You start stitching injuries from %1 (%2)</English>
<Russian>Вы зашиваете ранения от %1 (%2)</Russian> <Russian>Вы зашиваете ранения от %1 (%2)</Russian>
<German>Du nähst die Wunden von %1 (%2)</German>
<French>Vous suturez %1 (%2)</French> <French>Vous suturez %1 (%2)</French>
<Spanish>Estás suturando heridas de %1 en %2</Spanish> <Spanish>Estás suturando heridas de %1 en %2</Spanish>
<Polish>Zszywasz rany %1 (%2)</Polish> <Polish>Zszywasz rany %1 (%2)</Polish>
@ -1385,8 +1466,9 @@
<Key ID="STR_ACE_MEDICAL_STITCHING"> <Key ID="STR_ACE_MEDICAL_STITCHING">
<English>Stitching</English> <English>Stitching</English>
<Russian>Наложение швов</Russian> <Russian>Наложение швов</Russian>
<French>Sutures</French>
<Spanish>Suturando</Spanish> <Spanish>Suturando</Spanish>
<German>Nähen</German>
<French>Sutures</French>
<Polish>Szycie</Polish> <Polish>Szycie</Polish>
<Hungarian>Összevarrás</Hungarian> <Hungarian>Összevarrás</Hungarian>
<Italian>Suturando</Italian> <Italian>Suturando</Italian>
@ -1394,8 +1476,9 @@
<Key ID="STR_ACE_MEDICAL_YOU_TREAT_AIRWAY"> <Key ID="STR_ACE_MEDICAL_YOU_TREAT_AIRWAY">
<English>You treat the airway of %1</English> <English>You treat the airway of %1</English>
<Russian>Вы интубируете раненого %1</Russian> <Russian>Вы интубируете раненого %1</Russian>
<French>Vous traitez les voies respiratoires de %1</French>
<Spanish>Estás intubando a %1</Spanish> <Spanish>Estás intubando a %1</Spanish>
<German>Du behandelst die Atemwege von %1</German>
<French>Vous traitez les voies respiratoires de %1</French>
<Polish>Udrażniasz drogi oddechowe %1</Polish> <Polish>Udrażniasz drogi oddechowe %1</Polish>
<Hungarian>Kezeled %1 légútját</Hungarian> <Hungarian>Kezeled %1 légútját</Hungarian>
<Italian>Controlli le vie respiratorie di %1</Italian> <Italian>Controlli le vie respiratorie di %1</Italian>
@ -1416,6 +1499,7 @@
<French>%1 traite vos voies respiratoires</French> <French>%1 traite vos voies respiratoires</French>
<Spanish>%1 te está intubando</Spanish> <Spanish>%1 te está intubando</Spanish>
<Polish>%1 udrażnia Twoje drogi oddechowe</Polish> <Polish>%1 udrażnia Twoje drogi oddechowe</Polish>
<German>%1 behandelt deine Atemwege</German>
<Hungarian>%1 kezeli a légútadat</Hungarian> <Hungarian>%1 kezeli a légútadat</Hungarian>
<Italian>%1 ti sta trattando le vie respiratorie</Italian> <Italian>%1 ti sta trattando le vie respiratorie</Italian>
</Key> </Key>
@ -1483,6 +1567,7 @@
<English>Unload patient</English> <English>Unload patient</English>
<Spanish>Descargar el paciente</Spanish> <Spanish>Descargar el paciente</Spanish>
<Russian>Выгрузить пациента</Russian> <Russian>Выгрузить пациента</Russian>
<German>Patient Ausladen</German>
<Polish>Wyładuj pacjenta</Polish> <Polish>Wyładuj pacjenta</Polish>
<French>Débarquer le patient</French> <French>Débarquer le patient</French>
<Hungarian>Sebesült kihúzása</Hungarian> <Hungarian>Sebesült kihúzása</Hungarian>
@ -1492,6 +1577,7 @@
<English>Load patient</English> <English>Load patient</English>
<Spanish>Cargar el paciente en</Spanish> <Spanish>Cargar el paciente en</Spanish>
<Russian>Погрузить пациента</Russian> <Russian>Погрузить пациента</Russian>
<German>Patient Einladen</German>
<Polish>Załaduj pacjenta</Polish> <Polish>Załaduj pacjenta</Polish>
<French>Embarquer le patient</French> <French>Embarquer le patient</French>
<Hungarian>Sebesült berakása</Hungarian> <Hungarian>Sebesült berakása</Hungarian>
@ -1501,6 +1587,7 @@
<English>Place body in bodybag</English> <English>Place body in bodybag</English>
<Spanish>Colocar cuerpo en bolsa para cadáveres</Spanish> <Spanish>Colocar cuerpo en bolsa para cadáveres</Spanish>
<Russian>Поместить тело в мешок для трупов</Russian> <Russian>Поместить тело в мешок для трупов</Russian>
<German>Körper in Leichesack verstauen</German>
<Polish>Zapakuj ciało do worka na zwłoki</Polish> <Polish>Zapakuj ciało do worka na zwłoki</Polish>
<French>Mettre le corps dans la housse mortuaire</French> <French>Mettre le corps dans la housse mortuaire</French>
<Hungarian>Test hullazsákba helyezése</Hungarian> <Hungarian>Test hullazsákba helyezése</Hungarian>
@ -1510,6 +1597,7 @@
<English>Placing body in bodybag</English> <English>Placing body in bodybag</English>
<Spanish>Colocando cuerpo en bolsa para cadáveres</Spanish> <Spanish>Colocando cuerpo en bolsa para cadáveres</Spanish>
<Russian>Упаковка тела ...</Russian> <Russian>Упаковка тела ...</Russian>
<German>Verstaue Körper in Leichensack</German>
<Polish>Pakowanie ciała do worka na zwłoki</Polish> <Polish>Pakowanie ciała do worka na zwłoki</Polish>
<French>Placement du corps dans la housse</French> <French>Placement du corps dans la housse</French>
<Hungarian>Test hullazsákba helyezése ...</Hungarian> <Hungarian>Test hullazsákba helyezése ...</Hungarian>
@ -1519,6 +1607,7 @@
<English>%1 has bandaged patient</English> <English>%1 has bandaged patient</English>
<Spanish>%1 has vendado al paciente</Spanish> <Spanish>%1 has vendado al paciente</Spanish>
<Russian>%1 перевязал пациента</Russian> <Russian>%1 перевязал пациента</Russian>
<German>%1 hat den Patienten verbunden</German>
<Polish>%1 zabandażował pacjenta</Polish> <Polish>%1 zabandażował pacjenta</Polish>
<French>%1 a pansé le patient</French> <French>%1 a pansé le patient</French>
<Hungarian>%1 bekötözte a pácienst</Hungarian> <Hungarian>%1 bekötözte a pácienst</Hungarian>
@ -1527,6 +1616,7 @@
<Key ID="STR_ACE_MEDICAL_ACTIVITY_usedItem"> <Key ID="STR_ACE_MEDICAL_ACTIVITY_usedItem">
<English>%1 used %2</English> <English>%1 used %2</English>
<Spanish>%1 usó %2</Spanish> <Spanish>%1 usó %2</Spanish>
<German>%1 benutzt %2</German>
<Russian>%1 использовал %2</Russian> <Russian>%1 использовал %2</Russian>
<Polish>%1 użył %2</Polish> <Polish>%1 użył %2</Polish>
<French>%1 utilise %2</French> <French>%1 utilise %2</French>
@ -1537,6 +1627,7 @@
<English>%1 has given an IV</English> <English>%1 has given an IV</English>
<Spanish>%1 has puesto una IV</Spanish> <Spanish>%1 has puesto una IV</Spanish>
<Russian>%1 провел переливание</Russian> <Russian>%1 провел переливание</Russian>
<German>%1 hat eine Infusion verabreicht</German>
<Polish>%1 podał IV</Polish> <Polish>%1 podał IV</Polish>
<French>%1 a administré une IV</French> <French>%1 a administré une IV</French>
<Hungarian>%1 infúziót adott</Hungarian> <Hungarian>%1 infúziót adott</Hungarian>
@ -1546,6 +1637,7 @@
<English>%1 applied a tourniquet</English> <English>%1 applied a tourniquet</English>
<Spanish>%1 aplicado torniquete</Spanish> <Spanish>%1 aplicado torniquete</Spanish>
<Russian>%1 наложил жгут</Russian> <Russian>%1 наложил жгут</Russian>
<German>%1 hat einen Tourniquet angelegt</German>
<Polish>%1 założył stazę</Polish> <Polish>%1 założył stazę</Polish>
<French>%1 a appliqué un garrot</French> <French>%1 a appliqué un garrot</French>
<Hungarian>%1 felhelyezett egy érszorítót</Hungarian> <Hungarian>%1 felhelyezett egy érszorítót</Hungarian>
@ -1659,5 +1751,145 @@
<Spanish>Aberración cromática</Spanish> <Spanish>Aberración cromática</Spanish>
<French>Aberration chromatique</French> <French>Aberration chromatique</French>
</Key> </Key>
<Key ID="STR_ACE_Medical_Wounds_Abrasion">
<English>Scrape</English>
<German>Kratzer</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Abrasion_Minor">
<English>Minor Scrape</English>
<German>Kleiner Kratzer</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Abrasion_Medium">
<English>Medium Scrape</English>
<German>Mittlerer Kratzer</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Abrasion_Large">
<English>Large Scrape</English>
<German>Großer Kratzer</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Avulsion">
<English>Avulsion</English>
<German>Avulsion</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Avulsion_Minor">
<English>Minor Avulsion</English>
<German>Kleine Avulsion</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Avulsion_Medium">
<English>Medium Avulsion</English>
<German>Mittlere Avulsion</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Avulsion_Large">
<English>Large Avulsion</English>
<German>Große Avulsion</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Contusion">
<English>Bruise</English>
<German>Prellung</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Contusion_Minor">
<English>Minor Bruise</English>
<German>Kleine Prellung</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Contusion_Medium">
<English>Medium Bruise</English>
<German>Mittlere Prellung</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Contusion_Large">
<English>Large Bruise</English>
<German>Große Prellung</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Crush">
<English>Crushed tissue</English>
<German>Quetschverletzung</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Crush_Minor">
<English>Minor crushed tissue</English>
<German>Kleine Quetschverletzung</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Crush_Medium">
<English>Medium crushed tissue</English>
<German>Mittlere Quetschverletzung</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Crush_Large">
<English>Large crushed tissue</English>
<German>Große Quetschverletzung</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Cut">
<English>Cut</English>
<German>Schnittwunde</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Cut_Minor">
<English>Small Cut</English>
<German>Kleine Schnittwunde</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Cut_Medium">
<English>Medium Cut</English>
<German>Mittlere Schnittwunde</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Cut_Large">
<English>Large Cut</English>
<German>Große Schnittwunde</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Laceration">
<English>Tear</English>
<German>Riss</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Laceration_Minor">
<English>Small Tear</English>
<German>Kleiner Riss</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Laceration_Medium">
<English>Medium Tear</English>
<German>Mittlerer Riss</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Laceration_Large">
<English>Large Tear</English>
<German>Großer Riss</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_VelocityWound">
<English>Velocity Wound</English>
<German>Ballistisches Trauma</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_VelocityWound_Minor">
<English>Smal Velocity Wound</English>
<German>Kleines Ballistisches Trauma</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_VelocityWound_Medium">
<English>Medium Velocity Wound</English>
<German>Mittleres Ballistisches Trauma</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_VelocityWound_Large">
<English>Large Velocity Wound</English>
<German>Großes Ballistisches Trauma</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_PunctureWound">
<English>Puncture Wound</English>
<German>Stichwunde</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_PunctureWound_Minor">
<English>Minor Puncture Wound</English>
<German>Kleine Stichwunde</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_PunctureWound_Medium">
<English>Medium Puncture Wound</English>
<German>Mittlere Stichwunde</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_PunctureWound_Large">
<English>Large Puncture Wound</English>
<German>Große Stichwunde</German>
</Key>
<Key ID="STR_ACE_Medical_Wounds_Femur">
<English>Broken Femur</English>
<German>Gebrochener Oberschenkelknochen</German>
</Key>
</Package> </Package>
</Project> </Project>

View File

@ -60,7 +60,7 @@ class Rsctitles {
font = "PuristaMedium"; font = "PuristaMedium";
colorText[] = {0.95, 0.95, 0.95, 0.75}; colorText[] = {0.95, 0.95, 0.95, 0.75};
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"}; colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"};
text = "INJURIES"; text = "$STR_ACE_Medical_Injuries";
}; };
class InjuryList: ACE_gui_listBoxBase { class InjuryList: ACE_gui_listBoxBase {
idc = 200; idc = 200;

View File

@ -49,7 +49,7 @@ class GVAR(triageCard) {
font = "PuristaMedium"; font = "PuristaMedium";
colorText[] = {0,0,0,1}; colorText[] = {0,0,0,1};
colorBackground[] = {0,0,0,0}; colorBackground[] = {0,0,0,0};
text = "TRIAGE CARD"; text = "$STR_ACE_MEDICAL_ACTIONS_TriageCard";
}; };
class TriageList: ACE_gui_listBoxBase { class TriageList: ACE_gui_listBoxBase {
idc = 200; idc = 200;

View File

@ -138,7 +138,7 @@
<Key ID="STR_ACE_microdagr_controlRange"> <Key ID="STR_ACE_microdagr_controlRange">
<English>Range:</English> <English>Range:</English>
<Spanish>Distancia:</Spanish> <Spanish>Distancia:</Spanish>
<German>Reichweite:</German> <German>Distanz:</German>
<Russian>Дистанция:</Russian> <Russian>Дистанция:</Russian>
<Polish>Dystans:</Polish> <Polish>Dystans:</Polish>
<French>Distance:</French> <French>Distance:</French>
@ -236,7 +236,7 @@
</Key> </Key>
<Key ID="STR_ACE_microdagr_toggleUnit"> <Key ID="STR_ACE_microdagr_toggleUnit">
<English>Toggle MicroDAGR Display Mode</English> <English>Toggle MicroDAGR Display Mode</English>
<German>MicoDAGR Anzeigemodus Wechseln</German> <German>MicoDAGR Anzeigemodus wechseln</German>
<Spanish>Conmutar modo de pantalla del MicroDAGR</Spanish> <Spanish>Conmutar modo de pantalla del MicroDAGR</Spanish>
<Russian>Сменить режим показа MicroDAGR</Russian> <Russian>Сменить режим показа MicroDAGR</Russian>
<Polish>Przełącz GUI MicroDAGR</Polish> <Polish>Przełącz GUI MicroDAGR</Polish>
@ -258,7 +258,7 @@
</Key> </Key>
<Key ID="STR_ACE_microdagr_configure"> <Key ID="STR_ACE_microdagr_configure">
<English>Configure MicroDAGR</English> <English>Configure MicroDAGR</English>
<German>MicroDAGR Konfiguriere</German> <German>Konfiguriere MicroDAGR</German>
<Spanish>Configurar MicroDAGR</Spanish> <Spanish>Configurar MicroDAGR</Spanish>
<Russian>Настроить MicroDAGR</Russian> <Russian>Настроить MicroDAGR</Russian>
<Czech>Konfigurovat MicroDAGR GPS</Czech> <Czech>Konfigurovat MicroDAGR GPS</Czech>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="missileguidance"> <Package name="missileguidance">
<Key ID="STR_ACE_MissileGuidance"> <Key ID="STR_ACE_MissileGuidance">

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler - 2015-04-06 -->
<Project name="ACE"> <Project name="ACE">
<Package name="mk6mortar"> <Package name="mk6mortar">
<Key ID="STR_ACE_MK6MORTAR_rangetable_name"> <Key ID="STR_ACE_MK6MORTAR_rangetable_name">

View File

@ -62,7 +62,7 @@
<Key ID="STR_ACE_NameTags_ShowVehicleCrewInfo"> <Key ID="STR_ACE_NameTags_ShowVehicleCrewInfo">
<English>Show vehicle crew info</English> <English>Show vehicle crew info</English>
<French>Afficher les informations de l'équipage</French> <French>Afficher les informations de l'équipage</French>
<German>Zeige Fahrzeugbesatzung</German> <German>Fahrzeugbesatzung anzeigen</German>
<Spanish>Mostrar tripulantes</Spanish> <Spanish>Mostrar tripulantes</Spanish>
<Polish>Pokaż załogę pojazdu</Polish> <Polish>Pokaż załogę pojazdu</Polish>
<Czech>Zobrazit info o posádce vozidla</Czech> <Czech>Zobrazit info o posádce vozidla</Czech>
@ -72,7 +72,7 @@
</Key> </Key>
<Key ID="STR_ACE_NameTags_ShowNamesForAI"> <Key ID="STR_ACE_NameTags_ShowNamesForAI">
<English>Show name tags for AI units</English> <English>Show name tags for AI units</English>
<German>Zeige Namen für KI Einheiten</German> <German>Namen für KI Einheiten anzeigen</German>
<Spanish>Mostrar etiquetas de nombre para unidades IA </Spanish> <Spanish>Mostrar etiquetas de nombre para unidades IA </Spanish>
<Russian>Показывать имена ботов</Russian> <Russian>Показывать имена ботов</Russian>
<Czech>Zobrazit jména AI</Czech> <Czech>Zobrazit jména AI</Czech>
@ -83,7 +83,7 @@
</Key> </Key>
<Key ID="STR_ACE_NameTags_ShowSoundWaves"> <Key ID="STR_ACE_NameTags_ShowSoundWaves">
<English>Show SoundWaves (requires player names)</English> <English>Show SoundWaves (requires player names)</English>
<German>Zeigen Schallwellen (benötigt Spielernamen)</German> <German>Schallwellen anzeigen (benötigt Spielernamen)</German>
<Spanish>Mostrar onda sonora (requiere Mostrar nombres de jugadores)</Spanish> <Spanish>Mostrar onda sonora (requiere Mostrar nombres de jugadores)</Spanish>
<Russian>Индикатор разговора (при вкл. именах)</Russian> <Russian>Индикатор разговора (при вкл. именах)</Russian>
<Czech>Zobrazit SoundWaves (vyžaduje jména hráčů)</Czech> <Czech>Zobrazit SoundWaves (vyžaduje jména hráčů)</Czech>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="Optics"> <Package name="Optics">
<Key ID="STR_ACE_optic_hamr"> <Key ID="STR_ACE_optic_hamr">

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="OptionsMenu"> <Package name="OptionsMenu">
<Key ID="STR_ACE_OptionsMenu_OpenConfigMenu"> <Key ID="STR_ACE_OptionsMenu_OpenConfigMenu">
@ -27,7 +26,7 @@
</Key> </Key>
<Key ID="STR_ACE_OptionsMenu_ResetAll"> <Key ID="STR_ACE_OptionsMenu_ResetAll">
<English>Reset All</English> <English>Reset All</English>
<German>Alles Zurücksetzen</German> <German>Alles zurücksetzen</German>
<Spanish>Reiniciar todo</Spanish> <Spanish>Reiniciar todo</Spanish>
<Russian>Полный сброс</Russian> <Russian>Полный сброс</Russian>
<Czech>Vyresetovat vše</Czech> <Czech>Vyresetovat vše</Czech>
@ -129,7 +128,7 @@
</Key> </Key>
<Key ID="STR_ACE_OptionsMenu_stringType"> <Key ID="STR_ACE_OptionsMenu_stringType">
<English>String input.</English> <English>String input.</English>
<German>String input.</German> <German>Zeichenketteneingabe</German>
<Spanish>Introducir frase</Spanish> <Spanish>Introducir frase</Spanish>
<Russian>Строчный ввод.</Russian> <Russian>Строчный ввод.</Russian>
<Polish>Wpisywanie tekstu.</Polish> <Polish>Wpisywanie tekstu.</Polish>
@ -150,7 +149,7 @@
</Key> </Key>
<Key ID="STR_ACE_OptionsMenu_scalarType"> <Key ID="STR_ACE_OptionsMenu_scalarType">
<English>Number</English> <English>Number</English>
<German>Nummer</German> <German>Zahl</German>
<Spanish>Numero</Spanish> <Spanish>Numero</Spanish>
<Russian>Число</Russian> <Russian>Число</Russian>
<Czech>Číslo</Czech> <Czech>Číslo</Czech>
@ -183,7 +182,7 @@
</Key> </Key>
<Key ID="STR_ACE_OptionsMenu_inClientSettings"> <Key ID="STR_ACE_OptionsMenu_inClientSettings">
<English>Include Client Settings</English> <English>Include Client Settings</English>
<German>Beinhalte Client-Einstellungen</German> <German>Schließe Client-Einstellungen ein</German>
<Spanish>Incluir configuración de cliente</Spanish> <Spanish>Incluir configuración de cliente</Spanish>
<Russian>Включить настройки клиента</Russian> <Russian>Включить настройки клиента</Russian>
<Czech>Zahrnout nastavení klienta</Czech> <Czech>Zahrnout nastavení klienta</Czech>

View File

@ -130,6 +130,7 @@
<Russian>Проверить температуру оружия</Russian> <Russian>Проверить температуру оружия</Russian>
</Key> </Key>
<Key ID="STR_ACE_Overheating_CheckTemperatureShort"> <Key ID="STR_ACE_Overheating_CheckTemperatureShort">
<German>Waffentemperatur&lt;br/&gt;prüfen</German>
<English>Check weapon temperature</English> <English>Check weapon temperature</English>
<Spanish>Verificar temperatura del arma</Spanish> <Spanish>Verificar temperatura del arma</Spanish>
<Polish>Sprawdź temperaturę broni</Polish> <Polish>Sprawdź temperaturę broni</Polish>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="Parachute"> <Package name="Parachute">
<Key ID="STR_ACE_Parachute_showAltimeter"> <Key ID="STR_ACE_Parachute_showAltimeter">

View File

@ -193,7 +193,7 @@ class CfgWeapons {
}; };
// marksmen marksman // marksmen marksman
/*class DMR_02_base_F: Rifle_Long_Base_F { class DMR_02_base_F: Rifle_Long_Base_F {
displayName = "$STR_ACE_RealisticNames_DMR_02"; //MAR-10 .338"; displayName = "$STR_ACE_RealisticNames_DMR_02"; //MAR-10 .338";
}; };
@ -208,7 +208,6 @@ class CfgWeapons {
class srifle_DMR_02_sniper_F: srifle_DMR_02_F { class srifle_DMR_02_sniper_F: srifle_DMR_02_F {
displayName = "$STR_ACE_RealisticNames_srifle_DMR_02_sniper"; //MAR-10 .338 (Sand)"; displayName = "$STR_ACE_RealisticNames_srifle_DMR_02_sniper"; //MAR-10 .338 (Sand)";
}; };
*/
class DMR_03_base_F: Rifle_Long_Base_F { class DMR_03_base_F: Rifle_Long_Base_F {
displayName = "$STR_ACE_RealisticNames_DMR_03"; //Mk-I EMR 7.62 mm"; displayName = "$STR_ACE_RealisticNames_DMR_03"; //Mk-I EMR 7.62 mm";
}; };
@ -236,7 +235,6 @@ class CfgWeapons {
class srifle_DMR_03_spotter_F: srifle_DMR_03_F { class srifle_DMR_03_spotter_F: srifle_DMR_03_F {
displayName = "$STR_ACE_RealisticNames_srifle_DMR_03_spotter"; //NATO DMR (provisional) spotter"; displayName = "$STR_ACE_RealisticNames_srifle_DMR_03_spotter"; //NATO DMR (provisional) spotter";
}; };
/*
class DMR_04_base_F: Rifle_Long_Base_F { class DMR_04_base_F: Rifle_Long_Base_F {
displayName = "$STR_ACE_RealisticNames_DMR_04"; //ASP-1 Kir 12.7 mm"; displayName = "$STR_ACE_RealisticNames_DMR_04"; //ASP-1 Kir 12.7 mm";
}; };
@ -264,7 +262,6 @@ class CfgWeapons {
class srifle_DMR_05_tan_f: srifle_DMR_05_blk_F { class srifle_DMR_05_tan_f: srifle_DMR_05_blk_F {
displayName = "$STR_ACE_RealisticNames_srifle_DMR_05_tan"; //Cyrus 9.3 mm (Tan)"; displayName = "$STR_ACE_RealisticNames_srifle_DMR_05_tan"; //Cyrus 9.3 mm (Tan)";
}; };
*/
class DMR_06_base_F: Rifle_Long_Base_F { class DMR_06_base_F: Rifle_Long_Base_F {
displayName = "$STR_ACE_RealisticNames_DMR_06"; //Mk14 7.62 mm"; displayName = "$STR_ACE_RealisticNames_DMR_06"; //Mk14 7.62 mm";
}; };
@ -278,7 +275,6 @@ class CfgWeapons {
}; };
// marksmen mgs // marksmen mgs
/*
class MMG_01_base_F: Rifle_Long_Base_F { class MMG_01_base_F: Rifle_Long_Base_F {
displayName = "$STR_ACE_RealisticNames_MMG_01"; //Navid 9.3 mm"; displayName = "$STR_ACE_RealisticNames_MMG_01"; //Navid 9.3 mm";
}; };
@ -290,7 +286,6 @@ class CfgWeapons {
class MMG_01_tan_F: MMG_01_hex_F { class MMG_01_tan_F: MMG_01_hex_F {
displayName = "$STR_ACE_RealisticNames_MMG_01_tan"; //Navid 9.3 mm (Tan)"; displayName = "$STR_ACE_RealisticNames_MMG_01_tan"; //Navid 9.3 mm (Tan)";
}; };
*/
class MMG_02_base_F: Rifle_Long_Base_F { class MMG_02_base_F: Rifle_Long_Base_F {
displayName = "$STR_ACE_RealisticNames_MMG_02"; //SPMG .338"; displayName = "$STR_ACE_RealisticNames_MMG_02"; //SPMG .338";
}; };

View File

@ -1482,214 +1482,214 @@
<Russian>VS-121</Russian> <Russian>VS-121</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_DMR_02"> <Key ID="STR_ACE_RealisticNames_DMR_02">
<English>TODO: MAR-10 .338</English> <English>Noreen "Bad News" ULR</English>
<Czech>TODO: MAR-10 .338</Czech> <Czech>Noreen "Bad News" ULR</Czech>
<French>MAR-10 .338</French> <French>Noreen "Bad News" ULR</French>
<Spanish>TODO: MAR-10 .338</Spanish> <Spanish>Noreen "Bad News" ULR</Spanish>
<Russian>TODO: MAR-10 .338</Russian> <Russian>Noreen "Bad News" ULR</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_02"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_02">
<English>TODO: MAR-10 .338 (Black)</English> <English>Noreen "Bad News" ULR (Black)</English>
<Czech>TODO: MAR-10 .338 (Black)</Czech> <Czech>Noreen "Bad News" ULR (Black)</Czech>
<French>MAR-10 .338 (Noir)</French> <French>Noreen "Bad News" ULR (Noir)</French>
<Spanish>TODO: MAR-10 .338 (Negro)</Spanish> <Spanish>Noreen "Bad News" ULR (Negro)</Spanish>
<Russian>TODO: MAR-10 .338 (черный)</Russian> <Russian>Noreen "Bad News" ULR (черный)</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_02_camo"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_02_camo">
<English>TODO: MAR-10 .338 (Camo)</English> <English>Noreen "Bad News" ULR (Camo)</English>
<Czech>TODO: MAR-10 .338 (Camo)</Czech> <Czech>Noreen "Bad News" ULR (Camo)</Czech>
<French>MAR-10 .338 (Camo)</French> <French>Noreen "Bad News" ULR (Camo)</French>
<Spanish>TODO: MAR-10 .338 (Camuflaje)</Spanish> <Spanish>Noreen "Bad News" ULR (Camuflaje)</Spanish>
<Russian>TODO: MAR-10 .338 (камо)</Russian> <Russian>Noreen "Bad News" ULR (камо)</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_02_sniper"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_02_sniper">
<English>TODO: MAR-10 .338 (Sand)</English> <English>Noreen "Bad News" ULR (Sand)</English>
<Czech>TODO: MAR-10 .338 (Sand)</Czech> <Czech>Noreen "Bad News" ULR (Sand)</Czech>
<French>MAR-10 .338 (Beige)</French> <French>Noreen "Bad News" ULR (Beige)</French>
<Spanish>TODO: MAR-10 .338 (Arena)</Spanish> <Spanish>Noreen "Bad News" ULR (Arena)</Spanish>
<Russian>TODO: MAR-10 .338 (песочный)</Russian> <Russian>Noreen "Bad News" ULR (песочный)</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_DMR_03"> <Key ID="STR_ACE_RealisticNames_DMR_03">
<English>SG 556 7.62 mm</English> <English>SIG 556</English>
<Czech>SG 556 7.62 mm</Czech> <Czech>SIG 556</Czech>
<French>SG 556 7.62 mm</French> <French>SIG 556</French>
<Spanish>SG 556 7.62 mm</Spanish> <Spanish>SIG 556</Spanish>
<Russian>SG 556 7.62 мм</Russian> <Russian>SIG 556</Russian>
<Polish>SG 556 7,62 mm</Polish> <Polish>SIG 556</Polish>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_03">
<English>SG 556 7.62 mm (Black)</English> <English>SIG 556 (Black)</English>
<Czech>SG 556 7.62 mm (Black)</Czech> <Czech>SIG 556 (Black)</Czech>
<French>SG 556 7.62 mm (Noir)</French> <French>SIG 556 (Noir)</French>
<Spanish>SG 556 7.62 mm (Negro)</Spanish> <Spanish>SIG 556 (Negro)</Spanish>
<Russian>SG 556 7.62 мм (черный)</Russian> <Russian>SIG 556 (черный)</Russian>
<Polish>SG 556 7,62 mm (czarny)</Polish> <Polish>SIG 556 (czarny)</Polish>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_khaki"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_03_khaki">
<English>SG 556 7.62 mm (Khaki)</English> <English>SIG 556 (Khaki)</English>
<Czech>SG 556 7.62 mm (Khaki)</Czech> <Czech>SIG 556 (Khaki)</Czech>
<French>SG 556 7.62 mm (Kaki)</French> <French>SIG 556 (Kaki)</French>
<Spanish>SG 556 7.62 mm (Caqui)</Spanish> <Spanish>SIG 556 (Caqui)</Spanish>
<Russian>SG 556 7.62 мм (хаки)</Russian> <Russian>SIG 556 (хаки)</Russian>
<Polish>SG 556 7,62 mm (khaki)</Polish> <Polish>SIG 556 (khaki)</Polish>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_tan"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_03_tan">
<English>SG 556 7.62 mm (Sand)</English> <English>SIG 556 (Sand)</English>
<Czech>SG 556 7.62 mm (Sand)</Czech> <Czech>SIG 556 (Sand)</Czech>
<French>SG 556 7.62 mm (Beige)</French> <French>SIG 556 (Beige)</French>
<Spanish>SG 556 7.62 mm (Arena)</Spanish> <Spanish>SIG 556 (Arena)</Spanish>
<Russian>SG 556 7.62 мм (песочный)</Russian> <Russian>SIG 556 (песочный)</Russian>
<Polish>SG 556 7,62 mm (piaskowy)</Polish> <Polish>SIG 556 (piaskowy)</Polish>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_multicam"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_03_multicam">
<English>SG 556 7.62 mm (Camo)</English> <English>SIG 556 (Camo)</English>
<Czech>SG 556 7.62 mm (Camo)</Czech> <Czech>SIG 556 (Camo)</Czech>
<French>SG 556 7.62 mm (Camo)</French> <French>SIG 556 (Camo)</French>
<Spanish>SG 556 7.62 mm (Camuflaje)</Spanish> <Spanish>SIG 556 (Camuflaje)</Spanish>
<Russian>SG 556 7.62 мм (камо)</Russian> <Russian>SIG 556 (камо)</Russian>
<Polish>SG 556 7,62 mm (kamuflaż)</Polish> <Polish>SIG 556 (kamuflaż)</Polish>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_woodland"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_03_woodland">
<English>SG 556 7.62 mm (Woodland)</English> <English>SIG 556 (Woodland)</English>
<Czech>SG 556 7.62 mm (Woodland)</Czech> <Czech>SIG 556 (Woodland)</Czech>
<French>SG 556 7.62 mm (Woodland)</French> <French>SIG 556 (Woodland)</French>
<Spanish>SG 556 7.62 mm (Bosque)</Spanish> <Spanish>SIG 556 (Bosque)</Spanish>
<Russian>SG 556 7.62 мм (лесной)</Russian> <Russian>SIG 556 (лесной)</Russian>
<Polish>SG 556 7,62 mm (leśny)</Polish> <Polish>SIG 556 (leśny)</Polish>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_spotter"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_03_spotter">
<English>SG 556 7.62 mm (provisional) spotter</English> <English>SIG 556 (provisional) spotter</English>
<Czech>SG 556 7.62 mm (provisional) spotter</Czech> <Czech>SIG 556 (provisional) spotter</Czech>
<French>SG 556 7.62 mm (provisoire) Observateur</French> <French>SIG 556 (provisoire) Observateur</French>
<Spanish>SG 556 7.62 mm (provisional) observador</Spanish> <Spanish>SIG 556 (provisional) observador</Spanish>
<Russian>SG 556 7.62 мм (provisional) корректировщик</Russian> <Russian>SIG 556 (provisional) корректировщик</Russian>
<Polish>SG 556 7,62 mm (prowizoryczny) obserwator</Polish> <Polish>SIG 556 (prowizoryczny) obserwator</Polish>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_DMR_04"> <Key ID="STR_ACE_RealisticNames_DMR_04">
<English>TODO: ASP-1 Kir 12.7 mm</English> <English>ASP-1 Kir</English>
<Czech>TODO: ASP-1 Kir 12.7 mm</Czech> <Czech>ASP-1 Kir</Czech>
<French>ASP-1 Kir 12.7 mm</French> <French>ASP-1 Kir</French>
<Spanish>TODO: ASP-1 Kir 12.7 mm</Spanish> <Spanish>ASP-1 Kir</Spanish>
<Russian>TODO: ASP-1 Kir 12.7 мм</Russian> <Russian>ASP-1 Kir</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_04"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_04">
<English>TODO: ASP-1 Kir 12.7 mm (Black)</English> <English>ASP-1 Kir (Black)</English>
<Czech>TODO: ASP-1 Kir 12.7 mm (Black)</Czech> <Czech>ASP-1 Kir (Black)</Czech>
<French>ASP-1 Kir 12.7 mm (Noir)</French> <French>ASP-1 Kir (Noir)</French>
<Spanish>TODO: ASP-1 Kir 12.7 mm (Negro)</Spanish> <Spanish>ASP-1 Kir (Negro)</Spanish>
<Russian>TODO: ASP-1 Kir 12.7 мм (черный)</Russian> <Russian>ASP-1 Kir (черный)</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_04_Tan"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_04_Tan">
<English>TODO: ASP-1 Kir 12.7 mm (Tan)</English> <English>ASP-1 Kir (Tan)</English>
<Czech>TODO: ASP-1 Kir 12.7 mm (Tan)</Czech> <Czech>ASP-1 Kir (Tan)</Czech>
<French>ASP-1 Kir 12.7 mm (Tan)</French> <French>ASP-1 Kir (Tan)</French>
<Spanish>TODO: ASP-1 Kir 12.7 mm (Tan)</Spanish> <Spanish>ASP-1 Kir (Tan)</Spanish>
<Russian>TODO: ASP-1 Kir 12.7 мм (бронзовый)</Russian> <Russian>ASP-1 Kir (бронзовый)</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_DMR_05"> <Key ID="STR_ACE_RealisticNames_DMR_05">
<English>TODO: Cyrus 9.3 mm</English> <English>Cyrus</English>
<Czech>TODO: Cyrus 9.3 mm</Czech> <Czech>Cyrus</Czech>
<French>Cyrus 9.3 mm</French> <French>Cyrus</French>
<Spanish>TODO: Cyrus 9.3 mm</Spanish> <Spanish>Cyrus</Spanish>
<Russian>TODO: Cyrus 9.3 мм</Russian> <Russian>Cyrus</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_05_blk"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_05_blk">
<English>TODO: Cyrus 9.3 mm (Black)</English> <English>Cyrus (Black)</English>
<Czech>TODO: Cyrus 9.3 mm (Black)</Czech> <Czech>Cyrus (Black)</Czech>
<French>Cyrus 9.3 mm (Noir)</French> <French>Cyrus (Noir)</French>
<Spanish>TODO: Cyrus 9.3 mm (Negro)</Spanish> <Spanish>Cyrus (Negro)</Spanish>
<Russian>TODO: Cyrus 9.3 мм (черный)</Russian> <Russian>Cyrus (черный)</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_05_hex"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_05_hex">
<English>TODO: Cyrus 9.3 mm (Hex)</English> <English>Cyrus (Hex)</English>
<Czech>TODO: Cyrus 9.3 mm (Hex)</Czech> <Czech>Cyrus (Hex)</Czech>
<French>Cyrus 9.3 mm (Hex)</French> <French>Cyrus (Hex)</French>
<Spanish>TODO: Cyrus 9.3 mm (Hex)</Spanish> <Spanish>Cyrus (Hex)</Spanish>
<Russian>TODO: Cyrus 9.3 мм (гекс)</Russian> <Russian>Cyrus (гекс)</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_05_tan"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_05_tan">
<English>TODO: Cyrus 9.3 mm (Tan)</English> <English>Cyrus (Tan)</English>
<Czech>TODO: Cyrus 9.3 mm (Tan)</Czech> <Czech>Cyrus (Tan)</Czech>
<French>Cyrus 9.3 mm (Tan)</French> <French>Cyrus (Tan)</French>
<Spanish>TODO: Cyrus 9.3 mm (Tan)</Spanish> <Spanish>Cyrus (Tan)</Spanish>
<Russian>TODO: Cyrus 9.3 мм (бронза)</Russian> <Russian>Cyrus (бронза)</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_DMR_06"> <Key ID="STR_ACE_RealisticNames_DMR_06">
<English>M14 7.62 mm</English> <English>M14</English>
<Czech>M14 7.62 mm</Czech> <Czech>M14</Czech>
<French>M14 7.62 mm</French> <French>M14</French>
<Spanish>M14 7.62 mm</Spanish> <Spanish>M14</Spanish>
<Russian>M14 7.62 мм</Russian> <Russian>M14</Russian>
<Polish>M14 7,62 mm</Polish> <Polish>M14</Polish>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_06_camo"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_06_camo">
<English>M14 7.62 mm (Camo)</English> <English>M14 (Camo)</English>
<Czech>M14 7.62 mm (Camo)</Czech> <Czech>M14 (Camo)</Czech>
<French>M14 7.62 mm (Camo)</French> <French>M14 (Camo)</French>
<Spanish>M14 7.62 mm (Camuflaje)</Spanish> <Spanish>M14 (Camuflaje)</Spanish>
<Russian>M14 7.62 мм (Камо)</Russian> <Russian>M14 (Камо)</Russian>
<Polish>M14 7,62 mm (kamuflaż)</Polish> <Polish>M14 (kamuflaż)</Polish>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_06_olive"> <Key ID="STR_ACE_RealisticNames_srifle_DMR_06_olive">
<English>M14 7.62 mm (Olive)</English> <English>M14 (Olive)</English>
<Czech>M14 7.62 mm (Olive)</Czech> <Czech>M14 (Olive)</Czech>
<French>M14 7.62 mm (Olive)</French> <French>M14 (Olive)</French>
<Spanish>M14 7.62 mm (Oliva)</Spanish> <Spanish>M14 (Oliva)</Spanish>
<Russian>M14 7.62 мм (Олива)</Russian> <Russian>M14 (Олива)</Russian>
<Polish>M14 7,62 mm (oliwkowy)</Polish> <Polish>M14 (oliwkowy)</Polish>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_MMG_01"> <Key ID="STR_ACE_RealisticNames_MMG_01">
<English>TODO: Navid 9.3 mm</English> <English>HK121</English>
<Czech>TODO: Navid 9.3 mm</Czech> <Czech>HK121</Czech>
<French>Navid 9.3 mm</French> <French>HK121</French>
<Spanish>TODO: Navid 9.3 mm</Spanish> <Spanish>HK121</Spanish>
<Russian>TODO: Navid 9.3 мм</Russian> <Russian>HK121</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_MMG_01_hex"> <Key ID="STR_ACE_RealisticNames_MMG_01_hex">
<English>TODO: Navid 9.3 mm (Hex)</English> <English>HK121 (Hex)</English>
<Czech>TODO: Navid 9.3 mm (Hex)</Czech> <Czech>HK121 (Hex)</Czech>
<French>Navid 9.3 mm (Hex)</French> <French>HK121 (Hex)</French>
<Spanish>TODO: Navid 9.3 mm (Hex)</Spanish> <Spanish>HK121 (Hex)</Spanish>
<Russian>TODO: Navid 9.3 мм (гекс)</Russian> <Russian>HK121 (гекс)</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_MMG_01_tan"> <Key ID="STR_ACE_RealisticNames_MMG_01_tan">
<English>TODO: Navid 9.3 mm (Tan)</English> <English>HK121 (Tan)</English>
<Czech>TODO: Navid 9.3 mm (Tan)</Czech> <Czech>HK121 (Tan)</Czech>
<French>Navid 9.3 mm (Tan)</French> <French>HK121 (Tan)</French>
<Spanish>TODO: Navid 9.3 mm (Tan)</Spanish> <Spanish>HK121 (Tan)</Spanish>
<Russian>TODO: Navid 9.3 мм (бронза)</Russian> <Russian>HK121 (бронза)</Russian>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_MMG_02"> <Key ID="STR_ACE_RealisticNames_MMG_02">
<English>LWMMG .338</English> <English>LWMMG</English>
<Czech>LWMMG .338</Czech> <Czech>LWMMG</Czech>
<French>LWMMG .338</French> <French>LWMMG</French>
<Spanish>LWMMG .338</Spanish> <Spanish>LWMMG</Spanish>
<Russian>LWMMG .338</Russian> <Russian>LWMMG</Russian>
<Polish>LWMMG .338</Polish> <Polish>LWMMG</Polish>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_MMG_02_camo"> <Key ID="STR_ACE_RealisticNames_MMG_02_camo">
<English>LWMMG .338 (MTP)</English> <English>LWMMG (MTP)</English>
<Czech>LWMMG .338 (MTP)</Czech> <Czech>LWMMG (MTP)</Czech>
<French>LWMMG .338 (MTP)</French> <French>LWMMG (MTP)</French>
<Spanish>LWMMG .338 (MTP)</Spanish> <Spanish>LWMMG (MTP)</Spanish>
<Russian>LWMMG .338 (MTP)</Russian> <Russian>LWMMG (MTP)</Russian>
<Polish>LWMMG .338 (MTP)</Polish> <Polish>LWMMG (MTP)</Polish>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_MMG_02_black"> <Key ID="STR_ACE_RealisticNames_MMG_02_black">
<English>LWMMG .338 (Black)</English> <English>LWMMG (Black)</English>
<Czech>LWMMG .338 (Black)</Czech> <Czech>LWMMG (Black)</Czech>
<French>LWMMG .338 (Noir)</French> <French>LWMMG (Noir)</French>
<Spanish>LWMMG .338 (Negro)</Spanish> <Spanish>LWMMG (Negro)</Spanish>
<Russian>LWMMG .338 (Черный)</Russian> <Russian>LWMMG (Черный)</Russian>
<Polish>LWMMG .338 (czarny)</Polish> <Polish>LWMMG (czarny)</Polish>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_MMG_02_sand"> <Key ID="STR_ACE_RealisticNames_MMG_02_sand">
<English>LWMMG .338 (Sand)</English> <English>LWMMG (Sand)</English>
<Czech>LWMMG .338 (Sand)</Czech> <Czech>LWMMG (Sand)</Czech>
<French>SPMG .338 (Beige)</French> <French>SPMG (Beige)</French>
<Spanish>LWMMG .338 (Arena)</Spanish> <Spanish>LWMMG (Arena)</Spanish>
<Russian>LWMMG .338 (Песочный)</Russian> <Russian>LWMMG (Песочный)</Russian>
<Polish>LWMMG .338 (piaskowy)</Polish> <Polish>LWMMG (piaskowy)</Polish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -0,0 +1,14 @@
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit));
};
};
class Extended_FiredBIS_EventHandlers {
class CAManBase {
class ADDON {
clientFiredBIS = QUOTE(if (_this select 0 == ACE_player) then {_this call FUNC(camshake)};);
};
};
};

View File

@ -0,0 +1,85 @@
// Completely disable BI's camshake on fire.
#define ACE_CAMSHAKEFIRE_BASE 0
#define ACE_CAMSHAKEFIRE_LESS 0
#define ACE_CAMSHAKEFIRE_MORE 0
// Go through all modes that have a camshakefire defined and change it to ours.
class CfgMovesBasic {
class Default {
camShakeFire = ACE_CAMSHAKEFIRE_NORMAL;
};
};
class CfgMovesMaleSdr: CfgMovesBasic {
class States {
class AmovPercMstpSlowWrflDnon;
class AmovPknlMstpSlowWrflDnon: AmovPercMstpSlowWrflDnon {
camShakeFire = ACE_CAMSHAKEFIRE_LESS;
};
class AmovPercMstpSrasWrflDnon;
class AmovPpneMstpSrasWrflDnon: AmovPercMstpSrasWrflDnon {
camShakeFire = ACE_CAMSHAKEFIRE_LESS;
};
class AmovPknlMstpSrasWlnrDnon: Default {
camShakeFire = ACE_CAMSHAKEFIRE_LESS;
};
class AmovPknlMrunSlowWrflDf;
class AmovPknlMtacSlowWrflDf: AmovPknlMrunSlowWrflDf {
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
};
class AmovPknlMrunSlowWrflDfl;
class AmovPknlMtacSlowWrflDfl: AmovPknlMrunSlowWrflDfl {
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
};
class AmovPknlMrunSlowWrflDl;
class AmovPknlMtacSlowWrflDl: AmovPknlMrunSlowWrflDl {
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
};
class AmovPknlMrunSlowWrflDbl;
class AmovPknlMtacSlowWrflDbl: AmovPknlMrunSlowWrflDbl {
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
};
class AmovPknlMrunSlowWrflDb;
class AmovPknlMtacSlowWrflDb: AmovPknlMrunSlowWrflDb {
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
};
class AmovPknlMrunSlowWrflDbr;
class AmovPknlMtacSlowWrflDbr: AmovPknlMrunSlowWrflDbr {
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
};
class AmovPknlMrunSlowWrflDr;
class AmovPknlMtacSlowWrflDr: AmovPknlMrunSlowWrflDr {
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
};
class AmovPknlMrunSlowWrflDfr;
class AmovPknlMtacSlowWrflDfr: AmovPknlMrunSlowWrflDfr {
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
};
class AmovPknlMstpSrasWrflDnon;
class AmovPknlMwlkSrasWrflDf: AmovPknlMstpSrasWrflDnon {
camShakeFire = ACE_CAMSHAKEFIRE_NORMAL;
};
class AmovPknlMrunSrasWrflDf;
class AmovPknlMtacSrasWrflDf: AmovPknlMrunSrasWrflDf {
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
};
class AmovPknlMwlkSrasWpstDf;
class AmovPknlMtacSrasWpstDf: AmovPknlMwlkSrasWpstDf {
camShakeFire = ACE_CAMSHAKEFIRE_MORE;
};
};
};

View File

@ -1,11 +1,11 @@
#define KICKBACK 1.6 #define KICKBACK 1.4
#define MUZZLETEMP 1 #define MUZZLETEMP 1.2
#define MUZZLEPERM 0.1 #define MUZZLEPERM 0.4
#define MUZZLECLIMB_POS 1 #define MUZZLECLIMB_POS 1
#define MUZZLERIGHT_POS 0.4 #define MUZZLERIGHT_POS 0.2
#define MUZZLECLIMB_MAG 1 #define MUZZLECLIMB_MAG 1
#define MUZZLERIGHT_MAG 1 #define MUZZLERIGHT_MAG 1
@ -70,7 +70,7 @@ class CfgRecoils {
class recoil_sw: recoil_default { class recoil_sw: recoil_default {
muzzleOuter[] = {0.3*MUZZLERIGHT_POS,0.8*MUZZLECLIMB_POS,0.5*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG}; muzzleOuter[] = {0.3*MUZZLERIGHT_POS,0.8*MUZZLECLIMB_POS,0.5*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG};
kickBack[] = {0.02*KICKBACK,0.04*KICKBACK}; kickBack[] = {0.02*KICKBACK,0.04*KICKBACK};
temporary = 0.005*MUZZLETEMP; temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP;
}; };
class recoil_mxm: recoil_default { class recoil_mxm: recoil_default {
@ -178,13 +178,13 @@ class CfgRecoils {
class recoil_mk200: recoil_default { class recoil_mk200: recoil_default {
muzzleOuter[] = {0.4*MUZZLERIGHT_POS,0.6*MUZZLECLIMB_POS,0.6*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG}; muzzleOuter[] = {0.4*MUZZLERIGHT_POS,0.6*MUZZLECLIMB_POS,0.6*MUZZLERIGHT_MAG,0.2*MUZZLECLIMB_MAG};
kickBack[] = {0.03*KICKBACK,0.06*KICKBACK}; kickBack[] = {0.03*KICKBACK,0.06*KICKBACK};
temporary = 0.005*MUZZLETEMP; temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP;
}; };
class recoil_zafir: recoil_default { class recoil_zafir: recoil_default {
muzzleOuter[] = {0.5*MUZZLERIGHT_POS,1*MUZZLECLIMB_POS,0.7*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; muzzleOuter[] = {0.5*MUZZLERIGHT_POS,1*MUZZLECLIMB_POS,0.7*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG};
kickBack[] = {0.02*KICKBACK,0.08*KICKBACK}; kickBack[] = {0.02*KICKBACK,0.08*KICKBACK};
temporary = 0.005*MUZZLETEMP; temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP;
}; };
class recoil_m320: recoil_default { class recoil_m320: recoil_default {
@ -244,12 +244,12 @@ class CfgRecoils {
class recoil_mmg_01: recoil_default { class recoil_mmg_01: recoil_default {
muzzleOuter[] = {0.6*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.8*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG}; muzzleOuter[] = {0.6*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.8*MUZZLERIGHT_MAG,0.3*MUZZLECLIMB_MAG};
kickBack[] = {0.02*KICKBACK,0.08*KICKBACK}; kickBack[] = {0.02*KICKBACK,0.08*KICKBACK};
temporary = 0.005*MUZZLETEMP; temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP;
}; };
class recoil_mmg_02: recoil_default { class recoil_mmg_02: recoil_default {
muzzleOuter[] = {0.5*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.6*MUZZLERIGHT_MAG,0.4*MUZZLECLIMB_MAG}; muzzleOuter[] = {0.5*MUZZLERIGHT_POS,1.5*MUZZLECLIMB_POS,0.6*MUZZLERIGHT_MAG,0.4*MUZZLECLIMB_MAG};
kickBack[] = {0.04*KICKBACK,0.08*KICKBACK}; kickBack[] = {0.04*KICKBACK,0.08*KICKBACK};
temporary = 0.005*MUZZLETEMP; temporary = 0.01*MUZZLETEMP; //0.005*MUZZLETEMP;
}; };
}; };

View File

@ -0,0 +1,8 @@
// by commy2
#include "script_component.hpp"
ADDON = false;
PREP(camshake);
ADDON = true;

View File

@ -12,4 +12,12 @@ class CfgPatches {
}; };
}; };
#include "CfgEventHandlers.hpp"
#include "CfgMoves.hpp"
#include "CfgRecoils.hpp" #include "CfgRecoils.hpp"
class CfgCameraShake {
// What does this do, really? It seems like the engine no longer respects it.
defaultCaliberCoefWeaponFire = 0;
};

View File

@ -0,0 +1,63 @@
// TMR: Small Arms - Recoil initialization and functions
// (C) 2013 Ryan Schultz. See LICENSE.
// Edited prefixes for compatability in AGM_Realism by KoffeinFlummi
// Edited by commy2
#include "script_component.hpp"
#define BASE_POWER 0.40
#define BASE_TIME 0.19
#define BASE_FREQ 13
#define RECOIL_COEF 40
private ["_unit", "_weapon", "_muzzle"];
_unit = _this select 0;
_weapon = _this select 1;
_muzzle = _this select 2;
if (toLower _weapon in ["throw", "put"]) exitWith {};
private ["_powerMod", "_timeMod", "_freqMod"];
_powerMod = ([0, -0.1, -0.1, 0, -0.2] select (["STAND", "CROUCH", "PRONE", "UNDEFINED", ""] find stance _unit)) + ([0, -1, 0, -1] select (["INTERNAL", "EXTERNAL", "GUNNER", "GROUP"] find cameraView));
_timeMod = 0;
_freqMod = 0;
// to get camshake read kickback
private ["_config", "_recoil"];
_config = configFile >> "CfgWeapons" >> _weapon;
_recoil = if (_muzzle == _weapon) then {
getText (_config >> "recoil")
} else {
getText (_config >> _muzzle >> "recoil")
};
_recoil = getArray (configFile >> "CfgRecoils" >> _recoil >> "kickBack");
if (count _recoil < 2) then {
_recoil = [0, 0];
};
// parse numbers
_recoil set [0, call compile format ["%1", _recoil select 0]];
_recoil set [1, call compile format ["%1", _recoil select 1]];
private "_powerCoef";
_powerCoef = RECOIL_COEF * linearConversion [0, 1, random 1, _recoil select 0, _recoil select 1, false];
if (isWeaponRested _unit) then {_powerMod = _powerMod - 0.07};
if (isWeaponDeployed _unit) then {_powerMod = _powerMod - 0.11};
private "_camshake";
_camshake = [
_powerCoef * (BASE_POWER + _powerMod) max 0,
BASE_TIME + _timeMod max 0,
BASE_FREQ + _freqMod max 0
];
/*
systemChat str _camshake;
copyToClipboard format ["addCamShake %1;", _camshake];
*/
addCamShake _camshake;

View File

@ -0,0 +1 @@
#include "\z\ace\addons\recoil\script_component.hpp"

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="ReloadLaunchers"> <Package name="ReloadLaunchers">
<Key ID="STR_ACE_ReloadLaunchers_LoadLauncher"> <Key ID="STR_ACE_ReloadLaunchers_LoadLauncher">

View File

@ -31,21 +31,17 @@ GVAR(Module) = true;
if (isServer) then { if (isServer) then {
if (GVAR(RemoveDeadBodiesDisconnected)) then { if (GVAR(RemoveDeadBodiesDisconnected)) then {
private "_fnc_deleteDisconnected"; addMissionEventHandler ["HandleDisconnect", {
_fnc_deleteDisconnected = { [{
_this spawn {
PARAMS_1(_unit); PARAMS_1(_unit);
sleep 4;
if (!alive _unit) then { if (!alive _unit) then {
deleteVehicle _unit; deleteVehicle _unit;
}; };
}; },
_this, 4, 1] call EFUNC(common,waitAndExecute);
false false
}; }];
addMissionEventHandler ["HandleDisconnect", _fnc_deleteDisconnected];
}; };
}; };

View File

@ -17,31 +17,35 @@
#include "script_component.hpp" #include "script_component.hpp"
_this spawn { PARAMS_2(_unit,_side);
PARAMS_2(_unit,_side);
private ["_rallypoint", "_position"]; private ["_rallypoint", "_position"];
// rallypoint names are defined in CfgVehicles.hpp // rallypoint names are defined in CfgVehicles.hpp
_rallypoint = [ _rallypoint = [
objNull, objNull,
missionNamespace getVariable ["ACE_Rallypoint_West", objNull], missionNamespace getVariable ["ACE_Rallypoint_West", objNull],
missionNamespace getVariable ["ACE_Rallypoint_East", objNull], missionNamespace getVariable ["ACE_RallypointExit_East", objNull],
missionNamespace getVariable ["ACE_Rallypoint_Independent", objNull] missionNamespace getVariable ["ACE_RallypointExit_Independent", objNull]
] select ([west, east, independent] find _side) + 1; ] select ([west, east, independent] find _side) + 1;
if (isNull _rallypoint) exitWith {}; if (isNull _rallypoint) exitWith {};
_position = getPosATL _unit; _position = getPosATL _unit;
_position = _position findEmptyPosition [0, 2, typeOf _rallypoint]; _position = _position findEmptyPosition [0, 2, typeOf _rallypoint];
if (count _position == 0) then {_position = getPosATL _unit}; if (count _position == 0) then {_position = getPosATL _unit};
_position set [2, 0]; _position set [2, 0];
[localize "STR_ACE_Respawn_Deploy"] call EFUNC(common,displayTextStructured); [localize "STR_ACE_Respawn_Deploy"] call EFUNC(common,displayTextStructured);
[{
_rallypoint = _this select 0;
_unit = _this select 1;
_position = _this select 2;
_rallypoint = _this select 3;
sleep 5;
_rallypoint setPosATL _position; _rallypoint setPosATL _position;
_unit reveal _rallypoint; _unit reveal _rallypoint;
@ -50,4 +54,5 @@ _this spawn {
["rallypointMoved", [_rallypoint, _side, _position]] call EFUNC(common,globalEvent); ["rallypointMoved", [_rallypoint, _side, _position]] call EFUNC(common,globalEvent);
[localize "STR_ACE_Respawn_Deployed"] call EFUNC(common,displayTextStructured); [localize "STR_ACE_Respawn_Deployed"] call EFUNC(common,displayTextStructured);
}; },
[_rallypoint, _unit, _position, _rallypoint], 5, 1] call EFUNC(common,waitAndExecute);

View File

@ -29,9 +29,8 @@ if (_forceRemove) then {
_bodyRemoveTimer = 2; _bodyRemoveTimer = 2;
}; };
[_body, _bodyRemoveTimer] spawn { [{
sleep (_this select 1);
// hideBody takes ~20s till body is fully underground // hideBody takes ~20s till body is fully underground
// a better hideBody would make this more aesthetic // a better hideBody would make this more aesthetic
deleteVehicle (_this select 0); deleteVehicle _this;
}; }, _body, _bodyRemoveTimer, 1] call EFUNC(common,waitAndExecute);

View File

@ -71,4 +71,18 @@ class CfgWeapons {
}; };
}; };
}; };
class optic_KHS_old : ItemCore {
ACE_ScopeAdjust_Vertical[] = { -4, 30 };
ACE_ScopeAdjust_Horizontal[] = { -6, 6 };
ACE_ScopeAdjust_Increment = 0.1;
class ItemInfo : InventoryOpticsItem_Base_F {
class OpticsModes {
class KHS {
discreteDistance[] = { 100 };
discreteDistanceInitIndex = 0;
};
};
};
};
}; };

View File

@ -1,18 +1,17 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="Vector"> <Package name="Vector">
<Key ID="STR_ACE_Vector_VectorName"> <Key ID="STR_ACE_Vector_VectorName">
<English>Vector IV</English> <English>Vector 21</English>
<German>Vector IV</German> <German>Vector 21</German>
<Spanish>Vector IV</Spanish> <Spanish>Vector 21</Spanish>
<French>Vector IV</French> <French>Vector 21</French>
<Polish>Vector IV</Polish> <Polish>Vector 21</Polish>
<Czech>Vector IV</Czech> <Czech>Vector 21</Czech>
<Italian>Vector IV</Italian> <Italian>Vector 21</Italian>
<Hungarian>Vector IV</Hungarian> <Hungarian>Vector 21</Hungarian>
<Portuguese>Vector IV</Portuguese> <Portuguese>Vector 21</Portuguese>
<Russian>Vector IV</Russian> <Russian>Vector 21</Russian>
</Key> </Key>
<Key ID="STR_ACE_Vector_VectorDescription"> <Key ID="STR_ACE_Vector_VectorDescription">
<English>Rangefinder</English> <English>Rangefinder</English>

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="Vehicles"> <Package name="Vehicles">
<Key ID="STR_ACE_SpeedLimiter_On"> <Key ID="STR_ACE_SpeedLimiter_On">

View File

@ -0,0 +1,38 @@
class ACE_Settings {
class GVAR(enableServerController) {
displayName = "Weather propagation";
description = "Enables sever side weather propagation";
typeName = "BOOL";
value = 1;
};
class GVAR(useACEWeather) {
displayName = "ACE Weather";
description = "Overrides the default weather (editor, mission settings) with ACE weather (map based)";
typeName = "BOOL";
value = 1;
};
class GVAR(syncRain) {
displayName = "Sync Rain";
description = "Synchronizes rain";
typeName = "BOOL";
value = 1;
};
class GVAR(syncWind) {
displayName = "Sync Wind";
description = "Synchronizes wind";
typeName = "BOOL";
value = 1;
};
class GVAR(syncMisc) {
displayName = "Sync Misc";
description = "Synchronizes lightnings, rainbow, fog, ...";
typeName = "BOOL";
value = 1;
};
class GVAR(serverUpdateInterval) {
displayName = "Update Interval";
description = "Defines the interval (seconds) between weather updates";
typeName = "SCALAR";
value = 60;
};
};

View File

@ -0,0 +1,52 @@
class CfgVehicles {
class ACE_Module;
class GVAR(ModuleSettings): ACE_Module {
scope = 2;
displayName = "Weather";
icon = QUOTE(PATHTOF(UI\Icon_Module_Wind_ca.paa));
category = "ACE";
function = QUOTE(DFUNC(initModuleSettings));
functionPriority = 1;
isGlobal = 1;
isTriggerActivated = 0;
author = "$STR_ACE_Common_ACETeam";
class Arguments {
class enableServerController {
displayName = "Weather propagation";
description = "Enables sever side weather propagation";
typeName = "BOOL";
defaultValue = 1;
};
class useACEWeather {
displayName = "ACE Weather";
description = "Overrides the default weather (editor, mission settings) with ACE weather (map based)";
typeName = "BOOL";
defaultValue = 1;
};
class syncRain {
displayName = "Sync Rain";
description = "Synchronizes rain";
typeName = "BOOL";
defaultValue = 1;
};
class syncWind {
displayName = "Sync Wind";
description = "Synchronizes wind";
typeName = "BOOL";
defaultValue = 1;
};
class syncMisc {
displayName = "Sync Misc";
description = "Synchronizes lightnings, rainbow, fog, ...";
typeName = "BOOL";
defaultValue = 1;
};
class serverUpdateInterval {
displayName = "Update Interval";
description = "Defines the interval (seconds) between weather updates";
typeName = "NUMBER";
defaultValue = 60;
};
};
};
};

Binary file not shown.

View File

@ -9,7 +9,4 @@ GVAR(rain_current_range) = -1+(random 2);
// Wind // Wind
call FUNC(initWind); call FUNC(initWind);
GVAR(overcast_multiplier) = 1;
GVAR(serverUpdateInterval) = 60;
[FUNC(serverController), GVAR(serverUpdateInterval)] call cba_fnc_addPerFrameHandler; [FUNC(serverController), GVAR(serverUpdateInterval)] call cba_fnc_addPerFrameHandler;

View File

@ -8,21 +8,15 @@ PREP(calculateBarometricPressure);
PREP(displayWindInfo); PREP(displayWindInfo);
PREP(getMapData); PREP(getMapData);
PREP(getWind); PREP(getWind);
PREP(initModuleSettings);
PREP(initWind); PREP(initWind);
PREP(serverController); PREP(serverController);
PREP(updateAceWeather);
PREP(updateHumidity); PREP(updateHumidity);
PREP(updateRain); PREP(updateRain);
PREP(updateTemperature); PREP(updateTemperature);
PREP(updateWind); PREP(updateWind);
// Control server side weather propagation
GVAR(enableServerController) = true;
// Control client side weather effects
GVAR(syncRain) = true;
GVAR(syncWind) = true; // Wind, Gusts, Waves
GVAR(syncMisc) = true; // Lightnings, Rainbow, Fog
// Make sure this data is read before client/server postInit // Make sure this data is read before client/server postInit
call FUNC(getMapData); call FUNC(getMapData);

View File

@ -3,7 +3,7 @@
class CfgPatches { class CfgPatches {
class ADDON { class ADDON {
units[] = {}; units[] = {};
weapons[] = {};// "ACE_Kestrel4500" }; weapons[] = {};
requiredVersion = REQUIRED_VERSION; requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"}; requiredAddons[] = {"ace_common"};
author[] = {"q1184", "Rocko", "esteldunedain","Ruthberg"}; author[] = {"q1184", "Rocko", "esteldunedain","Ruthberg"};
@ -14,3 +14,5 @@ class CfgPatches {
#include "CfgEventhandlers.hpp" #include "CfgEventhandlers.hpp"
#include "CfgWorlds.hpp" #include "CfgWorlds.hpp"
#include "RscTitles.hpp" #include "RscTitles.hpp"
#include "CfgVehicles.hpp"
#include "ACE_Settings.hpp"

View File

@ -0,0 +1,39 @@
/*
* Author: Glowbal, Ruthberg
* Module for adjusting the wind deflection settings
*
* Arguments:
* 0: The module logic <LOGIC>
* 1: units <ARRAY>
* 2: activated <BOOL>
*
* Return Value:
* None <NIL>
*
* Public: No
*/
#include "script_component.hpp"
private ["_logic", "_units", "_activated"];
_logic = _this select 0;
_units = _this select 1;
_activated = _this select 2;
if !(_activated) exitWith {};
// Control server side weather propagation
[_logic, QGVAR(enableServerController), "enableServerController"] call EFUNC(common,readSettingFromModule);
// Overrides the default weather (editor, mission settings) with ACE weather (map based)
[_logic, QGVAR(useACEWeather), "useACEWeather"] call EFUNC(common,readSettingFromModule);
// Control client side weather effects
[_logic, QGVAR(syncRain), "syncRain"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(syncWind), "syncWind"] call EFUNC(common,readSettingFromModule); // Wind, Gusts, Waves
[_logic, QGVAR(syncMisc), "syncMisc"] call EFUNC(common,readSettingFromModule); // Lightnings, Rainbow, Fog
// Server weather update interval
[_logic, QGVAR(serverUpdateInterval), "serverUpdateInterval"] call EFUNC(common,readSettingFromModule);
GVAR(serverUpdateInterval) = 1 max GVAR(serverUpdateInterval) min 600;

View File

@ -1,7 +1,7 @@
/* /*
* Author: ACE2 Team, esteldunedain, ruthberg * Author: Ruthberg
* *
* Calculate the wind and rain evolution on the server. Broadcasts the current and next values to the clients * Gather weather parameters and broadcast them to the clients
* *
* Argument: * Argument:
* None * None
@ -13,95 +13,21 @@
if (!GVAR(enableServerController)) exitWith {}; if (!GVAR(enableServerController)) exitWith {};
private ["_lastRain", "_rainOverCast", "_transitionTime", "_windDirectionVariance", "_windSpeed", "_windSpeedChange", "_windMaxDiff", "_windMinDiff", "_windDirection", "_windDirectionChange", "_ratioMin", "_ratioMax"]; if (GVAR(useACEWeather)) then {
// Use location based real world weather data
// Rain simulation [] call FUNC(updateAceWeather);
if (GVAR(syncRain) && GVAR(rain_period_count) > GVAR(rain_next_period)) then { } else {
// Simply replicate the server weather on the clients
GVAR(rain_next_period) = ceil((1 + (random 10)) / GVAR(overcast_multiplier)); if (GVAR(syncRain)) then {
GVAR(rain_period_count) = 0; ACE_RAIN_PARAMS = [rain, rain, GVAR(serverUpdateInterval)];
_lastRain = GVAR(current_rain);
if (overcast >= 0.7) then {
_rainOverCast = (overcast - 0.7) / 0.3;
if (GVAR(current_rain) == 0) then {
// Initialize rain with a random strength depending on the current overcast value
GVAR(current_rain) = 0.25 + (random 0.25) + (random 0.5) * _rainOverCast;
};
GVAR(current_rain) = GVAR(current_rain) + GVAR(current_rain) * ((_rainOverCast * GVAR(overcast_multiplier)) / 8) * GVAR(rain_current_range);
GVAR(current_rain) = 0.01 max GVAR(current_rain) min 1;
GVAR(rain_current_range) = -1 + (random 2);
} else {
_rainOverCast = 1;
GVAR(current_rain) = 0;
};
_transitionTime = 1 + (_rainOverCast * 5) + (random (_rainOverCast * 20));
ACE_RAIN_PARAMS = [_lastRain, GVAR(current_rain), _transitionTime];
TRACE_4("",_lastRain,_rainOverCast,_transitionTime,overcast);
GVAR(rain_period_start_time) = time;
publicVariable "ACE_RAIN_PARAMS"; publicVariable "ACE_RAIN_PARAMS";
};
// Wind simulation
if (GVAR(syncWind) && GVAR(wind_period_count) > GVAR(wind_next_period)) then {
GVAR(wind_next_period) = ceil((2 + (random 5)) / GVAR(overcast_multiplier));
GVAR(wind_period_count) = 0;
_windDirectionVariance = (90 - (random 180)) * (overcast ^ 2);
_windDirection = (360 + GVAR(wind_direction_reference) + _windDirectionVariance) % 360;
_windDirectionChange = _windDirection - GVAR(current_wind_direction);
if (_windDirectionChange > 180) then {
_windDirectionChange = _windDirectionChange - 360;
}; };
if (_windDirectionChange < -180) then { if (GVAR(syncWind)) then {
_windDirectionChange = 360 + _windDirectionChange; ACE_WIND_PARAMS = [wind call CBA_fnc_vectDir, 0, vectorMagnitude wind, 0, GVAR(serverUpdateInterval)];
};
_windMaxDiff = GVAR(mean_wind_speed) - GVAR(max_wind_speed);
_windMinDiff = GVAR(min_wind_speed) - GVAR(mean_wind_speed);
_ratioMax = (random 1) ^ 2;
_ratioMin = (random 1) ^ 2;
_windSpeed = GVAR(current_wind_speed);
_windSpeedChange = 0;
if ((random 1) < (0.3 max overcast)) then {
_windSpeed = GVAR(mean_wind_speed) + _windMaxDiff * _ratioMax + _windMinDiff * _ratioMin;
_windSpeedChange = _windSpeed - GVAR(current_wind_speed);
};
_transitionTime = GVAR(wind_next_period) * GVAR(serverUpdateInterval);
TRACE_5("dirCur/dirNew/spdCur/spdNew/period",GVAR(current_wind_direction),_windDirection,GVAR(current_wind_speed),_windSpeed,_transitionTime);
ACE_WIND_PARAMS = [GVAR(current_wind_direction),
_windDirectionChange,
GVAR(current_wind_speed),
_windSpeedChange,
_transitionTime];
GVAR(current_wind_direction) = _windDirection;
GVAR(current_wind_speed) = _windSpeed;
GVAR(wind_period_start_time) = time;
publicVariable "ACE_WIND_PARAMS"; publicVariable "ACE_WIND_PARAMS";
}; };
if (GVAR(syncMisc)) then {
if (GVAR(syncMisc)) then {
ACE_MISC_PARAMS = [lightnings, rainbow, fogParams, GVAR(temperatureShift), GVAR(badWeatherShift), GVAR(humidityShift)]; ACE_MISC_PARAMS = [lightnings, rainbow, fogParams, GVAR(temperatureShift), GVAR(badWeatherShift), GVAR(humidityShift)];
publicVariable "ACE_MISC_PARAMS"; publicVariable "ACE_MISC_PARAMS";
};
}; };
GVAR(rain_period_count) = GVAR(rain_period_count) + 1;
GVAR(wind_period_count) = GVAR(wind_period_count) + 1;
GVAR(overcast_multiplier) = 1 max (2* overcast) min 2; // 0 (@ overcast 0), 2 (@ overcast 1)

View File

@ -0,0 +1,105 @@
/*
* Author: ACE2 Team, esteldunedain, ruthberg
*
* Updates the wind and rain evolution on the server. Broadcasts the current and next values to the clients
*
* Argument:
* None
*
* Return value:
* None
*/
#include "script_component.hpp"
private ["_overcastMultiplier", "_lastRain", "_rainOverCast", "_transitionTime", "_windDirectionVariance", "_windSpeed", "_windSpeedChange", "_windMaxDiff", "_windMinDiff", "_windDirection", "_windDirectionChange", "_ratioMin", "_ratioMax"];
_overcastMultiplier = 1 max (2* overcast) min 2; // 0 (@ overcast 0), 2 (@ overcast 1)
// Rain simulation
if (GVAR(syncRain) && GVAR(rain_period_count) > GVAR(rain_next_period)) then {
GVAR(rain_next_period) = ceil((1 + (random 10)) / _overcastMultiplier);
GVAR(rain_period_count) = 0;
_lastRain = GVAR(current_rain);
if (overcast >= 0.7) then {
_rainOverCast = (overcast - 0.7) / 0.3;
if (GVAR(current_rain) == 0) then {
// Initialize rain with a random strength depending on the current overcast value
GVAR(current_rain) = 0.25 + (random 0.25) + (random 0.5) * _rainOverCast;
};
GVAR(current_rain) = GVAR(current_rain) + GVAR(current_rain) * ((_rainOverCast * _overcastMultiplier) / 8) * GVAR(rain_current_range);
GVAR(current_rain) = 0.01 max GVAR(current_rain) min 1;
GVAR(rain_current_range) = -1 + (random 2);
} else {
_rainOverCast = 1;
GVAR(current_rain) = 0;
};
_transitionTime = 1 + (_rainOverCast * 5) + (random (_rainOverCast * 20));
ACE_RAIN_PARAMS = [_lastRain, GVAR(current_rain), _transitionTime];
TRACE_4("",_lastRain,_rainOverCast,_transitionTime,overcast);
GVAR(rain_period_start_time) = time;
publicVariable "ACE_RAIN_PARAMS";
};
// Wind simulation
if (GVAR(syncWind) && GVAR(wind_period_count) > GVAR(wind_next_period)) then {
GVAR(wind_next_period) = ceil((2 + (random 5)) / _overcastMultiplier);
GVAR(wind_period_count) = 0;
_windDirectionVariance = (90 - (random 180)) * (overcast ^ 2);
_windDirection = (360 + GVAR(wind_direction_reference) + _windDirectionVariance) % 360;
_windDirectionChange = _windDirection - GVAR(current_wind_direction);
if (_windDirectionChange > 180) then {
_windDirectionChange = _windDirectionChange - 360;
};
if (_windDirectionChange < -180) then {
_windDirectionChange = 360 + _windDirectionChange;
};
_windMaxDiff = GVAR(mean_wind_speed) - GVAR(max_wind_speed);
_windMinDiff = GVAR(min_wind_speed) - GVAR(mean_wind_speed);
_ratioMax = (random 1) ^ 2;
_ratioMin = (random 1) ^ 2;
_windSpeed = GVAR(current_wind_speed);
_windSpeedChange = 0;
if ((random 1) < (0.3 max overcast)) then {
_windSpeed = GVAR(mean_wind_speed) + _windMaxDiff * _ratioMax + _windMinDiff * _ratioMin;
_windSpeedChange = _windSpeed - GVAR(current_wind_speed);
};
_transitionTime = GVAR(wind_next_period) * GVAR(serverUpdateInterval);
TRACE_5("dirCur/dirNew/spdCur/spdNew/period",GVAR(current_wind_direction),_windDirection,GVAR(current_wind_speed),_windSpeed,_transitionTime);
ACE_WIND_PARAMS = [GVAR(current_wind_direction),
_windDirectionChange,
GVAR(current_wind_speed),
_windSpeedChange,
_transitionTime];
GVAR(current_wind_direction) = _windDirection;
GVAR(current_wind_speed) = _windSpeed;
GVAR(wind_period_start_time) = time;
publicVariable "ACE_WIND_PARAMS";
};
if (GVAR(syncMisc)) then {
ACE_MISC_PARAMS = [lightnings, rainbow, fogParams, GVAR(temperatureShift), GVAR(badWeatherShift), GVAR(humidityShift)];
publicVariable "ACE_MISC_PARAMS";
};
GVAR(rain_period_count) = GVAR(rain_period_count) + 1;
GVAR(wind_period_count) = GVAR(wind_period_count) + 1;

View File

@ -19,7 +19,7 @@ class ACE_Settings {
}; };
class GVAR(simulationRadius) { class GVAR(simulationRadius) {
displayName = "Simulation Radius"; displayName = "Simulation Radius";
description = "Defines the radius (in meters) in which advanced ballistics are applied"; description = "Defines the radius around the player (in meters) at which projectiles are wind deflected";
typeName = "SCALAR"; typeName = "SCALAR";
value = 3000; value = 3000;
}; };

View File

@ -31,7 +31,7 @@ class CfgVehicles {
}; };
class simulationRadius { class simulationRadius {
displayName = "Simulation Radius"; displayName = "Simulation Radius";
description = "Defines the radius (in meters) in which advanced ballistics are applied"; description = "Defines the radius around the player (in meters) at which projectiles are wind deflected";
typeName = "NUMBER"; typeName = "NUMBER";
defaultValue = 3000; defaultValue = 3000;
}; };

View File

@ -31,7 +31,7 @@
<Russian>Скорость: %1 м/с</Russian> <Russian>Скорость: %1 м/с</Russian>
<Czech>Rychlost: %1 m/s</Czech> <Czech>Rychlost: %1 m/s</Czech>
<French>Vitesse %1 m/s</French> <French>Vitesse %1 m/s</French>
<German>Geschwindigkeit: %1m/s</German> <German>Geschwindigkeit: %1 m/s</German>
<Hungarian>Sebesség: %1 m/s</Hungarian> <Hungarian>Sebesség: %1 m/s</Hungarian>
<Italian>Velocità: %1 m/s</Italian> <Italian>Velocità: %1 m/s</Italian>
</Key> </Key>

View File

@ -11,8 +11,42 @@ parent: wiki
## 1. Modules ## 1. Modules
### 1.1 BlueForceTracking ### 1.1 Advanced Ballistics
*Part of: ACE_Map* *Part of: ace_advanced_ballistics*
This module allows to enable advanced external- and internal ballistics.
**Settings:**
1. **Advanced Ballistics (Boolean)<br>**
Enables advanced ballistics.<br>
`Default value: No`
2. **Always Enabled For Snipers (Boolean)<br>**
Always enables advanced ballistics when high power optics are used.<br>
`Default value: Yes`
3. **Disabled In FullAuto Mode (Boolean)<br>**
Disables the advanced ballistics during full auto fire.<br>
`Default value: No`
4. **Disabled For Non Local Players (Boolean)<br>**
Disables the advanced ballistics for bullets coming from other players (enable this if you encounter frame drops during heavy firefights in multiplayer).<br>
`Default value: Yes`
5. **Enable Ammo Temperature Simulation (Boolean)<br>**
Muzzle velocity varies with ammo temperature.<br>
`Default value: Yes`
6. **Enable Barrel Length Simulation (Boolean)<br>**
Muzzle velocity varies with barrel length.<br>
`Default value: Yes`
7. **Enable Bullet Trace Effect (Boolean)<br>**
Enables a bullet trace effect to high caliber bullets (only visible when looking through high power optics).<br>
8. **Simulation Interval (Number)<br>**
Defines the interval between every calculation step.<br>
`Default value: 0.05`
9. **Simulation Radius (Number)<br>**
Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles.<br>
`Default value: 3000`
### 1.2 BlueForceTracking
*Part of: ace_map*
When adding the "BlueForceTracking" module to your mission it adds map markers to every group on the players side and refreshes them in certain configurable interval (in seconds). The module takes the group type into account and uses the proper NATO icon for each marker. When adding the "BlueForceTracking" module to your mission it adds map markers to every group on the players side and refreshes them in certain configurable interval (in seconds). The module takes the group type into account and uses the proper NATO icon for each marker.
@ -25,8 +59,8 @@ How often the markers should be refreshed (in seconds).<br>
Hide markers for "AI only" groups.<br> Hide markers for "AI only" groups.<br>
`Default value: No` `Default value: No`
### 1.2 Check PBOs ### 1.3 Check PBOs
*Part of: ACE_Core* *Part of: ace_core*
If you are worried that players haven't updated ACE or other mods to the version you're using on the server, you can place the "Check PBOs" module on your map. You can choose one of three posible actions that are being executed when a player joins that has a wrong version of ACE or an other mod: If you are worried that players haven't updated ACE or other mods to the version you're using on the server, you can place the "Check PBOs" module on your map. You can choose one of three posible actions that are being executed when a player joins that has a wrong version of ACE or an other mod:
@ -61,8 +95,8 @@ Example 3: @JSRS + @Blastcore-A3:<br>
[TBD, "warfxpe","blastcore_vep"] [TBD, "warfxpe","blastcore_vep"]
``` ```
### 1.3 Explosive System ### 1.4 Explosive System
*Part of: ACE_Explosive* *Part of: ace_explosive*
The "Explosive System" module lets you tweak the settings for the new explosive system that ACE introduces. The "Explosive System" module lets you tweak the settings for the new explosive system that ACE introduces.
@ -75,17 +109,17 @@ Require explosive specialists to disable explosives.<br>
Increase the time it takes to complete actions for non-specialists.<br> Increase the time it takes to complete actions for non-specialists.<br>
`Default value: Yes` `Default value: Yes`
### 1.4 Fatigue System (deprecated) ### 1.5 Fatigue System (deprecated)
**Warning:** **Warning:**
*This module is deprecated and only in there not to break older missions that have used this module. It will be removed in a future update. It serves no purpose.* *This module is deprecated and only in there not to break older missions that have used this module. It will be removed in a future update. It serves no purpose.*
### 1.5 Friendly Fire Messages ### 1.6 Friendly Fire Messages
*Part of: ACE_Respawn* *Part of: ace_respawn*
The "Friendly Fire Messages" module triggers a message when a player kills a friendly or civilian unit. This module isn't needed on servers with a low difficulty setting. The "Friendly Fire Messages" module triggers a message when a player kills a friendly or civilian unit. This module isn't needed on servers with a low difficulty setting.
### 1.6 Interaction ### 1.7 Interaction
*Part of: ACE_Interaction* *Part of: ace_interaction*
This module allows you to tweak the settings for player names tags. This module allows you to tweak the settings for player names tags.
@ -95,8 +129,8 @@ This module allows you to tweak the settings for player names tags.
Sets the distance (in meters) at which player name tags become visible.<br> Sets the distance (in meters) at which player name tags become visible.<br>
`Default value: 5` `Default value: 5`
### 1.7 Medical System ### 1.8 Medical System
*Part of: ACE_Medical* *Part of: ace_medical*
When using the medical system ACE offers you probably want to fine tune some aspects of the wounding, healing or gameplay mechanics and fit them to your needs. The "Medical System" module offers a lot of settings to do just that. When using the medical system ACE offers you probably want to fine tune some aspects of the wounding, healing or gameplay mechanics and fit them to your needs. The "Medical System" module offers a lot of settings to do just that.
@ -133,16 +167,16 @@ Use one bandage to heal the entire body.<br>
Allow all players to use chat while unconcious? Admin can always use the chat regardless.<br> Allow all players to use chat while unconcious? Admin can always use the chat regardless.<br>
`Default value: No` `Default value: No`
### 1.8 Rallypoint System ### 1.9 Rallypoint System
*Part of: ACE_Respawn* *Part of: ace_respawn*
This module was introduced with 0.94 and enables Mission Makers to specificly enable units to move a rallypoint. Every unit that is synced with that module is able to move a rallypoint. This module was introduced with 0.94 and enables Mission Makers to specificly enable units to move a rallypoint. Every unit that is synced with that module is able to move a rallypoint.
**Note:** **Note:**
It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework. To enable JIP players to move rally points have a look at [3.1 ACE Rallypoints](#31-ace-rallypoints). It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework. To enable JIP players to move rally points have a look at [3.1 ACE Rallypoints](#31-ace-rallypoints).
### 1.9 Repair System ### 1.10 Repair System
*Part of: ACE_Logistics* *Part of: ace_logistics*
Placing the "Repair System" module makes it possible to define the time it takes for certain repair actions. Placing the "Repair System" module makes it possible to define the time it takes for certain repair actions.
@ -161,8 +195,8 @@ Time to replace a track (in seconds).<br>
Limits the amount of damage that can be repaired. 0 = Repair all damage, 1 = Cannot repair any damage.<br> Limits the amount of damage that can be repaired. 0 = Repair all damage, 1 = Cannot repair any damage.<br>
`Default value: 0` `Default value: 0`
### 1.10 Respawn System ### 1.11 Respawn System
*Part of: ACE_Respawn* *Part of: ace_respawn*
The "Respawn System" module enables players to respawn with the gear they had before dying and to remove bodies of players after a configurable interval (in seconds). The "Respawn System" module enables players to respawn with the gear they had before dying and to remove bodies of players after a configurable interval (in seconds).
@ -172,8 +206,8 @@ The "Respawn System" module enables players to respawn with the gear they had be
Respawn with the gear a player had just before his death.<br> Respawn with the gear a player had just before his death.<br>
`Default value: No` `Default value: No`
### 1.11 SwitchUnits System ### 1.12 SwitchUnits System
*Part of: ACE_SwitchUnits* *Part of: ace_switchunits*
The [SwitchUnits System](#32-ace-switchunits) enables players to control certain AI units on the map. The [SwitchUnits System](#32-ace-switchunits) enables players to control certain AI units on the map.
@ -199,8 +233,28 @@ The safe zone around players from a different team (in meters)<br>
`Default value: 200` `Default value: 200`
### 1.12 LSD Vehicles ### 1.13 LSD Vehicles
*Part of: ACE_Core* *Part of: ace_core*
### 1.14 Wind Deflection
*Part of: ace_winddeflection*
This module allows you to define when wind deflection is active.
**Settings:**
1. **Wind Deflection (Boolean)<br>**
Enables wind deflection.<br>
`Default value: Yes`
2. **Vehicle Enabled (Boolean)<br>**
Enables wind deflection for static/vehicle gunners.<br>
`Default value: Yes`
3. **Simulation Interval (Number)<br>**
Defines the interval between every calculation step.<br>
`Default value: 0.05`
4. **Simulation Radius (Number)<br>**
Defines the radius around the player (in meters) at which projectiles are wind deflected.<br>
`Default value: 3000`
And then there's the "LSD Vehicles" module &hellip; it does 'something' to all vehicles synced to that module. And then there's the "LSD Vehicles" module &hellip; it does 'something' to all vehicles synced to that module.
http://youtu.be/X3e0LTexEok http://youtu.be/X3e0LTexEok

View File

@ -15,6 +15,11 @@ parent: wiki
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr>
<td><kbd>Ctrl</kbd>+<kbd>&nbsp;Shift</kbd>+<kbd>K</kbd></td>
<td>Show Protractor</td>
<td><code>ACE_Advanced_Ballistics</code></td>
</tr>
<tr> <tr>
<td><kbd>&nbsp;Win</kbd></td> <td><kbd>&nbsp;Win</kbd></td>
<td>Interaction menu</td> <td>Interaction menu</td>
@ -200,5 +205,10 @@ parent: wiki
<td>FCS: Range down</td> <td>FCS: Range down</td>
<td><code>ACE_FireControlSsystem</code></td> <td><code>ACE_FireControlSsystem</code></td>
</tr> </tr>
<tr>
<td><kbd>&nbsp;Shift</kbd>+<kbd>K</kbd></td>
<td>Show Wind Info</td>
<td><code>ACE_Weather</code></td>
</tr>
</tbody> </tbody>
</table> </table>

View File

@ -0,0 +1,125 @@
class CfgAmmo
{
class BulletBase;
class B_556x45_Ball;
class rhs_B_545x39_Ball: B_556x45_Ball
{
ACE_caliber=0.220;
ACE_bulletLength=0.85;
ACE_bulletMass=52.9;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.168};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=7;
ACE_muzzleVelocities[]={780, 880, 920};
ACE_barrelLengths[]={10, 16.3, 20};
};
class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball
{
ACE_caliber=0.220;
ACE_bulletLength=0.85;
ACE_bulletMass=49.8;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.168};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=7;
ACE_muzzleVelocities[]={785, 883, 925};
ACE_barrelLengths[]={10, 16.3, 20};
};
class B_762x51_Ball;
class rhs_B_762x54_Ball: B_762x51_Ball
{
ACE_caliber=0.312;
ACE_bulletLength=1.14;
ACE_bulletMass=152;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.4};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=1;
ACE_muzzleVelocities[]={700, 800, 820, 833};
ACE_barrelLengths[]={16, 20, 24, 26};
};
class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball
{
ACE_caliber=0.312;
ACE_bulletLength=1.14;
ACE_bulletMass=149;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.395};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=1;
ACE_muzzleVelocities[]={680, 750, 798, 800};
ACE_barrelLengths[]={16, 20, 24, 26};
};
class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball
{
ACE_caliber=0.312;
ACE_bulletLength=1.14;
ACE_bulletMass=152;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.4};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=1;
ACE_muzzleVelocities[]={700, 800, 820, 833};
ACE_barrelLengths[]={16, 20, 24, 26};
};
class rhs_B_762x39_Ball: B_762x51_Ball
{
ACE_caliber=0.308;
ACE_bulletLength=1.14;
ACE_bulletMass=123;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.275};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=1;
ACE_muzzleVelocities[]={650, 716, 750};
ACE_barrelLengths[]={10, 16.3, 20};
};
class rhs_B_762x39_Tracer: rhs_B_762x39_Ball
{
ACE_caliber=0.308;
ACE_bulletLength=1.14;
ACE_bulletMass=117;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.275};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=1;
ACE_muzzleVelocities[]={650, 716, 750};
ACE_barrelLengths[]={10, 16.3, 20};
};
class B_9x21_Ball;
class rhs_B_9x19_7N21: B_9x21_Ball
{
ACE_caliber=0.355;
ACE_bulletLength=0.610;
ACE_bulletMass=80.2;
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
ACE_ballisticCoefficients[]={0.14};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={445, 460, 480};
ACE_barrelLengths[]={4, 5, 9};
};
class rhs_B_9x18_57N181S: B_9x21_Ball
{
ACE_caliber=0.365;
ACE_bulletLength=0.610;
ACE_bulletMass=92.6;
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
ACE_ballisticCoefficients[]={0.125};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=1;
ACE_muzzleVelocities[]={298, 330, 350};
ACE_barrelLengths[]={3.8, 5, 9};
};
};

View File

@ -0,0 +1,58 @@
class CfgWeapons
{
class hgun_Rook40_F;
class rhs_weap_pya: hgun_Rook40_F
{
ACE_barrelTwist=10;
ACE_barrelLength=4.4;
};
class Pistol_Base_F;
class rhs_weap_makarov_pmm: rhs_weap_pya
{
ACE_barrelTwist=9.45;
ACE_barrelLength=3.68;
};
class rhs_weap_ak74m_Base_F;
class rhs_weap_ak74m: rhs_weap_ak74m_Base_F
{
ACE_barrelTwist=7.87;
ACE_barrelLength=16.3;
};
class rhs_weap_akm: rhs_weap_ak74m
{
ACE_barrelTwist=7.87;
ACE_barrelLength=16.3;
};
class rhs_weap_aks74u: rhs_weap_aks74
{
ACE_barrelTwist=6.3;
ACE_barrelLength=8.3;
};
class rhs_weap_svd: rhs_weap_ak74m
{
ACE_barrelTwist=9.4;
ACE_barrelLength=24.4;
};
class rhs_weap_svds: rhs_weap_svdp
{
ACE_barrelTwist=9.4;
ACE_barrelLength=22.2;
};
class rhs_pkp_base;
class rhs_weap_pkp: rhs_pkp_base
{
ACE_barrelTwist=9.45;
ACE_barrelLength=25.9;
};
class rhs_weap_pkm: rhs_weap_pkp
{
ACE_barrelTwist=9.45;
ACE_barrelLength=25.4;
};
class rhs_weap_rpk74m: rhs_weap_pkp
{
ACE_barrelTwist=7.68;
ACE_barrelLength=23.2;
};
};

View File

@ -0,0 +1,15 @@
#include "script_component.hpp"
class CfgPatches {
class ADDON {
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"rhs_c_weapons"};
author[]={"Ruthberg"};
VERSION_CONFIG;
};
};
#include "CfgAmmo.hpp"
#include "CfgWeapons.hpp"

View File

@ -0,0 +1,5 @@
#define COMPONENT rhs_c_weapons_comp
#include "\z\ace\addons\main\script_mod.hpp"
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -0,0 +1,97 @@
class CfgAmmo
{
class BulletBase;
class rhsusf_B_300winmag: BulletBase
{
ACE_caliber=0.308;
ACE_bulletLength=1.489;
ACE_bulletMass=220;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.310};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={847, 867, 877};
ACE_barrelLengths[]={20, 24, 26};
};
class B_556x45_Ball;
class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball
{
ACE_caliber=0.224;
ACE_bulletLength=0.906;
ACE_bulletMass=62;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.307};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={780, 886, 950};
ACE_barrelLengths[]={10, 15.5, 20};
};
class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball
{
ACE_caliber=0.224;
ACE_bulletLength=0.906;
ACE_bulletMass=77;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.361};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={624, 816, 832, 838};
ACE_barrelLengths[]={7.5, 14.5, 18, 20};
};
class rhs_ammo_762x51_M80_Ball: BulletBase
{
ACE_caliber=0.308;
ACE_bulletLength=1.14;
ACE_bulletMass=146;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.2};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={700, 800, 820, 833, 845};
ACE_barrelLengths[]={10, 16, 20, 24, 26};
};
class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball
{
ACE_caliber=0.308;
ACE_bulletLength=1.24;
ACE_bulletMass=175;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.243};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={750, 780, 790, 794};
ACE_barrelLengths[]={16, 20, 24, 26};
};
class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball
{
ACE_caliber=0.308;
ACE_bulletLength=1.24;
ACE_bulletMass=127;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.377};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=1;
ACE_muzzleVelocities[]={875, 910, 930};
ACE_barrelLengths[]={13, 16, 20};
};
class rhs_ammo_45ACP_MHP: BulletBase
{
ACE_caliber=0.452;
ACE_bulletLength=0.68;
ACE_bulletMass=230;
ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
ACE_ballisticCoefficients[]={0.195};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ASM";
ACE_dragModel=1;
ACE_muzzleVelocities[]={230, 250, 285};
ACE_barrelLengths[]={4, 5, 9};
};
};

View File

@ -0,0 +1,73 @@
class CfgWeapons
{
class Pistol_Base_F;
class Rifle_Base_F;
class srifle_EBR_F;
class rhs_weap_XM2010_Base_F: Rifle_Base_F
{
ACE_barrelTwist=10;
ACE_barrelLength=24;
};
class arifle_MX_Base_F;
class rhs_weap_m4_Base: arifle_MX_Base_F
{
ACE_barrelTwist=7;
ACE_barrelLength=14.5;
};
class rhs_weap_mk18: rhs_weap_m4a1
{
ACE_barrelTwist=7;
ACE_barrelLength=10.3;
};
class rhs_weap_m16a4: rhs_weap_m4_Base
{
ACE_barrelTwist=7;
ACE_barrelLength=20;
};
class rhs_M249_base;
class rhs_weap_m249_pip: rhs_M249_base
{
ACE_barrelTwist=7;
ACE_barrelLength=16.3;
};
class weap_m240_base;
class rhs_weap_m240B: weap_m240_base
{
ACE_barrelTwist=12;
ACE_barrelLength=24.8;
};
class rhs_weap_m14ebrri: srifle_EBR_F
{
ACE_barrelTwist=12;
ACE_barrelLength=22;
};
class rhs_weap_sr25: rhs_weap_m14ebrri
{
ACE_barrelTwist=11.25;
ACE_barrelLength=24;
};
class rhs_weap_sr25_ec: rhs_weap_sr25
{
ACE_barrelTwist=11.25;
ACE_barrelLength=20;
};
class rhs_weap_M590_5RD: Rifle_Base_F
{
ACE_barrelTwist=0;
ACE_twistDirection=0;
ACE_barrelLength=18.5;
};
class rhs_weap_M590_8RD: rhs_weap_M590_5RD
{
ACE_barrelTwist=0;
ACE_twistDirection=0;
ACE_barrelLength=20;
};
class hgun_ACPC2_F;
class rhsusf_weap_m1911a1: hgun_ACPC2_F
{
ACE_barrelTwist=16;
ACE_barrelLength=5;
};
};

View File

@ -0,0 +1,15 @@
#include "script_component.hpp"
class CfgPatches {
class ADDON {
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"rhsusf_c_weapons"};
author[]={"Ruthberg"};
VERSION_CONFIG;
};
};
#include "CfgAmmo.hpp"
#include "CfgWeapons.hpp"

View File

@ -0,0 +1,5 @@
#define COMPONENT rhsusf_c_weapons_comp
#include "\z\ace\addons\main\script_mod.hpp"
#include "\z\ace\addons\main\script_macros.hpp"