Merge branch 'master' into cookoff-tracer

This commit is contained in:
johnb432 2024-06-05 22:03:39 +02:00
commit d7d6eb05e3
211 changed files with 3486 additions and 1370 deletions

View File

@ -18,15 +18,6 @@
params ["_unit"]; params ["_unit"];
TRACE_1("params",_unit); TRACE_1("params",_unit);
// Temporarily enable wind info, to aid in throwing smoke grenades effectively
if (
GVAR(enableTempWindInfo) &&
{!(missionNamespace getVariable [QEGVAR(weather,WindInfo), false])}
) then {
[] call EFUNC(weather,displayWindInfo);
GVAR(tempWindInfo) = true;
};
// Select next throwable if one already in hand // Select next throwable if one already in hand
if (_unit getVariable [QGVAR(inHand), false]) exitWith { if (_unit getVariable [QGVAR(inHand), false]) exitWith {
TRACE_1("inHand",_unit); TRACE_1("inHand",_unit);
@ -44,6 +35,11 @@ if (isNull (_unit getVariable [QGVAR(activeThrowable), objNull]) && {(currentThr
TRACE_1("no throwables",_unit); TRACE_1("no throwables",_unit);
}; };
// Temporarily enable wind info, to aid in throwing smoke grenades effectively
if (GVAR(enableTempWindInfo) && {!(missionNamespace getVariable [QEGVAR(weather,WindInfo), false])}) then {
[] call EFUNC(weather,displayWindInfo);
GVAR(tempWindInfo) = true;
};
_unit setVariable [QGVAR(inHand), true]; _unit setVariable [QGVAR(inHand), true];

View File

@ -193,6 +193,7 @@
<Korean>바람 정보 임시로 표시</Korean> <Korean>바람 정보 임시로 표시</Korean>
<French>Afficher temporairement les informations sur le vent</French> <French>Afficher temporairement les informations sur le vent</French>
<Russian>Временно показать информацию о ветре</Russian> <Russian>Временно показать информацию о ветре</Russian>
<Spanish>Mostrar información del viento temporalmente</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_EnableTempWindInfo_Description"> <Key ID="STR_ACE_Advanced_Throwing_EnableTempWindInfo_Description">
<English>Temporarily display Wind Info while throwing, to aid in placing smoke grenades effectively.</English> <English>Temporarily display Wind Info while throwing, to aid in placing smoke grenades effectively.</English>
@ -202,6 +203,7 @@
<Korean>연막탄을 효과적으로 배치하는 데 도움이 되도록 투척하는 동안 일시적으로 바람 정보를 표시합니다.</Korean> <Korean>연막탄을 효과적으로 배치하는 데 도움이 되도록 투척하는 동안 일시적으로 바람 정보를 표시합니다.</Korean>
<French>Affiche les informations sur le vent pendant le lancement pour placer les grenades fumigènes plus efficacement.</French> <French>Affiche les informations sur le vent pendant le lancement pour placer les grenades fumigènes plus efficacement.</French>
<Russian>Временно отображайте информацию о ветре во время броска, чтобы помочь эффективно разместить дымовые шашки.</Russian> <Russian>Временно отображайте информацию о ветре во время броска, чтобы помочь эффективно разместить дымовые шашки.</Russian>
<Spanish>Mostrar información del viento temporalmente mientras se lanza, para ayudar a lanzar las granadas de humo de forma efectiva.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_Prepare"> <Key ID="STR_ACE_Advanced_Throwing_Prepare">
<English>Prepare/Change Throwable</English> <English>Prepare/Change Throwable</English>

View File

@ -91,6 +91,7 @@
<Portuguese>Equipar NVGs automaticamente</Portuguese> <Portuguese>Equipar NVGs automaticamente</Portuguese>
<Japanese>暗視装置の自動装備</Japanese> <Japanese>暗視装置の自動装備</Japanese>
<Russian>Автоматическое оснащение ПНВ</Russian> <Russian>Автоматическое оснащение ПНВ</Russian>
<Spanish>Auto equipar gafas de visión nocturna</Spanish>
</Key> </Key>
<Key ID="STR_ACE_AI_AssignNVG_Description"> <Key ID="STR_ACE_AI_AssignNVG_Description">
<English>Equips NVG in inventory during night time and unequips it during day time.\nDoes not add NVGs to inventory!</English> <English>Equips NVG in inventory during night time and unequips it during day time.\nDoes not add NVGs to inventory!</English>
@ -102,6 +103,7 @@
<Portuguese>Equipa o NVG do inventário durante a noite e desequipa durante o dia.\nNão adiciona NVGs ao inventário!</Portuguese> <Portuguese>Equipa o NVG do inventário durante a noite e desequipa durante o dia.\nNão adiciona NVGs ao inventário!</Portuguese>
<Japanese>インベントリ内の暗視装置を夜間に装備し、日中は解除し収納します。\nこれはNVGをインベントリに追加しません。</Japanese> <Japanese>インベントリ内の暗視装置を夜間に装備し、日中は解除し収納します。\nこれはNVGをインベントリに追加しません。</Japanese>
<Russian>Экипирует ПНВ в ночное время и отключает его в дневное время.\nНе добавляет ПНВ в инвентарь!</Russian> <Russian>Экипирует ПНВ в ночное время и отключает его в дневное время.\nНе добавляет ПНВ в инвентарь!</Russian>
<Spanish>Equipa las gafas de visión nocturna en el inventario cuando es de noche, y las desequipa cuando es de día.\nNo añade las gafas al inventario!</Spanish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -382,6 +382,9 @@ switch (GVAR(currentLeftPanel)) do {
}; };
GVAR(currentItems) set [IDX_CURR_VEST, _item]; GVAR(currentItems) set [IDX_CURR_VEST, _item];
[GVAR(center), ""] call BIS_fnc_setUnitInsignia;
[GVAR(center), GVAR(currentInsignia)] call BIS_fnc_setUnitInsignia;
}; };
TOGGLE_RIGHT_PANEL_CONTAINER TOGGLE_RIGHT_PANEL_CONTAINER
@ -420,6 +423,9 @@ switch (GVAR(currentLeftPanel)) do {
}; };
GVAR(currentItems) set [IDX_CURR_BACKPACK, _item]; GVAR(currentItems) set [IDX_CURR_BACKPACK, _item];
[GVAR(center), ""] call BIS_fnc_setUnitInsignia;
[GVAR(center), GVAR(currentInsignia)] call BIS_fnc_setUnitInsignia;
}; };
TOGGLE_RIGHT_PANEL_CONTAINER TOGGLE_RIGHT_PANEL_CONTAINER

View File

@ -69,7 +69,14 @@ switch (_currentItemsIndex) do {
// Secondary weapon // Secondary weapon
case IDX_CURR_SECONDARY_WEAPON_ITEMS: { case IDX_CURR_SECONDARY_WEAPON_ITEMS: {
private _currentItemInSlot = (GVAR(currentItems) select IDX_CURR_SECONDARY_WEAPON_ITEMS) select _itemIndex; private _currentItemInSlot = (GVAR(currentItems) select IDX_CURR_SECONDARY_WEAPON_ITEMS) select _itemIndex;
private _isDisposable = CBA_disposable_replaceDisposableLauncher && {!isNil {CBA_disposable_loadedLaunchers getVariable (secondaryWeapon GVAR(center))}}; private _isDisposable = CBA_disposable_replaceDisposableLauncher && {!isNil "CBA_disposable_loadedLaunchers"} &&
{
if (CBA_disposable_loadedLaunchers isEqualType createHashMap) then { // after CBA 3.18
(secondaryWeapon GVAR(center)) in CBA_disposable_loadedLaunchers
} else {
!isNil {CBA_disposable_loadedLaunchers getVariable (secondaryWeapon player)}
}
};
// If removal // If removal
if (_item == "") then { if (_item == "") then {

View File

@ -1245,6 +1245,7 @@
<Russian>Интегрирован тепловизор.</Russian> <Russian>Интегрирован тепловизор.</Russian>
<Korean>열화상 내장</Korean> <Korean>열화상 내장</Korean>
<French>Thermique intégrée</French> <French>Thermique intégrée</French>
<Spanish>Térmica integrada</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_intPrimTi"> <Key ID="STR_ACE_Arsenal_statVisionMode_intPrimTi">
<English>Thermal &amp; Primary integrated</English> <English>Thermal &amp; Primary integrated</English>
@ -1253,6 +1254,7 @@
<Russian>Интегрирован тепловизор и осн.прицел.</Russian> <Russian>Интегрирован тепловизор и осн.прицел.</Russian>
<Korean>열화상과 주무기 내장</Korean> <Korean>열화상과 주무기 내장</Korean>
<French>Thermique et primaire intégrés</French> <French>Thermique et primaire intégrés</French>
<Spanish>Térmica y Primaria integrada</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_NoSup"> <Key ID="STR_ACE_Arsenal_statVisionMode_NoSup">
<English>Not Supported</English> <English>Not Supported</English>
@ -1609,6 +1611,7 @@
<French>Décroissant</French> <French>Décroissant</French>
<Portuguese>Decrescente</Portuguese> <Portuguese>Decrescente</Portuguese>
<Russian>Нисходящий</Russian> <Russian>Нисходящий</Russian>
<Spanish>Descendiente</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_sortAscending"> <Key ID="STR_ACE_Arsenal_sortAscending">
<English>Ascending</English> <English>Ascending</English>
@ -1620,6 +1623,7 @@
<French>Croissant</French> <French>Croissant</French>
<Portuguese>Crescente</Portuguese> <Portuguese>Crescente</Portuguese>
<Russian>Восходящий</Russian> <Russian>Восходящий</Russian>
<Spanish>Ascendiente</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_toolsTab"> <Key ID="STR_ACE_Arsenal_toolsTab">
<English>Tools</English> <English>Tools</English>
@ -1647,6 +1651,7 @@
<French>Nombre de munitions</French> <French>Nombre de munitions</French>
<Portuguese>Quantidade de munição</Portuguese> <Portuguese>Quantidade de munição</Portuguese>
<Russian>Количество боеприпасов</Russian> <Russian>Количество боеприпасов</Russian>
<Spanish>Cantidad de munición</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statIlluminators"> <Key ID="STR_ACE_Arsenal_statIlluminators">
<English>Illuminators</English> <English>Illuminators</English>
@ -1657,6 +1662,7 @@
<Portuguese>Iluminadores</Portuguese> <Portuguese>Iluminadores</Portuguese>
<Japanese>イルミネーター</Japanese> <Japanese>イルミネーター</Japanese>
<Russian>Осветители</Russian> <Russian>Осветители</Russian>
<Spanish>Iluminadores</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_defaultToFavoritesSetting"> <Key ID="STR_ACE_Arsenal_defaultToFavoritesSetting">
<English>Default to Favorites</English> <English>Default to Favorites</English>
@ -1668,6 +1674,7 @@
<French>Favoris par défaut</French> <French>Favoris par défaut</French>
<Portuguese>Favoritos por padrão</Portuguese> <Portuguese>Favoritos por padrão</Portuguese>
<Russian>По умолчанию - Избранное</Russian> <Russian>По умолчанию - Избранное</Russian>
<Spanish>Favoritos por defecto</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_defaultToFavoritesTooltip"> <Key ID="STR_ACE_Arsenal_defaultToFavoritesTooltip">
<English>Controls whether the ACE Arsenal defaults to showing all items or favorites.</English> <English>Controls whether the ACE Arsenal defaults to showing all items or favorites.</English>
@ -1679,6 +1686,7 @@
<French>Contrôle si l'arsenal ACE affiche par défaut tous les éléments ou les favoris.</French> <French>Contrôle si l'arsenal ACE affiche par défaut tous les éléments ou les favoris.</French>
<Portuguese>Controla se o Arsenal ACE exibe por padrão todos os itens ou favoritos.</Portuguese> <Portuguese>Controla se o Arsenal ACE exibe por padrão todos os itens ou favoritos.</Portuguese>
<Russian>Определяет, будет ли в арсенале ACE по умолчанию отображаться все предметы или избранное.</Russian> <Russian>Определяет, будет ли в арсенале ACE по умолчанию отображаться все предметы или избранное.</Russian>
<Spanish>Controla si el Arsenal de ACE muestra por defecto todos los objetos o sólo los favoritos</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_favoritesColorSetting"> <Key ID="STR_ACE_Arsenal_favoritesColorSetting">
<English>Favorites Color</English> <English>Favorites Color</English>
@ -1690,6 +1698,7 @@
<French>Couleurs favorites</French> <French>Couleurs favorites</French>
<Portuguese>Cor dos favoritos</Portuguese> <Portuguese>Cor dos favoritos</Portuguese>
<Russian>Избранный цвет</Russian> <Russian>Избранный цвет</Russian>
<Spanish>Color de Favoritos</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_favoritesColorTooltip"> <Key ID="STR_ACE_Arsenal_favoritesColorTooltip">
<English>Highlight color for favorited items.</English> <English>Highlight color for favorited items.</English>
@ -1701,6 +1710,7 @@
<French>Met en surbrillance les éléments favoris.</French> <French>Met en surbrillance les éléments favoris.</French>
<Portuguese>Cor de destaque para itens favoritados.</Portuguese> <Portuguese>Cor de destaque para itens favoritados.</Portuguese>
<Russian>Выделите цветом любимые предметы.</Russian> <Russian>Выделите цветом любимые предметы.</Russian>
<Spanish>Color de marcado para los objetos favoritos</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonFavoritesTooltip"> <Key ID="STR_ACE_Arsenal_buttonFavoritesTooltip">
<English>Switch between displaying all items or your favorites.\nDouble click while holding Shift to add or remove an item.</English> <English>Switch between displaying all items or your favorites.\nDouble click while holding Shift to add or remove an item.</English>
@ -1712,6 +1722,7 @@
<French>Change entre l'affichage de tous les éléments ou de vos favoris.\nDouble-cliquez en maintenant la touche Maj enfoncée pour ajouter ou supprimer un élément.</French> <French>Change entre l'affichage de tous les éléments ou de vos favoris.\nDouble-cliquez en maintenant la touche Maj enfoncée pour ajouter ou supprimer un élément.</French>
<Portuguese>Alterna entre a exibição de todos os itens ou seus favoritos.\nClique duas vezes enquanto mantém pressionada a tecla Shift para adicionar ou remover um item.</Portuguese> <Portuguese>Alterna entre a exibição de todos os itens ou seus favoritos.\nClique duas vezes enquanto mantém pressionada a tecla Shift para adicionar ou remover um item.</Portuguese>
<Russian>Переключайтесь между отображением всех элементов или ваших избранных.\nДважды щелкните, удерживая Shift, чтобы добавить или удалить элемент.</Russian> <Russian>Переключайтесь между отображением всех элементов или ваших избранных.\nДважды щелкните, удерживая Shift, чтобы добавить или удалить элемент.</Russian>
<Spanish>Alterna entre mostrar todos los objetos o sólo los favoritos.\nDoble click mientras se pulsa Shift para añadir o quitar un objeto.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonSearchTooltip"> <Key ID="STR_ACE_Arsenal_buttonSearchTooltip">
<English>Search\nCTRL + Click to enable live results</English> <English>Search\nCTRL + Click to enable live results</English>
@ -1721,6 +1732,7 @@
<Korean>검색\nCtrl + 클릭으로 실시간 검색 결과를 활성화</Korean> <Korean>검색\nCtrl + 클릭으로 실시간 검색 결과를 활성화</Korean>
<Russian>Поиск\nCtrl + Click для включения результатов в реальном времени</Russian> <Russian>Поиск\nCtrl + Click для включения результатов в реальном времени</Russian>
<French>Recherche\nCTRL + clic pour modifier les résultats tout en écrivant</French> <French>Recherche\nCTRL + clic pour modifier les résultats tout en écrivant</French>
<Spanish>Buscar\nCTRL + Click habilita los objetos en directo</Spanish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -15,7 +15,5 @@ private _categoryName = [format ["ACE %1", localize "str_a3_cfgmarkers_nato_art"
[LSTRING(disableArtilleryComputer_displayName), LSTRING(disableArtilleryComputer_description)], [LSTRING(disableArtilleryComputer_displayName), LSTRING(disableArtilleryComputer_description)],
_categoryName, _categoryName,
false, // default value false, // default value
true, // isGlobal true // isGlobal
{[QGVAR(disableArtilleryComputer), _this] call EFUNC(common,cbaSettings_settingChanged)},
false // Needs mission restart
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;

View File

@ -3540,6 +3540,7 @@
<French>Utilisation de l'IA</French> <French>Utilisation de l'IA</French>
<Portuguese>Utilização por IA</Portuguese> <Portuguese>Utilização por IA</Portuguese>
<Russian>Использование ИИ</Russian> <Russian>Использование ИИ</Russian>
<Spanish>Uso de la IA</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Ballistics_ammoUsageShort_illumination"> <Key ID="STR_ACE_Ballistics_ammoUsageShort_illumination">
<English>Illum</English> <English>Illum</English>
@ -3551,6 +3552,7 @@
<French>Fusées éclairantes</French> <French>Fusées éclairantes</French>
<Portuguese>Sinalizadoras</Portuguese> <Portuguese>Sinalizadoras</Portuguese>
<Russian>Осветители</Russian> <Russian>Осветители</Russian>
<Spanish>Iluminación</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Ballistics_ammoUsageShort_concealment"> <Key ID="STR_ACE_Ballistics_ammoUsageShort_concealment">
<English>Smoke</English> <English>Smoke</English>
@ -3562,6 +3564,7 @@
<French>Fumigènes</French> <French>Fumigènes</French>
<Portuguese>Fumígenas</Portuguese> <Portuguese>Fumígenas</Portuguese>
<Russian>Дым</Russian> <Russian>Дым</Russian>
<Spanish>Humo</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Ballistics_ammoUsageShort_infantry"> <Key ID="STR_ACE_Ballistics_ammoUsageShort_infantry">
<English>Inf</English> <English>Inf</English>
@ -3573,6 +3576,7 @@
<French>Infanterie</French> <French>Infanterie</French>
<Portuguese>Infantaria</Portuguese> <Portuguese>Infantaria</Portuguese>
<Russian>Пехота</Russian> <Russian>Пехота</Russian>
<Spanish>Infantería</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Ballistics_ammoUsageShort_lightVehicle"> <Key ID="STR_ACE_Ballistics_ammoUsageShort_lightVehicle">
<English>Veh</English> <English>Veh</English>
@ -3584,6 +3588,7 @@
<French>Véhicule</French> <French>Véhicule</French>
<Portuguese>Veículo</Portuguese> <Portuguese>Veículo</Portuguese>
<Russian>Техника</Russian> <Russian>Техника</Russian>
<Spanish>Vehículo</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Ballistics_ammoUsageShort_armor"> <Key ID="STR_ACE_Ballistics_ammoUsageShort_armor">
<English>Armor</English> <English>Armor</English>
@ -3595,6 +3600,7 @@
<French>Blindage</French> <French>Blindage</French>
<Portuguese>Blindagem</Portuguese> <Portuguese>Blindagem</Portuguese>
<Russian>Бронетехника</Russian> <Russian>Бронетехника</Russian>
<Spanish>Blindados</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Ballistics_ammoUsageShort_aircraft"> <Key ID="STR_ACE_Ballistics_ammoUsageShort_aircraft">
<English>Air</English> <English>Air</English>
@ -3606,6 +3612,7 @@
<French>Aviation</French> <French>Aviation</French>
<Portuguese>Aeronaves</Portuguese> <Portuguese>Aeronaves</Portuguese>
<Russian>Авиация</Russian> <Russian>Авиация</Russian>
<Spanish>Aeronaves</Spanish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -146,6 +146,7 @@
<Korean>포로 눈 가리기</Korean> <Korean>포로 눈 가리기</Korean>
<Japanese>目隠しをする</Japanese> <Japanese>目隠しをする</Japanese>
<Russian>Завязать глаза пленному</Russian> <Russian>Завязать глаза пленному</Russian>
<Spanish>Vendar ojos al prisionero</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Captives_RemoveBlindfoldCaptive"> <Key ID="STR_ACE_Captives_RemoveBlindfoldCaptive">
<English>Remove blindfold</English> <English>Remove blindfold</English>
@ -156,6 +157,7 @@
<Korean>눈가리개 풀기</Korean> <Korean>눈가리개 풀기</Korean>
<Japanese>目隠しを外す</Japanese> <Japanese>目隠しを外す</Japanese>
<Russian>Снять повязку с глаз</Russian> <Russian>Снять повязку с глаз</Russian>
<Spanish>Quitar vendas de los ojos</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Captives_CableTie"> <Key ID="STR_ACE_Captives_CableTie">
<English>Cable Tie</English> <English>Cable Tie</English>

View File

@ -48,15 +48,7 @@ class CfgVehicles {
class Car: LandVehicle { class Car: LandVehicle {
GVAR(space) = 4; GVAR(space) = 4;
GVAR(hasCargo) = 1; GVAR(hasCargo) = 1;
class ACE_Cargo { class ADDON {};
/*
class Cargo {
class ACE_medicalSupplyCrate {
type = "ACE_medicalSupplyCrate";
amount = 1;
};
};*/
};
}; };
class Tank: LandVehicle { class Tank: LandVehicle {
@ -75,7 +67,7 @@ class CfgVehicles {
GVAR(hasCargo) = 1; GVAR(hasCargo) = 1;
}; };
// HEMTTs - Default at 10, some variants are altered based on model size and/or expected level of free space inside. // HEMTTs - Default at 30, some variants are altered based on model size and/or expected level of free space inside.
class Truck_01_base_F: Truck_F { class Truck_01_base_F: Truck_F {
GVAR(space) = 30; GVAR(space) = 30;
}; };
@ -523,6 +515,7 @@ class CfgVehicles {
class EventHandlers { class EventHandlers {
class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {}; class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {};
}; };
GVAR(space) = 3; GVAR(space) = 3;
GVAR(hasCargo) = 1; GVAR(hasCargo) = 1;
GVAR(size) = 3; GVAR(size) = 3;

View File

@ -7,9 +7,10 @@
* 0: Item to be loaded <STRING> or <OBJECT> * 0: Item to be loaded <STRING> or <OBJECT>
* 1: Holder object (vehicle) <OBJECT> * 1: Holder object (vehicle) <OBJECT>
* 2: Amount <NUMBER> (default: 1) * 2: Amount <NUMBER> (default: 1)
* 3: Ignore interaction distance and stability checks <BOOL> (default: false)
* *
* Return Value: * Return Value:
* None * Objects loaded <NUMBER>
* *
* Example: * Example:
* ["ACE_Wheel", cursorObject] call ace_cargo_fnc_addCargoItem * ["ACE_Wheel", cursorObject] call ace_cargo_fnc_addCargoItem
@ -17,21 +18,29 @@
* Public: No * Public: No
*/ */
params ["_item", "_vehicle", ["_amount", 1]]; params ["_item", "_vehicle", ["_amount", 1], ["_ignoreInteraction", false]];
TRACE_3("params",_item,_vehicle,_amount); TRACE_4("params",_item,_vehicle,_amount,_ignoreInteraction);
private _loaded = 0;
// Get config sensitive case name // Get config sensitive case name
if (_item isEqualType "") then { if (_item isEqualType "") then {
_item = _item call EFUNC(common,getConfigName); _item = _item call EFUNC(common,getConfigName);
for "_i" from 1 to _amount do { for "_i" from 1 to _amount do {
[_item, _vehicle] call FUNC(loadItem); if !([_item, _vehicle, _ignoreInteraction] call FUNC(loadItem)) exitWith {};
_loaded = _loaded + 1;
}; };
} else { } else {
[_item, _vehicle] call FUNC(loadItem); _loaded = parseNumber ([_item, _vehicle, _ignoreInteraction] call FUNC(loadItem));
_item = typeOf _item; _item = typeOf _item;
}; };
TRACE_1("loaded",_loaded);
// Invoke listenable event // Invoke listenable event
["ace_cargoAdded", [_item, _vehicle, _amount]] call CBA_fnc_globalEvent; ["ace_cargoAdded", [_item, _vehicle, _loaded]] call CBA_fnc_globalEvent;
_loaded // return

View File

@ -52,14 +52,21 @@ if (isServer) then {
private _cargoClassname = ""; private _cargoClassname = "";
private _cargoCount = 0; private _cargoCount = 0;
private _loaded = 0;
{ {
_cargoClassname = getText (_x >> "type"); _cargoClassname = getText (_x >> "type");
_cargoCount = getNumber (_x >> "amount"); _cargoCount = getNumber (_x >> "amount");
TRACE_3("adding ACE_Cargo",configName _x,_cargoClassname,_cargoCount); TRACE_3("adding ace_cargo",configName _x,_cargoClassname,_cargoCount);
["ace_addCargo", [_cargoClassname, _vehicle, _cargoCount]] call CBA_fnc_localEvent; // Ignore stability check (distance check is also ignored with this, but it's ignored by default if item is a string)
_loaded = [_cargoClassname, _vehicle, _cargoCount, true] call FUNC(addCargoItem);
// Let loop continue until the end, so that it prints everything into the rpt (there might be smaller items that could still fit in cargo)
if (_loaded != _cargoCount) then {
WARNING_5("%1 (%2) could not fit %3 %4 inside its cargo, only %5 were loaded.",_vehicle,_type,_cargoCount,_cargoClassname,_loaded);
};
} forEach ("true" configClasses (_config >> QUOTE(ADDON) >> "cargo")); } forEach ("true" configClasses (_config >> QUOTE(ADDON) >> "cargo"));
}; };

View File

@ -6,8 +6,7 @@ private _category = [ELSTRING(main,Category_Logistics), LSTRING(openMenu)];
[LSTRING(ModuleSettings_enable), LSTRING(ModuleSettings_enable_Description)], [LSTRING(ModuleSettings_enable), LSTRING(ModuleSettings_enable_Description)],
_category, _category,
true, true,
1, 1
{[QGVAR(enable), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -16,8 +15,7 @@ private _category = [ELSTRING(main,Category_Logistics), LSTRING(openMenu)];
[LSTRING(loadTimeCoefficient), LSTRING(loadTimeCoefficient_description)], [LSTRING(loadTimeCoefficient), LSTRING(loadTimeCoefficient_description)],
_category, _category,
[0, 10, 5, 1], [0, 10, 5, 1],
1, 1
{[QGVAR(loadTimeCoefficient), _this, true] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -26,8 +24,7 @@ private _category = [ELSTRING(main,Category_Logistics), LSTRING(openMenu)];
[LSTRING(paradropTimeCoefficent), LSTRING(paradropTimeCoefficent_description)], [LSTRING(paradropTimeCoefficent), LSTRING(paradropTimeCoefficent_description)],
_category, _category,
[0, 10, 2.5, 1], [0, 10, 2.5, 1],
1, 1
{[QGVAR(paradropTimeCoefficent), _this, true] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -35,9 +32,7 @@ private _category = [ELSTRING(main,Category_Logistics), LSTRING(openMenu)];
"LIST", "LIST",
[LSTRING(openAfterUnload), LSTRING(openAfterUnload_description)], [LSTRING(openAfterUnload), LSTRING(openAfterUnload_description)],
_category, _category,
[[0, 1, 2, 3], [ELSTRING(common,never), LSTRING(unloadObject), LSTRING(paradropButton), ELSTRING(common,both)], 0], [[0, 1, 2, 3], [ELSTRING(common,never), LSTRING(unloadObject), LSTRING(paradropButton), ELSTRING(common,both)], 0]
0,
{[QGVAR(openAfterUnload), _this, true] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -45,9 +40,7 @@ private _category = [ELSTRING(main,Category_Logistics), LSTRING(openMenu)];
"CHECKBOX", "CHECKBOX",
[LSTRING(carryAfterUnload), LSTRING(carryAfterUnload_description)], [LSTRING(carryAfterUnload), LSTRING(carryAfterUnload_description)],
_category, _category,
true, true
0,
{[QGVAR(carryAfterUnload), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -56,8 +49,7 @@ private _category = [ELSTRING(main,Category_Logistics), LSTRING(openMenu)];
[LSTRING(enableDeploy), LSTRING(enableDeploy_description)], [LSTRING(enableDeploy), LSTRING(enableDeploy_description)],
_category, _category,
true, true,
1, 1
{[QGVAR(enableDeploy), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -65,7 +57,5 @@ private _category = [ELSTRING(main,Category_Logistics), LSTRING(openMenu)];
"CHECKBOX", "CHECKBOX",
[LSTRING(ModuleSettings_enableRename), LSTRING(ModuleSettings_enableRename_Description)], [LSTRING(ModuleSettings_enableRename), LSTRING(ModuleSettings_enableRename_Description)],
_category, _category,
true, true
0,
{[QGVAR(enableRename), _this, true] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;

View File

@ -40,6 +40,7 @@
<Japanese>配置する</Japanese> <Japanese>配置する</Japanese>
<Korean>배치하기</Korean> <Korean>배치하기</Korean>
<French>Déployer</French> <French>Déployer</French>
<Spanish>Desplegar</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Cargo_ScrollAction"> <Key ID="STR_ACE_Cargo_ScrollAction">
<English>Raise/Lower | (Ctrl + Scroll) Rotate</English> <English>Raise/Lower | (Ctrl + Scroll) Rotate</English>
@ -337,6 +338,7 @@
<Japanese>荷降ろし不可能です</Japanese> <Japanese>荷降ろし不可能です</Japanese>
<Korean>하역할 수가 없습니다</Korean> <Korean>하역할 수가 없습니다</Korean>
<Russian>Не может быть выгружен</Russian> <Russian>Не может быть выгружен</Russian>
<Spanish>No puede ser descargado</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Cargo_SizeMenu"> <Key ID="STR_ACE_Cargo_SizeMenu">
<English>Cargo Size: %1</English> <English>Cargo Size: %1</English>
@ -346,6 +348,7 @@
<Japanese>貨物のサイズ: %1</Japanese> <Japanese>貨物のサイズ: %1</Japanese>
<Korean>화물 크기: %1</Korean> <Korean>화물 크기: %1</Korean>
<Russian>Размер груза: %1</Russian> <Russian>Размер груза: %1</Russian>
<Spanish>Tamaño de carga: %1</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Cargo_customName_edenName"> <Key ID="STR_ACE_Cargo_customName_edenName">
<English>Custom Name</English> <English>Custom Name</English>
@ -584,6 +587,7 @@
<Japanese>配置機能を有効化</Japanese> <Japanese>配置機能を有効化</Japanese>
<Korean>배치 활성화</Korean> <Korean>배치 활성화</Korean>
<French>Permettre le placement</French> <French>Permettre le placement</French>
<Spanish>Habilitar despliegue</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Cargo_enableDeploy_description"> <Key ID="STR_ACE_Cargo_enableDeploy_description">
<English>Controls whether cargo items can be unloaded via the deploy method.</English> <English>Controls whether cargo items can be unloaded via the deploy method.</English>
@ -592,6 +596,7 @@
<Japanese>配置機能を介して貨物アイテムを降ろすことが出来るかどうかを制御します。</Japanese> <Japanese>配置機能を介して貨物アイテムを降ろすことが出来るかどうかを制御します。</Japanese>
<Korean>배치 방법을 통해 화물 아이템을 내릴 수 있는지 여부를 제어합니다.</Korean> <Korean>배치 방법을 통해 화물 아이템을 내릴 수 있는지 여부를 제어합니다.</Korean>
<French>Contrôler si les éléments de cargaison peuvent être déchargés via la méthode de déploiement.</French> <French>Contrôler si les éléments de cargaison peuvent être déchargés via la méthode de déploiement.</French>
<Spanish>Controla si los objetos de la carga pueden ser descargados mediante el método de despliegue.</Spanish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -161,6 +161,7 @@ PREP(sendRequest);
PREP(serverLog); PREP(serverLog);
PREP(setAimCoef); PREP(setAimCoef);
PREP(setApproximateVariablePublic); PREP(setApproximateVariablePublic);
PREP(setDead);
PREP(setDefinedVariable); PREP(setDefinedVariable);
PREP(setDisableUserInputStatus); PREP(setDisableUserInputStatus);
PREP(setHearingCapability); PREP(setHearingCapability);

View File

@ -223,6 +223,9 @@ if (isServer) then {
[QGVAR(claimSafe), LINKFUNC(claimSafeServer)] call CBA_fnc_addEventHandler; [QGVAR(claimSafe), LINKFUNC(claimSafeServer)] call CBA_fnc_addEventHandler;
}; };
["CBA_SettingChanged", {
["ace_settingChanged", _this] call CBA_fnc_localEvent;
}] call CBA_fnc_addEventHandler;
////////////////////////////////////////////////// //////////////////////////////////////////////////
// Set up remote execution // Set up remote execution

View File

@ -2,22 +2,33 @@
/* /*
* Author: commy2, johnb43 * Author: commy2, johnb43
* Adds weapon to unit without taking a magazine. * Adds weapon to unit without taking a magazine.
* Same as CBA_fnc_addWeaponWithoutItems, but doesn't remove linked items. * Same as CBA_fnc_addWeaponWithoutItems, but doesn't remove linked items by default.
* *
* Arguments: * Arguments:
* 0: Unit to add the weapon to <OBEJCT> * 0: Unit to add the weapon to <OBJECT>
* 1: Weapon to add <STRING> * 1: Weapon to add <STRING>
* 2: If linked items should be removed or not <BOOL> (default: false)
* 3: Magazines that should be added to the weapon <ARRAY> (default: [])
* - 0: Magazine classname <STRING>
* - 1: Ammo count <NUMBER>
* *
* Return Value: * Return Value:
* None * None
* *
* Example: * Example:
* [player, "arifle_AK12_F"] call ace_common_fnc_addWeapon * [player, "arifle_MX_GL_F", true, [["30Rnd_65x39_caseless_mag", 30], ["1Rnd_HE_Grenade_shell", 1]]] call ace_common_fnc_addWeapon
* *
* Public: Yes * Public: Yes
*/ */
params ["_unit", "_weapon"]; params [
["_unit", objNull, [objNull]],
["_weapon", "", [""]],
["_removeLinkedItems", false, [false]],
["_magazines", [], [[]]]
];
if (isNull _unit || {_weapon == ""}) exitWith {};
// Config case // Config case
private _compatibleMagazines = compatibleMagazines _weapon; private _compatibleMagazines = compatibleMagazines _weapon;
@ -45,6 +56,35 @@ private _backpackMagazines = (magazinesAmmoCargo _backpack) select {
// Add weapon // Add weapon
_unit addWeapon _weapon; _unit addWeapon _weapon;
// This doesn't remove magazines, but linked items can't be magazines, so it's fine
if (_removeLinkedItems) then {
switch (_weapon call FUNC(getConfigName)) do {
case (primaryWeapon _unit): {
removeAllPrimaryWeaponItems _unit;
};
case (secondaryWeapon _unit): {
removeAllSecondaryWeaponItems _unit;
};
case (handgunWeapon _unit): {
removeAllHandgunItems _unit;
};
case (binocular _unit): {
removeAllBinocularItems _unit;
};
};
};
// Add magazines directly now, so that AI don't reload
if (_magazines isNotEqualTo []) then {
{
_x params [["_magazine", "", [""]], ["_ammoCount", -1, [0]]];
if (_magazine != "" && {_ammoCount > -1}) then {
_unit addWeaponItem [_weapon, [_magazine, _ammoCount], true];
};
} forEach _magazines;
};
// Add all magazines back // Add all magazines back
{ {
_uniform addMagazineAmmoCargo [_x select 0, 1, _x select 1]; _uniform addMagazineAmmoCargo [_x select 0, 1, _x select 1];

View File

@ -1,8 +1,8 @@
#include "..\script_component.hpp" #include "..\script_component.hpp"
/* /*
* Author: PabstMirror * Author: PabstMirror
* Function for handeling a cba setting being changed. * Function for handling a cba setting being changed.
* Adds warning if global setting is changed after ace_settingsInitialized * Adds warning if global setting is changed after ace_settingsInitialized.
* *
* Arguments: * Arguments:
* 0: Setting Name <STRING> * 0: Setting Name <STRING>
@ -21,9 +21,7 @@
params ["_settingName", "_newValue", ["_canBeChanged", false]]; params ["_settingName", "_newValue", ["_canBeChanged", false]];
TRACE_2("",_settingName,_newValue); TRACE_2("",_settingName,_newValue);
["ace_settingChanged", [_settingName, _newValue]] call CBA_fnc_localEvent; if !((toLower _settingName) in CBA_settings_needRestart) exitWith {};
if (!((toLower _settingName) in CBA_settings_needRestart)) exitWith {};
if (_canBeChanged) exitWith {WARNING_1("update cba setting [%1] to use correct Need Restart param",_settingName);}; if (_canBeChanged) exitWith {WARNING_1("update cba setting [%1] to use correct Need Restart param",_settingName);};
if (!GVAR(settingsInitFinished)) exitWith {}; // Ignore changed event before CBA_settingsInitialized if (!GVAR(settingsInitFinished)) exitWith {}; // Ignore changed event before CBA_settingsInitialized

View File

@ -143,11 +143,7 @@ if (_state) then {
_ctrl ctrlSetEventHandler ["ButtonClick", toString { _ctrl ctrlSetEventHandler ["ButtonClick", toString {
closeDialog 0; closeDialog 0;
if (["ace_medical"] call FUNC(isModLoaded)) then { [player, "respawn_button"] call FUNC(setDead);
[player, "respawn_button"] call EFUNC(medical_status,setDead);
} else {
player setDamage 1;
};
[false] call FUNC(disableUserInput); [false] call FUNC(disableUserInput);
}]; }];

View File

@ -0,0 +1,44 @@
#include "..\script_component.hpp"
/*
* Author: johnb43
* Kills a unit without changing visual appearance.
*
* Arguments:
* 0: Unit <ARRAY>
* 1: Reason for death (only used if ace_medical is loaded) <STRING> (default: "")
* 2: Killer (vehicle that killed unit) <ARRAY> (default: objNull)
* 3: Instigator (unit who pulled trigger) <ARRAY> (default: objNull)
*
* Return Value:
* None
*
* Example:
* [cursorObject, "", player, player] call ace_common_fnc_setDead;
*
* Public: Yes
*/
params [["_unit", objNull, [objNull]], ["_reason", "", [""]], ["_source", objNull, [objNull]], ["_instigator", objNull, [objNull]]];
if (!local _unit) exitWith {
WARNING_1("setDead executed on non-local unit - %1",_this);
};
if (["ace_medical"] call EFUNC(common,isModLoaded)) then {
[_unit, _reason, _source, _instigator] call EFUNC(medical_status,setDead);
} else {
// From 'ace_medical_status_fnc_setDead': Kill the unit without changing visual appearance
// (#8803) Reenable damage if disabled to prevent having live units in dead state
// Keep this after death event for compatibility with third party hooks
if (!isDamageAllowed _unit) then {
WARNING_1("setDead executed on unit with damage blocked - %1",_this);
_unit allowDamage true;
};
private _currentDamage = _unit getHitPointDamage "HitHead";
_unit setHitPointDamage ["HitHead", 1, true, _source, _instigator];
_unit setHitPointDamage ["HitHead", _currentDamage, true, _source, _instigator];
};

View File

@ -1834,6 +1834,8 @@
<Korean>무기 흔들림</Korean> <Korean>무기 흔들림</Korean>
<French>Oscillation de l'arme</French> <French>Oscillation de l'arme</French>
<Russian>Колебание оружия</Russian> <Russian>Колебание оружия</Russian>
<Spanish>Oscilación del arma</Spanish>
<Italian>Oscillazione arma</Italian>
</Key> </Key>
<Key ID="STR_ACE_Common_EnableSway"> <Key ID="STR_ACE_Common_EnableSway">
<English>Enable Weapon Sway</English> <English>Enable Weapon Sway</English>
@ -1841,6 +1843,8 @@
<Korean>무기 흔들림 추가</Korean> <Korean>무기 흔들림 추가</Korean>
<French>Activer l'oscillation de l'arme</French> <French>Activer l'oscillation de l'arme</French>
<Russian>Включить колебание оружия</Russian> <Russian>Включить колебание оружия</Russian>
<Spanish>Habilitar oscilación del arma</Spanish>
<Italian>Abilita oscillazione arma</Italian>
</Key> </Key>
<Key ID="STR_ACE_Common_EnableSway_Description"> <Key ID="STR_ACE_Common_EnableSway_Description">
<English>Enables weapon sway influenced by sway factors, such as stance, fatigue and medical condition.\nDisabling this setting will defer sway to vanilla or other mods.</English> <English>Enables weapon sway influenced by sway factors, such as stance, fatigue and medical condition.\nDisabling this setting will defer sway to vanilla or other mods.</English>
@ -1848,6 +1852,8 @@
<Korean>흔들림 계수, 자세, 피로도, 건강 상태 등의 요인에 영향을 받는 무기 흔들림을 활성화합니다.\n이 설정을 비활성화하면 바닐라 또는 다른 모드의 흔들림으로 대체됩니다.</Korean> <Korean>흔들림 계수, 자세, 피로도, 건강 상태 등의 요인에 영향을 받는 무기 흔들림을 활성화합니다.\n이 설정을 비활성화하면 바닐라 또는 다른 모드의 흔들림으로 대체됩니다.</Korean>
<French>Active l'oscillation de l'arme influencé par les facteurs d'oscillation, tels que la position, la fatigue et l'état de santé.\nLa désactivation de ce paramètre reportera l'oscillation à vanilla ou à d'autres mods.</French> <French>Active l'oscillation de l'arme influencé par les facteurs d'oscillation, tels que la position, la fatigue et l'état de santé.\nLa désactivation de ce paramètre reportera l'oscillation à vanilla ou à d'autres mods.</French>
<Russian>Активируйте колебание оружия в зависимости от таких факторов, как стойка, усталость и состояние здоровья.\nОтключение этого параметра приведет к переносу раскачивания на vanilla или другие моды.</Russian> <Russian>Активируйте колебание оружия в зависимости от таких факторов, как стойка, усталость и состояние здоровья.\nОтключение этого параметра приведет к переносу раскачивания на vanilla или другие моды.</Russian>
<Spanish>Habilita la oscilación del arma afectado por factores como la postura, la fatiga y la condición médica.\nDeshabilitar esta opción hará que el comportamiento de la oscilación venga definido por Vanilla o por otros mods.</Spanish>
<Italian>Abilita l'oscillazione ACE, influenzata da fattori come postura, fatica e condizione medica.\nDisabilitare questa impostazione farà controllare l'oscillazione al gioco vanilla o altre mod.</Italian>
</Key> </Key>
<Key ID="STR_ACE_Common_SwayFactor"> <Key ID="STR_ACE_Common_SwayFactor">
<English>Sway factor</English> <English>Sway factor</English>
@ -1888,6 +1894,7 @@
<Italian>Fattore di Oscillazione Appoggiato</Italian> <Italian>Fattore di Oscillazione Appoggiato</Italian>
<Japanese>静止依託時の手ぶれ係数</Japanese> <Japanese>静止依託時の手ぶれ係数</Japanese>
<Russian>Коэффициент колебания прицела в состоянии покоя</Russian> <Russian>Коэффициент колебания прицела в состоянии покоя</Russian>
<Spanish>Factor de oscilación apoyado</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Common_RestedSwayFactor_Description"> <Key ID="STR_ACE_Common_RestedSwayFactor_Description">
<English>Influences the amount of weapon sway while weapon is rested.</English> <English>Influences the amount of weapon sway while weapon is rested.</English>
@ -1898,6 +1905,7 @@
<Italian>Determina la quantità di oscillazione dell'arma quando questa è appoggiata.</Italian> <Italian>Determina la quantità di oscillazione dell'arma quando questa è appoggiata.</Italian>
<Japanese>静止し壁などに依託している時の武器の手ぶれの大きさに影響します。</Japanese> <Japanese>静止し壁などに依託している時の武器の手ぶれの大きさに影響します。</Japanese>
<Russian>Влияет на величину колебания прицела оружия в состоянии покоя.</Russian> <Russian>Влияет на величину колебания прицела оружия в состоянии покоя.</Russian>
<Spanish>Afecta la cantidad de oscilación del arma cuando se está apoyado.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Common_DeployedSwayFactor"> <Key ID="STR_ACE_Common_DeployedSwayFactor">
<English>Deployed sway factor</English> <English>Deployed sway factor</English>
@ -1908,6 +1916,7 @@
<Italian>Fattore di Oscillazione su Bipode</Italian> <Italian>Fattore di Oscillazione su Bipode</Italian>
<Japanese>接地展開時の手ぶれ係数</Japanese> <Japanese>接地展開時の手ぶれ係数</Japanese>
<Russian>Коэффициент колебания прицела при развертывании</Russian> <Russian>Коэффициент колебания прицела при развертывании</Russian>
<Spanish>Factor de oscilación desplegado</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Common_DeployedSwayFactor_Description"> <Key ID="STR_ACE_Common_DeployedSwayFactor_Description">
<English>Influences the amount of weapon sway while weapon is deployed.</English> <English>Influences the amount of weapon sway while weapon is deployed.</English>
@ -1918,6 +1927,7 @@
<Italian>Determina la quantità di oscillazione dell'arma quando questa è stabilizzata usando il bipode.</Italian> <Italian>Determina la quantità di oscillazione dell'arma quando questa è stabilizzata usando il bipode.</Italian>
<Japanese>武器の接地展開時の武器の手ぶれの大きさに影響します。</Japanese> <Japanese>武器の接地展開時の武器の手ぶれの大きさに影響します。</Japanese>
<Russian>Влияет на величину колебания прицела оружия при его развертывании.</Russian> <Russian>Влияет на величину колебания прицела оружия при его развертывании.</Russian>
<Spanish>Afecta la cantidad de oscilación del arma cuando se está desplegado.</Spanish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,3 +1,6 @@
class CBA_Extended_EventHandlers;
#define XEH_INHERITED class EventHandlers {class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {};}
class CfgVehicles { class CfgVehicles {
class House; class House;
class House_Small_F; class House_Small_F;
@ -5,7 +8,7 @@ class CfgVehicles {
class House_EP1: House {}; class House_EP1: House {};
class Land_Benzina_schnell: House { class Land_Benzina_schnell: House {
transportFuel = 0; XEH_INHERITED;
EGVAR(refuel,hooks)[] = {{-1.5,-3.93,-1.25}, {2.35,-3.93,-1.25}}; EGVAR(refuel,hooks)[] = {{-1.5,-3.93,-1.25}, {2.35,-3.93,-1.25}};
EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL;
class ACE_Actions { class ACE_Actions {
@ -18,22 +21,22 @@ class CfgVehicles {
}; };
}; };
class Land_A_FuelStation_Feed: Strategic { class Land_A_FuelStation_Feed: Strategic {
transportFuel = 0; XEH_INHERITED;
EGVAR(refuel,hooks)[] = {{-0.34,0,0}, {0.34,0,0}}; EGVAR(refuel,hooks)[] = {{-0.34,0,0}, {0.34,0,0}};
EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL;
}; };
class Land_Ind_FuelStation_Feed_EP1: House_EP1 { class Land_Ind_FuelStation_Feed_EP1: House_EP1 {
transportFuel = 0; XEH_INHERITED;
EGVAR(refuel,hooks)[] = {{-0.34,0,0}, {0.34,0,0}}; EGVAR(refuel,hooks)[] = {{-0.34,0,0}, {0.34,0,0}};
EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL;
}; };
class Land_FuelStation_Feed_PMC: Strategic { class Land_FuelStation_Feed_PMC: Strategic {
transportFuel = 0; XEH_INHERITED;
EGVAR(refuel,hooks)[] = {{-0.34,0,0}, {0.34,0,0}}; EGVAR(refuel,hooks)[] = {{-0.34,0,0}, {0.34,0,0}};
EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL;
}; };
class FuelStation: House_Small_F { class FuelStation: House_Small_F {
transportFuel = 0; XEH_INHERITED;
EGVAR(refuel,hooks)[] = {{1.25, .2, -1.1}}; EGVAR(refuel,hooks)[] = {{1.25, .2, -1.1}};
EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL;
class ACE_Actions { class ACE_Actions {
@ -45,4 +48,9 @@ class CfgVehicles {
}; };
}; };
}; };
class WarfareBBaseStructure;
class Base_WarfareBVehicleServicePoint: WarfareBBaseStructure {
// "vehicle service point" (a conex /w barrels) - need hooks???
XEH_INHERITED;
};
}; };

View File

@ -1,35 +1,30 @@
class CfgVehicles { class CfgVehicles {
class CUP_T810_Unarmed_Base; class CUP_T810_Unarmed_Base;
class CUP_T810_Refuel_Base: CUP_T810_Unarmed_Base { class CUP_T810_Refuel_Base: CUP_T810_Unarmed_Base {
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{-1.01, 0.21, -0.5},{1.08, 0.2, -0.5}}; EGVAR(refuel,hooks)[] = {{-1.01, 0.21, -0.5},{1.08, 0.2, -0.5}};
EGVAR(refuel,fuelCargo) = 10000; EGVAR(refuel,fuelCargo) = 10000;
}; };
class Truck_02_fuel_base_F; class Truck_02_fuel_base_F;
class CUP_Kamaz_5350_Refuel_Base: Truck_02_fuel_base_F { class CUP_Kamaz_5350_Refuel_Base: Truck_02_fuel_base_F {
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{-0.02, -3.33, -1.05}}; EGVAR(refuel,hooks)[] = {{-0.02, -3.33, -1.05}};
EGVAR(refuel,fuelCargo) = 10000; EGVAR(refuel,fuelCargo) = 10000;
}; };
class CUP_Ural_Support_Base; class CUP_Ural_Support_Base;
class CUP_Ural_Refuel_Base: CUP_Ural_Support_Base { class CUP_Ural_Refuel_Base: CUP_Ural_Support_Base {
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{-0.05, -3.65, -0.42}}; EGVAR(refuel,hooks)[] = {{-0.05, -3.65, -0.42}};
EGVAR(refuel,fuelCargo) = 10000; EGVAR(refuel,fuelCargo) = 10000;
}; };
class CUP_V3S_Open_Base; class CUP_V3S_Open_Base;
class CUP_V3S_Refuel_Base: CUP_V3S_Open_Base { class CUP_V3S_Refuel_Base: CUP_V3S_Open_Base {
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{-0.35, -3.35, -0.4},{0.40, -3.35, -0.4}}; EGVAR(refuel,hooks)[] = {{-0.35, -3.35, -0.4},{0.40, -3.35, -0.4}};
EGVAR(refuel,fuelCargo) = 6500; EGVAR(refuel,fuelCargo) = 6500;
}; };
class CUP_MTVR_Base; class CUP_MTVR_Base;
class CUP_MTVR_Refuel_Base: CUP_MTVR_Base { class CUP_MTVR_Refuel_Base: CUP_MTVR_Base {
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{-1.09, -0.01, -0.5},{1, -0.01, -0.5}}; EGVAR(refuel,hooks)[] = {{-1.09, -0.01, -0.5},{1, -0.01, -0.5}};
EGVAR(refuel,fuelCargo) = 10000; EGVAR(refuel,fuelCargo) = 10000;
}; };

View File

@ -6,36 +6,42 @@
<Japanese>[CSW] AGS30 ベルト</Japanese> <Japanese>[CSW] AGS30 ベルト</Japanese>
<Russian>[CSW] Лента AGS 30</Russian> <Russian>[CSW] Лента AGS 30</Russian>
<Korean>[CSW] AGS-30 벨트</Korean> <Korean>[CSW] AGS-30 벨트</Korean>
<Spanish>[CSW] Cinta de AGS30</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_MK19_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_MK19_displayName">
<English>[CSW] MK19 Belt</English> <English>[CSW] MK19 Belt</English>
<Japanese>[CSW] Mk19 ベルト</Japanese> <Japanese>[CSW] Mk19 ベルト</Japanese>
<Russian>[CSW] Лента Mk19</Russian> <Russian>[CSW] Лента Mk19</Russian>
<Korean>[CSW] Mk.19 벨트</Korean> <Korean>[CSW] Mk.19 벨트</Korean>
<Spanish>[CSW] Cinta de MK19</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_TOW_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_TOW_displayName">
<English>[CSW] TOW Tube</English> <English>[CSW] TOW Tube</English>
<Japanese>[CSW] TOW チューブ</Japanese> <Japanese>[CSW] TOW チューブ</Japanese>
<Russian>[CSW] Туба TOW</Russian> <Russian>[CSW] Туба TOW</Russian>
<Korean>[CSW] TOW 튜브</Korean> <Korean>[CSW] TOW 튜브</Korean>
<Spanish>[CSW] Tubo de TOW</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_TOW2_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_TOW2_displayName">
<English>[CSW] TOW2 Tube</English> <English>[CSW] TOW2 Tube</English>
<Japanese>[CSW] TOW2 チューブ</Japanese> <Japanese>[CSW] TOW2 チューブ</Japanese>
<Russian>[CSW] Туба TOW-2</Russian> <Russian>[CSW] Туба TOW-2</Russian>
<Korean>[CSW] TOW2 튜브</Korean> <Korean>[CSW] TOW2 튜브</Korean>
<Spanish>[CSW] Tubo de TOW2</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_PG9_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_PG9_displayName">
<English>[CSW] PG-9 Round</English> <English>[CSW] PG-9 Round</English>
<Japanese>[CSW] PG-9 砲弾</Japanese> <Japanese>[CSW] PG-9 砲弾</Japanese>
<Russian>[CSW] Снаряд ПГ-9</Russian> <Russian>[CSW] Снаряд ПГ-9</Russian>
<Korean>[CSW] PG-9 대전차고폭탄</Korean> <Korean>[CSW] PG-9 대전차고폭탄</Korean>
<Spanish>[CSW] Carga de PG-9</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_OG9_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_OG9_displayName">
<English>[CSW] OG-9 Round</English> <English>[CSW] OG-9 Round</English>
<Japanese>[CSW] OG-9 砲弾</Japanese> <Japanese>[CSW] OG-9 砲弾</Japanese>
<Russian>[CSW] Снаряд OГ-9</Russian> <Russian>[CSW] Снаряд OГ-9</Russian>
<Korean>[CSW] OG-9 고폭파편탄</Korean> <Korean>[CSW] OG-9 고폭파편탄</Korean>
<Spanish>[CSW] Carga de OG-9</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_M1HE_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_M1HE_displayName">
<English>[CSW] M1 HE</English> <English>[CSW] M1 HE</English>
@ -43,6 +49,7 @@
<Russian>[CSW] M1 HE</Russian> <Russian>[CSW] M1 HE</Russian>
<Korean>[CSW] M1 고폭탄</Korean> <Korean>[CSW] M1 고폭탄</Korean>
<French>[CSW] M1 HE</French> <French>[CSW] M1 HE</French>
<Spanish>[CSW] HE de M1</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_M84Smoke_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_M84Smoke_displayName">
<English>[CSW] M84 Smoke</English> <English>[CSW] M84 Smoke</English>
@ -50,6 +57,7 @@
<Russian>[CSW] M84 Дымовая</Russian> <Russian>[CSW] M84 Дымовая</Russian>
<Korean>[CSW] M84 연막탄</Korean> <Korean>[CSW] M84 연막탄</Korean>
<French>[CSW] M84 Fumigène</French> <French>[CSW] M84 Fumigène</French>
<Spanish>[CSW] Humo M84</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_M60A2_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_M60A2_displayName">
<English>[CSW] M60A2 WP</English> <English>[CSW] M60A2 WP</English>
@ -57,6 +65,7 @@
<Russian>[CSW] M60A2 WP</Russian> <Russian>[CSW] M60A2 WP</Russian>
<Korean>[CSW] M60A2 백린연막탄</Korean> <Korean>[CSW] M60A2 백린연막탄</Korean>
<French>[CSW] M60A2 WP</French> <French>[CSW] M60A2 WP</French>
<Spanish>[CSW] M60A2 WP</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_M67AT_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_M67AT_displayName">
<English>[CSW] M67 AT Laser Guided</English> <English>[CSW] M67 AT Laser Guided</English>
@ -64,6 +73,7 @@
<Russian>[CSW] M67 AT Laser Guided</Russian> <Russian>[CSW] M67 AT Laser Guided</Russian>
<Korean>[CSW] M67 레이저유도 대전차탄</Korean> <Korean>[CSW] M67 레이저유도 대전차탄</Korean>
<French>[CSW] M67 AT Guidé laser</French> <French>[CSW] M67 AT Guidé laser</French>
<Spanish>[CSW] AT Guiado por Láser M67</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_M314Illum_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_M314Illum_displayName">
<English>[CSW] M314 Illumination</English> <English>[CSW] M314 Illumination</English>
@ -71,6 +81,7 @@
<Russian>[CSW] M314 Осветительная</Russian> <Russian>[CSW] M314 Осветительная</Russian>
<Korean>[CSW] M314 조명탄</Korean> <Korean>[CSW] M314 조명탄</Korean>
<French>[CSW] M314 Illumination</French> <French>[CSW] M314 Illumination</French>
<Spanish>[CSW] Iluminación M314</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_3OF56_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_3OF56_displayName">
<English>[CSW] 3OF56 HE</English> <English>[CSW] 3OF56 HE</English>
@ -78,6 +89,7 @@
<Russian>[CSW] 3OF56 HE</Russian> <Russian>[CSW] 3OF56 HE</Russian>
<Korean>[CSW] 3OF56 고폭탄</Korean> <Korean>[CSW] 3OF56 고폭탄</Korean>
<French>[CSW] 3OF56 HE</French> <French>[CSW] 3OF56 HE</French>
<Spanish>[CSW] HE de 3OF56</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_3OF69M_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_3OF69M_displayName">
<English>[CSW] 3OF69M Laser Guided</English> <English>[CSW] 3OF69M Laser Guided</English>
@ -85,6 +97,7 @@
<Russian>[CSW] 3OF69M Laser Guided</Russian> <Russian>[CSW] 3OF69M Laser Guided</Russian>
<Korean>[CSW] 3OF69M 레이저유도탄</Korean> <Korean>[CSW] 3OF69M 레이저유도탄</Korean>
<French>[CSW] 3OF69M Guidé laser</French> <French>[CSW] 3OF69M Guidé laser</French>
<Spanish>[CSW] 3OF69M Guiado por Láser</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_122mmWP_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_122mmWP_displayName">
<English>[CSW] 122mm WP</English> <English>[CSW] 122mm WP</English>
@ -92,6 +105,7 @@
<Russian>[CSW] 122mm WP</Russian> <Russian>[CSW] 122mm WP</Russian>
<Korean>[CSW] 122mm 백린탄</Korean> <Korean>[CSW] 122mm 백린탄</Korean>
<French>[CSW] 122mm WP</French> <French>[CSW] 122mm WP</French>
<Spanish>[CSW] WP de 122mm</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_122mmSmoke_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_122mmSmoke_displayName">
<English>[CSW] D-462 Smoke</English> <English>[CSW] D-462 Smoke</English>
@ -99,6 +113,7 @@
<Russian>[CSW] D-462 Дымовая</Russian> <Russian>[CSW] D-462 Дымовая</Russian>
<Korean>[CSW] D-462 연막탄</Korean> <Korean>[CSW] D-462 연막탄</Korean>
<French>[CSW] D-462 Fumigène</French> <French>[CSW] D-462 Fumigène</French>
<Spanish>[CSW] Humo D-462</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_122mmIllum_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_122mmIllum_displayName">
<English>[CSW] S-463 Illumination</English> <English>[CSW] S-463 Illumination</English>
@ -106,6 +121,7 @@
<Russian>[CSW] S-463 Осветительная</Russian> <Russian>[CSW] S-463 Осветительная</Russian>
<Korean>[CSW] S-463 조명탄</Korean> <Korean>[CSW] S-463 조명탄</Korean>
<French>[CSW] S-463 Eclairante</French> <French>[CSW] S-463 Eclairante</French>
<Spanish>[CSW] Iluminación S-463</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_122mmAT_displayName"> <Key ID="STR_ACE_Compat_CUP_Weapons_CSW_mag_122mmAT_displayName">
<English>[CSW] BK-6M HEAT</English> <English>[CSW] BK-6M HEAT</English>
@ -113,6 +129,7 @@
<Russian>[CSW] BK-6M HEAT</Russian> <Russian>[CSW] BK-6M HEAT</Russian>
<Korean>[CSW] BK-6M 대전차고폭탄</Korean> <Korean>[CSW] BK-6M 대전차고폭탄</Korean>
<French>[CSW] BK-6M HEAT</French> <French>[CSW] BK-6M HEAT</French>
<Spanish>[CSW] BK-6M HEAT</Spanish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -10,6 +10,7 @@
<Korean>AN/PVS-14 (백색광)</Korean> <Korean>AN/PVS-14 (백색광)</Korean>
<French>AN/PVS-14 (WP)</French> <French>AN/PVS-14 (WP)</French>
<Russian>AN/PVS-14 (БФ)</Russian> <Russian>AN/PVS-14 (БФ)</Russian>
<Spanish>AN/PVS-14 (WP)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_PVS15_black_WP"> <Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_PVS15_black_WP">
<English>AN/PVS-15 (Black, WP)</English> <English>AN/PVS-15 (Black, WP)</English>
@ -20,6 +21,7 @@
<Korean>AN/PVS-15 (검정, 백색광)</Korean> <Korean>AN/PVS-15 (검정, 백색광)</Korean>
<French>AN/PVS-15 (Noires, WP)</French> <French>AN/PVS-15 (Noires, WP)</French>
<Russian>AN/PVS-15 (Чёрный, БФ)</Russian> <Russian>AN/PVS-15 (Чёрный, БФ)</Russian>
<Spanish>AN/PVS-15 (Negras, WP)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_PVS15_green_WP"> <Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_PVS15_green_WP">
<English>AN/PVS-15 (Green, WP)</English> <English>AN/PVS-15 (Green, WP)</English>
@ -30,6 +32,7 @@
<Korean>AN/PVS-15 (녹색, 백색광)</Korean> <Korean>AN/PVS-15 (녹색, 백색광)</Korean>
<French>AN/PVS-15 (Vertes, WP)</French> <French>AN/PVS-15 (Vertes, WP)</French>
<Russian>AN/PVS-15 (Зелёный, БФ)</Russian> <Russian>AN/PVS-15 (Зелёный, БФ)</Russian>
<Spanish>AN/PVS-15 (Verdes, WP)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_PVS15_tan_WP"> <Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_PVS15_tan_WP">
<English>AN/PVS-15 (Tan, WP)</English> <English>AN/PVS-15 (Tan, WP)</English>
@ -40,6 +43,7 @@
<Korean>AN/PVS-15 (황갈색, 백색광)</Korean> <Korean>AN/PVS-15 (황갈색, 백색광)</Korean>
<French>AN/PVS-15 (Marron clair, WP)</French> <French>AN/PVS-15 (Marron clair, WP)</French>
<Russian>AN/PVS-15 (Желтовато-коричневый, БФ)</Russian> <Russian>AN/PVS-15 (Желтовато-коричневый, БФ)</Russian>
<Spanish>AN/PVS-15 (Marrones, WP)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_PVS15_winter_WP"> <Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_PVS15_winter_WP">
<English>AN/PVS-15 (Winter, WP)</English> <English>AN/PVS-15 (Winter, WP)</English>
@ -47,6 +51,7 @@
<Korean>AN/PVS-15 (설상, 백색광)</Korean> <Korean>AN/PVS-15 (설상, 백색광)</Korean>
<Russian>AN/PVS-15 (Белый, БФ)</Russian> <Russian>AN/PVS-15 (Белый, БФ)</Russian>
<French>AN/PVS-15 (Blanc, WP)</French> <French>AN/PVS-15 (Blanc, WP)</French>
<Spanish>AN/PVS-15 (Blancas, WP)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_GPNVG_black_WP"> <Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_GPNVG_black_WP">
<English>GPNVG (Black, WP)</English> <English>GPNVG (Black, WP)</English>
@ -57,6 +62,7 @@
<Korean>GPNVG (검정, 백색광)</Korean> <Korean>GPNVG (검정, 백색광)</Korean>
<French>GPNVG (Noires, WP)</French> <French>GPNVG (Noires, WP)</French>
<Russian>GPNVG (Чёрный, БФ)</Russian> <Russian>GPNVG (Чёрный, БФ)</Russian>
<Spanish>GPNVG (Negras, WP)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_GPNVG_tan_WP"> <Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_GPNVG_tan_WP">
<English>GPNVG (Tan, WP)</English> <English>GPNVG (Tan, WP)</English>
@ -67,6 +73,7 @@
<Korean>GPNVG (황갈색, 백색광)</Korean> <Korean>GPNVG (황갈색, 백색광)</Korean>
<French>GPNVG (Marron clair, WP)</French> <French>GPNVG (Marron clair, WP)</French>
<Russian>GPNVG (Желтовато-коричневый, БФ)</Russian> <Russian>GPNVG (Желтовато-коричневый, БФ)</Russian>
<Spanish>GPNVG (Marrones, WP)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_GPNVG_green_WP"> <Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_GPNVG_green_WP">
<English>GPNVG (Green, WP)</English> <English>GPNVG (Green, WP)</English>
@ -77,6 +84,7 @@
<Korean>GPNVG (녹색, 백색광)</Korean> <Korean>GPNVG (녹색, 백색광)</Korean>
<French>GPNVG (Vertes, WP)</French> <French>GPNVG (Vertes, WP)</French>
<Russian>GPNVG (Зелёный, БФ)</Russian> <Russian>GPNVG (Зелёный, БФ)</Russian>
<Spanish>GPNVG (Verdes, WP)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_GPNVG_winter_WP"> <Key ID="STR_ACE_Compat_CUP_Weapons_nightvision_CUP_NVG_GPNVG_winter_WP">
<English>GPNVG (Winter, WP)</English> <English>GPNVG (Winter, WP)</English>
@ -84,6 +92,7 @@
<Korean>GPNVG (설상, 백색광)</Korean> <Korean>GPNVG (설상, 백색광)</Korean>
<Russian>AN/PVS-15 (Белый, БФ)</Russian> <Russian>AN/PVS-15 (Белый, БФ)</Russian>
<French>GPNVG (Blanc, WP)</French> <French>GPNVG (Blanc, WP)</French>
<Spanish>GPNVG (Blancas, WP)</Spanish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,6 +0,0 @@
class CfgVehicles {
class gm_ural4320_base;
class gm_ural4320_refuel_base: gm_ural4320_base {
transportFuel = 0;
};
};

View File

@ -21,4 +21,3 @@ class CfgPatches {
}; };
#include "CfgEventHandlers.hpp" #include "CfgEventHandlers.hpp"
#include "CfgVehicles.hpp"

View File

@ -219,6 +219,10 @@ class CfgAmmo {
EGVAR(frag,force) = 0; EGVAR(frag,force) = 0;
}; };
class SmokeShell;
class rhs_ammo_rdg2_white: SmokeShell {
EGVAR(grenades,rollVectorDirAndUp)[] = {{0, 1, 0}, {0, 0, 1}};
};
class Sh_125mm_APFSDS; class Sh_125mm_APFSDS;
class Sh_125mm_HE; class Sh_125mm_HE;

View File

@ -1,10 +0,0 @@
class CfgVehicles {
class RHS_Ural_Support_MSV_Base_01;
class RHS_Ural_Fuel_MSV_01: RHS_Ural_Support_MSV_Base_01 {
transportFuel = 0;
};
class rhs_kraz255b1_base;
class rhs_kraz255b1_fuel_base: rhs_kraz255b1_base {
transportFuel = 0;
};
};

View File

@ -18,4 +18,4 @@ class CfgPatches {
}; };
}; };
#include "CfgVehicles.hpp" // ADDON kept for backward compatiblity

View File

@ -1,15 +0,0 @@
class CfgVehicles {
class rhsusf_M1078A1P2_B_M2_fmtv_usarmy;
class rhsusf_M1078A1R_SOV_M2_D_fmtv_socom: rhsusf_M1078A1P2_B_M2_fmtv_usarmy {
transportFuel = 0;
};
class rhsusf_M977A4_usarmy_wd;
class rhsusf_M978A4_usarmy_wd: rhsusf_M977A4_usarmy_wd {
transportFuel = 0;
};
class rhsusf_M978A4_BKIT_usarmy_wd: rhsusf_M977A4_usarmy_wd {
transportFuel = 0;
};
};

View File

@ -21,4 +21,3 @@ class CfgPatches {
}; };
#include "CfgEventHandlers.hpp" #include "CfgEventHandlers.hpp"
#include "CfgVehicles.hpp"

View File

@ -4,6 +4,13 @@ class vn_molotov_grenade_ammo: vn_grenadehand {
EGVAR(frag,enabled) = 0; EGVAR(frag,enabled) = 0;
}; };
class vn_t67_grenade_ammo: vn_grenadehand {
EGVAR(grenades,rollVectorDirAndUp)[] = {{-1, 0, 0}, {0, 0, 1}};
};
class vn_chicom_grenade_ammo: vn_grenadehand {
EGVAR(grenades,rollVectorDirAndUp)[] = {{1, 0, 0}, {0, 0, 1}};
};
class SmokeShell; class SmokeShell;
class vn_m14_grenade_ammo: SmokeShell { class vn_m14_grenade_ammo: SmokeShell {
EGVAR(grenades,incendiary) = 1; EGVAR(grenades,incendiary) = 1;

View File

@ -32,6 +32,16 @@ class Extended_InitPost_EventHandlers {
init = QUOTE((_this select 0) setMass 1e-12); init = QUOTE((_this select 0) setMass 1e-12);
}; };
}; };
class Land_vn_canisterfuel_f {
class ADDON {
init = QUOTE(call (missionNamespace getVariable [ARR_2(QQEFUNC(refuel,makeJerryCan),{})]));
};
};
class Land_vn_fuelcan {
class ADDON {
init = QUOTE(call (missionNamespace getVariable [ARR_2(QQEFUNC(refuel,makeJerryCan),{})]));
};
};
class vn_bicycle_base { class vn_bicycle_base {
class ADDON { class ADDON {
init = QUOTE(call FUNC(disableCookoff)); init = QUOTE(call FUNC(disableCookoff));

View File

@ -1,18 +1,19 @@
#define XEH_INHERITED class EventHandlers {class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {};}
// fuel pumps // fuel pumps
class Land_vn_commercial_base; class Land_vn_commercial_base;
class Land_vn_fuelstation_01_pump_f: Land_vn_commercial_base { class Land_vn_fuelstation_01_pump_f: Land_vn_commercial_base {
transportFuel = 0; XEH_INHERITED;
EGVAR(refuel,hooks)[] = {{0, 0.4, -0.5}, {0, -0.4, -0.5}}; EGVAR(refuel,hooks)[] = {{0, 0.4, -0.5}, {0, -0.4, -0.5}};
EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL;
}; };
class Land_vn_fuelstation_02_pump_f: Land_vn_commercial_base { class Land_vn_fuelstation_02_pump_f: Land_vn_commercial_base {
transportFuel = 0; XEH_INHERITED;
EGVAR(refuel,hooks)[] = {{0, 0.4, -0.5}, {0, -0.4, -0.5}}; EGVAR(refuel,hooks)[] = {{0, 0.4, -0.5}, {0, -0.4, -0.5}};
EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL;
}; };
class Land_vn_fuelstation_feed_f: Land_vn_commercial_base { class Land_vn_fuelstation_feed_f: Land_vn_commercial_base {
transportFuel = 0; XEH_INHERITED;
EGVAR(refuel,hooks)[] = {{0, 0.4, -0.5}, {0, -0.4, -0.5}}; EGVAR(refuel,hooks)[] = {{0, 0.4, -0.5}, {0, -0.4, -0.5}};
EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL;
}; };
@ -20,13 +21,47 @@ class Land_vn_fuelstation_feed_f: Land_vn_commercial_base {
// fuel objects // fuel objects
class Land_vn_building_b_base; class Land_vn_building_b_base;
class Land_vn_usaf_fueltank_75_01: Land_vn_building_b_base { class Land_vn_usaf_fueltank_75_01: Land_vn_building_b_base {
transportFuel = 0; XEH_INHERITED;
EGVAR(refuel,hooks)[] = {{0, -0.4, -0.5}}; EGVAR(refuel,hooks)[] = {{-2.52, -2.2, -2.05}, {2.5, 0, -1.3}};
EGVAR(refuel,fuelCargo) = 2840; // 750 * 3.785 EGVAR(refuel,fuelCargo) = 2840; // 750 * 3.785
}; };
class Land_vn_b_prop_fuelbladder_01: Land_vn_usaf_fueltank_75_01 {
EGVAR(refuel,hooks)[] = {{-1.75, -6.7, -1}};
EGVAR(refuel,fuelCargo) = 3785; // 1000 * 3.785
};
class Land_vn_b_prop_fuelbladder_03: Land_vn_b_prop_fuelbladder_01 {
EGVAR(refuel,hooks)[] = {{-1.55, -6.5, -1}};
};
class Land_vn_building_industrial_base;
class Land_vn_fuel_tank_stairs: Land_vn_building_industrial_base {
XEH_INHERITED;
EGVAR(refuel,hooks)[] = {{0, 0.4, -1.3}, {0, -0.4, -1.3}};
EGVAR(refuel,fuelCargo) = 10000; // reference is B_Slingload_01_Fuel_F
};
class Land_vn_object_b_base; class Land_vn_object_b_base;
class Land_vn_b_prop_fueldrum_01: Land_vn_object_b_base { class Land_vn_b_prop_fueldrum_01: Land_vn_object_b_base {
transportFuel = 0; XEH_INHERITED;
EGVAR(refuel,hooks)[] = {{0, 0, 0.5}}; // reference is Land_FlexibleTank_01_F EGVAR(refuel,hooks)[] = {{0, 0, 0}};
EGVAR(refuel,fuelCargo) = 300; // reference is Land_FlexibleTank_01_F EGVAR(refuel,fuelCargo) = 300; // reference is Land_FlexibleTank_01_F
}; };
class Land_vn_b_prop_fueldrum_02: Land_vn_b_prop_fueldrum_01 {
EGVAR(refuel,hooks)[] = {{0, -1.3, -0.15}, {2.3, 1.25, -0.15}};
EGVAR(refuel,fuelCargo) = 14100; // (23 + 24) * 300
};
class vn_b_ammobox_supply_07;
class vn_b_ammobox_supply_09: vn_b_ammobox_supply_07 { // just a pallet
XEH_INHERITED;
};
class vn_object_c_base_02;
class Land_vn_canisterfuel_f: vn_object_c_base_02 {
EGVAR(cargo,size) = 1;
EGVAR(cargo,canLoad) = 1;
EGVAR(cargo,noRename) = 1;
};
class Land_vn_object_c_base;
class Land_vn_fuelcan: Land_vn_object_c_base {
XEH_INHERITED;
EGVAR(cargo,size) = 1;
EGVAR(cargo,canLoad) = 1;
EGVAR(cargo,noRename) = 1;
};

View File

@ -5,7 +5,6 @@ class vn_wheeled_m54_base: vn_wheeled_truck_base {
}; };
class vn_wheeled_m54_cab_base; class vn_wheeled_m54_cab_base;
class vn_wheeled_m54_fuel_base: vn_wheeled_m54_cab_base { class vn_wheeled_m54_fuel_base: vn_wheeled_m54_cab_base {
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{-1.15, -2.3, 0.28}}; EGVAR(refuel,hooks)[] = {{-1.15, -2.3, 0.28}};
EGVAR(refuel,fuelCargo) = 4542; EGVAR(refuel,fuelCargo) = 4542;
}; };
@ -25,7 +24,6 @@ class vn_wheeled_z157_base: vn_wheeled_truck_base {
EGVAR(refuel,fuelCapacity) = 150; EGVAR(refuel,fuelCapacity) = 150;
}; };
class vn_wheeled_z157_fuel_base: vn_wheeled_z157_base { class vn_wheeled_z157_fuel_base: vn_wheeled_z157_base {
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{-1.36, -3.575, -0.4}}; EGVAR(refuel,hooks)[] = {{-1.36, -3.575, -0.4}};
EGVAR(refuel,fuelCargo) = 4000; EGVAR(refuel,fuelCargo) = 4000;
}; };

View File

@ -1,5 +1,4 @@
#include "script_component.hpp" #include "script_component.hpp"
// ToDo: move refuel to subconfig
#include "\z\ace\addons\refuel\defines.hpp" #include "\z\ace\addons\refuel\defines.hpp"
#include "\z\ace\addons\hearing\script_macros_hearingProtection.hpp" #include "\z\ace\addons\hearing\script_macros_hearingProtection.hpp"
@ -47,6 +46,8 @@ class CfgPatches {
}; };
}; };
class CBA_Extended_EventHandlers;
#include "ACE_CSW_Groups.hpp" #include "ACE_CSW_Groups.hpp"
#include "ACE_Medical_Injuries.hpp" #include "ACE_Medical_Injuries.hpp"
#include "ACE_Triggers.hpp" #include "ACE_Triggers.hpp"

View File

@ -1,13 +1,11 @@
class CfgVehicles { class CfgVehicles {
class SPE_Halftrack_base; class SPE_Halftrack_base;
class SPE_US_M3_Halftrack_Fuel: SPE_Halftrack_base { class SPE_US_M3_Halftrack_Fuel: SPE_Halftrack_base {
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{-0.23,-2.58,-0.59}}; EGVAR(refuel,hooks)[] = {{-0.23,-2.58,-0.59}};
EGVAR(refuel,fuelCargo) = 2000; EGVAR(refuel,fuelCargo) = 2000;
}; };
class SPE_OpelBlitz_base; class SPE_OpelBlitz_base;
class SPE_OpelBlitz_Fuel: SPE_OpelBlitz_base { class SPE_OpelBlitz_Fuel: SPE_OpelBlitz_base {
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{-0.23,-2.58,-0.59}}; EGVAR(refuel,hooks)[] = {{-0.23,-2.58,-0.59}};
EGVAR(refuel,fuelCargo) = 2000; EGVAR(refuel,fuelCargo) = 2000;
}; };

View File

@ -37,6 +37,11 @@ class CfgWeapons {
ACE_twistDirection = 1; ACE_twistDirection = 1;
}; };
class arifle_SLR_V_lxWS;
class arifle_SLR_Para_lxWS: arifle_SLR_V_lxWS {
ACE_barrelLength = 266.7;
};
// Velko R4/R5 // Velko R4/R5
class arifle_Velko_base_lxWS: arifle_Galat_base_lxWS { class arifle_Velko_base_lxWS: arifle_Galat_base_lxWS {
ACE_barrelLength = 460; ACE_barrelLength = 460;

View File

@ -0,0 +1,75 @@
class optic_Arco;
class optic_arco_hex_lxWS: optic_Arco {
displayName = SUBCSTRING(arco_hex_Name);
};
class optic_Holosight;
class optic_Holosight_snake_lxWS: optic_Holosight {
displayName = SUBCSTRING(holosight_snake_Name);
};
class optic_Holosight_smg;
class optic_Holosight_smg_snake_lxWS: optic_Holosight_smg {
displayName = SUBCSTRING(holosight_snake_smg_Name);
};
class optic_Hamr;
class optic_Hamr_arid_lxWS: optic_Hamr {
displayName = SUBCSTRING(hamr_arid_Name);
};
class optic_Hamr_lush_lxWS: optic_Hamr {
displayName = SUBCSTRING(hamr_lush_Name);
};
class optic_Hamr_sand_lxWS: optic_Hamr {
displayName = SUBCSTRING(hamr_sand_Name);
};
class optic_Hamr_snake_lxWS: optic_Hamr {
displayName = SUBCSTRING(hamr_snake_Name);
};
class ItemCore;
class optic_r1_high_lxWS: ItemCore {
displayName = SUBCSTRING(r1_high_black_Name);
};
class optic_r1_high_khaki_lxWS: optic_r1_high_lxWS {
displayName = SUBCSTRING(r1_high_khaki_Name);
};
class optic_r1_high_sand_lxWS: optic_r1_high_lxWS {
displayName = SUBCSTRING(r1_high_sand_Name);
};
class optic_r1_high_snake_lxWS: optic_r1_high_lxWS {
displayName = SUBCSTRING(r1_high_snake_Name);
};
class optic_r1_high_arid_lxWS: optic_r1_high_lxWS {
displayName = SUBCSTRING(r1_high_arid_Name);
};
class optic_r1_high_lush_lxWS: optic_r1_high_lxWS {
displayName = SUBCSTRING(r1_high_lush_Name);
};
class optic_r1_high_black_sand_lxWS: optic_r1_high_lxWS {
displayName = SUBCSTRING(r1_high_black_sand_Name);
};
class optic_r1_low_lxWS: optic_r1_high_lxWS {
displayName = SUBCSTRING(r1_low_black_Name);
};
class optic_r1_low_khaki_lxWS: optic_r1_high_lxWS {
displayName = SUBCSTRING(r1_low_khaki_Name);
};
class optic_r1_low_sand_lxWS: optic_r1_high_lxWS {
displayName = SUBCSTRING(r1_low_sand_Name);
};
class optic_r1_low_snake_lxWS: optic_r1_high_lxWS {
displayName = SUBCSTRING(r1_low_snake_Name);
};
class optic_r1_low_arid_lxWS: optic_r1_high_lxWS {
displayName = SUBCSTRING(r1_low_arid_Name);
};
class optic_r1_low_lush_lxWS: optic_r1_high_lxWS {
displayName = SUBCSTRING(r1_low_lush_Name);
};
class optic_DMS;
class optic_DMS_snake_lxWS: optic_DMS {
displayName = SUBCSTRING(dms_snake_Name);
};

View File

@ -0,0 +1,60 @@
class CfgVehicles {
class APC_Wheeled_01_base_F;
class APC_Wheeled_01_atgm_base_lxWS: APC_Wheeled_01_base_F {
displayName = SUBCSTRING(apc_wheeled_01_atgm_Name);
};
class APC_Wheeled_01_command_base_lxWS: APC_Wheeled_01_base_F {
displayName = SUBCSTRING(apc_wheeled_01_command_Name);
};
class APC_Wheeled_01_mortar_base_lxWS: APC_Wheeled_01_base_F {
displayName = SUBCSTRING(apc_wheeled_01_mortar_Name);
};
class Truck_02_base_F;
class Truck_02_aa_base_lxWS: Truck_02_base_F {
displayName = SUBCSTRING(truck_02_aa_Name);
};
class Truck_02_cargo_base_lxWS: Truck_02_base_F {
displayName = SUBCSTRING(truck_02_cargo_Name);
};
class Truck_02_box_base_lxWS: Truck_02_base_F {
displayName = SUBCSTRING(truck_02_repair_Name);
};
class C_Truck_02_racing_lxWS: Truck_02_box_base_lxWS {
displayName = SUBCSTRING(truck_02_racing_Name);
};
class Truck_02_Ammo_base_lxWS: Truck_02_base_F {
displayName = SUBCSTRING(truck_02_ammo_Name);
};
class Truck_02_flatbed_base_lxWS: Truck_02_cargo_base_lxWS {
displayName = SUBCSTRING(truck_02_flatbed_Name);
};
class Heli_Transport_02_base_F;
class B_UN_Heli_Transport_02_lxWS: Heli_Transport_02_base_F {
displayName = SUBCSTRING(heli_transport_02_Name);
};
class O_APC_Tracked_02_cannon_F;
class O_APC_Tracked_02_30mm_lxWS: O_APC_Tracked_02_cannon_F {
displayName = SUBCSTRING(apc_tracked_02_Name);
};
class APC_Wheeled_02_base_v2_F;
class APC_Wheeled_02_hmg_base_lxws: APC_Wheeled_02_base_v2_F {
displayName = SUBCSTRING(apc_wheeled_02_hmg_Name);
};
class APC_Wheeled_02_unarmed_base_lxws: APC_Wheeled_02_base_v2_F {
displayName = SUBCSTRING(apc_wheeled_02_unarmed_Name);
};
class O_Heli_Light_02_dynamicLoadout_F;
class B_ION_Heli_Light_02_dynamicLoadout_lxWS: O_Heli_Light_02_dynamicLoadout_F {
displayName = SUBCSTRING(heli_light_02_armed_Name);
};
class O_Heli_Light_02_unarmed_F;
class B_ION_Heli_Light_02_unarmed_lxWS: O_Heli_Light_02_unarmed_F {
displayName = SUBCSTRING(heli_light_02_unarmed_Name);
};
};

View File

@ -1,4 +1,6 @@
class CfgWeapons { class CfgWeapons {
#include "Attachments.hpp"
// AA12 // AA12
class sgun_aa40_base_lxWS; class sgun_aa40_base_lxWS;
class sgun_aa40_lxWS: sgun_aa40_base_lxWS { class sgun_aa40_lxWS: sgun_aa40_base_lxWS {
@ -99,6 +101,12 @@ class CfgWeapons {
class arifle_SLR_V_camo_lxWS: arifle_SLR_V_lxWS { class arifle_SLR_V_camo_lxWS: arifle_SLR_V_lxWS {
displayName = SUBCSTRING(SLR_Camo_Name); displayName = SUBCSTRING(SLR_Camo_Name);
}; };
class arifle_SLR_Para_lxWS: arifle_SLR_V_lxWS {
displayName = SUBCSTRING(SLR_Para_Name);
};
class arifle_SLR_Para_snake_lxWS: arifle_SLR_Para_lxWS {
displayName = SUBCSTRING(SLR_Para_Snake_Name);
};
// Vektor R4/R5 // Vektor R4/R5
class arifle_Velko_base_lxWS; class arifle_Velko_base_lxWS;
@ -156,4 +164,16 @@ class CfgWeapons {
class arifle_XMS_M_Sand_lxWS: arifle_XMS_M_lxWS { class arifle_XMS_M_Sand_lxWS: arifle_XMS_M_lxWS {
displayName = SUBCSTRING(XMS_SW_Sand_Name); displayName = SUBCSTRING(XMS_SW_Sand_Name);
}; };
// GM6 Lynx
class srifle_GM6_F;
class srifle_GM6_snake_lxWS: srifle_GM6_F {
displayName = SUBCSTRING(gm6_snake_Name);
};
// RPG-32
class launch_RPG32_F;
class launch_RPG32_tan_lxWS: launch_RPG32_F {
displayName = SUBCSTRING(rpg32_tan_Name);
};
}; };

View File

@ -19,3 +19,4 @@ class CfgPatches {
}; };
#include "CfgWeapons.hpp" #include "CfgWeapons.hpp"
#include "CfgVehicles.hpp"

View File

@ -9,6 +9,7 @@
<Japanese>AA12</Japanese> <Japanese>AA12</Japanese>
<Russian>AA12</Russian> <Russian>AA12</Russian>
<French>AA12</French> <French>AA12</French>
<Spanish>AA12</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_AA40_Tan_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_AA40_Tan_Name">
<English>AA12 (Sand)</English> <English>AA12 (Sand)</English>
@ -18,6 +19,7 @@
<Japanese>AA12 (サンド)</Japanese> <Japanese>AA12 (サンド)</Japanese>
<Russian>AA12 (Песочный)</Russian> <Russian>AA12 (Песочный)</Russian>
<French>AA12 (Sable)</French> <French>AA12 (Sable)</French>
<Spanish>AA12 (Arena)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_AA40_Snake_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_AA40_Snake_Name">
<English>AA12 (Snake)</English> <English>AA12 (Snake)</English>
@ -26,6 +28,7 @@
<Italian>AA12 (Serpe)</Italian> <Italian>AA12 (Serpe)</Italian>
<Japanese>AA12 (ヘビ柄)</Japanese> <Japanese>AA12 (ヘビ柄)</Japanese>
<Russian>AA12 (Змея)</Russian> <Russian>AA12 (Змея)</Russian>
<Spanish>AA12 (Serpiente)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_Galat_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_Galat_Name">
<English>Galil ARM</English> <English>Galil ARM</English>
@ -35,6 +38,7 @@
<Japanese>ガリル ARM</Japanese> <Japanese>ガリル ARM</Japanese>
<Russian>Galil ARM</Russian> <Russian>Galil ARM</Russian>
<French>Galil ARM</French> <French>Galil ARM</French>
<Spanish>Galil ARM</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_Galat_Old_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_Galat_Old_Name">
<English>Galil ARM (Old)</English> <English>Galil ARM (Old)</English>
@ -44,6 +48,7 @@
<Japanese>ガリル ARM (使い古し)</Japanese> <Japanese>ガリル ARM (使い古し)</Japanese>
<Russian>Galil ARM (Старый)</Russian> <Russian>Galil ARM (Старый)</Russian>
<French>Galil ARM (Ancien)</French> <French>Galil ARM (Ancien)</French>
<Spanish>Galil ARM (Vieja)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_GLX_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_GLX_Name">
<English>GLX 160</English> <English>GLX 160</English>
@ -53,6 +58,7 @@
<Japanese>GLX 160</Japanese> <Japanese>GLX 160</Japanese>
<Russian>GLX 160</Russian> <Russian>GLX 160</Russian>
<French>GLX 160</French> <French>GLX 160</French>
<Spanish>GLX 160</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_GLX_Snake_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_GLX_Snake_Name">
<English>GLX 160 (Snake)</English> <English>GLX 160 (Snake)</English>
@ -61,6 +67,7 @@
<Italian>GLX-160 (Serpe)</Italian> <Italian>GLX-160 (Serpe)</Italian>
<Japanese>GLX 160 (ヘビ柄)</Japanese> <Japanese>GLX 160 (ヘビ柄)</Japanese>
<Russian>GLX 160 (Змея)</Russian> <Russian>GLX 160 (Змея)</Russian>
<Spanish>GLX 160 (Serpiente)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_GLX_Hex_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_GLX_Hex_Name">
<English>GLX 160 (Hex)</English> <English>GLX 160 (Hex)</English>
@ -70,6 +77,7 @@
<Japanese>GLX 160 (六角形迷彩)</Japanese> <Japanese>GLX 160 (六角形迷彩)</Japanese>
<Russian>GLX 160 (Гекс)</Russian> <Russian>GLX 160 (Гекс)</Russian>
<French>GLX 160 (Hex)</French> <French>GLX 160 (Hex)</French>
<Spanish>GLX 160 (Hex)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_GLX_GreenHex_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_GLX_GreenHex_Name">
<English>GLX 160 (Green Hex)</English> <English>GLX 160 (Green Hex)</English>
@ -79,6 +87,7 @@
<Japanese>GLX 160 (緑六角形迷彩)</Japanese> <Japanese>GLX 160 (緑六角形迷彩)</Japanese>
<Russian>GLX 160 (Зеленый Гекс)</Russian> <Russian>GLX 160 (Зеленый Гекс)</Russian>
<French>GLX 160 (Vert Hex)</French> <French>GLX 160 (Vert Hex)</French>
<Spanish>GLX 160 (Hex Verde)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_GLX_Camo_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_GLX_Camo_Name">
<English>GLX 160 (Camo)</English> <English>GLX 160 (Camo)</English>
@ -88,6 +97,7 @@
<Japanese>GLX 160 (迷彩)</Japanese> <Japanese>GLX 160 (迷彩)</Japanese>
<Russian>GLX 160 (Камуфляж)</Russian> <Russian>GLX 160 (Камуфляж)</Russian>
<French>GLX 160 (Camo)</French> <French>GLX 160 (Camo)</French>
<Spanish>GLX 160 (Camo)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_GLX_Tan_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_GLX_Tan_Name">
<English>GLX 160 (Sand)</English> <English>GLX 160 (Sand)</English>
@ -97,6 +107,7 @@
<Japanese>GLX 160 (サンド)</Japanese> <Japanese>GLX 160 (サンド)</Japanese>
<Russian>GLX 160 (Песочный)</Russian> <Russian>GLX 160 (Песочный)</Russian>
<French>GLX 160 (Sable)</French> <French>GLX 160 (Sable)</French>
<Spanish>GLX 160 (Arena)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_EBR_Black_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_EBR_Black_Name">
<English>Mk14 Mod 1 EBR (Black)</English> <English>Mk14 Mod 1 EBR (Black)</English>
@ -106,6 +117,7 @@
<Japanese>Mk14 Mod 1 EBR (ブラック)</Japanese> <Japanese>Mk14 Mod 1 EBR (ブラック)</Japanese>
<Russian>Mk14 Mod 1 EBR (Черный)</Russian> <Russian>Mk14 Mod 1 EBR (Черный)</Russian>
<French>Mk14 Mod 1 EBR (Noir)</French> <French>Mk14 Mod 1 EBR (Noir)</French>
<Spanish>Mk14 Mod 1 EBR (Negra)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_EBR_Snake_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_EBR_Snake_Name">
<English>Mk14 Mod 1 EBR (Snake)</English> <English>Mk14 Mod 1 EBR (Snake)</English>
@ -114,6 +126,7 @@
<Italian>Mk14 Mod 1 EBR (Serpe)</Italian> <Italian>Mk14 Mod 1 EBR (Serpe)</Italian>
<Japanese>Mk14 Mod 1 EBR (ヘビ柄)</Japanese> <Japanese>Mk14 Mod 1 EBR (ヘビ柄)</Japanese>
<Russian>Mk14 Mod 1 EBR (Змея)</Russian> <Russian>Mk14 Mod 1 EBR (Змея)</Russian>
<Spanish>Mk14 Mod 1 EBR (Serpiente)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_S77_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_S77_Name">
<English>Vektor SS-77</English> <English>Vektor SS-77</English>
@ -122,6 +135,7 @@
<Japanese>ヴェクター SS-77</Japanese> <Japanese>ヴェクター SS-77</Japanese>
<Russian>Vektor SS-77</Russian> <Russian>Vektor SS-77</Russian>
<French>Vektor SS-77</French> <French>Vektor SS-77</French>
<Spanish>Vektor SS-77</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_S77_AAF_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_S77_AAF_Name">
<English>Vektor SS-77 (Camo)</English> <English>Vektor SS-77 (Camo)</English>
@ -131,6 +145,7 @@
<Japanese>ヴェクター SS-77 (迷彩)</Japanese> <Japanese>ヴェクター SS-77 (迷彩)</Japanese>
<Russian>Vektor SS-77 (Камуфляж)</Russian> <Russian>Vektor SS-77 (Камуфляж)</Russian>
<French>Vektor SS-77 (Camo)</French> <French>Vektor SS-77 (Camo)</French>
<Spanish>Vektor SS-77 (Camo)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_S77_Hex_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_S77_Hex_Name">
<English>Vektor SS-77 (Hex)</English> <English>Vektor SS-77 (Hex)</English>
@ -140,6 +155,7 @@
<Japanese>ヴェクター SS-77 (六角形迷彩)</Japanese> <Japanese>ヴェクター SS-77 (六角形迷彩)</Japanese>
<Russian>Vektor SS-77 (гекс)</Russian> <Russian>Vektor SS-77 (гекс)</Russian>
<French>Vektor SS-77 (Hex)</French> <French>Vektor SS-77 (Hex)</French>
<Spanish>Vektor SS-77 (Hex)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_S77_GreenHex_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_S77_GreenHex_Name">
<English>Vektor SS-77 (Green Hex)</English> <English>Vektor SS-77 (Green Hex)</English>
@ -149,6 +165,7 @@
<Japanese>ヴェクター SS-77 (緑六角形迷彩)</Japanese> <Japanese>ヴェクター SS-77 (緑六角形迷彩)</Japanese>
<Russian>Vektor SS-77 (зеленый гекс)</Russian> <Russian>Vektor SS-77 (зеленый гекс)</Russian>
<French>Vektor SS-77 (VertHex)</French> <French>Vektor SS-77 (VertHex)</French>
<Spanish>Vektor SS-77 (Hex Verde)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_S77_Desert_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_S77_Desert_Name">
<English>Vektor SS-77 (Desert)</English> <English>Vektor SS-77 (Desert)</English>
@ -158,6 +175,7 @@
<Japanese>ヴェクター SS-77 (砂漠迷彩)</Japanese> <Japanese>ヴェクター SS-77 (砂漠迷彩)</Japanese>
<Russian>Vektor SS-77 (песочныйt)</Russian> <Russian>Vektor SS-77 (песочныйt)</Russian>
<French>Vektor SS-77 (Désert)</French> <French>Vektor SS-77 (Désert)</French>
<Spanish>Vektor SS-77 (Desierto)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_S77_Compact_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_S77_Compact_Name">
<English>Vektor SS-77 Compact</English> <English>Vektor SS-77 Compact</English>
@ -167,6 +185,7 @@
<Japanese>ヴェクター SS-77 コンパクト</Japanese> <Japanese>ヴェクター SS-77 コンパクト</Japanese>
<Russian>Vektor SS-77 Compact</Russian> <Russian>Vektor SS-77 Compact</Russian>
<French>Vektor SS-77 Compacte</French> <French>Vektor SS-77 Compacte</French>
<Spanish>Vektor SS-77 Compacta</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_S77_Compact_Snake_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_S77_Compact_Snake_Name">
<English>Vektor SS-77 Compact (Snake)</English> <English>Vektor SS-77 Compact (Snake)</English>
@ -175,6 +194,7 @@
<Italian>Vektor SS-77 Compatto (Serpe)</Italian> <Italian>Vektor SS-77 Compatto (Serpe)</Italian>
<Japanese>ヴェクター SS-77 コンパクト (ヘビ柄)</Japanese> <Japanese>ヴェクター SS-77 コンパクト (ヘビ柄)</Japanese>
<Russian>Vektor SS-77 Compact (змея)</Russian> <Russian>Vektor SS-77 Compact (змея)</Russian>
<Spanish>Vektor SS-77 Compacta (Serpiente)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_Wood_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_Wood_Name">
<English>FN FAL 50.00 (Wood)</English> <English>FN FAL 50.00 (Wood)</English>
@ -184,6 +204,7 @@
<Japanese>FN FAL 50.00 (森林迷彩)</Japanese> <Japanese>FN FAL 50.00 (森林迷彩)</Japanese>
<Russian>FN FAL 50.00 (лесной)</Russian> <Russian>FN FAL 50.00 (лесной)</Russian>
<French>FN FAL 50.00 (Bois)</French> <French>FN FAL 50.00 (Bois)</French>
<Spanish>FN FAL 50.00 (Madera)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_GL_Wood_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_GL_Wood_Name">
<English>FN FAL 50.00 GL (Wood)</English> <English>FN FAL 50.00 GL (Wood)</English>
@ -193,6 +214,7 @@
<Japanese>FN FAL 50.00 GL (森林迷彩)</Japanese> <Japanese>FN FAL 50.00 GL (森林迷彩)</Japanese>
<Russian>FN FAL 50.00 GL (лесной)</Russian> <Russian>FN FAL 50.00 GL (лесной)</Russian>
<French>FN FAL 50.00 GL (Bois)</French> <French>FN FAL 50.00 GL (Bois)</French>
<Spanish>FN FAL 50.00 GL (Madera)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_Name">
<English>FN FAL 50.00</English> <English>FN FAL 50.00</English>
@ -202,6 +224,7 @@
<Japanese>FN FAL 50.00</Japanese> <Japanese>FN FAL 50.00</Japanese>
<Russian>FN FAL 50.00</Russian> <Russian>FN FAL 50.00</Russian>
<French>FN FAL 50.00</French> <French>FN FAL 50.00</French>
<Spanish>FN FAL 50.00</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_GL_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_GL_Name">
<English>FN FAL 50.00 GL</English> <English>FN FAL 50.00 GL</English>
@ -211,6 +234,7 @@
<Japanese>FN FAL 50.00 GL</Japanese> <Japanese>FN FAL 50.00 GL</Japanese>
<Russian>FN FAL 50.00 GL</Russian> <Russian>FN FAL 50.00 GL</Russian>
<French>FN FAL 50.00 GL</French> <French>FN FAL 50.00 GL</French>
<Spanish>FN FAL 50.00 GL</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_Desert_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_Desert_Name">
<English>FN FAL 50.00 (Desert)</English> <English>FN FAL 50.00 (Desert)</English>
@ -220,6 +244,7 @@
<Japanese>FN FAL 50.00 (砂漠迷彩)</Japanese> <Japanese>FN FAL 50.00 (砂漠迷彩)</Japanese>
<Russian>FN FAL 50.00 (песочный)</Russian> <Russian>FN FAL 50.00 (песочный)</Russian>
<French>FN FAL 50.00 (Désert)</French> <French>FN FAL 50.00 (Désert)</French>
<Spanish>FN FAL 50.00 (Desierto)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_Camo_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_Camo_Name">
<English>FN FAL 50.00 (Jungle)</English> <English>FN FAL 50.00 (Jungle)</English>
@ -229,6 +254,13 @@
<Japanese>FN FAL 50.00 (熱帯迷彩)</Japanese> <Japanese>FN FAL 50.00 (熱帯迷彩)</Japanese>
<Russian>FN FAL 50.00 (джунгли)</Russian> <Russian>FN FAL 50.00 (джунгли)</Russian>
<French>FN FAL 50.00 (Jungle)</French> <French>FN FAL 50.00 (Jungle)</French>
<Spanish>FN FAL 50.00 (Jungla)</Spanish>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_Para_Name">
<English>FN FAL 50.00 Para</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_SLR_Para_Snake_Name">
<English>FN FAL 50.00 Para (Snake)</English>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_Velko_R4_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_Velko_R4_Name">
<English>Vektor R4</English> <English>Vektor R4</English>
@ -238,6 +270,7 @@
<Japanese>ヴェクター R5</Japanese> <Japanese>ヴェクター R5</Japanese>
<Russian>Vektor R4</Russian> <Russian>Vektor R4</Russian>
<French>Vektor R4</French> <French>Vektor R4</French>
<Spanish>Vektor R4</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_Velko_R5_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_Velko_R5_Name">
<English>Vektor R5 Carbine</English> <English>Vektor R5 Carbine</English>
@ -247,6 +280,7 @@
<Japanese>ヴェクター R5 カービン</Japanese> <Japanese>ヴェクター R5 カービン</Japanese>
<Russian>Vektor R5 Carbine</Russian> <Russian>Vektor R5 Carbine</Russian>
<French>Vektor R5 Carbine</French> <French>Vektor R5 Carbine</French>
<Spanish>Vektor R5 Carabina</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_Velko_R5_GL_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_Velko_R5_GL_Name">
<English>Vektor R5 Carbine GL</English> <English>Vektor R5 Carbine GL</English>
@ -256,6 +290,7 @@
<Japanese>ヴェクター R5 カービン GL</Japanese> <Japanese>ヴェクター R5 カービン GL</Japanese>
<Russian>Vektor R5 Carbine GL</Russian> <Russian>Vektor R5 Carbine GL</Russian>
<French>Vektor R5 Carbine GL</French> <French>Vektor R5 Carbine GL</French>
<Spanish>Vektor R5 Carabina GL</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_Velko_R5_Snake_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_Velko_R5_Snake_Name">
<English>Vektor R5 Carbine (Snake)</English> <English>Vektor R5 Carbine (Snake)</English>
@ -264,6 +299,7 @@
<Italian>Vektor R5 Carabina (Serpe)</Italian> <Italian>Vektor R5 Carabina (Serpe)</Italian>
<Japanese>ヴェクター R5 カービン (ヘビ柄)</Japanese> <Japanese>ヴェクター R5 カービン (ヘビ柄)</Japanese>
<Russian>Vektor R5 Carbine (Змея)</Russian> <Russian>Vektor R5 Carbine (Змея)</Russian>
<Spanish>Vektor R5 Carabina (Serpiente)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_Velko_R5_GL_Snake_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_Velko_R5_GL_Snake_Name">
<English>Vektor R5 Carbine GL (Snake)</English> <English>Vektor R5 Carbine GL (Snake)</English>
@ -272,6 +308,7 @@
<Italian>Vektor R5 Carabina GL (Serpe)</Italian> <Italian>Vektor R5 Carabina GL (Serpe)</Italian>
<Japanese>ヴェクター R5 カービン GL (ヘビ柄)</Japanese> <Japanese>ヴェクター R5 カービン GL (ヘビ柄)</Japanese>
<Russian>Vektor R5 Carbine GL (Змея)</Russian> <Russian>Vektor R5 Carbine GL (Змея)</Russian>
<Spanish>Vektor R5 Carabina GL (Serpiente)</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_XMS_Name"> <Key ID="STR_ACE_Compat_WS_RealisticNames_XMS_Name">
<English>XMS</English> <English>XMS</English>
@ -417,5 +454,119 @@
<Korean>XMS SW (모래)</Korean> <Korean>XMS SW (모래)</Korean>
<Japanese>XMS SW (サンド)</Japanese> <Japanese>XMS SW (サンド)</Japanese>
</Key> </Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_gm6_snake_Name">
<English>GM6 Lynx (Snake)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_rpg32_tan_Name">
<English>RPG-32 (Sand)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_arco_hex_Name">
<English>ELCAN SpecterOS (Hex)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_holosight_snake_Name">
<English>EOTech XPS3 (Snake)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_holosight_snake_smg_Name">
<English>EOTech XPS3 SMG (Snake)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_hamr_arid_Name">
<English>Leupold Mark 4 HAMR (Arid)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_hamr_lush_Name">
<English>Leupold Mark 4 HAMR (Lush)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_hamr_sand_Name">
<English>Leupold Mark 4 HAMR (Sand)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_hamr_snake_Name">
<English>Leupold Mark 4 HAMR (Snake)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_r1_high_black_Name">
<English>Aimpoint Micro R-1 (High, Black)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_r1_high_khaki_Name">
<English>Aimpoint Micro R-1 (High, Khaki)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_r1_high_sand_Name">
<English>Aimpoint Micro R-1 (High, Sand)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_r1_high_snake_Name">
<English>Aimpoint Micro R-1 (High, Snake)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_r1_high_arid_Name">
<English>Aimpoint Micro R-1 (High, Arid)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_r1_high_lush_Name">
<English>Aimpoint Micro R-1 (High, Lush)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_r1_high_black_sand_Name">
<English>Aimpoint Micro R-1 (High, Black/Sand)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_r1_low_black_Name">
<English>Aimpoint Micro R-1 (Low, Black)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_r1_low_khaki_Name">
<English>Aimpoint Micro R-1 (Low, Khaki)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_r1_low_sand_Name">
<English>Aimpoint Micro R-1 (Low, Sand)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_r1_low_snake_Name">
<English>Aimpoint Micro R-1 (Low, Snake)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_r1_low_arid_Name">
<English>Aimpoint Micro R-1 (Low, Arid)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_r1_low_lush_Name">
<English>Aimpoint Micro R-1 (Low, Lush)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_dms_snake_Name">
<English>Burris XTR II (Snake)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_apc_wheeled_01_atgm_Name">
<English>Badger IFV (ATGM)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_apc_wheeled_01_command_Name">
<English>Badger IFV (Command)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_apc_wheeled_01_mortar_Name">
<English>Badger IFV (Mortar)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_truck_02_aa_Name">
<English>KamAZ (Zu-23-2)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_truck_02_cargo_Name">
<English>KamAZ Cargo</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_truck_02_repair_Name">
<English>KamAZ Repair</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_truck_02_racing_Name">
<English>KamAZ Racing</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_truck_02_ammo_Name">
<English>KamAZ Ammo</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_truck_02_flatbed_Name">
<English>KamAZ Flatbed</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_heli_transport_02_Name">
<English>AW101 Merlin</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_apc_tracked_02_Name">
<English>BM-2T Stalker (Bumerang-BM)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_apc_wheeled_02_hmg_Name">
<English>Otokar ARMA (HMG)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_apc_wheeled_02_unarmed_Name">
<English>Otokar ARMA (Unarmed)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_heli_light_02_armed_Name">
<English>Ka-60 Kasatka (UP)</English>
</Key>
<Key ID="STR_ACE_Compat_WS_RealisticNames_heli_light_02_unarmed_Name">
<English>Ka-60 Kasatka (UP, Unarmed)</English>
</Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,11 +1,11 @@
PREP(cookOff);
PREP(cookOffBox);
PREP(cookOffBoxLocal); PREP(cookOffBoxLocal);
PREP(cookOffEffect); PREP(cookOffBoxServer);
PREP(detonateAmmunition); PREP(cookOffLocal);
PREP(cookOffServer);
PREP(detonateAmmunitionServer); PREP(detonateAmmunitionServer);
PREP(engineFire); PREP(detonateAmmunitionServerLoop);
PREP(engineFireLocal); PREP(engineFireLocal);
PREP(engineFireServer);
PREP(getVehicleAmmo); PREP(getVehicleAmmo);
PREP(handleDamageBox); PREP(handleDamageBox);
PREP(isMagazineFlare); PREP(isMagazineFlare);

View File

@ -1,15 +1,15 @@
#include "script_component.hpp" #include "script_component.hpp"
[QGVAR(cookOffBoxLocal), LINKFUNC(cookOffBoxLocal)] call CBA_fnc_addEventHandler; [QGVAR(cookOffBoxLocal), LINKFUNC(cookOffBoxLocal)] call CBA_fnc_addEventHandler;
[QGVAR(cookOffEffect), LINKFUNC(cookOffEffect)] call CBA_fnc_addEventHandler; [QGVAR(cookOffLocal), LINKFUNC(cookOffLocal)] call CBA_fnc_addEventHandler;
[QGVAR(engineFireLocal), LINKFUNC(engineFireLocal)] call CBA_fnc_addEventHandler; [QGVAR(engineFireLocal), LINKFUNC(engineFireLocal)] call CBA_fnc_addEventHandler;
[QGVAR(smoke), LINKFUNC(smoke)] call CBA_fnc_addEventHandler; [QGVAR(smoke), LINKFUNC(smoke)] call CBA_fnc_addEventHandler;
if (isServer) then { if (isServer) then {
[QGVAR(cookOff), LINKFUNC(cookOff)] call CBA_fnc_addEventHandler; [QGVAR(cookOffBoxServer), LINKFUNC(cookOffBoxServer)] call CBA_fnc_addEventHandler;
[QGVAR(cookOffBox), LINKFUNC(cookOffBox)] call CBA_fnc_addEventHandler; [QGVAR(cookOffServer), LINKFUNC(cookOffServer)] call CBA_fnc_addEventHandler;
[QGVAR(engineFire), LINKFUNC(engineFire)] call CBA_fnc_addEventHandler; [QGVAR(detonateAmmunitionServer), LINKFUNC(detonateAmmunitionServer)] call CBA_fnc_addEventHandler;
[QGVAR(detonateAmmunition), LINKFUNC(detonateAmmunition)] call CBA_fnc_addEventHandler; [QGVAR(engineFireServer), LINKFUNC(engineFire)] call CBA_fnc_addEventHandler;
}; };
// Handle cleaning up effects when objects are deleted mid cook-off // Handle cleaning up effects when objects are deleted mid cook-off
@ -50,7 +50,7 @@ if (isServer) then {
if (_useEffects && {_vehicle getVariable [QGVAR(enableAmmoCookoff), true]}) then { if (_useEffects && {_vehicle getVariable [QGVAR(enableAmmoCookoff), true]}) then {
// We don't need to pass source and instigator, as vehicle is already dead // We don't need to pass source and instigator, as vehicle is already dead
[QGVAR(detonateAmmunition), [ [QGVAR(detonateAmmunitionServer), [
_vehicle, _vehicle,
false, false,
objNull, objNull,
@ -95,6 +95,6 @@ if (hasInterface) then {
if (!fileExists _sound) exitWith {}; if (!fileExists _sound) exitWith {};
// Obeys speed of sound and takes doppler effects into account // Obeys speed of sound and takes doppler effects into account
playSound3D [_sound, objNull, insideBuilding _object >= 0.5, getPosASL _object, _volume, _pitch + (random 0.2) - 0.1, _maxDistance, 0, true]; playSound3D [_sound, objNull, false, getPosASL _object, _volume, _pitch + (random 0.2) - 0.1, _maxDistance, 0, true];
}] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler;
}; };

View File

@ -8,18 +8,17 @@
* 1: Source <OBJECT> * 1: Source <OBJECT>
* 2: Instigator <OBJECT> * 2: Instigator <OBJECT>
* 3: Start time of the cook-off <NUMBER> * 3: Start time of the cook-off <NUMBER>
* 4: Smoke delay <NUMBER>
* *
* Return Value: * Return Value:
* None * None
* *
* Example: * Example:
* [cursorObject, player, player, CBA_missionTime, 10, 60] call ace_cookoff_fnc_cookOffBoxLocal * [cursorObject, player, player, CBA_missionTime + 10] call ace_cookoff_fnc_cookOffBoxLocal
* *
* Public: No * Public: No
*/ */
params ["", "", "", "_startTime", "_smokeDelay"]; params ["", "", "", "_startTime"];
[{ [{
params ["_box", "_source", "_instigator"]; params ["_box", "_source", "_instigator"];
@ -46,8 +45,8 @@ params ["", "", "", "_startTime", "_smokeDelay"];
_effects pushBack _sound; _effects pushBack _sound;
// Detonate the ammunition // Detonate the ammunition
[QGVAR(detonateAmmunition), [_box, true, _source, _instigator, random [DETONATION_DELAY / 2, DETONATION_DELAY, DETONATION_DELAY / 2 * 3]]] call CBA_fnc_localEvent; [QGVAR(detonateAmmunitionServer), [_box, true, _source, _instigator, random [DETONATION_DELAY / 2, DETONATION_DELAY, DETONATION_DELAY / 2 * 3]]] call CBA_fnc_localEvent;
}; };
_box setVariable [QGVAR(effects), _effects]; _box setVariable [QGVAR(effects), _effects];
}, _this, (_startTime - CBA_missionTime + _smokeDelay) max 0] call CBA_fnc_waitAndExecute; // this delay allows for synchronisation for JIP players }, _this, (_startTime - CBA_missionTime) max 0] call CBA_fnc_waitAndExecute; // This delay allows for synchronisation for JIP players

View File

@ -12,7 +12,7 @@
* None * None
* *
* Example: * Example:
* cursorObject call ace_cookoff_fnc_cookOffBox * cursorObject call ace_cookoff_fnc_cookOffBoxServer
* *
* Public: No * Public: No
*/ */
@ -32,15 +32,19 @@ if (_box getVariable [QGVAR(isCookingOff), false]) exitWith {};
_box setVariable [QGVAR(isCookingOff), true, true]; _box setVariable [QGVAR(isCookingOff), true, true];
// Spawn cook-off effects on all connected machines private _delay = random [SMOKE_DELAY / 2, SMOKE_DELAY, SMOKE_DELAY / 2 * 3];
// Spawn cook-off effects on all connected machines and JIP
private _jipID = [QGVAR(cookOffBoxLocal), [ private _jipID = [QGVAR(cookOffBoxLocal), [
_box, _box,
_source, _source,
_instigator, _instigator,
CBA_missionTime, CBA_missionTime + _delay // Generate a globally synced timestamp
random [SMOKE_DELAY / 2, SMOKE_DELAY, SMOKE_DELAY / 2 * 3] // generate random timer that is global synced
]] call CBA_fnc_globalEventJIP; ]] call CBA_fnc_globalEventJIP;
[_jipID, _box] call CBA_fnc_removeGlobalEventJIP; [_jipID, _box] call CBA_fnc_removeGlobalEventJIP;
_box setVariable [QGVAR(jipIDs), [_jipID]]; _box setVariable [QGVAR(cookoffBoxJipID), _jipID];
// API
[QGVAR(cookOffBox), [_box, _source, _instigator, _delay]] call CBA_fnc_globalEvent;

View File

@ -1,6 +1,6 @@
#include "..\script_component.hpp" #include "..\script_component.hpp"
/* /*
* Author: tcvm * Author: tcvm, johnb43
* Spawn cook-off fire effects. * Spawn cook-off fire effects.
* *
* Arguments: * Arguments:
@ -16,16 +16,19 @@
* None * None
* *
* Example: * Example:
* [vehicle player, true, false, "commander_turret", 6, CBA_missionTime, 15] call ace_cookoff_fnc_cookOffEffect * [cursorObject, true, false, "commander_turret", 6, CBA_missionTime, 15] call ace_cookoff_fnc_cookOffLocal
* *
* Public: No * Public: No
*/ */
#define FLAME_SIZE 1.5 #define FLAME_SIZE 1.5
#define FIRE_INTENSITY 6 #define FIRE_INTENSITY 20
params ["_vehicle", "_jet", "_ring", "_fireSelection", "_intensity", "_startTime", "_duration"]; params ["_vehicle", "_jet", "_ring", "_fireSelection", "_intensity", "_startTime", "_duration"];
// Check if still valid for JIP players
if (isNull _vehicle || {CBA_missionTime - _startTime >= _duration}) exitWith {};
// Spawn light // Spawn light
private _light = objNull; private _light = objNull;
@ -88,7 +91,7 @@ if (isServer) then {
if (_jet && !isGamePaused && {local _vehicle} && {_vehicle getVariable [QGVAR(nextForceTime), 0] <= CBA_missionTime}) then { if (_jet && !isGamePaused && {local _vehicle} && {_vehicle getVariable [QGVAR(nextForceTime), 0] <= CBA_missionTime}) then {
private _force = [0, 0, _factor * -(0.5 min random 1.5) * (0.3 min random 1)] vectorMultiply getMass _vehicle; private _force = [0, 0, _factor * -(0.5 min random 1.5) * (0.3 min random 1)] vectorMultiply getMass _vehicle;
_vehicle addForce [_force, vectorUpVisual _vehicle]; _vehicle addForce [_force, vectorUpVisual _vehicle];
_vehicle setVariable [QGVAR(nextForceTime), CBA_missionTime + 0.01]; // this prevents bad behaviour when setAccTime is small _vehicle setVariable [QGVAR(nextForceTime), CBA_missionTime + 0.01]; // This prevents bad behaviour when setAccTime is small
}; };
// Don't spawn visual effects on machines without interfaces // Don't spawn visual effects on machines without interfaces
@ -220,7 +223,7 @@ if (isServer) then {
// Formula is designed to have the temperature ramp up quickly and then level out // Formula is designed to have the temperature ramp up quickly and then level out
_vehicle setVehicleTIPars [ _vehicle setVehicleTIPars [
(_tiEngine + _intensity * 0.01) / 1.005, (_tiEngine + _intensity * 0.01) / 1.005,
(_tiWheels + _intensity * 0.004) / 1.002, // wheels//tracks are further away from burning parts (_tiWheels + _intensity * 0.004) / 1.002, // Wheels/tracks are further away from burning parts
(_tiWeapon + _intensity * 0.01) / 1.005 (_tiWeapon + _intensity * 0.01) / 1.005
]; ];
}, 0, [_vehicle, _jet, _ring, _startTime, _duration, _light, _fireSelection, _sound, _intensity, _fireKey]] call CBA_fnc_addPerFrameHandler; }, 0, [_vehicle, _jet, _ring, _startTime, _duration, _light, _fireSelection, _sound, _intensity, _fireKey]] call CBA_fnc_addPerFrameHandler;

View File

@ -1,6 +1,6 @@
#include "..\script_component.hpp" #include "..\script_component.hpp"
/* /*
* Author: tcvm * Author: tcvm, johnb43
* Start a cook-off in the given vehicle. * Start a cook-off in the given vehicle.
* Spews flames in multiple directions at the same time (ring) or from the turret towards the sky (jet). * Spews flames in multiple directions at the same time (ring) or from the turret towards the sky (jet).
* *
@ -21,7 +21,7 @@
* None * None
* *
* Example: * Example:
* [vehicle player, 3] call ace_cookoff_fnc_cookOff * [cursorObject, 3] call ace_cookoff_fnc_cookOffServer
* *
* Public: No * Public: No
*/ */
@ -37,7 +37,7 @@ params [
["_delayBetweenSmokeAndFire", true], ["_delayBetweenSmokeAndFire", true],
["_ammoDetonationChance", 0], ["_ammoDetonationChance", 0],
["_detonateAfterCookoff", false], ["_detonateAfterCookoff", false],
["_fireSource", ""], ["_fireSelection", ""],
["_canRing", true], ["_canRing", true],
["_canJet", true], ["_canJet", true],
["_maxIntensity", MAX_COOKOFF_INTENSITY] ["_maxIntensity", MAX_COOKOFF_INTENSITY]
@ -55,8 +55,8 @@ if (underwater _vehicle || {private _posASL = getPosWorld _vehicle; surfaceIsWat
// Check if cook-off is disabled on vehicle specifically // Check if cook-off is disabled on vehicle specifically
if !(_vehicle getVariable [QGVAR(enable), true]) exitWith {}; // QGVAR(enable) is API if !(_vehicle getVariable [QGVAR(enable), true]) exitWith {}; // QGVAR(enable) is API
TRACE_2("cooking off",_vehicle,_intensity); TRACE_3("cooking off",_vehicle,_intensity,_maxIntensity);
TRACE_9("",_source,_instigator,_delayBetweenSmokeAndFire,_ammoDetonationChance,_detonateAfterCookoff,_fireSource,_canRing,_canJet,_maxIntensity); TRACE_8("",_source,_instigator,_delayBetweenSmokeAndFire,_ammoDetonationChance,_detonateAfterCookoff,_fireSelection,_canRing,_canJet);
if (_vehicle getVariable [QGVAR(isCookingOff), false]) exitWith {}; if (_vehicle getVariable [QGVAR(isCookingOff), false]) exitWith {};
@ -65,27 +65,29 @@ _vehicle setVariable [QGVAR(isCookingOff), true, true];
// Limit maximum value of intensity to prevent very long cook-off times // Limit maximum value of intensity to prevent very long cook-off times
_intensity = _intensity min _maxIntensity; _intensity = _intensity min _maxIntensity;
private _positions = getArray (configOf _vehicle >> QGVAR(cookoffSelections)) select {(_vehicle selectionPosition _x) isNotEqualTo [0, 0, 0]}; private _selections = getArray (configOf _vehicle >> QGVAR(cookoffSelections)) select {(_vehicle selectionPosition _x) isNotEqualTo [0, 0, 0]};
if (_positions isEqualTo []) then { if (_selections isEqualTo []) then {
WARNING_1("no valid selection for cookoff found. %1",typeOf _vehicle); WARNING_1("no valid selection for cookoff found. %1",typeOf _vehicle);
{ {
if ((_vehicle selectionPosition _x) isNotEqualTo [0, 0, 0]) then { if ((_vehicle selectionPosition _x) isNotEqualTo [0, 0, 0]) then {
_positions pushBack _x; _selections pushBack _x;
}; };
} forEach DEFAULT_COMMANDER_HATCHES; } forEach DEFAULT_COMMANDER_HATCHES;
if (_positions isEqualTo []) then { if (_selections isEqualTo []) then {
_positions pushBack "#noselection"; _selections pushBack "#noselection";
}; };
}; };
// Not guaranteed to be active/used, but reserve it nonetheless // Not guaranteed to be active/used, but reserve it nonetheless
private _fireJipID = format [QGVAR(cookOffEffect_%1), hashValue _vehicle]; private _fireJipID = format [QGVAR(cookOffLocal_%1), hashValue _vehicle];
[_fireJipID, _vehicle] call CBA_fnc_removeGlobalEventJIP;
// Spawn smoke // Spawn smoke
private _smokeJipID = [QGVAR(smoke), [_vehicle, _positions]] call CBA_fnc_globalEventJIP; private _smokeJipID = [QGVAR(smoke), [_vehicle, _selections]] call CBA_fnc_globalEventJIP;
[_smokeJipID, _vehicle] call CBA_fnc_removeGlobalEventJIP;
// Save intensity for looping purposes // Save intensity for looping purposes
_vehicle setVariable [QGVAR(intensity), _intensity]; _vehicle setVariable [QGVAR(intensity), _intensity];
@ -98,41 +100,58 @@ if (_delayBetweenSmokeAndFire) then {
[{ [{
[{ [{
(_this select 0) params ["_vehicle", "_positions", "_ammoDetonationChance", "_detonateAfterCookoff", "_source", "_instigator", "_fireSource", "_canRing", "_canJet", "_smokeJipID", "_fireJipID"]; (_this select 0) params ["_vehicle", "_selections", "_ammoDetonationChance", "_detonateAfterCookoff", "_source", "_instigator", "_fireSelection", "_canRing", "_canJet", "_smokeJipID", "_fireJipID"];
private _intensity = _vehicle getVariable [QGVAR(intensity), 0];
if ( if (
isNull _vehicle || isNull _vehicle ||
!GVAR(enableFire) || !GVAR(enableFire) ||
{!(_vehicle getVariable [QGVAR(enable), true])} || // QGVAR(enable) is API {!(_vehicle getVariable [QGVAR(enable), true])} || // QGVAR(enable) is API
{_intensity <= 1} ||
{GVAR(cookoffDuration) == 0} || {GVAR(cookoffDuration) == 0} ||
{underwater _vehicle} || {underwater _vehicle} ||
{private _posASL = getPosWorld _vehicle; surfaceIsWater _posASL && {(_posASL select 2) < 0}} {private _posASL = getPosWorld _vehicle; surfaceIsWater _posASL && {(_posASL select 2) < 0}} // Underwater is not very reliable, so use model center instead
) exitWith { ) exitWith {
// Effects are deleted when vehicle is deleted
(_this select 1) call CBA_fnc_removePerFrameHandler;
};
private _intensity = _vehicle getVariable [QGVAR(intensity), 0];
if (_intensity <= 1) exitWith {
(_this select 1) call CBA_fnc_removePerFrameHandler; (_this select 1) call CBA_fnc_removePerFrameHandler;
// Remove effects from JIP // Wait until the previous flame has finished
_smokeJipID call CBA_fnc_removeGlobalEventJIP; private _nextFlameTime = (_vehicle getVariable [QGVAR(endCurrentFlame), CBA_missionTime]) - CBA_missionTime + (MIN_TIME_BETWEEN_FLAMES max random MAX_TIME_BETWEEN_FLAMES);
_fireJipID call CBA_fnc_removeGlobalEventJIP;
// Effects are deleted when vehicle is deleted if (_fireSelection isEqualTo "") then {
if (isNull _vehicle) exitWith {}; _fireSelection = selectRandom _selections;
// Remove effects
[QGVAR(cleanupEffects), _vehicle] call CBA_fnc_globalEvent;
// Reset variable, so it can cook-off again
_vehicle setVariable [QGVAR(isCookingOff), nil, true];
if (GVAR(destroyVehicleAfterCookoff) || _detonateAfterCookoff) then {
_vehicle setDamage [1, true, _source, _instigator]; // because it's running on the server, killer and instigator can be set
}; };
[{
params ["_vehicle", "_source", "_instigator", "_detonateAfterCookoff", "_fireSelection", "_smokeJipID", "_fireJipID"];
// Effects are deleted when vehicle is deleted
if (isNull _vehicle) exitWith {};
// Remove effects from JIP
_smokeJipID call CBA_fnc_removeGlobalEventJIP;
_fireJipID call CBA_fnc_removeGlobalEventJIP;
// Remove effects
[QGVAR(cleanupEffects), _vehicle] call CBA_fnc_globalEvent;
// Reset variable, so it can cook-off again
_vehicle setVariable [QGVAR(isCookingOff), nil, true];
if (GVAR(destroyVehicleAfterCookoff) || _detonateAfterCookoff) then {
createVehicle ["ACE_ammoExplosionLarge", _vehicle modelToWorld (_vehicle selectionPosition _fireSelection), [], 0 , "CAN_COLLIDE"];
_vehicle setDamage [1, true, _source, _instigator]; // Because it's running on the server, source and instigator can be set
};
}, [_vehicle, _source, _instigator, _detonateAfterCookoff, _fireSelection, _smokeJipID, _fireJipID], _nextFlameTime] call CBA_fnc_waitAndExecute;
}; };
// Wait until we are ready for the next flame // Wait until we are ready for the next flame
if (_vehicle getVariable [QGVAR(nextFlame), 0] <= CBA_missionTime) then { if ((_vehicle getVariable [QGVAR(nextFlame), 0]) <= CBA_missionTime) then {
private _ring = false; private _ring = false;
if (_canRing) then { if (_canRing) then {
@ -145,34 +164,39 @@ if (_delayBetweenSmokeAndFire) then {
private _duration = linearConversion [0, 10, _intensity, 3, 20] + random COOKOFF_TIME; private _duration = linearConversion [0, 10, _intensity, 3, 20] + random COOKOFF_TIME;
if (_fireSource isEqualTo "") then { if (_fireSelection isEqualTo "") then {
_fireSource = selectRandom _positions; _fireSelection = selectRandom _selections;
}; };
// Sync for JIP players // Sync for JIP players
[QGVAR(cookOffEffect), [_vehicle, _canJet, _ring, _fireSource, _intensity, CBA_missionTime, _duration], _fireJipID] call CBA_fnc_globalEventJIP; [QGVAR(cookOffLocal), [_vehicle, _canJet, _ring, _fireSelection, _intensity, CBA_missionTime, _duration], _fireJipID] call CBA_fnc_globalEventJIP;
_intensity = _intensity - (0.5 max random 1) / GVAR(cookoffDuration);
_vehicle setVariable [QGVAR(intensity), _intensity];
_vehicle setVariable [QGVAR(nextFlame), CBA_missionTime + _duration + (MIN_TIME_BETWEEN_FLAMES max random MAX_TIME_BETWEEN_FLAMES)];
// If there are any crew, burn them // If there are any crew, burn them
if (["ace_fire"] call EFUNC(common,isModLoaded)) then { if (["ace_fire"] call EFUNC(common,isModLoaded)) then {
// Use current intensity, in case GVAR(cookoffDuration) is very large and only 1 flameout stage happens
{ {
[QEGVAR(fire,burn), [_x, _intensity * 1.5, _instigator]] call CBA_fnc_globalEvent; [QEGVAR(fire,burn), [_x, _intensity * 1.5, _instigator]] call CBA_fnc_globalEvent;
} forEach (crew _vehicle); } forEach (crew _vehicle);
}; };
_intensity = (_intensity - (0.5 max random 1) / GVAR(cookoffDuration)) max 0;
_vehicle setVariable [QGVAR(intensity), _intensity];
_vehicle setVariable [QGVAR(endCurrentFlame), CBA_missionTime + _duration];
_vehicle setVariable [QGVAR(nextFlame), CBA_missionTime + _duration + (MIN_TIME_BETWEEN_FLAMES max random MAX_TIME_BETWEEN_FLAMES)];
}; };
if (_ammoDetonationChance > random 1 && {_vehicle getVariable [QGVAR(nextExplosiveDetonation), 0] <= CBA_missionTime}) then { if (_ammoDetonationChance > random 1 && {_vehicle getVariable [QGVAR(nextExplosiveDetonation), 0] <= CBA_missionTime}) then {
if (_fireSource isEqualTo "") then { if (_fireSelection isEqualTo "") then {
_fireSource = selectRandom _positions; _fireSelection = selectRandom _selections;
}; };
createVehicle ["ACE_ammoExplosionLarge", _vehicle modelToWorld (_vehicle selectionPosition _fireSource), [], 0 , "CAN_COLLIDE"]; createVehicle ["ACE_ammoExplosionLarge", _vehicle modelToWorld (_vehicle selectionPosition _fireSelection), [], 0 , "CAN_COLLIDE"];
_vehicle setVariable [QGVAR(nextExplosiveDetonation), CBA_missionTime + random 60]; _vehicle setVariable [QGVAR(nextExplosiveDetonation), CBA_missionTime + random 60];
}; };
}, 0.25, _this] call CBA_fnc_addPerFrameHandler; }, 0.25, _this] call CBA_fnc_addPerFrameHandler;
}, [_vehicle, _positions, _ammoDetonationChance, _detonateAfterCookoff, _source, _instigator, _fireSource, _canRing, _canJet, _smokeJipID, _fireJipID], _delay] call CBA_fnc_waitAndExecute; }, [_vehicle, _selections, _ammoDetonationChance, _detonateAfterCookoff, _source, _instigator, _fireSelection, _canRing, _canJet, _smokeJipID, _fireJipID], _delay] call CBA_fnc_waitAndExecute;
// API
[QGVAR(cookoff), [_vehicle, _intensity, _instigator, _smokeDelayEnabled, _ammoDetonationChance, _detonateAfterCookoff, _fireSelection, _canRing, _maxIntensity, _canJet]] call CBA_fnc_globalEvent;

View File

@ -1,54 +0,0 @@
#include "..\script_component.hpp"
/*
* Author: johnb43
* Starts detonating ammunition from an object (e.g. vehicle or crate).
*
* Arguments:
* 0: Object <OBJECT>
* 1: Destroy when finished <BOOL> (default: false)
* 2: Source <OBJECT> (default: objNull)
* 3: Instigator <OBJECT> (default: objNull)
* 4: Initial delay <NUMBER> (default: 0)
*
* Return Value:
* None
*
* Example:
* [cursorObject] call ace_cookoff_fnc_detonateAmmunition
*
* Public: No
*/
if (!isServer) exitWith {};
params ["_object", ["_destroyWhenFinished", false], ["_source", objNull], ["_instigator", objNull], ["_initialDelay", 0]];
if (isNull _object) exitWith {};
// Check if the object can cook its ammo off
if (
underwater _object ||
{private _posASL = getPosWorld _object; surfaceIsWater _posASL && {(_posASL select 2) < 0}} || // underwater is not very reliable, so use model center instead
{GVAR(ammoCookoffDuration) == 0} ||
{!([GVAR(enableAmmoCookoff), GVAR(enableAmmobox)] select (_object isKindOf "ReammoBox_F"))} ||
{!(_object getVariable [QGVAR(enableAmmoCookoff), true])}
) exitWith {};
// Don't have an object detonate its ammo twice
if (_object getVariable [QGVAR(isAmmoDetonating), false]) exitWith {};
_object setVariable [QGVAR(isAmmoDetonating), true, true];
_object setVariable [QGVAR(cookoffMagazines), _object call FUNC(getVehicleAmmo)];
// TODO: When setMagazineTurretAmmo and magazineTurretAmmo are fixed (https://feedback.bistudio.com/T79689),
// we can add gradual ammo removal during cook-off
if (GVAR(removeAmmoDuringCookoff)) then {
clearMagazineCargoGlobal _object;
{
[QEGVAR(common,removeMagazinesTurret), [_object, _x select 0, _x select 1], _object, _x select 1] call CBA_fnc_turretEvent;
} forEach (magazinesAllTurrets _object);
};
[FUNC(detonateAmmunitionServer), [_object, _destroyWhenFinished, _source, _instigator], _initialDelay] call CBA_fnc_waitAndExecute;

View File

@ -1,174 +1,54 @@
#include "..\script_component.hpp" #include "..\script_component.hpp"
/* /*
* Author: Glowbal, johnb43 * Author: johnb43
* Detonates ammunition from an object (e.g. vehicle or crate) until no ammo is left. * Starts detonating ammunition from an object (e.g. vehicle or crate).
* *
* Arguments: * Arguments:
* 0: Object <OBJECT> * 0: Object <OBJECT>
* 1: Destroy when finished <BOOL> * 1: Destroy when finished <BOOL> (default: false)
* 2: Source <OBJECT> * 2: Source <OBJECT> (default: objNull)
* 3: Instigator <OBJECT> * 3: Instigator <OBJECT> (default: objNull)
* 4: Initial delay <NUMBER> (default: 0)
* *
* Return Value: * Return Value:
* None * None
* *
* Example: * Example:
* [cursorObject, true, player, player] call ace_cookoff_fnc_detonateAmmunitionServer * [cursorObject] call ace_cookoff_fnc_detonateAmmunitionServer
* *
* Public: No * Public: No
*/ */
if (!isServer) exitWith {}; if (!isServer) exitWith {};
params ["_object", "_destroyWhenFinished", "_source", "_instigator"]; params ["_object", ["_destroyWhenFinished", false], ["_source", objNull], ["_instigator", objNull], ["_initialDelay", 0]];
if (isNull _object) exitWith {}; if (isNull _object) exitWith {};
(_object getVariable QGVAR(cookoffMagazines)) params ["_magazines", "_totalAmmo"]; // Check if the object can cook its ammo off
private _hasFinished = _totalAmmo <= 0 || {_magazines isEqualTo []};
// If the cook-off has finished or been interrupted, clean up the effects for boxes (no vehicle effects)
if ( if (
_hasFinished || underwater _object ||
{underwater _object} || {private _posASL = getPosWorld _object; surfaceIsWater _posASL && {(_posASL select 2) < 0}} || // Underwater is not very reliable, so use model center instead
{private _posASL = getPosWorld _object; surfaceIsWater _posASL && {(_posASL select 2) < 0}} || // underwater is not very reliable, so use model center instead
{GVAR(ammoCookoffDuration) == 0} || {GVAR(ammoCookoffDuration) == 0} ||
{!([GVAR(enableAmmoCookoff), GVAR(enableAmmobox)] select (_object isKindOf "ReammoBox_F"))} || {!([GVAR(enableAmmoCookoff), GVAR(enableAmmobox)] select (_object isKindOf "ReammoBox_F"))} ||
{!(_object getVariable [QGVAR(enableAmmoCookoff), true])} {!(_object getVariable [QGVAR(enableAmmoCookoff), true])}
) exitWith { ) exitWith {};
// Box cook-off fire ends after the ammo has detonated (vehicle cook-off fire does not depend on the ammo detonation)
if (_object isKindOf "ReammoBox_F") then {
[QGVAR(cleanupEffects), _object] call CBA_fnc_globalEvent;
// Reset variable, so the box can cook-off again // Don't have an object detonate its ammo twice
_object setVariable [QGVAR(isCookingOff), nil, true]; if (_object getVariable [QGVAR(isAmmoDetonating), false]) exitWith {};
};
// Reset variables, so the object can detonate its ammo again _object setVariable [QGVAR(isAmmoDetonating), true, true];
_object setVariable [QGVAR(cookoffMagazines), nil];
_object setVariable [QGVAR(isAmmoDetonating), nil, true];
// If done, destroy the object if necessary _object setVariable [QGVAR(cookoffMagazines), _object call FUNC(getVehicleAmmo)];
if (_hasFinished && _destroyWhenFinished) then {
_object setDamage [1, true, _source, _instigator]; // TODO: When setMagazineTurretAmmo and magazineTurretAmmo are fixed (https://feedback.bistudio.com/T79689),
}; // we can add gradual ammo removal during cook-off
if (GVAR(removeAmmoDuringCookoff)) then {
clearMagazineCargoGlobal _object;
{
[QEGVAR(common,removeMagazinesTurret), [_object, _x select 0, _x select 1], _object, _x select 1] call CBA_fnc_turretEvent;
} forEach (magazinesAllTurrets _object);
}; };
private _magazineIndex = floor random (count _magazines); [LINKFUNC(detonateAmmunitionServerLoop), [_object, _destroyWhenFinished, _source, _instigator], _initialDelay] call CBA_fnc_waitAndExecute;
private _magazine = _magazines select _magazineIndex;
_magazine params ["_magazineClassname", "_ammoCount", "_spawnProjectile"];
// Make sure ammo is at least 0
_ammoCount = _ammoCount max 0;
// Remove some ammo, which will be detonated
private _removed = _ammoCount min floor (1 + random (6 / GVAR(ammoCookoffDuration)));
_ammoCount = _ammoCount - _removed;
if (_ammoCount <= 0) then {
_magazines deleteAt _magazineIndex;
} else {
_magazine set [1, _ammoCount]; // remove ammo that was detonated
};
private _timeBetweenAmmoDetonation = ((random 10 / sqrt _totalAmmo) min MAX_TIME_BETWEEN_AMMO_DET) max 0.1;
TRACE_2("",_totalAmmo,_timeBetweenAmmoDetonation);
_totalAmmo = _totalAmmo - _removed;
_object setVariable [QGVAR(cookoffMagazines), [_magazines, _totalAmmo]];
// Get magazine info, which is used to spawn projectiles
private _configMagazine = configFile >> "CfgMagazines" >> _magazineClassname;
private _ammo = getText (_configMagazine >> "ammo");
private _configAmmo = configFile >> "CfgAmmo" >> _ammo;
private _simType = toLower getText (_configAmmo >> "simulation");
private _speed = linearConversion [0, 1, random 1, 1, 20, true];
private _effect2pos = _object selectionPosition "destructionEffect2";
// Spawns the projectiles, making them either fly in random directions or explode
private _fnc_spawnProjectile = {
// If the magazines are inside of the cargo (inventory), don't let their projectiles escape the interior of the vehicle
if (!_spawnProjectile) exitWith {};
params ["_object", "_ammo", "_speed", "_flyAway"];
private _spawnPos = _object modelToWorld [-0.2 + random 0.4, -0.2 + random 0.4, random 3];
if (_spawnPos select 2 < 0) then {
_spawnPos set [2, 0];
};
private _projectile = createVehicle [_ammo, _spawnPos, [], 0, "CAN_COLLIDE"];
if (_flyAway) then {
private _vectorAmmo = [-1 + random 2, -1 + random 2, -0.2 + random 1];
private _vectorVelocity = _vectorAmmo vectorMultiply _speed;
_projectile setVectorDir _vectorVelocity;
_projectile setVelocity _vectorVelocity;
} else {
_projectile setDamage 1;
};
};
switch (_simType) do {
case "shotbullet": {
[QGVAR(playCookoffSound), [_object, _simType]] call CBA_fnc_globalEvent;
if (random 1 < 0.6) then {
[_object, _ammo, _speed, true] call _fnc_spawnProjectile;
};
};
case "shotshell": {
[QGVAR(playCookoffSound), [_object, _simType]] call CBA_fnc_globalEvent;
if (random 1 < 0.15) then {
[_object, _ammo, _speed, true] call _fnc_spawnProjectile;
};
};
case "shotgrenade": {
if (random 1 < 0.9) then {
_speed = 0;
};
[_object, _ammo, _speed, random 1 < 0.5] call _fnc_spawnProjectile;
};
case "shotrocket";
case "shotmissile";
case "shotsubmunitions": {
if (random 1 < 0.1) then {
[QGVAR(playCookoffSound), [_object, _simType]] call CBA_fnc_globalEvent;
[_object, _ammo, _speed, random 1 < 0.3] call _fnc_spawnProjectile;
} else {
createVehicle ["ACE_ammoExplosionLarge", _object modelToWorld _effect2pos, [], 0 , "CAN_COLLIDE"];
};
};
case "shotdirectionalbomb";
case "shotmine": {
if (random 1 < 0.5) then {
// Not all explosives detonate on destruction, some have scripted alternatives
if (getNumber (_configAmmo >> "triggerWhenDestroyed") != 1) then {
_ammo = getText (_configAmmo >> QEGVAR(explosives,explosive));
};
// If a scripted alternative doesn't exist use generic explosion
if (_ammo != "") then {
[_object, _ammo, 0, false] call _fnc_spawnProjectile;
} else {
createVehicle ["SmallSecondary", _object modelToWorld _effect2pos, [], 0 , "CAN_COLLIDE"];
};
};
};
case "shotilluminating": {
if (random 1 < 0.15) then {
[_object, _ammo, _speed, random 1 < 0.3] call _fnc_spawnProjectile;
};
};
};
// Detonate the remaining ammo after a delay
[FUNC(detonateAmmunitionServer), [_object, _destroyWhenFinished, _source, _instigator], _timeBetweenAmmoDetonation] call CBA_fnc_waitAndExecute;

View File

@ -0,0 +1,181 @@
#include "..\script_component.hpp"
/*
* Author: Glowbal, johnb43
* Detonates ammunition from an object (e.g. vehicle or crate) until no ammo is left.
*
* Arguments:
* 0: Object <OBJECT>
* 1: Destroy when finished <BOOL>
* 2: Source <OBJECT>
* 3: Instigator <OBJECT>
*
* Return Value:
* None
*
* Example:
* [cursorObject, true, player, player] call ace_cookoff_fnc_detonateAmmunitionServerLoop
*
* Public: No
*/
params ["_object", "_destroyWhenFinished", "_source", "_instigator"];
if (isNull _object) exitWith {};
(_object getVariable QGVAR(cookoffMagazines)) params ["_magazines", "_totalAmmo"];
private _hasFinished = _totalAmmo <= 0 || {_magazines isEqualTo []};
// If the cook-off has finished or been interrupted, clean up the effects for boxes (no vehicle effects)
if (
_hasFinished ||
{underwater _object} ||
{private _posASL = getPosWorld _object; surfaceIsWater _posASL && {(_posASL select 2) < 0}} || // Underwater is not very reliable, so use model center instead
{GVAR(ammoCookoffDuration) == 0} ||
{!([GVAR(enableAmmoCookoff), GVAR(enableAmmobox)] select (_object isKindOf "ReammoBox_F"))} ||
{!(_object getVariable [QGVAR(enableAmmoCookoff), true])}
) exitWith {
// Box cook-off fire ends after the ammo has detonated (vehicle cook-off fire does not depend on the ammo detonation)
if (_object isKindOf "ReammoBox_F") then {
[QGVAR(cleanupEffects), _object] call CBA_fnc_globalEvent;
// Reset variable, so the box can cook-off again
_object setVariable [QGVAR(isCookingOff), nil, true];
// Remove cook-off effects from box
private _jipID = _object getVariable QGVAR(cookoffBoxJipID);
if (isNil "_jipID") exitWith {};
_jipID call CBA_fnc_removeGlobalEventJIP;
_object setVariable [QGVAR(cookoffBoxJipID), nil];
};
// Reset variables, so the object can detonate its ammo again
_object setVariable [QGVAR(cookoffMagazines), nil];
_object setVariable [QGVAR(isAmmoDetonating), nil, true];
// If done, destroy the object if necessary
if (_hasFinished && _destroyWhenFinished) then {
_object setDamage [1, true, _source, _instigator];
};
};
private _magazineIndex = floor random (count _magazines);
private _magazine = _magazines select _magazineIndex;
_magazine params ["_magazineClassname", "_ammoCount", "_spawnProjectile"];
// Make sure ammo is at least 0
_ammoCount = _ammoCount max 0;
// Remove some ammo, which will be detonated
private _removed = _ammoCount min floor (1 + random (6 / GVAR(ammoCookoffDuration)));
_ammoCount = _ammoCount - _removed;
if (_ammoCount <= 0) then {
_magazines deleteAt _magazineIndex;
} else {
_magazine set [1, _ammoCount]; // remove ammo that was detonated
};
private _timeBetweenAmmoDetonation = ((random 10 / sqrt _totalAmmo) min MAX_TIME_BETWEEN_AMMO_DET) max 0.1;
TRACE_2("",_totalAmmo,_timeBetweenAmmoDetonation);
_totalAmmo = _totalAmmo - _removed;
_object setVariable [QGVAR(cookoffMagazines), [_magazines, _totalAmmo]];
// Get magazine info, which is used to spawn projectiles
private _configMagazine = configFile >> "CfgMagazines" >> _magazineClassname;
private _ammo = getText (_configMagazine >> "ammo");
private _configAmmo = configFile >> "CfgAmmo" >> _ammo;
private _simType = toLower getText (_configAmmo >> "simulation");
private _speed = linearConversion [0, 1, random 1, 1, 20, true];
private _effect2pos = _object selectionPosition "destructionEffect2";
// Spawns the projectiles, making them either fly in random directions or explode
private _fnc_spawnProjectile = {
// If the magazines are inside of the cargo (inventory), don't let their projectiles escape the interior of the vehicle
if (!_spawnProjectile) exitWith {};
params ["_object", "_ammo", "_speed", "_flyAway"];
private _spawnPos = _object modelToWorld [-0.2 + random 0.4, -0.2 + random 0.4, random 3];
if (_spawnPos select 2 < 0) then {
_spawnPos set [2, 0];
};
private _projectile = createVehicle [_ammo, _spawnPos, [], 0, "CAN_COLLIDE"];
if (_flyAway) then {
private _vectorAmmo = [-1 + random 2, -1 + random 2, -0.2 + random 1];
private _vectorVelocity = _vectorAmmo vectorMultiply _speed;
_projectile setVectorDir _vectorVelocity;
_projectile setVelocity _vectorVelocity;
} else {
_projectile setDamage 1;
};
};
switch (_simType) do {
case "shotbullet": {
[QGVAR(playCookoffSound), [_object, _simType]] call CBA_fnc_globalEvent;
if (random 1 < 0.6) then {
[_object, _ammo, _speed, true] call _fnc_spawnProjectile;
};
};
case "shotshell": {
[QGVAR(playCookoffSound), [_object, _simType]] call CBA_fnc_globalEvent;
if (random 1 < 0.15) then {
[_object, _ammo, _speed, true] call _fnc_spawnProjectile;
};
};
case "shotgrenade": {
if (random 1 < 0.9) then {
_speed = 0;
};
[_object, _ammo, _speed, random 1 < 0.5] call _fnc_spawnProjectile;
};
case "shotrocket";
case "shotmissile";
case "shotsubmunitions": {
if (random 1 < 0.1) then {
[QGVAR(playCookoffSound), [_object, _simType]] call CBA_fnc_globalEvent;
[_object, _ammo, _speed, random 1 < 0.3] call _fnc_spawnProjectile;
} else {
createVehicle ["ACE_ammoExplosionLarge", _object modelToWorld _effect2pos, [], 0 , "CAN_COLLIDE"];
};
};
case "shotdirectionalbomb";
case "shotmine": {
if (random 1 < 0.5) then {
// Not all explosives detonate on destruction, some have scripted alternatives
if (getNumber (_configAmmo >> "triggerWhenDestroyed") != 1) then {
_ammo = getText (_configAmmo >> QEGVAR(explosives,explosive));
};
// If a scripted alternative doesn't exist use generic explosion
if (_ammo != "") then {
[_object, _ammo, 0, false] call _fnc_spawnProjectile;
} else {
createVehicle ["SmallSecondary", _object modelToWorld _effect2pos, [], 0 , "CAN_COLLIDE"];
};
};
};
case "shotilluminating": {
if (random 1 < 0.15) then {
[_object, _ammo, _speed, random 1 < 0.3] call _fnc_spawnProjectile;
};
};
};
// Detonate the remaining ammo after a delay
[LINKFUNC(detonateAmmunitionServerLoop), [_object, _destroyWhenFinished, _source, _instigator], _timeBetweenAmmoDetonation] call CBA_fnc_waitAndExecute;

View File

@ -5,12 +5,13 @@
* *
* Arguments: * Arguments:
* 0: Vehicle <OBJECT> * 0: Vehicle <OBJECT>
* 1: End time <NUMBER>
* *
* Return Value: * Return Value:
* None * None
* *
* Example: * Example:
* cursorObject call ace_cookoff_fnc_engineFireLocal * [cursorObject, CBA_missionTime + 10] call ace_cookoff_fnc_engineFireLocal
* *
* Public: No * Public: No
*/ */
@ -59,22 +60,22 @@ if (hasInterface) then {
[{ [{
(_this select 0) params ["_vehicle", "_smoke", "_endTime"]; (_this select 0) params ["_vehicle", "_smoke", "_endTime"];
if (!alive _vehicle || {_vehicle getHitPointDamage "HitEngine" < 0.9} || {CBA_missionTime >= _endTime}) exitWith { if (alive _vehicle && {_vehicle getHitPointDamage "HitEngine" >= 0.9} && {CBA_missionTime < _endTime}) exitWith {};
(_this select 1) call CBA_fnc_removePerFrameHandler;
deleteVehicle _smoke; (_this select 1) call CBA_fnc_removePerFrameHandler;
if (!isServer || {isNull _vehicle}) exitWith {}; deleteVehicle _smoke;
// Reset variable, so engine can smoke again in the future if (!isServer || {isNull _vehicle}) exitWith {};
_vehicle setVariable [QGVAR(isEngineSmoking), nil, true];
private _jipID = _vehicle getVariable QGVAR(engineFireJipID); // Reset variable, so engine can smoke again in the future
_vehicle setVariable [QGVAR(isEngineSmoking), nil, true];
if (isNil "_jipID") exitWith {}; private _jipID = _vehicle getVariable QGVAR(engineFireJipID);
_jipID call CBA_fnc_removeGlobalEventJIP; if (isNil "_jipID") exitWith {};
_vehicle setVariable [QGVAR(engineFireJipID), nil]; _jipID call CBA_fnc_removeGlobalEventJIP;
};
_vehicle setVariable [QGVAR(engineFireJipID), nil];
}, 5, [_vehicle, _smoke, _endTime]] call CBA_fnc_addPerFrameHandler; }, 5, [_vehicle, _smoke, _endTime]] call CBA_fnc_addPerFrameHandler;

View File

@ -10,7 +10,7 @@
* None * None
* *
* Example: * Example:
* cursorObject call ace_cookoff_fnc_engineFire * cursorObject call ace_cookoff_fnc_engineFireServer
* *
* Public: No * Public: No
*/ */
@ -29,3 +29,6 @@ private _jipID = [QGVAR(engineFireLocal), [_vehicle, CBA_missionTime + random [E
[_jipID, _vehicle] call CBA_fnc_removeGlobalEventJIP; [_jipID, _vehicle] call CBA_fnc_removeGlobalEventJIP;
_vehicle setVariable [QGVAR(engineFireJipID), _jipID]; _vehicle setVariable [QGVAR(engineFireJipID), _jipID];
// API
[QGVAR(engineFire), [_vehicle]] call CBA_fnc_globalEvent;

View File

@ -15,6 +15,9 @@
* Public: No * Public: No
*/ */
// If cookoff for boxes is disabled, exit
if (!GVAR(enableAmmobox) || {GVAR(ammoCookoffDuration) == 0}) exitWith {};
params ["_box", "", "_damage", "_source", "_ammo", "", "_instigator", "_hitPoint"]; params ["_box", "", "_damage", "_source", "_ammo", "", "_instigator", "_hitPoint"];
if (!local _box) exitWith {}; if (!local _box) exitWith {};
@ -22,9 +25,6 @@ if (!local _box) exitWith {};
// If it's already dead, ignore // If it's already dead, ignore
if (!alive _box) exitWith {}; if (!alive _box) exitWith {};
// If cookoff for boxes is disabled, exit
if (!GVAR(enableAmmobox) || {GVAR(ammoCookoffDuration) == 0}) exitWith {};
if !(_box getVariable [QGVAR(enableAmmoCookoff), true]) exitWith {}; if !(_box getVariable [QGVAR(enableAmmoCookoff), true]) exitWith {};
if !(_hitPoint == "" && {_damage > 0.5}) exitWith {}; // "" means structural damage if !(_hitPoint == "" && {_damage > 0.5}) exitWith {}; // "" means structural damage

View File

@ -7,7 +7,7 @@
* 0: Magazine <STRING> * 0: Magazine <STRING>
* *
* Return Value: * Return Value:
* 0: If magazine is type of flare <BOOL> * If magazine is type of flare <BOOL>
* *
* Example: * Example:
* "3Rnd_UGL_FlareWhite_F" call ace_cookoff_fnc_isMagazineFlare * "3Rnd_UGL_FlareWhite_F" call ace_cookoff_fnc_isMagazineFlare
@ -18,7 +18,5 @@
params ["_magazine"]; params ["_magazine"];
private _configAmmo = configFile >> "CfgAmmo" >> getText (configFile >> "CfgMagazines" >> _magazine >> "ammo"); private _configAmmo = configFile >> "CfgAmmo" >> getText (configFile >> "CfgMagazines" >> _magazine >> "ammo");
private _intensity = getNumber (_configAmmo >> "intensity");
private _flare = getNumber (_configAmmo >> QEGVAR(grenades,flare));
_intensity != 0 || _flare == 1 getNumber (_configAmmo >> "intensity") != 0 || {getNumber (_configAmmo >> QEGVAR(grenades,flare)) == 1}

View File

@ -16,7 +16,7 @@
* Public: No * Public: No
*/ */
params ["_vehicle", "_positions"]; params ["_vehicle", "_selections"];
private _positionBarrelEnd = getText ([_vehicle, [0]] call CBA_fnc_getTurret >> "gunBeg"); private _positionBarrelEnd = getText ([_vehicle, [0]] call CBA_fnc_getTurret >> "gunBeg");
@ -28,10 +28,10 @@ _smokeBarrel attachTo [_vehicle, [0, 0, 0], _positionBarrelEnd];
private _effects = [_smokeBarrel]; private _effects = [_smokeBarrel];
{ {
private _position = [0, -2, 0]; private _position = if (_x != "#noselection") then {
_vehicle selectionPosition _x
if (_x != "#noselection") then { } else {
_position = _vehicle selectionPosition _x; [0, -2, 0]
}; };
private _smoke = "#particlesource" createVehicleLocal [0, 0, 0]; private _smoke = "#particlesource" createVehicleLocal [0, 0, 0];
@ -39,6 +39,6 @@ private _effects = [_smokeBarrel];
_smoke attachTo [_vehicle, _position]; _smoke attachTo [_vehicle, _position];
_effects pushBack _smoke; _effects pushBack _smoke;
} forEach _positions; } forEach _selections;
_vehicle setVariable [QGVAR(effects), _effects]; _vehicle setVariable [QGVAR(effects), _effects];

View File

@ -4,8 +4,7 @@
[LSTRING(enableFire_name), LSTRING(enableFire_tooltip)], [LSTRING(enableFire_name), LSTRING(enableFire_tooltip)],
LSTRING(category_displayName), LSTRING(category_displayName),
true, true,
1, 1
{[QGVAR(enableFire), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -13,9 +12,8 @@
"SLIDER", "SLIDER",
[LSTRING(cookoffDuration_name), LSTRING(cookoffDuration_tooltip)], [LSTRING(cookoffDuration_name), LSTRING(cookoffDuration_tooltip)],
LSTRING(category_displayName), LSTRING(category_displayName),
[0, 5, 1, 1], [0, 10, 1, 2],
1, 1
{[QGVAR(cookoffDuration), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -23,9 +21,8 @@
"SLIDER", "SLIDER",
[LSTRING(probabilityCoef_name), LSTRING(probabilityCoef_tooltip)], [LSTRING(probabilityCoef_name), LSTRING(probabilityCoef_tooltip)],
LSTRING(category_displayName), LSTRING(category_displayName),
[0, 5, 1, 1], [0, 10, 1, 2],
1, 1
{[QGVAR(probabilityCoef), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -34,8 +31,7 @@
[LSTRING(destroyVehicleAfterCookoff_name), LSTRING(destroyVehicleAfterCookoff_tooltip)], [LSTRING(destroyVehicleAfterCookoff_name), LSTRING(destroyVehicleAfterCookoff_tooltip)],
LSTRING(category_displayName), LSTRING(category_displayName),
false, false,
1, 1
{[QGVAR(destroyVehicleAfterCookoff), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -44,8 +40,7 @@
[LSTRING(enableAmmoCookoff_name), LSTRING(enableAmmoCookoff_tooltip)], [LSTRING(enableAmmoCookoff_name), LSTRING(enableAmmoCookoff_tooltip)],
LSTRING(category_displayName), LSTRING(category_displayName),
true, true,
1, 1
{[QGVAR(enableAmmoCookoff), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -54,8 +49,7 @@
[LSTRING(enableBoxCookoff_name), LSTRING(enableBoxCookoff_tooltip)], [LSTRING(enableBoxCookoff_name), LSTRING(enableBoxCookoff_tooltip)],
LSTRING(category_displayName), LSTRING(category_displayName),
true, true,
1, 1
{[QGVAR(enableAmmobox), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -63,9 +57,8 @@
"SLIDER", "SLIDER",
[LSTRING(ammoCookoffDuration_name), LSTRING(ammoCookoffDuration_tooltip)], [LSTRING(ammoCookoffDuration_name), LSTRING(ammoCookoffDuration_tooltip)],
LSTRING(category_displayName), LSTRING(category_displayName),
[0, 5, 1, 1], [0, 10, 1, 2],
1, 1
{[QGVAR(ammoCookoffDuration), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -74,6 +67,5 @@
[LSTRING(removeAmmoDuringCookoff_name), LSTRING(removeAmmoDuringCookoff_tooltip)], [LSTRING(removeAmmoDuringCookoff_name), LSTRING(removeAmmoDuringCookoff_tooltip)],
LSTRING(category_displayName), LSTRING(category_displayName),
true, true,
1, 1
{[QGVAR(removeAmmoDuringCookoff), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;

View File

@ -20,7 +20,7 @@
<English>Enable vehicle cook-off fire</English> <English>Enable vehicle cook-off fire</English>
</Key> </Key>
<Key ID="STR_ACE_CookOff_enableFire_tooltip"> <Key ID="STR_ACE_CookOff_enableFire_tooltip">
<English>Enables vehicle cook-off fire effects.\nThis does NOT include ammunition detonations.</English> <English>Enables vehicle cook-off fire effects.\nThis doesn't include ammunition detonations.</English>
</Key> </Key>
<Key ID="STR_ACE_CookOff_cookoffDuration_name"> <Key ID="STR_ACE_CookOff_cookoffDuration_name">
<English>Vehicle cook-off fire duration multiplier</English> <English>Vehicle cook-off fire duration multiplier</English>
@ -57,12 +57,13 @@
<French>Contrôle si les véhicules seront toujours détruits après l'auto-inflammation.</French> <French>Contrôle si les véhicules seront toujours détruits après l'auto-inflammation.</French>
<Portuguese>Define se os veículos serão sempre destruídos após cozinhamento.</Portuguese> <Portuguese>Define se os veículos serão sempre destruídos após cozinhamento.</Portuguese>
<Russian>Определяет, всегда ли транспортные средства будут уничтожаться после детонации.</Russian> <Russian>Определяет, всегда ли транспортные средства будут уничтожаться после детонации.</Russian>
<Spanish>Controla si los vehículos siempre será destruidos despues de la detonación inducida por calor.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_CookOff_enableAmmoCookoff_name"> <Key ID="STR_ACE_CookOff_enableAmmoCookoff_name">
<English>Enable vehicle ammo cook-off</English> <English>Enable vehicle ammo cook-off</English>
</Key> </Key>
<Key ID="STR_ACE_CookOff_enableAmmoCookoff_tooltip"> <Key ID="STR_ACE_CookOff_enableAmmoCookoff_tooltip">
<English>Enables cooking off of vehicle ammunition. Fires ammunition projectiles while vehicle has ammunition remaining.\nThis does NOT include fire effects.</English> <English>Enables cooking off of vehicle ammunition. Fires ammunition projectiles while vehicle has ammunition remaining.\nThis doesn't include fire effects.</English>
</Key> </Key>
<Key ID="STR_ACE_CookOff_enableBoxCookoff_name"> <Key ID="STR_ACE_CookOff_enableBoxCookoff_name">
<English>Enable ammo box cook-off</English> <English>Enable ammo box cook-off</English>
@ -80,7 +81,7 @@
<Czech>Povolit vynícení munice v krabicích</Czech> <Czech>Povolit vynícení munice v krabicích</Czech>
</Key> </Key>
<Key ID="STR_ACE_CookOff_enableBoxCookoff_tooltip"> <Key ID="STR_ACE_CookOff_enableBoxCookoff_tooltip">
<English>Enables cooking off of ammo boxes.\nThis does NOT include fire effects.</English> <English>Enables cooking off of ammo boxes.\nThis doesn't include fire effects.</English>
</Key> </Key>
<Key ID="STR_ACE_CookOff_ammoCookoffDuration_name"> <Key ID="STR_ACE_CookOff_ammoCookoffDuration_name">
<English>Ammo cook-off duration multiplier</English> <English>Ammo cook-off duration multiplier</English>

View File

@ -41,7 +41,7 @@ if ((_fullMagazines == 0) && {_bulletsRemaining == 0}) exitWith {};
private _container = _unloadTo getVariable [QGVAR(container), objNull]; private _container = _unloadTo getVariable [QGVAR(container), objNull];
if ((_container distance _unloadTo) > 10) then { _container = objNull; }; if ((_container distance _unloadTo) > 10) then { _container = objNull; };
if (isNull _container) then { if (isNull _container) then {
_container = (nearestObjects [_unloadTo, [QGVAR(ammo_holder), "GroundWeaponHolder"], 10]) param [0, objNull]; _container = (nearestObjects [_unloadTo, [["GroundWeaponHolder"], [QGVAR(ammo_holder)]] select GVAR(handleExtraMagazinesType), 10]) param [0, objNull];
}; };

View File

@ -45,17 +45,12 @@ private _categoryArray = [format ["ACE %1", localize LSTRING(DisplayName)]];
[LSTRING(progressBarTimeCoefficent_displayName), LSTRING(progressBarTimeCoefficent_description)], [LSTRING(progressBarTimeCoefficent_displayName), LSTRING(progressBarTimeCoefficent_description)],
_categoryArray, _categoryArray,
[0,2,1,2], // [min, max, default value, trailing decimals (-1 for whole numbers only)] [0,2,1,2], // [min, max, default value, trailing decimals (-1 for whole numbers only)]
true, // isGlobal true // isGlobal
{[QGVAR(progressBarTimeCoefficent), _this] call EFUNC(common,cbaSettings_settingChanged)},
false // Needs mission restart
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
QGVAR(dragAfterDeploy), "CHECKBOX", QGVAR(dragAfterDeploy), "CHECKBOX",
[LSTRING(dragAfterDeploy_displayName), LSTRING(dragAfterDeploy_description)], [LSTRING(dragAfterDeploy_displayName), LSTRING(dragAfterDeploy_description)],
_categoryArray, _categoryArray,
false, // default value false // default value
false, // isGlobal
{[QGVAR(dragAfterDeploy), _this] call EFUNC(common,cbaSettings_settingChanged)},
false // Needs mission restart
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;

View File

@ -1120,5 +1120,22 @@
<Russian>[CSW] Сумка с СПГ-9М орудием</Russian> <Russian>[CSW] Сумка с СПГ-9М орудием</Russian>
<Korean>[CSW] SPG-9M 발사기 가방</Korean> <Korean>[CSW] SPG-9M 발사기 가방</Korean>
</Key> </Key>
<!-- Used in rearm to remove the [CSW] prefix from magazine names, so adjust when necessary -->
<Key ID="STR_ACE_CSW_regex">
<English>^\[CSW\]</English>
<Spanish>^\[CSW\]</Spanish>
<German>^\[CSW\]</German>
<Portuguese>^\[CSW\]</Portuguese>
<French>^\[CSW\]</French>
<Japanese>^\[CSW\]</Japanese>
<Chinese>^\[CSW\]</Chinese>
<Chinesesimp>^\[班组\]</Chinesesimp>
<Italian>^\[CSW\]</Italian>
<Czech>^\[CSW\]</Czech>
<Turkish>^\[CSW\]</Turkish>
<Polish>^\[CSW\]</Polish>
<Russian>^\[CSW\]</Russian>
<Korean>^\[CSW\]</Korean>
</Key>
</Package> </Package>
</Project> </Project>

View File

@ -167,6 +167,7 @@
<French>Autoriser la course avec des objets légers</French> <French>Autoriser la course avec des objets légers</French>
<Portuguese>Permitir corrida com objetos leves</Portuguese> <Portuguese>Permitir corrida com objetos leves</Portuguese>
<Russian>Позволяет работать с легкими объектами</Russian> <Russian>Позволяет работать с легкими объектами</Russian>
<Spanish>Permitir correr con objetos ligeros</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Dragging_allowRunWithLightweight_Description"> <Key ID="STR_ACE_Dragging_allowRunWithLightweight_Description">
<English>Allow the player to run when carrying lightweight objects.</English> <English>Allow the player to run when carrying lightweight objects.</English>
@ -178,6 +179,7 @@
<French>Autorise le joueur à courir lorsqu'il porte un objet léger.</French> <French>Autorise le joueur à courir lorsqu'il porte un objet léger.</French>
<Portuguese>Permite ao jogador correr enquanto carrega objetos leves.</Portuguese> <Portuguese>Permite ao jogador correr enquanto carrega objetos leves.</Portuguese>
<Russian>Разрешите игроку бегать при переноске легких предметов.</Russian> <Russian>Разрешите игроку бегать при переноске легких предметов.</Russian>
<Spanish>Permite al jugador correr cuando porta objetos ligeros.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Dragging_skipContainerWeight_DisplayName"> <Key ID="STR_ACE_Dragging_skipContainerWeight_DisplayName">
<English>Skip Object Weight</English> <English>Skip Object Weight</English>
@ -189,6 +191,7 @@
<French>Ignorer le poids de l'objet</French> <French>Ignorer le poids de l'objet</French>
<Portuguese>Ignorar Peso do Objeto</Portuguese> <Portuguese>Ignorar Peso do Objeto</Portuguese>
<Russian>Игнорировать вес объекта</Russian> <Russian>Игнорировать вес объекта</Russian>
<Spanish>Ignora peso del objeto</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Dragging_skipContainerWeight_Description"> <Key ID="STR_ACE_Dragging_skipContainerWeight_Description">
<English>Determines whether object's weight is added onto weight calculations.</English> <English>Determines whether object's weight is added onto weight calculations.</English>
@ -200,6 +203,7 @@
<French>Défini si le poids d'un objet est ajouté aux calculs du poids.</French> <French>Défini si le poids d'un objet est ajouté aux calculs du poids.</French>
<Portuguese>Determina se o peso do objeto é adicionado aos cálculos de peso.</Portuguese> <Portuguese>Determina se o peso do objeto é adicionado aos cálculos de peso.</Portuguese>
<Russian>Определяет, добавляется ли вес объекта при расчете веса.</Russian> <Russian>Определяет, добавляется ли вес объекта при расчете веса.</Russian>
<Spanish>Determina si el peso del objeto es añadido en los cálculos de peso.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Dragging_weightCoefficient_DisplayName"> <Key ID="STR_ACE_Dragging_weightCoefficient_DisplayName">
<English>Max Weight Coefficient</English> <English>Max Weight Coefficient</English>
@ -210,6 +214,7 @@
<German>Maximaler Gewichtskoeffizient</German> <German>Maximaler Gewichtskoeffizient</German>
<Japanese>最大重量係数</Japanese> <Japanese>最大重量係数</Japanese>
<Russian>Максимальный коэффициент веса</Russian> <Russian>Максимальный коэффициент веса</Russian>
<Spanish>Máximo Coeficiente de Peso</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Dragging_weightCoefficient_Description"> <Key ID="STR_ACE_Dragging_weightCoefficient_Description">
<English>Modifies weight limit calculations. Set to 0 to ignore.</English> <English>Modifies weight limit calculations. Set to 0 to ignore.</English>
@ -220,6 +225,7 @@
<German>Ändert die Berechnung der Gewichtsbegrenzung. Zum Ignorieren auf 0 setzen.</German> <German>Ändert die Berechnung der Gewichtsbegrenzung. Zum Ignorieren auf 0 setzen.</German>
<Japanese>重量制限の計算を変更します。 無視するには 0 に設定します。</Japanese> <Japanese>重量制限の計算を変更します。 無視するには 0 に設定します。</Japanese>
<Russian>Изменяет расчеты предельного веса. Установите значение 0 для игнорирования.</Russian> <Russian>Изменяет расчеты предельного веса. Установите значение 0 для игнорирования.</Russian>
<Spanish>Modifica el límite de peso de los cálculos. Poner a 0 para que lo ignore.</Spanish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -76,6 +76,7 @@
<Japanese>選択した点火装置を全て起爆</Japanese> <Japanese>選択した点火装置を全て起爆</Japanese>
<Korean>활성화된 격발기의 모든 것을 폭파</Korean> <Korean>활성화된 격발기의 모든 것을 폭파</Korean>
<French>Détoner tout sur le détonateur actif</French> <French>Détoner tout sur le détonateur actif</French>
<Spanish>Detonar Todos al Activar el detonador</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Explosives_SetActiveTrigger"> <Key ID="STR_ACE_Explosives_SetActiveTrigger">
<English>Set Active Clacker</English> <English>Set Active Clacker</English>
@ -85,6 +86,7 @@
<Japanese>この点火装置を選択</Japanese> <Japanese>この点火装置を選択</Japanese>
<Korean>격발기 활성 설정</Korean> <Korean>격발기 활성 설정</Korean>
<French>Définir le détonateur actif</French> <French>Définir le détonateur actif</French>
<Spanish>Establecer el Detonador Activo</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Explosives_CycleActiveTrigger"> <Key ID="STR_ACE_Explosives_CycleActiveTrigger">
<English>Cycle Active Clacker</English> <English>Cycle Active Clacker</English>
@ -94,6 +96,7 @@
<Japanese>点火装置を切り替え</Japanese> <Japanese>点火装置を切り替え</Japanese>
<Korean>격발기 활성 전환</Korean> <Korean>격발기 활성 전환</Korean>
<French>Modifier le détonateur actif</French> <French>Modifier le détonateur actif</French>
<Spanish>Ciclar el Detonador Activo</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Explosives_ActiveTrigger"> <Key ID="STR_ACE_Explosives_ActiveTrigger">
<English>Active Clacker</English> <English>Active Clacker</English>
@ -103,6 +106,7 @@
<Japanese>選択中の点火装置</Japanese> <Japanese>選択中の点火装置</Japanese>
<Korean>격발기 활성</Korean> <Korean>격발기 활성</Korean>
<French>Détonateur actif</French> <French>Détonateur actif</French>
<Spanish>Activar Detonador</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Explosives_DetonateCode"> <Key ID="STR_ACE_Explosives_DetonateCode">
<English>Explosive code: %1</English> <English>Explosive code: %1</English>

View File

@ -5,9 +5,7 @@ private _category = [LELSTRING(common,categoryUncategorized), LLSTRING(setting_c
[LSTRING(setting_requireRopeItems_displayName)], [LSTRING(setting_requireRopeItems_displayName)],
_category, _category,
false, // default value false, // default value
true, // isGlobal true // isGlobal
{[QGVAR(requireRopeItems), _this] call EFUNC(common,cbaSettings_settingChanged)},
false // needRestart
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [

View File

@ -325,6 +325,7 @@
<French>Equipement automatique FRIES</French> <French>Equipement automatique FRIES</French>
<Portuguese>Auto-equipar FRIES</Portuguese> <Portuguese>Auto-equipar FRIES</Portuguese>
<Russian>Авто-подготовка канатов</Russian> <Russian>Авто-подготовка канатов</Russian>
<Spanish>Auto-Equipar FRIES</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Fastroping_setting_autoAddFRIES_description"> <Key ID="STR_ACE_Fastroping_setting_autoAddFRIES_description">
<English>Automatically add FRIES to helicopters that support them.</English> <English>Automatically add FRIES to helicopters that support them.</English>
@ -336,6 +337,7 @@
<French>Ajoute automatiquement des FRIES aux hélicoptères qui les supportent.</French> <French>Ajoute automatiquement des FRIES aux hélicoptères qui les supportent.</French>
<Portuguese>Adiciona automaticamente FRIES a helicópteros que os suportam.</Portuguese> <Portuguese>Adiciona automaticamente FRIES a helicópteros que os suportam.</Portuguese>
<Russian>Автоматически добавляйте канаты в вертолеты, которые их поддерживают.</Russian> <Russian>Автоматически добавляйте канаты в вертолеты, которые их поддерживают.</Russian>
<Spanish>Añadir automáticamente el FRIES a los helicópteros que lo soporten.</Spanish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -21,11 +21,7 @@ params ["_player", "_thirst", "_hunger"];
// Kill unit with max thirst or hunger // Kill unit with max thirst or hunger
if ((_thirst > 99.9 || {_hunger > 99.9}) && {random 1 < 0.5}) exitWith { if ((_thirst > 99.9 || {_hunger > 99.9}) && {random 1 < 0.5}) exitWith {
if (["ace_medical"] call EFUNC(common,isModLoaded)) then { [_player, "Hunger/Thirst empty"] call EFUNC(common,setDead);
[_player, "Hunger/Thirst empty"] call EFUNC(medical_status,setDead);
} else {
_player setDamage 1;
};
}; };
// Exit if unit is not awake, below are animation based consequences // Exit if unit is not awake, below are animation based consequences

View File

@ -28,6 +28,7 @@
<Japanese>空腹</Japanese> <Japanese>空腹</Japanese>
<Russian>Голод</Russian> <Russian>Голод</Russian>
<French>Faim</French> <French>Faim</French>
<Spanish>Hambre</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Field_Rations_Hunger_Description"> <Key ID="STR_ACE_FieldManual_Field_Rations_Hunger_Description">
<English>%3Hunger%4 increases linearly with soldier's movement speed. Restore by eating food.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Pick up food.&lt;br/&gt;%2Use [%3%12%4] and select %3Survival%4.&lt;br/&gt;%2Choose an item to consume.</English> <English>%3Hunger%4 increases linearly with soldier's movement speed. Restore by eating food.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Pick up food.&lt;br/&gt;%2Use [%3%12%4] and select %3Survival%4.&lt;br/&gt;%2Choose an item to consume.</English>
@ -39,6 +40,7 @@
<Japanese>%3空腹度%4は兵士の移動速度に比例して増加します。食べ物を食べることで回復します。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2食べ物を持つ。&lt;br/&gt;%2[%3%12%4] を使って%3サバイバル%4を選択。&lt;br/&gt;%2食べたいものを選ぶ。</Japanese> <Japanese>%3空腹度%4は兵士の移動速度に比例して増加します。食べ物を食べることで回復します。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2食べ物を持つ。&lt;br/&gt;%2[%3%12%4] を使って%3サバイバル%4を選択。&lt;br/&gt;%2食べたいものを選ぶ。</Japanese>
<Russian>%3Голод%4 линейно увеличивается со скоростью передвижения солдата. Восстанавливайтесь, употребляя пищу.&lt;br/&gt;&lt;br/&gt;%3 Использование:%4&lt;br/&gt;%2Возьмите еду.&lt;br/&gt;%2Используйте [%3%12%4] и выберите %3Выживание% 4.&lt;br/&gt;%2Выберите продукт для потребления.</Russian> <Russian>%3Голод%4 линейно увеличивается со скоростью передвижения солдата. Восстанавливайтесь, употребляя пищу.&lt;br/&gt;&lt;br/&gt;%3 Использование:%4&lt;br/&gt;%2Возьмите еду.&lt;br/&gt;%2Используйте [%3%12%4] и выберите %3Выживание% 4.&lt;br/&gt;%2Выберите продукт для потребления.</Russian>
<French>%3La faim%4 augmente linéairement avec la vitesse de déplacement du soldat. Il se régénère en consommant de la nourriture.&lt;br/&gt;&lt;br/&gt;%3Utilisation:%4&lt;br/&gt;%2Ramasser la nourriture.&lt;br/&gt;%2Utilisez [%3%12%4] et sélectionnez %3Survie%4.&lt;br/&gt;%2Choisissez un article à consommer.</French> <French>%3La faim%4 augmente linéairement avec la vitesse de déplacement du soldat. Il se régénère en consommant de la nourriture.&lt;br/&gt;&lt;br/&gt;%3Utilisation:%4&lt;br/&gt;%2Ramasser la nourriture.&lt;br/&gt;%2Utilisez [%3%12%4] et sélectionnez %3Survie%4.&lt;br/&gt;%2Choisissez un article à consommer.</French>
<Spanish>El %3Hambre%4 aumenta linealmente con los movimientos del soldado. Se reestablece comiendo comida.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Coger comida.&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Sobrevivir%4.&lt;br/&gt;%2Elegir un objeto para consumir.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Field_Rations_Thirst_DisplayName"> <Key ID="STR_ACE_FieldManual_Field_Rations_Thirst_DisplayName">
<English>Thirst</English> <English>Thirst</English>
@ -50,6 +52,7 @@
<Japanese>渇き</Japanese> <Japanese>渇き</Japanese>
<Russian>Жажда</Russian> <Russian>Жажда</Russian>
<French>Soif</French> <French>Soif</French>
<Spanish>Sed</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Field_Rations_Thirst_Description"> <Key ID="STR_ACE_FieldManual_Field_Rations_Thirst_Description">
<English>%3Thirst%4 increases linearly with soldier's movement speed. Restore by drinking liquids.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Pick up a drink.&lt;br/&gt;%2Use [%3%12%4] and select %3Survival%4.&lt;br/&gt;%2Choose an item to consume.</English> <English>%3Thirst%4 increases linearly with soldier's movement speed. Restore by drinking liquids.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Pick up a drink.&lt;br/&gt;%2Use [%3%12%4] and select %3Survival%4.&lt;br/&gt;%2Choose an item to consume.</English>
@ -61,6 +64,7 @@
<Japanese>%3喉の渇き%4は兵士の移動速度に比例して増加します。飲み物を飲むことで回復します。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2飲み物を持つ。&lt;br/&gt;%2[%3%12%4] を使って%3サバイバル%4を選択。&lt;br/&gt;%2飲みたいものを選ぶ。</Japanese> <Japanese>%3喉の渇き%4は兵士の移動速度に比例して増加します。飲み物を飲むことで回復します。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2飲み物を持つ。&lt;br/&gt;%2[%3%12%4] を使って%3サバイバル%4を選択。&lt;br/&gt;%2飲みたいものを選ぶ。</Japanese>
<Russian>%3Жажда%4 линейно увеличивается со скоростью передвижения солдата. Восстанавливайтесь, употребляя напитки.&lt;br/&gt;&lt;br/&gt;%3 Использование:%4&lt;br/&gt;%2Возьмите напиток.&lt;br/&gt;%2Используйте [%3%12%4] и выберите %3Выживание% 4.&lt;br/&gt;%2Выберите напиток для потребления.</Russian> <Russian>%3Жажда%4 линейно увеличивается со скоростью передвижения солдата. Восстанавливайтесь, употребляя напитки.&lt;br/&gt;&lt;br/&gt;%3 Использование:%4&lt;br/&gt;%2Возьмите напиток.&lt;br/&gt;%2Используйте [%3%12%4] и выберите %3Выживание% 4.&lt;br/&gt;%2Выберите напиток для потребления.</Russian>
<French>%3La soif%4 augmente linéairement avec la vitesse de déplacement du soldat. Elle se régénère en buvant des liquides.&lt;br/&gt;&lt;br/&gt;%3Utilisez [%3%12%4] et choisissez %3survival%4.&lt;br /&gt;%2Choisissez un article à boire.</French> <French>%3La soif%4 augmente linéairement avec la vitesse de déplacement du soldat. Elle se régénère en buvant des liquides.&lt;br/&gt;&lt;br/&gt;%3Utilisez [%3%12%4] et choisissez %3survival%4.&lt;br /&gt;%2Choisissez un article à boire.</French>
<Spanish>La %3Sed%4 aumenta linealmente con la velocidad de movimiento del soldado. Se restaura bebiendo líquidos.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Selecciona una bebida.&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Sobrevivir%4.&lt;br/&gt;%2Elegir un objeto para consumir.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_DisplayName"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_DisplayName">
<English>Medical Treatment</English> <English>Medical Treatment</English>
@ -72,6 +76,7 @@
<Japanese>治療</Japanese> <Japanese>治療</Japanese>
<Russian>Медицинское лечение</Russian> <Russian>Медицинское лечение</Russian>
<French>Traitement médical</French> <French>Traitement médical</French>
<Spanish>Tratamiento Médico</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_Adenosine_ShortName"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_Adenosine_ShortName">
<English>Decrease Heart Rate</English> <English>Decrease Heart Rate</English>
@ -83,6 +88,7 @@
<Japanese>心拍数を下げる</Japanese> <Japanese>心拍数を下げる</Japanese>
<Russian>Уменьшить частоту сердечных сокращений</Russian> <Russian>Уменьшить частоту сердечных сокращений</Russian>
<French>Diminution de la fréquence cardiaque</French> <French>Diminution de la fréquence cardiaque</French>
<Spanish>Disminuir Ritmo Cardíaco</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_Adenosine_Description"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_Adenosine_Description">
<English>%3Adenosine%4 is used to decrease heart rate.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select an appendage.&lt;br/&gt;%2Inject %3Adenosine%4.</English> <English>%3Adenosine%4 is used to decrease heart rate.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select an appendage.&lt;br/&gt;%2Inject %3Adenosine%4.</English>
@ -94,6 +100,7 @@
<Japanese>%3アデシン%4は心拍数を下げるのに使われます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って四肢を選択します。&lt;br/&gt;%2そして%3アデシン%4を注射します。</Japanese> <Japanese>%3アデシン%4は心拍数を下げるのに使われます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って四肢を選択します。&lt;br/&gt;%2そして%3アデシン%4を注射します。</Japanese>
<Russian>%3Аденозин%4 используется для снижения частоты сердечных сокращений.&lt;br/&gt;&lt;br/&gt;%3Применение:%4&lt;br/&gt;%2Используйте [%3%13%4] или [%3%14%4] и выберите конечность.&lt;br/&gt;%2Введите %3Аденозин%4.</Russian> <Russian>%3Аденозин%4 используется для снижения частоты сердечных сокращений.&lt;br/&gt;&lt;br/&gt;%3Применение:%4&lt;br/&gt;%2Используйте [%3%13%4] или [%3%14%4] и выберите конечность.&lt;br/&gt;%2Введите %3Аденозин%4.</Russian>
<French>L'%3adénosine%4 est utilisée pour réduire la fréquence cardiaque.&lt;br/&gt;&lt;br/&gt;%3Utilisation:%4&lt;br/&gt;%2Utilisez [%3%13%4] ou [%3%14%4] et sélectionnez un membre.&lt;br/&gt;%2Injectez l'%3Adénosine%4.</French> <French>L'%3adénosine%4 est utilisée pour réduire la fréquence cardiaque.&lt;br/&gt;&lt;br/&gt;%3Utilisation:%4&lt;br/&gt;%2Utilisez [%3%13%4] ou [%3%14%4] et sélectionnez un membre.&lt;br/&gt;%2Injectez l'%3Adénosine%4.</French>
<Spanish>La %3Adenosina%4 se usa para disminuir el ritmo cardíaco.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Uso [%3%13%4] o [%3%14%4] y selecciona una extremidad.&lt;br/&gt;%2Inyectar %3Adenosina%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_Bandages_DisplayName"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_Bandages_DisplayName">
<English>Bandages</English> <English>Bandages</English>
@ -105,6 +112,7 @@
<Japanese>包帯</Japanese> <Japanese>包帯</Japanese>
<Russian>Бинты</Russian> <Russian>Бинты</Russian>
<French>Pansements</French> <French>Pansements</French>
<Spanish>Vendas</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_Bandages_ShortName"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_Bandages_ShortName">
<English>Close Wounds</English> <English>Close Wounds</English>
@ -116,6 +124,7 @@
<Japanese>傷口をふさぐ</Japanese> <Japanese>傷口をふさぐ</Japanese>
<Russian>Закрыть раны</Russian> <Russian>Закрыть раны</Russian>
<French>Fermer les plaies</French> <French>Fermer les plaies</French>
<Spanish>Cerrar Heridas</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_Bandages_Description"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_Bandages_Description">
<English>%3Bandages%4 stop bleeding and close wounds. Depending on your settings, bandages may reopen if surgery is not performed.&lt;br/&gt;&lt;br/&gt;%2%3Field Dressing:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Average&lt;/t&gt; In All Categories&lt;br/&gt;%2%3Packing Bandage:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Average&lt;/t&gt; Treatment&lt;br/&gt;%11&lt;t color='#E60000'&gt;Higher&lt;/t&gt; Reopen Chance&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Longer&lt;/t&gt; Reopen Delay&lt;br/&gt;%2%3Elastic Bandage:%4&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Higher&lt;/t&gt; Treatment&lt;br/&gt;%11&lt;t color='#E60000'&gt;Higher&lt;/t&gt; Reopen Chance&lt;br/&gt;%11&lt;t color='#E60000'&gt;Shorter&lt;/t&gt; Reopen Delay&lt;br/&gt;%2%3Quickclot:%4&lt;br/&gt;%11&lt;t color='#E60000'&gt;Lower&lt;/t&gt; Treatment&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Lower&lt;/t&gt; Reopen Chance&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Longer&lt;/t&gt; Reopening Delay&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select a injured body part.&lt;br/&gt;%2Bandage body part by selecting desired %3Bandage%4 type.</English> <English>%3Bandages%4 stop bleeding and close wounds. Depending on your settings, bandages may reopen if surgery is not performed.&lt;br/&gt;&lt;br/&gt;%2%3Field Dressing:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Average&lt;/t&gt; In All Categories&lt;br/&gt;%2%3Packing Bandage:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Average&lt;/t&gt; Treatment&lt;br/&gt;%11&lt;t color='#E60000'&gt;Higher&lt;/t&gt; Reopen Chance&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Longer&lt;/t&gt; Reopen Delay&lt;br/&gt;%2%3Elastic Bandage:%4&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Higher&lt;/t&gt; Treatment&lt;br/&gt;%11&lt;t color='#E60000'&gt;Higher&lt;/t&gt; Reopen Chance&lt;br/&gt;%11&lt;t color='#E60000'&gt;Shorter&lt;/t&gt; Reopen Delay&lt;br/&gt;%2%3Quickclot:%4&lt;br/&gt;%11&lt;t color='#E60000'&gt;Lower&lt;/t&gt; Treatment&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Lower&lt;/t&gt; Reopen Chance&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Longer&lt;/t&gt; Reopening Delay&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select a injured body part.&lt;br/&gt;%2Bandage body part by selecting desired %3Bandage%4 type.</English>
@ -125,6 +134,7 @@
<German>%3Verbände%4 stoppen Blutungen und schließen Wunden. Abhängig von Ihren Einstellungen können sich Verbände wieder öffnen, wenn keine Operation durchgeführt wird.&lt;br/&gt;&lt;br/&gt;%2%3Einfache Bandage:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Durchschnittlich&lt;/t&gt; In allen Kategorien&lt;br/&gt;%2%3Mullbinde:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Durchschnittliche&lt;/t&gt; Behandlung&lt;br/&gt;%11&lt;t color='#E60000' &gt;Höhere&lt;/t&gt; Wiedereröffnungswahrscheinlichkeit&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Längere&lt;/t&gt; Wiedereröffnungsverzögerung&lt;br/&gt;%2%3Elastischer Verband:%4&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Längere&lt;/t&gt; Behandlung&lt;br/&gt;%11&lt;t color='#E60000'&gt;Höhere&lt;/t&gt; Chance auf Wiedereröffnung&lt;br/&gt;%11&lt;t color='#E60000'&gt; Kürzere&lt;/t&gt; Wiedereröffnungsverzögerung&lt;br/&gt;%2%3Quickclot:%4&lt;br/&gt;%11&lt;t color='#E60000'&gt;Kürzere&lt;/t&gt; Behandlung&lt;br/&gt;%11&lt;t color=' #00CC00'&gt;Geringere&lt;/t&gt; Wiedereröffnungswahrscheinlichkeit&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Längere&lt;/t&gt; Wiedereröffnungsverzögerung&lt;br/&gt;&lt;br/&gt;%3Verwende:%4&lt;br/&gt; %2Verwenden Sie [%3%13%4] oder [%3%14%4] und wähle ein verletztes Körperteil aus.&lt;br/&gt;%2Verbinde ein Körperteil, indem der gewünschte %3Bandagen%4-Typ ausgewählt wurde.</German> <German>%3Verbände%4 stoppen Blutungen und schließen Wunden. Abhängig von Ihren Einstellungen können sich Verbände wieder öffnen, wenn keine Operation durchgeführt wird.&lt;br/&gt;&lt;br/&gt;%2%3Einfache Bandage:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Durchschnittlich&lt;/t&gt; In allen Kategorien&lt;br/&gt;%2%3Mullbinde:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Durchschnittliche&lt;/t&gt; Behandlung&lt;br/&gt;%11&lt;t color='#E60000' &gt;Höhere&lt;/t&gt; Wiedereröffnungswahrscheinlichkeit&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Längere&lt;/t&gt; Wiedereröffnungsverzögerung&lt;br/&gt;%2%3Elastischer Verband:%4&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Längere&lt;/t&gt; Behandlung&lt;br/&gt;%11&lt;t color='#E60000'&gt;Höhere&lt;/t&gt; Chance auf Wiedereröffnung&lt;br/&gt;%11&lt;t color='#E60000'&gt; Kürzere&lt;/t&gt; Wiedereröffnungsverzögerung&lt;br/&gt;%2%3Quickclot:%4&lt;br/&gt;%11&lt;t color='#E60000'&gt;Kürzere&lt;/t&gt; Behandlung&lt;br/&gt;%11&lt;t color=' #00CC00'&gt;Geringere&lt;/t&gt; Wiedereröffnungswahrscheinlichkeit&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Längere&lt;/t&gt; Wiedereröffnungsverzögerung&lt;br/&gt;&lt;br/&gt;%3Verwende:%4&lt;br/&gt; %2Verwenden Sie [%3%13%4] oder [%3%14%4] und wähle ein verletztes Körperteil aus.&lt;br/&gt;%2Verbinde ein Körperteil, indem der gewünschte %3Bandagen%4-Typ ausgewählt wurde.</German>
<Italian>%3Bende%4 fermano emorragie e chiudono ferite. A seconda delle tue impostazioni, ferite bendate potrebbero riaprirsi se non suturate.&lt;br/&gt;&lt;br/&gt;%2%3Bendaggio Basico:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Media&lt;/t&gt; In tutte le categorie&lt;br/&gt;%2%3Bendaggio Compressivo:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Media&lt;/t&gt; Trattamenti&lt;br/&gt;%11&lt;t color='#E60000'&gt;Alta&lt;/t&gt; Probabilità di riapertura&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Lungo&lt;/t&gt; Tempo di riapertura&lt;br/&gt;%2%3Bendaggio Elastico:%4&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Alto&lt;/t&gt; Trattamento&lt;br/&gt;%11&lt;t color='#E60000'&gt;Alto&lt;/t&gt; Probabilità di riapertura&lt;br/&gt;%11&lt;t color='#E60000'&gt;Breve&lt;/t&gt; Tempo di riapertura&lt;br/&gt;%2%3Quickclot:%4&lt;br/&gt;%11&lt;t color='#E60000'&gt;Basso&lt;/t&gt; Trattamento&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Basso&lt;/t&gt; Probabilità di riapertura&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Lungo&lt;/t&gt; Tempo di riapertura&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] seleziona una parte del corpo ferita.&lt;br/&gt;%2Benda la parte del corpo ferita selezionando la %3Benda%4 desiderato.</Italian> <Italian>%3Bende%4 fermano emorragie e chiudono ferite. A seconda delle tue impostazioni, ferite bendate potrebbero riaprirsi se non suturate.&lt;br/&gt;&lt;br/&gt;%2%3Bendaggio Basico:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Media&lt;/t&gt; In tutte le categorie&lt;br/&gt;%2%3Bendaggio Compressivo:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Media&lt;/t&gt; Trattamenti&lt;br/&gt;%11&lt;t color='#E60000'&gt;Alta&lt;/t&gt; Probabilità di riapertura&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Lungo&lt;/t&gt; Tempo di riapertura&lt;br/&gt;%2%3Bendaggio Elastico:%4&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Alto&lt;/t&gt; Trattamento&lt;br/&gt;%11&lt;t color='#E60000'&gt;Alto&lt;/t&gt; Probabilità di riapertura&lt;br/&gt;%11&lt;t color='#E60000'&gt;Breve&lt;/t&gt; Tempo di riapertura&lt;br/&gt;%2%3Quickclot:%4&lt;br/&gt;%11&lt;t color='#E60000'&gt;Basso&lt;/t&gt; Trattamento&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Basso&lt;/t&gt; Probabilità di riapertura&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Lungo&lt;/t&gt; Tempo di riapertura&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] seleziona una parte del corpo ferita.&lt;br/&gt;%2Benda la parte del corpo ferita selezionando la %3Benda%4 desiderato.</Italian>
<Japanese>%3包帯%4は傷口をとじて出血を止めます。設定によっては、手術を行わないと包帯が解けて傷が再開放し出血が再開する場合があります。&lt;br/&gt;&lt;br/&gt;%2%3緊急圧迫包帯:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;平均的な&lt;/t&gt; 全体性能を持っています&lt;br/&gt;%2%3弾性包帯:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;平均的な&lt;/t&gt; 治療効果&lt;br/&gt;%11&lt;t color='#E60000'&gt;高い&lt;/t&gt; 再解放の可能性&lt;br/&gt;%11&lt;t color='#00CC00'&gt;長い&lt;/t&gt; 再解放の再計算間隔&lt;br/&gt;%2%3伸縮包帯:%4&lt;br/&gt;%11&lt;t color='#00CC00'&gt;高い&lt;/t&gt; 治療効果&lt;br/&gt;%11&lt;t color='#E60000'&gt;高い&lt;/t&gt; 再解放の可能性&lt;br/&gt;%11&lt;t color='#E60000'&gt;短い&lt;/t&gt; 再解放の再計算間隔&lt;br/&gt;%2%クイッククロット:%4&lt;br/&gt;%11&lt;t color='#E60000'&gt;低い&lt;/t&gt; 治療効果&lt;br/&gt;%11&lt;t color='#00CC00'&gt;低い&lt;/t&gt; 再解放の可能性&lt;br/&gt;%11&lt;t color='#00CC00'&gt;長い&lt;/t&gt; 再解放の再計算間隔&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って身体の負傷個所を選択します。&lt;br/&gt;%2希望の%3包帯%4の種類を選択して部位に包帯を巻きます。</Japanese> <Japanese>%3包帯%4は傷口をとじて出血を止めます。設定によっては、手術を行わないと包帯が解けて傷が再開放し出血が再開する場合があります。&lt;br/&gt;&lt;br/&gt;%2%3緊急圧迫包帯:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;平均的な&lt;/t&gt; 全体性能を持っています&lt;br/&gt;%2%3弾性包帯:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;平均的な&lt;/t&gt; 治療効果&lt;br/&gt;%11&lt;t color='#E60000'&gt;高い&lt;/t&gt; 再解放の可能性&lt;br/&gt;%11&lt;t color='#00CC00'&gt;長い&lt;/t&gt; 再解放の再計算間隔&lt;br/&gt;%2%3伸縮包帯:%4&lt;br/&gt;%11&lt;t color='#00CC00'&gt;高い&lt;/t&gt; 治療効果&lt;br/&gt;%11&lt;t color='#E60000'&gt;高い&lt;/t&gt; 再解放の可能性&lt;br/&gt;%11&lt;t color='#E60000'&gt;短い&lt;/t&gt; 再解放の再計算間隔&lt;br/&gt;%2%クイッククロット:%4&lt;br/&gt;%11&lt;t color='#E60000'&gt;低い&lt;/t&gt; 治療効果&lt;br/&gt;%11&lt;t color='#00CC00'&gt;低い&lt;/t&gt; 再解放の可能性&lt;br/&gt;%11&lt;t color='#00CC00'&gt;長い&lt;/t&gt; 再解放の再計算間隔&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って身体の負傷個所を選択します。&lt;br/&gt;%2希望の%3包帯%4の種類を選択して部位に包帯を巻きます。</Japanese>
<Spanish>Las %3Vendas%4 paran el sangrado y cierran las heridas. Dependiendo de las opciones configuradas, las heridas pueden reabrirse si no se realiza cirugía.&lt;br/&gt;&lt;br/&gt;%2%3Vendaje de campaña:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Medio&lt;/t&gt; en todas las categorias&lt;br/&gt;%2%3Vendaje compresivo:%4&lt;br/&gt;%11&lt;t color='#D9D900'&gt;Medio&lt;/t&gt; Tratamiento&lt;br/&gt;%11&lt;t color='#E60000'&gt;Alto&lt;/t&gt; Probabilidad de Reapertura&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Larga&lt;/t&gt; Retardo en reapertura&lt;br/&gt;%2%3Vendaje elástico:%4&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Alto&lt;/t&gt; Tratamiento&lt;br/&gt;%11&lt;t color='#E60000'&gt;Alto&lt;/t&gt; Probabilidad de reapertura&lt;br/&gt;%11&lt;t color='#E60000'&gt;Corto&lt;/t&gt; Retardo en reapertura&lt;br/&gt;%2%3Quickclot:%4&lt;br/&gt;%11&lt;t color='#E60000'&gt;Bajo&lt;/t&gt; Tratamiento&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Bajo&lt;/t&gt; Probabilidad de Reapertura&lt;br/&gt;%11&lt;t color='#00CC00'&gt;Larga&lt;/t&gt; Retardo en reapertura&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Uso [%3%13%4] o [%3%14%4] y selecciona una parte del cuerpo herida.&lt;br/&gt;%2Venda la parte del cuerpo seleccionada eligiendo el tipo de %3Venda%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_IVFluids_DisplayName"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_IVFluids_DisplayName">
<English>IV Fluids</English> <English>IV Fluids</English>
@ -135,6 +145,7 @@
<Italian>Fluidi EV</Italian> <Italian>Fluidi EV</Italian>
<Japanese>IV 輸液</Japanese> <Japanese>IV 輸液</Japanese>
<French>IV Fluides</French> <French>IV Fluides</French>
<Spanish>Fluidos IV</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_IVFluids_ShortName"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_IVFluids_ShortName">
<English>Restore Blood Volume</English> <English>Restore Blood Volume</English>
@ -146,6 +157,7 @@
<Japanese>血液量を回復する</Japanese> <Japanese>血液量を回復する</Japanese>
<Russian>Внутривенные жидкости</Russian> <Russian>Внутривенные жидкости</Russian>
<French>Restaurer le volume sanguin</French> <French>Restaurer le volume sanguin</French>
<Spanish>Reestablece el volumen de sangre</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_IVFluids_Description"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_IVFluids_Description">
<English>%3IV fluids%4 restore lost blood volume. Blood, Plasma, and Saline are functionally the same.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select an appendage.&lt;br/&gt;%2Restore blood volume by selecting desired %3IV Fluid%4 type.</English> <English>%3IV fluids%4 restore lost blood volume. Blood, Plasma, and Saline are functionally the same.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select an appendage.&lt;br/&gt;%2Restore blood volume by selecting desired %3IV Fluid%4 type.</English>
@ -156,6 +168,7 @@
<Italian>%3Fluidi EV%4 ristorano volume di sangue perso. Sangue, Plasma, e Salina sono funzionalmente identiche.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] e seleziona un arto.&lt;br/&gt;%2Ristora il volume di sangue selezionando il tipo di %3Fluido EV%4 desiderato.</Italian> <Italian>%3Fluidi EV%4 ristorano volume di sangue perso. Sangue, Plasma, e Salina sono funzionalmente identiche.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] e seleziona un arto.&lt;br/&gt;%2Ristora il volume di sangue selezionando il tipo di %3Fluido EV%4 desiderato.</Italian>
<Japanese>%3IV 輸液%4は失われた血液を回復します。血液、血漿、生理食塩水は機能的には同じです。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って四肢を選択します。&lt;br/&gt;%2希望の%3IV 輸液%4の種類を選択して、血液量を復元します。</Japanese> <Japanese>%3IV 輸液%4は失われた血液を回復します。血液、血漿、生理食塩水は機能的には同じです。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って四肢を選択します。&lt;br/&gt;%2希望の%3IV 輸液%4の種類を選択して、血液量を復元します。</Japanese>
<Russian>%%3Внутривенные жидкости%4восстанавливают потерянный объем крови. Кровь, плазма и физраствор функционально идентичны.&lt;br/&gt;&lt;br/&gt;%3 Использование:%4&lt;br/&gt;%2 Используйте [%3%13%4] или [%3%14%4] и выберите добавку.&lt;br/&gt;%2 Восстановите объем крови выбрав желаемый %4тип %3жидкости</Russian> <Russian>%%3Внутривенные жидкости%4восстанавливают потерянный объем крови. Кровь, плазма и физраствор функционально идентичны.&lt;br/&gt;&lt;br/&gt;%3 Использование:%4&lt;br/&gt;%2 Используйте [%3%13%4] или [%3%14%4] и выберите добавку.&lt;br/&gt;%2 Восстановите объем крови выбрав желаемый %4тип %3жидкости</Russian>
<Spanish>Los %3Fluidos IV%4 restauran el volumen de sangre. Sangre, Plasma, y Salino funcionan de manera similar.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Uso [%3%13%4] o [%3%14%4] y seleccionar una extremidad.&lt;br/&gt;%2Restaura el volumen de sangre seleccionando el tipo de %3Fluido IV%4 elegido.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_Epinephrine_ShortName"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_Epinephrine_ShortName">
<English>Increase Heart Rate | Wake Up Faster</English> <English>Increase Heart Rate | Wake Up Faster</English>
@ -167,6 +180,7 @@
<Japanese>心拍数を上げる | はやく起こす</Japanese> <Japanese>心拍数を上げる | はやく起こす</Japanese>
<Russian>Увеличьте частоту сердечных сокращений | просыпайтесь быстрее</Russian> <Russian>Увеличьте частоту сердечных сокращений | просыпайтесь быстрее</Russian>
<French>Augmentation de la fréquence cardiaque - Réveil plus rapide</French> <French>Augmentation de la fréquence cardiaque - Réveil plus rapide</French>
<Spanish>Incrementa el ritmo cardíaco | Despierta más rápido</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_Epinephrine_Description"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_Epinephrine_Description">
<English>%3Epinephrine%4 increases a patient's pulse as well as potentially decreasing the time between consciousnesss checks (effectively reducing the time needed for the patient to wake up).&lt;br/&gt;&lt;br/&gt;%3Usage%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select an appendage.&lt;br/&gt;%2Inject %3Epinephrine%4.</English> <English>%3Epinephrine%4 increases a patient's pulse as well as potentially decreasing the time between consciousnesss checks (effectively reducing the time needed for the patient to wake up).&lt;br/&gt;&lt;br/&gt;%3Usage%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select an appendage.&lt;br/&gt;%2Inject %3Epinephrine%4.</English>
@ -176,6 +190,7 @@
<German>%3Epinephrine%4 erhöht den Puls eines Patienten und verkürzt möglicherweise die Zeit zwischen Bewusstseinskontrollen (wodurch die Zeit, die der Patient zum Aufwachen benötigt, effektiv verkürzt wird).&lt;br/&gt;&lt;br/&gt;%3Verwendung%4&lt;br/&gt;%2Verwende [%3%13%4] oder [%3%14%4] und wählen ein Körperteil aus.&lt;br/&gt;%2Injiziere %3Epinephrine%4.</German> <German>%3Epinephrine%4 erhöht den Puls eines Patienten und verkürzt möglicherweise die Zeit zwischen Bewusstseinskontrollen (wodurch die Zeit, die der Patient zum Aufwachen benötigt, effektiv verkürzt wird).&lt;br/&gt;&lt;br/&gt;%3Verwendung%4&lt;br/&gt;%2Verwende [%3%13%4] oder [%3%14%4] und wählen ein Körperteil aus.&lt;br/&gt;%2Injiziere %3Epinephrine%4.</German>
<Italian>%3Epinefrina%4 aumenta il ritmo cardiaco di un paziente e riduce potenzialmente gli intervalli tra verifiche di coscienza (effettivamente riducendo il tempo necessario che questo paziente si svegli).&lt;br/&gt;&lt;br/&gt;%3Utilizzo%4&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] e seleziona un arto.&lt;br/&gt;%2Inietta %3Epinefrina%4.</Italian> <Italian>%3Epinefrina%4 aumenta il ritmo cardiaco di un paziente e riduce potenzialmente gli intervalli tra verifiche di coscienza (effettivamente riducendo il tempo necessario che questo paziente si svegli).&lt;br/&gt;&lt;br/&gt;%3Utilizzo%4&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] e seleziona un arto.&lt;br/&gt;%2Inietta %3Epinefrina%4.</Italian>
<Japanese>%3アドレナリン%4は、患者の脈拍を増加させるだけでなく、意識チェックの間隔を短縮する可能性があります。 (患者が目覚めるまでに必要な時間を効果的に短縮します)&lt;br/&gt;&lt;br/&gt;%3使用方法%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って四肢を選択します。&lt;br/&gt;%2%3アドレナリン%4を注射します。</Japanese> <Japanese>%3アドレナリン%4は、患者の脈拍を増加させるだけでなく、意識チェックの間隔を短縮する可能性があります。 (患者が目覚めるまでに必要な時間を効果的に短縮します)&lt;br/&gt;&lt;br/&gt;%3使用方法%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って四肢を選択します。&lt;br/&gt;%2%3アドレナリン%4を注射します。</Japanese>
<Spanish>La %3Epinefrina%4 aumenta el pulso del paciente así como potencialmente disminuye el tiempo entre las comprobaciones sobre consciencia (reduciendo de manera efectiva el tiempo de despertar del paciente).&lt;br/&gt;&lt;br/&gt;%3Uso%4&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] y selecciona una extremidad.&lt;br/&gt;%2Inyecta %3Epinefrina%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_PAK_ShortName"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_PAK_ShortName">
<English>Restore Like New</English> <English>Restore Like New</English>
@ -187,6 +202,7 @@
<Japanese>生まれたてのように回復する</Japanese> <Japanese>生まれたてのように回復する</Japanese>
<Russian>Лечение тела</Russian> <Russian>Лечение тела</Russian>
<French>Remettre comme neuf</French> <French>Remettre comme neuf</French>
<Spanish>Restaurar como nuevo</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_PAK_Description"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_PAK_Description">
<English>The %3Personal Aid Kit%4 is an item that allows a soldier to be fully healed. Independent of %3ACE Settings%4, it requires that the patient is in %3Stable Condition%4 before use.&lt;br/&gt;&lt;br/&gt;%3Stable Condition%4 qualifies as:&lt;br/&gt;%2Unit is %3Alive%4.&lt;br/&gt;%2Unit is %3Conscious%4.&lt;br/&gt;%2Unit has no active %3Bleeding%4.&lt;br/&gt;%2Heart Rate &gt;= 40.&lt;br/&gt;%2Systolic BP &gt;= 60.&lt;br/&gt;%2Diastolic BP &gt;= 50.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Move to appropriate location depending on %3ACE Settings%4.&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select %3Advanced Treatments%4&lt;br/&gt;%2Select %3Use Personal Aid Kit%4.</English> <English>The %3Personal Aid Kit%4 is an item that allows a soldier to be fully healed. Independent of %3ACE Settings%4, it requires that the patient is in %3Stable Condition%4 before use.&lt;br/&gt;&lt;br/&gt;%3Stable Condition%4 qualifies as:&lt;br/&gt;%2Unit is %3Alive%4.&lt;br/&gt;%2Unit is %3Conscious%4.&lt;br/&gt;%2Unit has no active %3Bleeding%4.&lt;br/&gt;%2Heart Rate &gt;= 40.&lt;br/&gt;%2Systolic BP &gt;= 60.&lt;br/&gt;%2Diastolic BP &gt;= 50.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Move to appropriate location depending on %3ACE Settings%4.&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select %3Advanced Treatments%4&lt;br/&gt;%2Select %3Use Personal Aid Kit%4.</English>
@ -196,6 +212,7 @@
<German>Das %3Persönliche Erste Hilfe Kit%4 ist ein Gegenstand, der es einem Soldaten ermöglicht, vollständig geheilt zu werden. Unabhängig von den %3ACE-Einstellungen%4 ist es erforderlich, dass sich der Patient vor der Verwendung in einem %3stabilen Zustand%4 befindet.&lt;br/&gt;&lt;br/&gt;%3Stabiler Zustand%4 gilt wenn:&lt;br/&gt;%2Einheit ist %3am Leben%4 .&lt;br/&gt;%2Einheit ist %3Bei Bewusstsein%4.&lt;br/&gt;%2Einheit hat keine aktive %3Blutung%4.&lt;br/&gt;%2Herzfrequenz &gt;= 40.&lt;br/&gt;%2Systolischer Blutdruck &gt;= 60.&lt; br/&gt;%2Diastolischer Blutdruck &gt;= 50.&lt;br/&gt;&lt;br/&gt;%3Verwende:%4&lt;br/&gt;%2Bewege den Patienten je nach %3ACE-Einstellungen%4 an den entsprechenden Ort.&lt;br/&gt;%2Verwende [%3% 13%4] oder [%3%14%4] und wähle %3Erweiterte Behandlungen%4&lt;br/&gt;%2Wähle %3Persönliche Erste Hilfe Kit verwenden%4.</German> <German>Das %3Persönliche Erste Hilfe Kit%4 ist ein Gegenstand, der es einem Soldaten ermöglicht, vollständig geheilt zu werden. Unabhängig von den %3ACE-Einstellungen%4 ist es erforderlich, dass sich der Patient vor der Verwendung in einem %3stabilen Zustand%4 befindet.&lt;br/&gt;&lt;br/&gt;%3Stabiler Zustand%4 gilt wenn:&lt;br/&gt;%2Einheit ist %3am Leben%4 .&lt;br/&gt;%2Einheit ist %3Bei Bewusstsein%4.&lt;br/&gt;%2Einheit hat keine aktive %3Blutung%4.&lt;br/&gt;%2Herzfrequenz &gt;= 40.&lt;br/&gt;%2Systolischer Blutdruck &gt;= 60.&lt; br/&gt;%2Diastolischer Blutdruck &gt;= 50.&lt;br/&gt;&lt;br/&gt;%3Verwende:%4&lt;br/&gt;%2Bewege den Patienten je nach %3ACE-Einstellungen%4 an den entsprechenden Ort.&lt;br/&gt;%2Verwende [%3% 13%4] oder [%3%14%4] und wähle %3Erweiterte Behandlungen%4&lt;br/&gt;%2Wähle %3Persönliche Erste Hilfe Kit verwenden%4.</German>
<Italian>Il %3Kit di Pronto Soccorso%4 è un oggetto che permette di curare completamente un soldato, indipendentemente da %3impostazioni ACE%4, richiede che il paziente sia in %3condizione stabile%4 prima dell'utilizzo.&lt;br/&gt;&lt;br/&gt;%3Condizione stabile%4 significa:&lt;br/&gt;%2Paziente è %3Vivo%4.&lt;br/&gt;%2Paziente è %3Conscio%4.&lt;br/&gt;%2Paziente non sta %3Sanguinando%4.&lt;br/&gt;%2Ritmo cardiaco &gt;= 40.&lt;br/&gt;%2Sistolico BC &gt;= 60.&lt;br/&gt;%2Diastolico BC &gt;= 50.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Sposta in luogo specifico a seconda delle %3impostazioni ACE%4.&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] e seleziona %3Trattamenti avanzati%4&lt;br/&gt;%2Seleziona %3Usa Kit di Pronto Soccorso%4.</Italian> <Italian>Il %3Kit di Pronto Soccorso%4 è un oggetto che permette di curare completamente un soldato, indipendentemente da %3impostazioni ACE%4, richiede che il paziente sia in %3condizione stabile%4 prima dell'utilizzo.&lt;br/&gt;&lt;br/&gt;%3Condizione stabile%4 significa:&lt;br/&gt;%2Paziente è %3Vivo%4.&lt;br/&gt;%2Paziente è %3Conscio%4.&lt;br/&gt;%2Paziente non sta %3Sanguinando%4.&lt;br/&gt;%2Ritmo cardiaco &gt;= 40.&lt;br/&gt;%2Sistolico BC &gt;= 60.&lt;br/&gt;%2Diastolico BC &gt;= 50.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Sposta in luogo specifico a seconda delle %3impostazioni ACE%4.&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] e seleziona %3Trattamenti avanzati%4&lt;br/&gt;%2Seleziona %3Usa Kit di Pronto Soccorso%4.</Italian>
<Japanese>%3個人用治療キット%4は、兵士を完全に回復できるアイテムです。使用時には%3ACE 設定%4と関係なく、対象の患者が%3安定状態%4である必要があります。&lt;br/&gt;&lt;br/&gt;%3安定状態%4とは次の状態です:&lt;br/&gt;%2ユニットが %3生存%4している。&lt;br/&gt;%2ユニットが %3覚醒状態%4である。&lt;br/&gt;%2ユニットが %3出血状態%4ではない。&lt;br/&gt;%2心拍数が40以上。&lt;br/&gt;%2収縮期血圧が60以上。&lt;br/&gt;%2拡張期血圧が50以上。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3ACE 設定%4で使用が許可された場所へ移動する。&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って%3高度な治療%4を選択する。&lt;br/&gt;%2%3個人用治療キットを使う%4を選択して使用します。</Japanese> <Japanese>%3個人用治療キット%4は、兵士を完全に回復できるアイテムです。使用時には%3ACE 設定%4と関係なく、対象の患者が%3安定状態%4である必要があります。&lt;br/&gt;&lt;br/&gt;%3安定状態%4とは次の状態です:&lt;br/&gt;%2ユニットが %3生存%4している。&lt;br/&gt;%2ユニットが %3覚醒状態%4である。&lt;br/&gt;%2ユニットが %3出血状態%4ではない。&lt;br/&gt;%2心拍数が40以上。&lt;br/&gt;%2収縮期血圧が60以上。&lt;br/&gt;%2拡張期血圧が50以上。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3ACE 設定%4で使用が許可された場所へ移動する。&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って%3高度な治療%4を選択する。&lt;br/&gt;%2%3個人用治療キットを使う%4を選択して使用します。</Japanese>
<Spanish>El %3Kit de Primeros Auxilios%4 es un objeto que permite al soldado ser curado totalmente. Independientemente de las %3Opciones de ACE%4, requiere que el paciente esté en %3Condición Estable%4 antes de usarse.&lt;br/&gt;&lt;br/&gt;%3Condición Estable%4 significa que:&lt;br/&gt;%2La unidad está %3Viva%4.&lt;br/&gt;%2La unidad está %3Consciente%4.&lt;br/&gt;%2La unidad no está %3Sangrando%4.&lt;br/&gt;%2Ritmo Cardíaco &gt;= 40.&lt;br/&gt;%2Presión Sistólica &gt;= 60.&lt;br/&gt;%2Presión Diastólica &gt;= 50.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Mover al lugar adecuado dependiendo de las%3Opciones de ACE%4.&lt;br/&gt;%2Uso [%3%13%4] o [%3%14%4] y seleccionar %3Tratamientos Avanzados%4&lt;br/&gt;%2Seleccionar %3Usar Kit de Primeros Auxilios%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_Splint_ShortName"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_Splint_ShortName">
<English>Fix Fractures</English> <English>Fix Fractures</English>
@ -207,6 +224,7 @@
<Japanese>骨折を治す</Japanese> <Japanese>骨折を治す</Japanese>
<Russian>Исправлять переломы</Russian> <Russian>Исправлять переломы</Russian>
<French>Réparation des fractures</French> <French>Réparation des fractures</French>
<Spanish>Curar Fracturas</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_Splint_Description"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_Splint_Description">
<English>A %3Splint%4 is used to fix fractures. The %3Splint%4 is consumed when used.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select an affected appendage.&lt;br/&gt;%2Select %3Apply Splint%4.</English> <English>A %3Splint%4 is used to fix fractures. The %3Splint%4 is consumed when used.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select an affected appendage.&lt;br/&gt;%2Select %3Apply Splint%4.</English>
@ -216,6 +234,7 @@
<German>Ein %3Splint%4 wird zur Fixierung von Frakturen verwendet. Der %3Splint%4 wird bei Verwendung verbraucht.&lt;br/&gt;&lt;br/&gt;%3Verwendung:%4&lt;br/&gt;%2Verwende [%3%13%4] oder [%3%14%4] und wählen ein Körperteil aus.&lt;br/&gt;%2Wähle %3Schiene verwenden%4.</German> <German>Ein %3Splint%4 wird zur Fixierung von Frakturen verwendet. Der %3Splint%4 wird bei Verwendung verbraucht.&lt;br/&gt;&lt;br/&gt;%3Verwendung:%4&lt;br/&gt;%2Verwende [%3%13%4] oder [%3%14%4] und wählen ein Körperteil aus.&lt;br/&gt;%2Wähle %3Schiene verwenden%4.</German>
<Italian>Una %3Gessatura%4 è usata per risolvere fratture. La %3Gessatura%4 è consumata quando usata.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] e seleziona un arto afflitto.&lt;br/&gt;%2Seleziona %3Applica Gessatura%4.</Italian> <Italian>Una %3Gessatura%4 è usata per risolvere fratture. La %3Gessatura%4 è consumata quando usata.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] e seleziona un arto afflitto.&lt;br/&gt;%2Seleziona %3Applica Gessatura%4.</Italian>
<Japanese>%3添え木%4は骨折の治療に使います。%3添え木%4は使用時に消費します。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って使用したい四肢を選択します。&lt;br/&gt;%2%3添え木を当てる%4を選択して使用します。</Japanese> <Japanese>%3添え木%4は骨折の治療に使います。%3添え木%4は使用時に消費します。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って使用したい四肢を選択します。&lt;br/&gt;%2%3添え木を当てる%4を選択して使用します。</Japanese>
<Spanish>La %3Férula%4 se utiliza para curar fracturas. La %3Férula%4 se consume cuando es usada.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Usar [%3%13%4] o [%3%14%4] y seleccionar la extremidad adecuada.&lt;br/&gt;%2Seleccionar %3Aaplicar Férula%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_SurgicalKit_ShortName"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_SurgicalKit_ShortName">
<English>Prevent Wounds From Reopening</English> <English>Prevent Wounds From Reopening</English>
@ -226,6 +245,7 @@
<Japanese>傷口が開くのを防ぐ</Japanese> <Japanese>傷口が開くのを防ぐ</Japanese>
<Russian>Предотвратить повторное открытие ран</Russian> <Russian>Предотвратить повторное открытие ран</Russian>
<French>Empêcher la réouverture des plaies</French> <French>Empêcher la réouverture des plaies</French>
<Spanish>Prevenir la reapertura de heridas</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_SurgicalKit_Description"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_SurgicalKit_Description">
<English>A %3Surgical Kit%4 is used to prevent wounds from reopening after being bandaged. Depending on settings, it can also clear trauma and may require additional %3Sutures%4 to close wounds. Sutures are consumable, much like bandages, and are not a replacement for the Surgical Kit.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select %3Advanced Treatment%4.&lt;br/&gt;%2Select %3Use Surgical Kit%4.</English> <English>A %3Surgical Kit%4 is used to prevent wounds from reopening after being bandaged. Depending on settings, it can also clear trauma and may require additional %3Sutures%4 to close wounds. Sutures are consumable, much like bandages, and are not a replacement for the Surgical Kit.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select %3Advanced Treatment%4.&lt;br/&gt;%2Select %3Use Surgical Kit%4.</English>
@ -234,6 +254,7 @@
<Portuguese>O %3Kit Cirúrgico%4 é utilizado para prevenir a reabertura de feridas após a aplicação de bandagens. A depender das configurações, ele também pode remover traumas e pode requerir %3Suturas%4 adicionais para fechar feridas. Suturas são consumíveis, tal como as bandagens, e não são substituem o Kit Cirúrgico.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Utilize [%3%13%4] ou [%3%14%4] e selecione %3Tratamento Avançado%4.&lt;br/&gt;%2Selecione %3Usar Kit Cirúrgico%4.</Portuguese> <Portuguese>O %3Kit Cirúrgico%4 é utilizado para prevenir a reabertura de feridas após a aplicação de bandagens. A depender das configurações, ele também pode remover traumas e pode requerir %3Suturas%4 adicionais para fechar feridas. Suturas são consumíveis, tal como as bandagens, e não são substituem o Kit Cirúrgico.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Utilize [%3%13%4] ou [%3%14%4] e selecione %3Tratamento Avançado%4.&lt;br/&gt;%2Selecione %3Usar Kit Cirúrgico%4.</Portuguese>
<Italian>Un %3Kit Chirurgico%4 è usato per impedire che ferite bendate si riaprano. A seconda delle impostazioni, può anche azzerare danni o potrebbe richiedere %3Suture%4 aggiuntive per chiudere ferite. Suture sono consumabili proprio come bende, non sono un sostituto per un Kit Chirurgico.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] e seleziona %3Trattamenti Avanzati%4.&lt;br/&gt;%2Seleziona %3Usa Kit Chirurgico%4.</Italian> <Italian>Un %3Kit Chirurgico%4 è usato per impedire che ferite bendate si riaprano. A seconda delle impostazioni, può anche azzerare danni o potrebbe richiedere %3Suture%4 aggiuntive per chiudere ferite. Suture sono consumabili proprio come bende, non sono un sostituto per un Kit Chirurgico.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] e seleziona %3Trattamenti Avanzati%4.&lt;br/&gt;%2Seleziona %3Usa Kit Chirurgico%4.</Italian>
<Japanese>%3手術キット%4は包帯を巻いた傷口が再度開いて出血するのを防ぎます。設定によっては、負傷を取り除いたり、傷口を閉じるのに%3糸付縫合針%4を必要としたりします。糸付縫合針は消耗品で包帯のように使用され、手術キットを代替するものではありません。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って%3高度な治療%4を選択する。&lt;br/&gt;%2%3手術キット%4を選択して使用します。</Japanese> <Japanese>%3手術キット%4は包帯を巻いた傷口が再度開いて出血するのを防ぎます。設定によっては、負傷を取り除いたり、傷口を閉じるのに%3糸付縫合針%4を必要としたりします。糸付縫合針は消耗品で包帯のように使用され、手術キットを代替するものではありません。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って%3高度な治療%4を選択する。&lt;br/&gt;%2%3手術キット%4を選択して使用します。</Japanese>
<Spanish>El %3Kit Quirúrgico%4 se usa para prevenir la reapertura de heridas despues de ser vendadas. Dependiendo de las opciones, tambien puede curar traumatismos y puede requerir %3Sutura%4 adicional para cerrar las heridas. Las Suturas son consumibles, al igual que las vendas, y no son un reemplazo para el Kit Quirúgico.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Usar [%3%13%4] o [%3%14%4] y seleccionar %3Tratamientos Avanzados%4.&lt;br/&gt;%2Seleccionar %3Usar Kit Quirúgico%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_CAT_ShortName"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_CAT_ShortName">
<English>Stop Bleeding</English> <English>Stop Bleeding</English>
@ -244,6 +265,7 @@
<Japanese>出血を止める</Japanese> <Japanese>出血を止める</Japanese>
<Russian>Остановить кровотечение</Russian> <Russian>Остановить кровотечение</Russian>
<French>Arrêter les saignements</French> <French>Arrêter les saignements</French>
<Spanish>Parar Sangrado</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_CAT_Description"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_CAT_Description">
<English>A %3Tourniquet%4 stops bleeding temporarily so that a wound(s) can be bandaged. Can only be used on limbs.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select an affected appendage.&lt;br/&gt;%2Select %3Apply Tourniquet%4.</English> <English>A %3Tourniquet%4 stops bleeding temporarily so that a wound(s) can be bandaged. Can only be used on limbs.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%13%4] or [%3%14%4] and select an affected appendage.&lt;br/&gt;%2Select %3Apply Tourniquet%4.</English>
@ -252,6 +274,7 @@
<Portuguese>O %3Torniquete%4 interrompe o sangramento temporariamente, para que feridas possam ser enfaixadas. Seu uso é restrito aos membros.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Utilize [%3%13%4] ou [%3%14%4] e selecione um membro afetado.&lt;br/&gt;%2Selecione %3Aplicar Torniquete%4.</Portuguese> <Portuguese>O %3Torniquete%4 interrompe o sangramento temporariamente, para que feridas possam ser enfaixadas. Seu uso é restrito aos membros.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Utilize [%3%13%4] ou [%3%14%4] e selecione um membro afetado.&lt;br/&gt;%2Selecione %3Aplicar Torniquete%4.</Portuguese>
<Italian>Un %3Laccio Emostatico%4 ferma emorragie temporaneamente in modo da poter bendare ferite con calma. Utilizzabile su arti.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] e seleziona un arto afflitto.&lt;br/&gt;%2Seleziona %3Applica Laccio Emostatico%4.</Italian> <Italian>Un %3Laccio Emostatico%4 ferma emorragie temporaneamente in modo da poter bendare ferite con calma. Utilizzabile su arti.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%13%4] o [%3%14%4] e seleziona un arto afflitto.&lt;br/&gt;%2Seleziona %3Applica Laccio Emostatico%4.</Italian>
<Japanese>%3止血帯%4は一時的に出血を止め、その間に傷に包帯を巻くことができます。四肢にのみ使用できます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って使用したい四肢を選択します。&lt;br/&gt;%2%3止血帯を巻く%4を選択して使用します。</Japanese> <Japanese>%3止血帯%4は一時的に出血を止め、その間に傷に包帯を巻くことができます。四肢にのみ使用できます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%13%4] または [%3%14%4] を使って使用したい四肢を選択します。&lt;br/&gt;%2%3止血帯を巻く%4を選択して使用します。</Japanese>
<Spanish>El %3Torniquete%4 para temporalmente el sangrado hasta que la herida sea vendada. Sólo puede ser usado en extremidades.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Usar [%3%13%4] o [%3%14%4] y seleccionar la extremidad afectada.&lt;br/&gt;%2Seleccionar %3Aplicar Torniquete%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_MedicalMenu_DisplayName"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_MedicalMenu_DisplayName">
<English>Medical Menu</English> <English>Medical Menu</English>
@ -277,6 +300,7 @@
<Portuguese>Tratamento, Simplificado</Portuguese> <Portuguese>Tratamento, Simplificado</Portuguese>
<Japanese>治療を簡略化する</Japanese> <Japanese>治療を簡略化する</Japanese>
<French>Traitement, simplifié</French> <French>Traitement, simplifié</French>
<Spanish>Tratamiento, Simplificado</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Medical_Treatment_MedicalMenu_Description"> <Key ID="STR_ACE_FieldManual_Medical_Treatment_MedicalMenu_Description">
<English>The %3Medical Menu%4 is a dedicated %3interface%4 to facilitate %3medical treatment%4. The %3R%4 and %3L%4 letters indicate the side of the patient's body being treated.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%14%4] while looking at a patient to open the Medical Menu. Opening the menu without a patient allows for self-treatment.&lt;br/&gt;%2Alternatively, use [%3%12%4] or [%3%13%4] and select %3Medical Menu%4.&lt;br/&gt;&lt;br/&gt;%3Keybinds:%4&lt;br/&gt;%2Use [%3W, A, S, D, X, and Z%4] to select body parts.&lt;br/&gt;%2Use your %3number keys%4 to select treatment categories.</English> <English>The %3Medical Menu%4 is a dedicated %3interface%4 to facilitate %3medical treatment%4. The %3R%4 and %3L%4 letters indicate the side of the patient's body being treated.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%14%4] while looking at a patient to open the Medical Menu. Opening the menu without a patient allows for self-treatment.&lt;br/&gt;%2Alternatively, use [%3%12%4] or [%3%13%4] and select %3Medical Menu%4.&lt;br/&gt;&lt;br/&gt;%3Keybinds:%4&lt;br/&gt;%2Use [%3W, A, S, D, X, and Z%4] to select body parts.&lt;br/&gt;%2Use your %3number keys%4 to select treatment categories.</English>
@ -285,6 +309,7 @@
<Portuguese>O %3Menu Médico%4 é uma %3interface%4 dedicada a facilitar o %3tratamento médico%4. As letras %3R%4 e %3L%4 indicam o lado do corpo do paciente que está recebendo o tratamento.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Utilize [%3%14%4] enquanto olha o paciente para abrir o Menu Médico. Se não houver paciente, o menu será de auto-tratamento.&lt;br/&gt;%2Alternativamente, utilize [%3%12%4] ou [%3%13%4] e selecione %3Menu Médico%4.&lt;br/&gt;&lt;br/&gt;%3Atalhos de teclado:%4&lt;br/&gt;%2Utilize [%3W, A, S, D, X, e Z%4] para selecionar partes do corpo.&lt;br/&gt;%2Utilize as %3teclas numéricas%4 para selecionar as categorias de tratamento.</Portuguese> <Portuguese>O %3Menu Médico%4 é uma %3interface%4 dedicada a facilitar o %3tratamento médico%4. As letras %3R%4 e %3L%4 indicam o lado do corpo do paciente que está recebendo o tratamento.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Utilize [%3%14%4] enquanto olha o paciente para abrir o Menu Médico. Se não houver paciente, o menu será de auto-tratamento.&lt;br/&gt;%2Alternativamente, utilize [%3%12%4] ou [%3%13%4] e selecione %3Menu Médico%4.&lt;br/&gt;&lt;br/&gt;%3Atalhos de teclado:%4&lt;br/&gt;%2Utilize [%3W, A, S, D, X, e Z%4] para selecionar partes do corpo.&lt;br/&gt;%2Utilize as %3teclas numéricas%4 para selecionar as categorias de tratamento.</Portuguese>
<Italian>Il %3Menù Medico%4 è un'%3interfaccia%4 dedicata a facilitare %3trattamenti medici%4. Le lettere %3Dx%4 e %3Sx%4 contrassegnano i lati del corpo del paziente che si stanno medicando.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%14%4] guardando il paziente per aprire il Menù Medico. Aprire il menù senza paziente di fronte permette l'automedicazione.&lt;br/&gt;%2In alternativa, usa [%3%12%4] o [%3%13%4] e seleziona %3Menù Medico%4.&lt;br/&gt;&lt;br/&gt;%3Comandi:%4&lt;br/&gt;%2Usa [%3W, A, S, D, X, and Z%4] per selezionare parti del corpo.&lt;br/&gt;%2Usa %3tasti numerici%4 per selezionare categorie di cure.</Italian> <Italian>Il %3Menù Medico%4 è un'%3interfaccia%4 dedicata a facilitare %3trattamenti medici%4. Le lettere %3Dx%4 e %3Sx%4 contrassegnano i lati del corpo del paziente che si stanno medicando.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%14%4] guardando il paziente per aprire il Menù Medico. Aprire il menù senza paziente di fronte permette l'automedicazione.&lt;br/&gt;%2In alternativa, usa [%3%12%4] o [%3%13%4] e seleziona %3Menù Medico%4.&lt;br/&gt;&lt;br/&gt;%3Comandi:%4&lt;br/&gt;%2Usa [%3W, A, S, D, X, and Z%4] per selezionare parti del corpo.&lt;br/&gt;%2Usa %3tasti numerici%4 per selezionare categorie di cure.</Italian>
<Japanese>%3医療メニュー%4は%3治療%4をしやすくするための専用%3インターフェース%4です。%3右%4と%3左%4の文字は治療を受ける患者の向きを表しています。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%14%4] を患者に視点を合わせながら押すことで患者の医療メニューを開けます。視点を合わせないで押すと、自分の医療メニューを開くことが出来ます。&lt;br/&gt;%2もしくは [%3%12%4] または [%3%13%4] を使って%3医療メニュー%4を選択します。&lt;br/&gt;&lt;br/&gt;%3キーバインド:%4&lt;br/&gt;%2[%3W, A, S, D, X, と Zキー%4] を使って身体の部位を選択できます。&lt;br/&gt;%2%3数字キー%4を使って治療項目を選択できます。</Japanese> <Japanese>%3医療メニュー%4は%3治療%4をしやすくするための専用%3インターフェース%4です。%3右%4と%3左%4の文字は治療を受ける患者の向きを表しています。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%14%4] を患者に視点を合わせながら押すことで患者の医療メニューを開けます。視点を合わせないで押すと、自分の医療メニューを開くことが出来ます。&lt;br/&gt;%2もしくは [%3%12%4] または [%3%13%4] を使って%3医療メニュー%4を選択します。&lt;br/&gt;&lt;br/&gt;%3キーバインド:%4&lt;br/&gt;%2[%3W, A, S, D, X, と Zキー%4] を使って身体の部位を選択できます。&lt;br/&gt;%2%3数字キー%4を使って治療項目を選択できます。</Japanese>
<Spanish>El %3Menú Médico%4 es una %3interfaz%4 dedicada para facilitar el %3tratamiento médico%4. Las letras %3R%4 and %3L%4 indican el lado del paciente siendo tratado.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Usar [%3%14%4] mientras se mira al paciente para abrir el Menú Médico. Abrir el menú sin mirar a un paciente permite el tratamiento a uno mismo. &lt;br/&gt;%2Alternativamente, usar [%3%12%4] o [%3%13%4] y seleccionar %3Menú Médico%4.&lt;br/&gt;&lt;br/&gt;%3Teclas asociadas:%4&lt;br/&gt;%2Usar [%3W, A, S, D, X, and Z%4] para seleccionar las partes del cuerpo.&lt;br/&gt;%2Usar las %3teclas numéricas%4 para seleccionar las categorías de tratamiento.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_ATragMX_ShortName"> <Key ID="STR_ACE_FieldManual_Items_ATragMX_ShortName">
<English>Portable, Precise, Rugged</English> <English>Portable, Precise, Rugged</English>
@ -294,6 +319,7 @@
<Italian>Leggero, Preciso, Robusto</Italian> <Italian>Leggero, Preciso, Robusto</Italian>
<Japanese>高機動、高精度、高耐久</Japanese> <Japanese>高機動、高精度、高耐久</Japanese>
<French>Portable, précis, robuste</French> <French>Portable, précis, robuste</French>
<Spanish>Portable, Preciso, Robusto</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_ATragMX_Description"> <Key ID="STR_ACE_FieldManual_Items_ATragMX_Description">
<English>The %3Horus ATragMX%4 considers atmospheric conditions, gun data, ammunition, range, speed, and muzzle velocity to calculate precise aiming solutions with %3Come-Up%4 results - and even accounts for %3Coriolis%4 and %3Spin Drift%4 effects. %3ATragMX%4, loaded on a handheld computer made by %3TDS Recon%4, is easy to use and lightning fast. The %3Recon%4 meets the rigorous %3MIL-STD-810F%4 military standard for drops, vibration, humidity, altitude and extreme temperatures.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;Please visit the wiki page for more information.</English> <English>The %3Horus ATragMX%4 considers atmospheric conditions, gun data, ammunition, range, speed, and muzzle velocity to calculate precise aiming solutions with %3Come-Up%4 results - and even accounts for %3Coriolis%4 and %3Spin Drift%4 effects. %3ATragMX%4, loaded on a handheld computer made by %3TDS Recon%4, is easy to use and lightning fast. The %3Recon%4 meets the rigorous %3MIL-STD-810F%4 military standard for drops, vibration, humidity, altitude and extreme temperatures.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;Please visit the wiki page for more information.</English>
@ -302,6 +328,7 @@
<Portuguese>O %3Horus ATragMX%4 considera condições atmosféricas, dados de armas, munição, alcance, e velocidade do projétil - e até os efeitos Coriolis e Spin - para calcular as configurações necessárias da mira. O %3ATragMX%4, carregado em um computador portátil feito pela %3TDS Recon%4, é rápido e fácil de usar. O %3Recon%4 satisfaz os rigorosos padrões militares %3MIL-STD-810F%4 para quedas, vibrações, umidade, altitude e temperaturas extremas.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;Por favor, visite a wiki para mais informações.</Portuguese> <Portuguese>O %3Horus ATragMX%4 considera condições atmosféricas, dados de armas, munição, alcance, e velocidade do projétil - e até os efeitos Coriolis e Spin - para calcular as configurações necessárias da mira. O %3ATragMX%4, carregado em um computador portátil feito pela %3TDS Recon%4, é rápido e fácil de usar. O %3Recon%4 satisfaz os rigorosos padrões militares %3MIL-STD-810F%4 para quedas, vibrações, umidade, altitude e temperaturas extremas.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;Por favor, visite a wiki para mais informações.</Portuguese>
<Italian>L'%3Horus ATragMX%4 tiene conto di condizioni atmosferiche, caratteristiche del fucile, munizioni, portata e velocità alla volata per calcolare precise impostazioni di mira con risultati %3Come-Up%4 - considerando anche effetti %3Coriolis%4 e %3Magnus%4. L'%3ATragMX%4, caricato su un computer portabile %3TDS Recon%4, è facile da usare e molto rapido nei calcoli. Il %3Recon%4 soddisfa i rigorosi standard militari %3MIL-STD-810F%4 per cadute, vibrazioni, umidità, altitudine e temperature estreme.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;Visitate la pagina wiki per ulteriori informazioni.</Italian> <Italian>L'%3Horus ATragMX%4 tiene conto di condizioni atmosferiche, caratteristiche del fucile, munizioni, portata e velocità alla volata per calcolare precise impostazioni di mira con risultati %3Come-Up%4 - considerando anche effetti %3Coriolis%4 e %3Magnus%4. L'%3ATragMX%4, caricato su un computer portabile %3TDS Recon%4, è facile da usare e molto rapido nei calcoli. Il %3Recon%4 soddisfa i rigorosi standard militari %3MIL-STD-810F%4 per cadute, vibrazioni, umidità, altitudine e temperature estreme.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;Visitate la pagina wiki per ulteriori informazioni.</Italian>
<Japanese>%3ホルス ATragMX%4は、大気条件、銃のデータ、弾薬、射程、速度、および初速を考慮した%3最適な結果が得られる%4正確な照準のための計算とその解法を提供します。さらに、%3コリオリ効果%4および%3スピン ドリフト効果%4も考慮します。%3ATragMX%4は%3TDS Recon製%4の携帯コンピュータに読み込まれており、使いやすく、超高速です。%3Recon%4はは、落下、振動、湿度、高度、極端な温度に関する厳格な%3MIL-STD-810F%4軍事規格を満たしています。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;詳細については、Wiki ページを参照してください。</Japanese> <Japanese>%3ホルス ATragMX%4は、大気条件、銃のデータ、弾薬、射程、速度、および初速を考慮した%3最適な結果が得られる%4正確な照準のための計算とその解法を提供します。さらに、%3コリオリ効果%4および%3スピン ドリフト効果%4も考慮します。%3ATragMX%4は%3TDS Recon製%4の携帯コンピュータに読み込まれており、使いやすく、超高速です。%3Recon%4はは、落下、振動、湿度、高度、極端な温度に関する厳格な%3MIL-STD-810F%4軍事規格を満たしています。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;詳細については、Wiki ページを参照してください。</Japanese>
<Spanish>El %3Horus ATragMX%4 tiene en cuenta las condiciones atmosféricas, datos del arma, munición, distancia, velocidad y velocidad en boca para calcular con precisión soluciones de tiro precisas con %3Resultados%4 - e incluso tiene en cuenta los efectos %3Coriolis%4 y %3Movimiento Giroscópico%4. %3ATragMX%4, cargado en un ordenador portátil fabricado por %3TDS Recon%4, es facil de usar y muy rápido. El %3Recon%4 cumple con los rigurosos estándares militares %3MIL-STD-810F%4 en cuanto a caidas, vibraciones, humedad, altitud y temperaturas extremas.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;Por favor, visita la página de la Wiki para más información.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_BodyBag_ShortName"> <Key ID="STR_ACE_FieldManual_Items_BodyBag_ShortName">
<English>Bring Out Your Dead</English> <English>Bring Out Your Dead</English>
@ -311,6 +338,7 @@
<Italian>Recupera i tuoi morti</Italian> <Italian>Recupera i tuoi morti</Italian>
<Japanese>死者を連れ出す</Japanese> <Japanese>死者を連れ出す</Japanese>
<French>Récupérez vos morts</French> <French>Récupérez vos morts</French>
<Spanish>Trae de vuelta a los muertos</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_BodyBag_Description"> <Key ID="STR_ACE_FieldManual_Items_BodyBag_Description">
<English>%3Body Bags%4 are used to transport dead bodies. They can be dragged and loaded into vehicles.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Approach a dead body.&lt;br/&gt;%2Use [%3%13%4] or [%3%15%4] and select %3Place Body In Bodybag%4.</English> <English>%3Body Bags%4 are used to transport dead bodies. They can be dragged and loaded into vehicles.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Approach a dead body.&lt;br/&gt;%2Use [%3%13%4] or [%3%15%4] and select %3Place Body In Bodybag%4.</English>
@ -319,6 +347,7 @@
<Portuguese>OS %3Sacos de Cadáver%4 são utilizados para transportar cadáveres. Eles podem ser arrastados e embarcados em veículos.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Aproxime-se de um cadáver.&lt;br/&gt;%2Utilize [%3%13%4] ou [%3%15%4] e selecione %3Colocar cadáver dentro do saco%4.</Portuguese> <Portuguese>OS %3Sacos de Cadáver%4 são utilizados para transportar cadáveres. Eles podem ser arrastados e embarcados em veículos.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Aproxime-se de um cadáver.&lt;br/&gt;%2Utilize [%3%13%4] ou [%3%15%4] e selecione %3Colocar cadáver dentro do saco%4.</Portuguese>
<Italian>%3Sacche per cadaveri%4 sono usate per trasportare i morti. Possono essere trascinate e caricate su veicoli.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Avvicinati ad un morto.&lt;br/&gt;%2Usa [%3%13%4] o [%3%15%4] e seleziona %3Metti il corpo nella sacca per cadaveri%4.</Italian> <Italian>%3Sacche per cadaveri%4 sono usate per trasportare i morti. Possono essere trascinate e caricate su veicoli.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Avvicinati ad un morto.&lt;br/&gt;%2Usa [%3%13%4] o [%3%15%4] e seleziona %3Metti il corpo nella sacca per cadaveri%4.</Italian>
<Japanese>%3遺体袋%4は、遺体の輸送に使用されます。引きずって車両に積み込むことができます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2遺体に近寄る。&lt;br/&gt;%2[%3%13%4] または [%3%15%4] を使って%3遺体袋に入れる%4を選択して使用します。</Japanese> <Japanese>%3遺体袋%4は、遺体の輸送に使用されます。引きずって車両に積み込むことができます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2遺体に近寄る。&lt;br/&gt;%2[%3%13%4] または [%3%15%4] を使って%3遺体袋に入れる%4を選択して使用します。</Japanese>
<Spanish>Las %3Bolsas para Cadáveres%4 se usan para transportar cadáveres. Pueden ser arrastradas y cargadas en vehículos. &lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Acercarse a un cadáver.&lt;br/&gt;%2Usar [%3%13%4] o [%3%15%4] y seleccionar %3Colocar cuerpo en la Bolsa para Cadáveres%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_CableTie_ShortName"> <Key ID="STR_ACE_FieldManual_Items_CableTie_ShortName">
<English>Take Prisoners</English> <English>Take Prisoners</English>
@ -328,6 +357,7 @@
<Italian>Prendi prigionieri</Italian> <Italian>Prendi prigionieri</Italian>
<Japanese>捕虜の捕り方</Japanese> <Japanese>捕虜の捕り方</Japanese>
<French>Faire des prisonniers</French> <French>Faire des prisonniers</French>
<Spanish>Tomar prisioneros</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_CableTie_Description"> <Key ID="STR_ACE_FieldManual_Items_CableTie_Description">
<English>%3Cable Ties%4 enable a soldier to capture and detain another soldier. Once apprehended, the captor gains the ability to inspect the prisoner's belongings, set them free, or accompany them to an alternate area. Transporting escorted prisoners is also possible, including loading them into vehicles if needed. Depending on your settings, units may need to surrender before being taken captive.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Approach the unit and use the [%3%13%4].&lt;br/&gt;%2The interaction is located around the hands in the form of a handcuffs icon.&lt;br/&gt;%2Repeat to release.</English> <English>%3Cable Ties%4 enable a soldier to capture and detain another soldier. Once apprehended, the captor gains the ability to inspect the prisoner's belongings, set them free, or accompany them to an alternate area. Transporting escorted prisoners is also possible, including loading them into vehicles if needed. Depending on your settings, units may need to surrender before being taken captive.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Approach the unit and use the [%3%13%4].&lt;br/&gt;%2The interaction is located around the hands in the form of a handcuffs icon.&lt;br/&gt;%2Repeat to release.</English>
@ -336,6 +366,7 @@
<Portuguese>As %3Algema Plásticas%4 permitem a captura e detenção de soldados. Quando apreendidos, o captor se torna capaz de inspecionar os pertences do prisioneiro, liberá-los, ou acompanhá-los a outro local. Transportes mais longos também são possíveis, podendo colocá-los em veículos, se necessário. A depender das configurações, pode ser necessário que as unidades estejam rendidas antes de serem detidas.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Aproxime-se da unidade e use [%3%13%4].&lt;br/&gt;%2A interação encontra-se próxima às mãos simbolizada por uma algema.&lt;br/&gt;%2Faça o mesmo para liberar.</Portuguese> <Portuguese>As %3Algema Plásticas%4 permitem a captura e detenção de soldados. Quando apreendidos, o captor se torna capaz de inspecionar os pertences do prisioneiro, liberá-los, ou acompanhá-los a outro local. Transportes mais longos também são possíveis, podendo colocá-los em veículos, se necessário. A depender das configurações, pode ser necessário que as unidades estejam rendidas antes de serem detidas.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Aproxime-se da unidade e use [%3%13%4].&lt;br/&gt;%2A interação encontra-se próxima às mãos simbolizada por uma algema.&lt;br/&gt;%2Faça o mesmo para liberar.</Portuguese>
<Italian>%3Fascette%4 permettono a soldati di catturare e ammanettare altri soldati. Una volta catturati è possibile ispezionare il loro inventario, liberarli o scortarli altrove. È inoltre possibile caricarli su veicoli se necessario. A seconda delle impostazioni, potrebbe essere necessaria la resa di unità prima di poterle ammanettare.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Avvicinati all'unità e usa [%3%13%4].&lt;br/&gt;%2L'interazione è localizzata intorno alle mani con l'icona di manette.&lt;br/&gt;%2Ripeti per liberare.</Italian> <Italian>%3Fascette%4 permettono a soldati di catturare e ammanettare altri soldati. Una volta catturati è possibile ispezionare il loro inventario, liberarli o scortarli altrove. È inoltre possibile caricarli su veicoli se necessario. A seconda delle impostazioni, potrebbe essere necessaria la resa di unità prima di poterle ammanettare.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Avvicinati all'unità e usa [%3%13%4].&lt;br/&gt;%2L'interazione è localizzata intorno alle mani con l'icona di manette.&lt;br/&gt;%2Ripeti per liberare.</Italian>
<Japanese>%3ケーブル タイ%4は兵士が他の兵士を拘束できるようにします。一度拘束すれば、拘束者は捕虜の所持品を検査したり、釈放したり、別の場所に移送することができるようになります。必要に応じて車両に積み込むなどして捕虜の輸送や護送も可能です。設定によっては、ユニットは捕虜になる前に降伏する必要がある場合があります。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2対象に近づいて [%3%13%4] を使います。&lt;br/&gt;%2インタラクションは、手錠アイコンの形で手のあたりに表示されます。&lt;br/&gt;%2同様の方法で解放できます。</Japanese> <Japanese>%3ケーブル タイ%4は兵士が他の兵士を拘束できるようにします。一度拘束すれば、拘束者は捕虜の所持品を検査したり、釈放したり、別の場所に移送することができるようになります。必要に応じて車両に積み込むなどして捕虜の輸送や護送も可能です。設定によっては、ユニットは捕虜になる前に降伏する必要がある場合があります。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2対象に近づいて [%3%13%4] を使います。&lt;br/&gt;%2インタラクションは、手錠アイコンの形で手のあたりに表示されます。&lt;br/&gt;%2同様の方法で解放できます。</Japanese>
<Spanish>Las %3Bridas%4 permiten a un soldado capturar y detener a otro soldado. Una vez atado, el capturador tiene la habilidad de inspeccionar las pertenencias del prisionero, liberarles de nuevo o transportarles a otro área diferente. Transportar prisioneros escoltados tambien es posible, incluído montarles en vehículos si es necesario. Dependiendo de las opciones, puede requerirse que las unidades se rindan antes de ser capturados.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Acercarse a la unidad y usar el [%3%13%4].&lt;br/&gt;%2El punto de interacción se situa sobre las manos en forma de un icono de unas esposas.&lt;br/&gt;%2Repetir el paso para liberar.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Cellphone_ShortName"> <Key ID="STR_ACE_FieldManual_Items_Cellphone_ShortName">
<English>Phone In An Explosion</English> <English>Phone In An Explosion</English>
@ -345,6 +376,7 @@
<Italian>Cellulare per esplosivi</Italian> <Italian>Cellulare per esplosivi</Italian>
<Japanese>電話でドカン</Japanese> <Japanese>電話でドカン</Japanese>
<French>Explosifs téléphone portable</French> <French>Explosifs téléphone portable</French>
<Spanish>Teléfono explosivo</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Cellphone_Description"> <Key ID="STR_ACE_FieldManual_Items_Cellphone_Description">
<English>The %3Cellphone%4 is functionally a %3Clacker%4. Use it to connect and detonate an explosive device. Multiple devices can be linked to the cellphone and called within the phonebook.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Place an explosive.&lt;br/&gt;%2Use [%3%13%4], select %3Explosives%4, and select %3Cellphone%4.&lt;br/&gt;%2Open the cellphone interface with [%3%12%4].&lt;br/&gt;%2Navigate the phone book with the arrows and select your calling number.&lt;br/&gt;%2Call the number to detonate.</English> <English>The %3Cellphone%4 is functionally a %3Clacker%4. Use it to connect and detonate an explosive device. Multiple devices can be linked to the cellphone and called within the phonebook.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Place an explosive.&lt;br/&gt;%2Use [%3%13%4], select %3Explosives%4, and select %3Cellphone%4.&lt;br/&gt;%2Open the cellphone interface with [%3%12%4].&lt;br/&gt;%2Navigate the phone book with the arrows and select your calling number.&lt;br/&gt;%2Call the number to detonate.</English>
@ -353,6 +385,7 @@
<Portuguese>O %3Celular%4 serve como dispositivo de detonação ao explosivo. Utilize-o para conectar e detonar dispositivos explosivos. Múltiplos dispositivos podem estar conectados ao celular e aparecerão na lista telefônica.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Plante o explosivo.&lt;br/&gt;%2Utilize [%3%13%4], selecione %3Explosivos%4, e selecione %3Celular%4.&lt;br/&gt;%2Abra a interface do celular com [%3%12%4].&lt;br/&gt;%2Navegue pela lista telefônica utilizando as setas e selecione o número desejado.&lt;br/&gt;%2Ligue para o número para detonar.</Portuguese> <Portuguese>O %3Celular%4 serve como dispositivo de detonação ao explosivo. Utilize-o para conectar e detonar dispositivos explosivos. Múltiplos dispositivos podem estar conectados ao celular e aparecerão na lista telefônica.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Plante o explosivo.&lt;br/&gt;%2Utilize [%3%13%4], selecione %3Explosivos%4, e selecione %3Celular%4.&lt;br/&gt;%2Abra a interface do celular com [%3%12%4].&lt;br/&gt;%2Navegue pela lista telefônica utilizando as setas e selecione o número desejado.&lt;br/&gt;%2Ligue para o número para detonar.</Portuguese>
<Italian>Il %3Cellulare%4 è essenzialmente una %3spoletta%4. Usalo per collegare e detonare esplosivi. Molteplici esplosivi possono essere collegati ad un cellulare e detonati chiamando numeri nella rubrica.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Piazza un esplosivo.&lt;br/&gt;%2Usa [%3%13%4], seleziona %3Esplosivi%4, seleziona %3Cellulare%4.&lt;br/&gt;%2Apri l'interfaccia del telefono con [%3%12%4].&lt;br/&gt;%2Naviga la rubrica con le freccette e seleziona il numero da chiamare.&lt;br/&gt;%2Chiama il numero del dispositivo da detonare.</Italian> <Italian>Il %3Cellulare%4 è essenzialmente una %3spoletta%4. Usalo per collegare e detonare esplosivi. Molteplici esplosivi possono essere collegati ad un cellulare e detonati chiamando numeri nella rubrica.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Piazza un esplosivo.&lt;br/&gt;%2Usa [%3%13%4], seleziona %3Esplosivi%4, seleziona %3Cellulare%4.&lt;br/&gt;%2Apri l'interfaccia del telefono con [%3%12%4].&lt;br/&gt;%2Naviga la rubrica con le freccette e seleziona il numero da chiamare.&lt;br/&gt;%2Chiama il numero del dispositivo da detonare.</Italian>
<Japanese>%3携帯電話%4は%3点火装置%4として機能します。爆破装置を接続して起爆するために使用します。複数のデバイスを携帯電話に繋ぎ、電話帳から呼び出すことができます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2爆発物を設置。&lt;br/&gt;%2[%3%13%4] を使い、%3爆発物%4を選択して、%3携帯電話%4を選択します。&lt;br/&gt;%2[%3%12%4] を使って携帯電話インターフェースを開きます。&lt;br/&gt;%2矢印ボタンで電話帳に移動し、発信番号を選択します。&lt;br/&gt;%2電話を掛けることで起爆します。</Japanese> <Japanese>%3携帯電話%4は%3点火装置%4として機能します。爆破装置を接続して起爆するために使用します。複数のデバイスを携帯電話に繋ぎ、電話帳から呼び出すことができます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2爆発物を設置。&lt;br/&gt;%2[%3%13%4] を使い、%3爆発物%4を選択して、%3携帯電話%4を選択します。&lt;br/&gt;%2[%3%12%4] を使って携帯電話インターフェースを開きます。&lt;br/&gt;%2矢印ボタンで電話帳に移動し、発信番号を選択します。&lt;br/&gt;%2電話を掛けることで起爆します。</Japanese>
<Spanish>El %3Teléfono%4 es funcionalmente un %3Detonador%4. Úsalo para conectarlo y detonar un dispositivo explosivo. Múltiples dispositivos pueden ser conectados al teléfono y llamados desde la agenda de contactos.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Colocar un explosivo.&lt;br/&gt;%2Usar [%3%13%4], seleccionar %3Explosivos%4, y seleccionar %3Teléfono%4.&lt;br/&gt;%2Abrir la interfaz del teléfono con [%3%12%4].&lt;br/&gt;%2Navegar por la agenda de contactos con las flechas y selecciona el número a llamar.&lt;br/&gt;%2Llamar al número para detonarlo.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Chemlight_Shield_ShortName"> <Key ID="STR_ACE_FieldManual_Items_Chemlight_Shield_ShortName">
<English>Portable Reading Lights</English> <English>Portable Reading Lights</English>
@ -362,6 +395,7 @@
<Italian>Luci da Lettura Portabili</Italian> <Italian>Luci da Lettura Portabili</Italian>
<Japanese>携帯読書灯</Japanese> <Japanese>携帯読書灯</Japanese>
<French>Lampes de lecture portables</French> <French>Lampes de lecture portables</French>
<Spanish>Luces de Lectura Portátiles</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Chemlight_Shield_Description"> <Key ID="STR_ACE_FieldManual_Items_Chemlight_Shield_Description">
<English>%3Chemlight Shields%4 give you the ability to read your map, even in dark environments. However, when using %3Chemlight Shields%4, you will have a slight glow around you.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2elect %3Chemlights%4 and %3Prepare Chemlight Shield (Color)%4.&lt;br/&gt;%2Open %3Map%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Flashlights%4 where you will find your chemlight shield.</English> <English>%3Chemlight Shields%4 give you the ability to read your map, even in dark environments. However, when using %3Chemlight Shields%4, you will have a slight glow around you.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2elect %3Chemlights%4 and %3Prepare Chemlight Shield (Color)%4.&lt;br/&gt;%2Open %3Map%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Flashlights%4 where you will find your chemlight shield.</English>
@ -370,6 +404,7 @@
<Portuguese>Os %3Protetores de Bastão de Luz%4 possibilitam a leitura de mapas em ambientes escuros. Todavia, quando utilizados, eles iluminam parcialmente os seus arredores.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Utilize [%3%12%4] e selecione %3Equipamento%4.&lt;br/&gt;%2Selecione %3Bastões de Luz%4 e %Preparar Protetor de Bastão de Luz (Cor)%4.&lt;br/&gt;%2Abrir %3Mapa%4.&lt;br/&gt;%2Utilize [%3%12%4] e selecione %3Lanternas%4 onde você encontrará o seu bastão de luz.</Portuguese> <Portuguese>Os %3Protetores de Bastão de Luz%4 possibilitam a leitura de mapas em ambientes escuros. Todavia, quando utilizados, eles iluminam parcialmente os seus arredores.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Utilize [%3%12%4] e selecione %3Equipamento%4.&lt;br/&gt;%2Selecione %3Bastões de Luz%4 e %Preparar Protetor de Bastão de Luz (Cor)%4.&lt;br/&gt;%2Abrir %3Mapa%4.&lt;br/&gt;%2Utilize [%3%12%4] e selecione %3Lanternas%4 onde você encontrará o seu bastão de luz.</Portuguese>
<Italian>%3Scudi per Luci Chimiche%4 permettono di leggere la mappa anche in ambienti bui. Il loro utilizzo comporta però un leggero effetto di luminosità intorno alla testa del giocatore.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Eqipaggiamenti%4.&lt;br/&gt;%2Seleziona %3Luce Chimica%4 e %3Prepara Scudo Luce Chimica (Colore)%4.&lt;br/&gt;%2Apri %3Mappa%4.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Torcia%4 dove troverai il tuo scudo per luce chimica.</Italian> <Italian>%3Scudi per Luci Chimiche%4 permettono di leggere la mappa anche in ambienti bui. Il loro utilizzo comporta però un leggero effetto di luminosità intorno alla testa del giocatore.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Eqipaggiamenti%4.&lt;br/&gt;%2Seleziona %3Luce Chimica%4 e %3Prepara Scudo Luce Chimica (Colore)%4.&lt;br/&gt;%2Apri %3Mappa%4.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Torcia%4 dove troverai il tuo scudo per luce chimica.</Italian>
<Japanese>%3ケミライト シールド%4を使用すると、暗い環境でも地図を読み取ることができます。ただし、%3ケミライト シールド%4を使用すると、周囲がわずかに光ります。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3ケミライト%4を選択し%3ケミライト シールドを使う (色)%4を選択します。&lt;br/&gt;%2%3マップ%4を開きます。&lt;br/&gt;%2[%3%12%4] を使って%3フラッシュライト%4を選択し、ケミライト シールドを選択します。</Japanese> <Japanese>%3ケミライト シールド%4を使用すると、暗い環境でも地図を読み取ることができます。ただし、%3ケミライト シールド%4を使用すると、周囲がわずかに光ります。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3ケミライト%4を選択し%3ケミライト シールドを使う (色)%4を選択します。&lt;br/&gt;%2%3マップ%4を開きます。&lt;br/&gt;%2[%3%12%4] を使って%3フラッシュライト%4を選択し、ケミライト シールドを選択します。</Japanese>
<Spanish>Los %3Protectores de Luz Química%4 proveen la habilidad de poder leer mapas en entornos oscuros. No obstante, cuando se usan los, %3Protectores de Luz Química%4, tendrás un ligero brillo alrededor tuyo.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Equipamiento%4.&lt;br/&gt;%2Seleccionar %3Luces químicas%4 y %3Preparar Protector de Luz Química (Color)%4.&lt;br/&gt;%2Abrir %3Mapa%4.&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Linternas%4 donde encontrarás el protector de luz química.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Clackers_ShortName"> <Key ID="STR_ACE_FieldManual_Items_Clackers_ShortName">
<English>Remote Detonation</English> <English>Remote Detonation</English>
@ -379,6 +414,7 @@
<Italian>Detonazione da remoto</Italian> <Italian>Detonazione da remoto</Italian>
<Japanese>リモコン爆弾</Japanese> <Japanese>リモコン爆弾</Japanese>
<French>Détonation à distance</French> <French>Détonation à distance</French>
<Spanish>Detonación Remota</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Clackers_Description"> <Key ID="STR_ACE_FieldManual_Items_Clackers_Description">
<English>Use %3Clackers%4 to connect and detonate an explosive device. Multiple devices can be linked to a clacker and detonated on different channels.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Place an explosive.&lt;br/&gt;%2Use [%3%13%4], select %3Explosives%4, and select the %3Clacker%4 you wish to link to.&lt;br/&gt;%2Open the ACE interface with [%3%12%4].&lt;br/&gt;%2Select %3Explosives%4 and select a %3Clacker%4.&lt;br/&gt;%2Select the %3Explosive%4 you wish to detonate.</English> <English>Use %3Clackers%4 to connect and detonate an explosive device. Multiple devices can be linked to a clacker and detonated on different channels.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Place an explosive.&lt;br/&gt;%2Use [%3%13%4], select %3Explosives%4, and select the %3Clacker%4 you wish to link to.&lt;br/&gt;%2Open the ACE interface with [%3%12%4].&lt;br/&gt;%2Select %3Explosives%4 and select a %3Clacker%4.&lt;br/&gt;%2Select the %3Explosive%4 you wish to detonate.</English>
@ -386,6 +422,7 @@
<Korean>%3격발기%4를 사용하여 폭발물을 연결하고 폭발시킬 수 있습니다. 여러 폭발물을 다른 채널에 연결하여 폭발시킬 수도 있습니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2폭발물을 설치합니다.&lt;br/&gt;%2[%3%13%4]를 사용하여 %3폭발물%4을 선택하고 연결할 %3격발기%4를 선택하십시오.&lt;br/&gt;%2[%3%12%4] 키로 ACE 인터페이스를 여십시오.&lt;br/&gt;%2%3폭발물%4을 선택하고 %3격발기%4를 선택하십시오.&lt;br/&gt;%2%3폭발물%4을 선택하면 폭발합니다.</Korean> <Korean>%3격발기%4를 사용하여 폭발물을 연결하고 폭발시킬 수 있습니다. 여러 폭발물을 다른 채널에 연결하여 폭발시킬 수도 있습니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2폭발물을 설치합니다.&lt;br/&gt;%2[%3%13%4]를 사용하여 %3폭발물%4을 선택하고 연결할 %3격발기%4를 선택하십시오.&lt;br/&gt;%2[%3%12%4] 키로 ACE 인터페이스를 여십시오.&lt;br/&gt;%2%3폭발물%4을 선택하고 %3격발기%4를 선택하십시오.&lt;br/&gt;%2%3폭발물%4을 선택하면 폭발합니다.</Korean>
<Italian>Usa %3Spolette%4 per collegare e detonare dispositivi esplosivi. Molteplici dispositivi possono essere collagati a una spoletta e detonati individualmente come vari canali.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Piazza esplosivo.&lt;br/&gt;%2Usa [%3%13%4], seleziona %3Esplosivo%4, seleziona la %3Spoletta%4 a cui intendi collegarlo.&lt;br/&gt;%2Apri l'interfaccia ACE con [%3%12%4].&lt;br/&gt;%2Seleziona %3Esplosivi%4 e scegli una %3Spoletta%4.&lt;br/&gt;%2Seleziona un %3Explosivo%4 da detonare.</Italian> <Italian>Usa %3Spolette%4 per collegare e detonare dispositivi esplosivi. Molteplici dispositivi possono essere collagati a una spoletta e detonati individualmente come vari canali.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Piazza esplosivo.&lt;br/&gt;%2Usa [%3%13%4], seleziona %3Esplosivo%4, seleziona la %3Spoletta%4 a cui intendi collegarlo.&lt;br/&gt;%2Apri l'interfaccia ACE con [%3%12%4].&lt;br/&gt;%2Seleziona %3Esplosivi%4 e scegli una %3Spoletta%4.&lt;br/&gt;%2Seleziona un %3Explosivo%4 da detonare.</Italian>
<Japanese>%3点火装置%4を爆破装置に接続し使用することで起爆することが出来ます。複数の爆破装置を接続しそれぞれ違うチャンネルから起爆することもできます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2爆発物を設置。&lt;br/&gt;%2[%3%13%4] を使い、%3爆発物%4を選択して、接続したい%3点火装置%4を選択します。&lt;br/&gt;%2ACEインターフェースを [%3%12%4] で開きます。&lt;br/&gt;%2%3爆発物%4を選択し、%3点火装置%4を選びます。&lt;br/&gt;%2起爆したい%3爆破装置%4を選択します。</Japanese> <Japanese>%3点火装置%4を爆破装置に接続し使用することで起爆することが出来ます。複数の爆破装置を接続しそれぞれ違うチャンネルから起爆することもできます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2爆発物を設置。&lt;br/&gt;%2[%3%13%4] を使い、%3爆発物%4を選択して、接続したい%3点火装置%4を選択します。&lt;br/&gt;%2ACEインターフェースを [%3%12%4] で開きます。&lt;br/&gt;%2%3爆発物%4を選択し、%3点火装置%4を選びます。&lt;br/&gt;%2起爆したい%3爆破装置%4を選択します。</Japanese>
<Spanish>Utiliza los %3Detonadores%4 para conectar y detonar un explosivo. Múltiple dispositivos pueden ser conectados a un detonador y detonados en diferentes canales.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2 Coloca un explosivo.&lt;br/&gt;%2Usar [%3%13%4], seleccionar %3Explosivos%4, y selecciona el %3Detonador%4 al que quieres conectarlo.&lt;br/&gt;%2Abre la interfaz de ACE con [%3%12%4].&lt;br/&gt;%2Selecciona %3Explosivos%4 y selecciona un %3Detonador%4.&lt;br/&gt;%2Selecciona el %3Explosivo%4 que quieres detonar.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_DAGR_ShortName"> <Key ID="STR_ACE_FieldManual_Items_DAGR_ShortName">
<English>Navigate</English> <English>Navigate</English>
@ -395,6 +432,7 @@
<Japanese>測位</Japanese> <Japanese>測位</Japanese>
<Russian>Навигация</Russian> <Russian>Навигация</Russian>
<French>Naviguer</French> <French>Naviguer</French>
<Spanish>Navegar</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_DAGR_Description"> <Key ID="STR_ACE_FieldManual_Items_DAGR_Description">
<English>The %3DAGR%4 is a simpler version of the %3MicroDAGR GPS%4. It has similar features but lacks the topographic and satellite imaging functions of the %3MicroDAGR GPS%4.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3DAGR%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Configure%4 or %3Toggle%4.&lt;br/&gt;&lt;br/&gt;The following menus are available when configuring your %3DAGR:%4&lt;br/&gt;%11%2Data View: WIP&lt;br/&gt;%11%2GoTo WP: Select a waypoint to track.&lt;br/&gt;%11%2WP List: Add/Edit/Remove waypoints.&lt;br/&gt;%11%2Connect To: Connect %3DAGR%4 to the %3Vector 21 Rangefinder%4.&lt;br/&gt;%11%2Options</English> <English>The %3DAGR%4 is a simpler version of the %3MicroDAGR GPS%4. It has similar features but lacks the topographic and satellite imaging functions of the %3MicroDAGR GPS%4.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3DAGR%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Configure%4 or %3Toggle%4.&lt;br/&gt;&lt;br/&gt;The following menus are available when configuring your %3DAGR:%4&lt;br/&gt;%11%2Data View: WIP&lt;br/&gt;%11%2GoTo WP: Select a waypoint to track.&lt;br/&gt;%11%2WP List: Add/Edit/Remove waypoints.&lt;br/&gt;%11%2Connect To: Connect %3DAGR%4 to the %3Vector 21 Rangefinder%4.&lt;br/&gt;%11%2Options</English>
@ -402,6 +440,7 @@
<Korean>%3DAGR%4은 %3마이크로DAGR GPS%4의 단순화 버전입니다. 유사한 기능을 가지고 있지만 %3마이크로DAGR GPS%4의 지형 및 위성 이미지 기능이 없습니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3DAGR%4를 장착하십시오.&lt;br/&gt;%2[%3%12%4를 사용하고 %3DAGR 설정%4 또는 %3DAGR 토글%4을 선택하십시오.&lt;br/&gt;&lt;br/&gt;%3DAGR%4을 구성할 때 다음 메뉴를 사용할 수 있습니다:&lt;br/&gt;%11%2Data View: 제작 중&lt;br/&gt;%11%2GoTo WP: 추적할 웨이포인트를 선택합니다.&lt;br/&gt;%11%2WP List: 경유지를 추가/편집/제거합니다.&lt;br/&gt;%11%2Connect To: %3DAGR%4을 %3벡터 21%4 거리계에 연동시킵니다.&lt;br/&gt;%11%2옵션입니다</Korean> <Korean>%3DAGR%4은 %3마이크로DAGR GPS%4의 단순화 버전입니다. 유사한 기능을 가지고 있지만 %3마이크로DAGR GPS%4의 지형 및 위성 이미지 기능이 없습니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3DAGR%4를 장착하십시오.&lt;br/&gt;%2[%3%12%4를 사용하고 %3DAGR 설정%4 또는 %3DAGR 토글%4을 선택하십시오.&lt;br/&gt;&lt;br/&gt;%3DAGR%4을 구성할 때 다음 메뉴를 사용할 수 있습니다:&lt;br/&gt;%11%2Data View: 제작 중&lt;br/&gt;%11%2GoTo WP: 추적할 웨이포인트를 선택합니다.&lt;br/&gt;%11%2WP List: 경유지를 추가/편집/제거합니다.&lt;br/&gt;%11%2Connect To: %3DAGR%4을 %3벡터 21%4 거리계에 연동시킵니다.&lt;br/&gt;%11%2옵션입니다</Korean>
<Italian>Il %3DAGR%4 è una versione più semplice del %3GPS MicroDAGR%4. Ha funzioni simili, gli manca però la capacità di visualizzare informazioni topografiche e satellitari come il %3GPS MicroDAGR%4.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia il %3DAGR%4.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Configura%4 o %3Apri%4.&lt;br/&gt;&lt;br/&gt;I seguenti Menù sono disponibili durante la configurazione del tuo %3DAGR:%4&lt;br/&gt;%11%2Pagina Dati: WIP&lt;br/&gt;%11%2VaiA WP: Seleziona un waypoint da tracciare.&lt;br/&gt;%11%2Lista WP: Aggiungi/Modifica/Rimuovi waypoint.&lt;br/&gt;%11%2Collega A: Collega il %3DAGR%4 al %3Telemetro Vector 21%4.&lt;br/&gt;%11%2Opzioni</Italian> <Italian>Il %3DAGR%4 è una versione più semplice del %3GPS MicroDAGR%4. Ha funzioni simili, gli manca però la capacità di visualizzare informazioni topografiche e satellitari come il %3GPS MicroDAGR%4.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia il %3DAGR%4.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Configura%4 o %3Apri%4.&lt;br/&gt;&lt;br/&gt;I seguenti Menù sono disponibili durante la configurazione del tuo %3DAGR:%4&lt;br/&gt;%11%2Pagina Dati: WIP&lt;br/&gt;%11%2VaiA WP: Seleziona un waypoint da tracciare.&lt;br/&gt;%11%2Lista WP: Aggiungi/Modifica/Rimuovi waypoint.&lt;br/&gt;%11%2Collega A: Collega il %3DAGR%4 al %3Telemetro Vector 21%4.&lt;br/&gt;%11%2Opzioni</Italian>
<Japanese>%3DAGR%4はシンプルなバージョンの%3MicroDAGR GPS%4です。同様の機能を備えていますが、%3MicroDAGR GPS%4のような地形および衛星画像機能はありません。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3DAGR%4を装備する。&lt;br/&gt;%2[%3%12%4] を使って%3設定%4 もしくは %3表示切替%4を選択します。&lt;br/&gt;&lt;br/&gt;%3DAGR%4の設定には次のメニューを使用できます:&lt;br/&gt;%11%2Data View: WIP&lt;br/&gt;%11%2GoTo WP: 追跡するウェイポイントを選択します。&lt;br/&gt;%11%2WP List: ウェイポイントを追加/編集/削除します。&lt;br/&gt;%11%2Connect To: %3DAGR%4を%3ベクター 21 レンジファインダー%4に接続できます。&lt;br/&gt;%11%2Options</Japanese> <Japanese>%3DAGR%4はシンプルなバージョンの%3MicroDAGR GPS%4です。同様の機能を備えていますが、%3MicroDAGR GPS%4のような地形および衛星画像機能はありません。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3DAGR%4を装備する。&lt;br/&gt;%2[%3%12%4] を使って%3設定%4 もしくは %3表示切替%4を選択します。&lt;br/&gt;&lt;br/&gt;%3DAGR%4の設定には次のメニューを使用できます:&lt;br/&gt;%11%2Data View: WIP&lt;br/&gt;%11%2GoTo WP: 追跡するウェイポイントを選択します。&lt;br/&gt;%11%2WP List: ウェイポイントを追加/編集/削除します。&lt;br/&gt;%11%2Connect To: %3DAGR%4を%3ベクター 21 レンジファインダー%4に接続できます。&lt;br/&gt;%11%2Options</Japanese>
<Spanish>El %3DAGR%4 es una versión simplificada del %3MicroDAGR GPS%4. Tiene unas funcionalidades similares pero le faltan las funciones de los mapas topográficos e imágenes satelitales del %3MicroDAGR GPS%4.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3DAGR%4.&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Configurar%4 o %3Activar%4.&lt;br/&gt;&lt;br/&gt;Los siguientes menús están disponibles cuando configuras el %3DAGR:%4&lt;br/&gt;%11%2Vista de Datos: WIP&lt;br/&gt;%11%2Ir a WP: Selecciona un Punto de Ruta para seguir.&lt;br/&gt;%11%2Lista de WP: Añadir/Editar/Suprimir puntos de ruta.&lt;br/&gt;%11%2Conectar A: Conectar %3DAGR%4 a %3Telémetro Vector 21%4.&lt;br/&gt;%11%2Opciones</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_DeadManSwitch_ShortName"> <Key ID="STR_ACE_FieldManual_Items_DeadManSwitch_ShortName">
<English>Explosive Revenge</English> <English>Explosive Revenge</English>
@ -411,6 +450,7 @@
<Japanese>爆発的な復讐</Japanese> <Japanese>爆発的な復讐</Japanese>
<Russian>Взрывная месть</Russian> <Russian>Взрывная месть</Russian>
<French>Homme mort</French> <French>Homme mort</French>
<Spanish>Venganza Explosiva</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_DeadManSwitch_Description"> <Key ID="STR_ACE_FieldManual_Items_DeadManSwitch_Description">
<English>The %3Dead Man's Switch%4 is a device that allows a soldier to detonate an %3Explosive%4 when the soldier dies.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Explosives%4.&lt;br/&gt;%2Select %3Dead Man's Switch%4 and connect the desired %3Explosive%4.&lt;br/&gt;%2Repeat the process and disconnect to reverse.</English> <English>The %3Dead Man's Switch%4 is a device that allows a soldier to detonate an %3Explosive%4 when the soldier dies.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Explosives%4.&lt;br/&gt;%2Select %3Dead Man's Switch%4 and connect the desired %3Explosive%4.&lt;br/&gt;%2Repeat the process and disconnect to reverse.</English>
@ -418,6 +458,7 @@
<Korean>%3자폭 장치%4는 병사가 사망했을 때 병사가 %3폭발물%4을 폭발시킬 수 있는 장치입니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2[%3%12%4]를 사용하고 %3폭발물%4을 선택하십시오.&lt;br/&gt;%2%3자폭 장치%4를 선택하고 원하는 %3폭발물%4에 연결하십시오.&lt;br/&gt;%2반대로 해제하고 싶다면 같은 행동을 반복하십시오.</Korean> <Korean>%3자폭 장치%4는 병사가 사망했을 때 병사가 %3폭발물%4을 폭발시킬 수 있는 장치입니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2[%3%12%4]를 사용하고 %3폭발물%4을 선택하십시오.&lt;br/&gt;%2%3자폭 장치%4를 선택하고 원하는 %3폭발물%4에 연결하십시오.&lt;br/&gt;%2반대로 해제하고 싶다면 같은 행동을 반복하십시오.</Korean>
<Italian>Il %3Detonatore a rilascio%4 è un dispositivo che permette a soldati di detonare un %3Esplosivo%4 quando perdono i sensi.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Esplosivi%4.&lt;br/&gt;%2Seleziona %3Detonatore a rilascio%4 e collega l'%3Esplosivo%4 desiderato.&lt;br/&gt;%2Ripeti il processo e scollega per disarmare il detonatore.</Italian> <Italian>Il %3Detonatore a rilascio%4 è un dispositivo che permette a soldati di detonare un %3Esplosivo%4 quando perdono i sensi.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Esplosivi%4.&lt;br/&gt;%2Seleziona %3Detonatore a rilascio%4 e collega l'%3Esplosivo%4 desiderato.&lt;br/&gt;%2Ripeti il processo e scollega per disarmare il detonatore.</Italian>
<Japanese>%3自爆装置%4は、兵士の死亡時に%3爆発物%4を起爆させることができる装置です。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3爆発物%4を選択します。&lt;br/&gt;%2%3自爆装置%4を選択し、接続したい%3爆発物%4を選びます。&lt;br/&gt;%2同様の手順を逆に行うことで接続を解除できます。</Japanese> <Japanese>%3自爆装置%4は、兵士の死亡時に%3爆発物%4を起爆させることができる装置です。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3爆発物%4を選択します。&lt;br/&gt;%2%3自爆装置%4を選択し、接続したい%3爆発物%4を選びます。&lt;br/&gt;%2同様の手順を逆に行うことで接続を解除できます。</Japanese>
<Spanish>El %3Detonador de Hombre Muerto%4 es un dispositivo que permite a un soldado detonar un %3Explosivo%4 cuando el soldado muere.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Explosivos%4.&lt;br/&gt;%2Seleccionar %3Detonador de Hombre Muerto%4 y conectar el %3Explosivo%4.&lt;br/&gt; deseado%2Repetir el proceso y desconectar para revertirlo.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_DefusalKit_Description"> <Key ID="STR_ACE_FieldManual_Items_DefusalKit_Description">
<English>The %3Defusal Kit%4 allows defusal of explosives.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3Defusal Kit%4.&lt;br/&gt;%2Safely approach an %3Explosive%4.&lt;br/&gt;%2Use [%3%13%4] and select %3Defuse%4.</English> <English>The %3Defusal Kit%4 allows defusal of explosives.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3Defusal Kit%4.&lt;br/&gt;%2Safely approach an %3Explosive%4.&lt;br/&gt;%2Use [%3%13%4] and select %3Defuse%4.</English>
@ -425,6 +466,7 @@
<Korean>%3해체 장비%4를 사용하면 폭발물을 제거할 수 있습니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3해체 장비%4를 장착하십시오.&lt;br/&gt;%2%3폭발물%4에 안전하게 접근하십시오.&lt;br/&gt;%2[%3%13%4]를 사용하고 %3해체%4를 선택하십시오.</Korean> <Korean>%3해체 장비%4를 사용하면 폭발물을 제거할 수 있습니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3해체 장비%4를 장착하십시오.&lt;br/&gt;%2%3폭발물%4에 안전하게 접근하십시오.&lt;br/&gt;%2[%3%13%4]를 사용하고 %3해체%4를 선택하십시오.</Korean>
<Italian>The %3Kit E.O.D.%4 permette il disinnesco di esplosivi.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia un %3Kit E.O.D.%4.&lt;br/&gt;%2Avvicinati in modo sicuro ad un %3Esplosivo%4.&lt;br/&gt;%2Usa [%3%13%4] e seleziona %3Disinnesca%4.</Italian> <Italian>The %3Kit E.O.D.%4 permette il disinnesco di esplosivi.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia un %3Kit E.O.D.%4.&lt;br/&gt;%2Avvicinati in modo sicuro ad un %3Esplosivo%4.&lt;br/&gt;%2Usa [%3%13%4] e seleziona %3Disinnesca%4.</Italian>
<Japanese>%3解除キット%4は爆発物の無力化を行うことができます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3解除キット%4を装備。&lt;br/&gt;%2慎重に%3爆発物%4に接近します。&lt;br/&gt;%2[%3%13%4] を使って%3無力化%4を選択します。</Japanese> <Japanese>%3解除キット%4は爆発物の無力化を行うことができます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3解除キット%4を装備。&lt;br/&gt;%2慎重に%3爆発物%4に接近します。&lt;br/&gt;%2[%3%13%4] を使って%3無力化%4を選択します。</Japanese>
<Spanish>El %3Kit de Desactivación%4 permite la desactivación de explosivos.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Equipa un %3Kit de Desactivación%4.&lt;br/&gt;%2Aproxímate al %3Explosivo%4&lt;br/&gt; de forma segura.%2Usa [%3%13%4] y selecciona %3Desactivar%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_DefusalKit_ShortName"> <Key ID="STR_ACE_FieldManual_Items_DefusalKit_ShortName">
<English>Defuse Explosives</English> <English>Defuse Explosives</English>
@ -434,6 +476,7 @@
<Japanese>爆発物の解除</Japanese> <Japanese>爆発物の解除</Japanese>
<Russian>Обезвреживание взрывчатки</Russian> <Russian>Обезвреживание взрывчатки</Russian>
<French>Désamorcer les explosifs</French> <French>Désamorcer les explosifs</French>
<Spanish>Desactivar Explosivos</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_EarPlugs_ShortName"> <Key ID="STR_ACE_FieldManual_Items_EarPlugs_ShortName">
<English>Protect Your Hearing</English> <English>Protect Your Hearing</English>
@ -443,6 +486,7 @@
<Japanese>聴覚の保護</Japanese> <Japanese>聴覚の保護</Japanese>
<Russian>Защитите свой слух</Russian> <Russian>Защитите свой слух</Russian>
<French>Protéger votre audition</French> <French>Protéger votre audition</French>
<Spanish>Protege tus oídos</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_EarPlugs_Description"> <Key ID="STR_ACE_FieldManual_Items_EarPlugs_Description">
<English>%3Ear Plugs%4 help prevent hearing damage from repeat loud noises near a soldier. Insert %3Ear Plugs%4 to lower volume of a soldier's environment and prevent %3Combat Deafness%4.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Insert %3Ear Plugs%4.</English> <English>%3Ear Plugs%4 help prevent hearing damage from repeat loud noises near a soldier. Insert %3Ear Plugs%4 to lower volume of a soldier's environment and prevent %3Combat Deafness%4.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Insert %3Ear Plugs%4.</English>
@ -450,6 +494,7 @@
<Italian>%3Tappi auricolari%4 aiutano a prevenire danni all'udito da ripetuti rumori forti in prossimità del soldato. Inserisci %3Tappi auricolari%4 per ridurre il volume dell'ambiente per il soldato e impedire %3Assordamento%4.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Indossa %3Tappi Auricolari%4.</Italian> <Italian>%3Tappi auricolari%4 aiutano a prevenire danni all'udito da ripetuti rumori forti in prossimità del soldato. Inserisci %3Tappi auricolari%4 per ridurre il volume dell'ambiente per il soldato e impedire %3Assordamento%4.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Indossa %3Tappi Auricolari%4.</Italian>
<Korean>%3귀마개%4는 병사 주변에서 반복되는 시끄러운 소리로 인한 청력 손상을 방지하는 데 도움이 됩니다. %3귀마개%4를 끼워서 병사가 있는 환경의 소리 크기를 낮추고 %3전투로 인한 청력손상%4을 방지하십시오.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2[%3%12%4]를 사용하여 %3장비%4를 선택하십시오.&lt;br/&gt;%2%3귀마개%4를 삽입하십시오.</Korean> <Korean>%3귀마개%4는 병사 주변에서 반복되는 시끄러운 소리로 인한 청력 손상을 방지하는 데 도움이 됩니다. %3귀마개%4를 끼워서 병사가 있는 환경의 소리 크기를 낮추고 %3전투로 인한 청력손상%4을 방지하십시오.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2[%3%12%4]를 사용하여 %3장비%4를 선택하십시오.&lt;br/&gt;%2%3귀마개%4를 삽입하십시오.</Korean>
<Japanese>%3耳栓%4は、兵士の近くで繰り返される大きな騒音による聴覚障害を防ぐのに役立ちます。%3耳栓%4を耳に挿入することで兵士の環境の音量を下げ、%3戦闘難聴%4を防ぎます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3耳栓を着ける%4ことで使用できます。</Japanese> <Japanese>%3耳栓%4は、兵士の近くで繰り返される大きな騒音による聴覚障害を防ぐのに役立ちます。%3耳栓%4を耳に挿入することで兵士の環境の音量を下げ、%3戦闘難聴%4を防ぎます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3耳栓を着ける%4ことで使用できます。</Japanese>
<Spanish>Los %3Tapones de oídos%4 ayudan a prevenir el daño auditivo de ruidos altos repetidos cerca de un soldado. Inserta los %3Tapones de oídos%4 para reducir el volumen del entorno del soldado y prevenir la %3Sordera de Combate%4.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Equipamiento%4.&lt;br/&gt;%2Insertar %3Tapones de oídos%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_EntrenchingTool_ShortName"> <Key ID="STR_ACE_FieldManual_Items_EntrenchingTool_ShortName">
<English>Get To Cover</English> <English>Get To Cover</English>
@ -459,6 +504,7 @@
<Japanese>遮蔽を造り出す</Japanese> <Japanese>遮蔽を造り出す</Japanese>
<Russian>Добраться до укрытия</Russian> <Russian>Добраться до укрытия</Russian>
<French>Se mettre à couvert</French> <French>Se mettre à couvert</French>
<Spanish>Ponerse A Cubierto</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_EntrenchingTool_Description"> <Key ID="STR_ACE_FieldManual_Items_EntrenchingTool_Description">
<English>The %3Entrenching Tool%4 allows soldiers to dig trenches to help defend their position. The soldier must be on soil in order to dig a trench.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip an %3Entrenching Tool%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Select the type of trench you wish to build.</English> <English>The %3Entrenching Tool%4 allows soldiers to dig trenches to help defend their position. The soldier must be on soil in order to dig a trench.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip an %3Entrenching Tool%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Select the type of trench you wish to build.</English>
@ -466,6 +512,7 @@
<Italian>La %3Pala da Trincea%4 permette a soldati di scavare trincee per difendere meglio la loro posizione. Il soldato deve trovarsi su suolo scavabile per poter creare trincee.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia una %3Pala da Trincea%4.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona il tipo di trincea che vuoi costruire.</Italian> <Italian>La %3Pala da Trincea%4 permette a soldati di scavare trincee per difendere meglio la loro posizione. Il soldato deve trovarsi su suolo scavabile per poter creare trincee.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia una %3Pala da Trincea%4.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona il tipo di trincea che vuoi costruire.</Italian>
<Korean>%3야전삽%4을 사용하면 병사들의 진지 방어를 위한 참호를 팔 수 있습니다. 병사가 참호를 파려면 흙 위에 있어야 합니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3야전삽%4을 장비하십시오.&lt;br/&gt;%2[%3%12%4]를 사용하여 %3장비%4를 선택하십시오.&lt;br/&gt;%2짓고 싶은 종류의 참호를 선택하십시오.</Korean> <Korean>%3야전삽%4을 사용하면 병사들의 진지 방어를 위한 참호를 팔 수 있습니다. 병사가 참호를 파려면 흙 위에 있어야 합니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3야전삽%4을 장비하십시오.&lt;br/&gt;%2[%3%12%4]를 사용하여 %3장비%4를 선택하십시오.&lt;br/&gt;%2짓고 싶은 종류의 참호를 선택하십시오.</Korean>
<Japanese>%3塹壕ツール%4を使用すると、兵士は自分の陣地を守るために塹壕を掘ることができます。塹壕を掘るには、兵士は土の上にいる必要があります。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3塹壕ツール%4を装備します。&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2構築する塹壕の種類を選択します。</Japanese> <Japanese>%3塹壕ツール%4を使用すると、兵士は自分の陣地を守るために塹壕を掘ることができます。塹壕を掘るには、兵士は土の上にいる必要があります。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3塹壕ツール%4を装備します。&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2構築する塹壕の種類を選択します。</Japanese>
<Spanish>La %3Pala de Trincheras%4 permite a los soldados excavar trincheras para ayudarles a defender su posición. El soldado debe estar sobre tierra para poder excavar una trinchera.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Equipar la %3Pala de Trincheras%4.&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Equipamiento%4.&lt;br/&gt;%2Seleccionar el tipo de trinchera que quieres construir.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Flashlights_DisplayName"> <Key ID="STR_ACE_FieldManual_Items_Flashlights_DisplayName">
<English>Flashlights</English> <English>Flashlights</English>
@ -475,6 +522,7 @@
<Japanese>フラッシュライト</Japanese> <Japanese>フラッシュライト</Japanese>
<Russian>Фонари</Russian> <Russian>Фонари</Russian>
<French>Lampes de poche</French> <French>Lampes de poche</French>
<Spanish>Linternas</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Flashlights_ShortName"> <Key ID="STR_ACE_FieldManual_Items_Flashlights_ShortName">
<English>Illuminate Your Map</English> <English>Illuminate Your Map</English>
@ -484,6 +532,7 @@
<Japanese>地図に光あれ</Japanese> <Japanese>地図に光あれ</Japanese>
<Russian>Осветите свою карту</Russian> <Russian>Осветите свою карту</Russian>
<French>Éclairer votre carte</French> <French>Éclairer votre carte</French>
<Spanish>Ilumina Tu Mapa</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Flashlights_Description"> <Key ID="STR_ACE_FieldManual_Items_Flashlights_Description">
<English>%3Flashlights%4 give you the ability to read your map, even in dark environments. However, when using %3Flashlights%4, you will have a slight glow around you.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2On the map screen, use [%3%12%4] and select %3Flashlights%4.&lt;br/&gt;%2Select the %3Flashlight%4 you want to use and select %3On%4.&lt;br/&gt;&lt;br/&gt;%3Available Flashlight Items%4:&lt;br/&gt;%2 Fulton MX-991&lt;br/&gt;%2 KSF-1&lt;br/&gt;%2 Maglite XL50&lt;br/&gt;&lt;br/&gt;%3NOTE:%4&lt;br/&gt;Flashlight states are persistent.</English> <English>%3Flashlights%4 give you the ability to read your map, even in dark environments. However, when using %3Flashlights%4, you will have a slight glow around you.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2On the map screen, use [%3%12%4] and select %3Flashlights%4.&lt;br/&gt;%2Select the %3Flashlight%4 you want to use and select %3On%4.&lt;br/&gt;&lt;br/&gt;%3Available Flashlight Items%4:&lt;br/&gt;%2 Fulton MX-991&lt;br/&gt;%2 KSF-1&lt;br/&gt;%2 Maglite XL50&lt;br/&gt;&lt;br/&gt;%3NOTE:%4&lt;br/&gt;Flashlight states are persistent.</English>
@ -491,6 +540,7 @@
<Italian>%3Torce%4 permettono di leggere la tua mappa anche in ambienti bui. Però quando le utilizzi avrai un leggero effetto luminoso intorno a te.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Sulla mappa usa [%3%12%4] e seleziona %3Torcia%4.&lt;br/&gt;%2Seleziona la %3Torcia%4 che vuoi usare e seleziona %3Accendi%4.&lt;br/&gt;&lt;br/&gt;%3Oggetti Torcia Disponibili%4:&lt;br/&gt;%2 Fulton MX-991&lt;br/&gt;%2 KSF-1&lt;br/&gt;%2 Maglite XL50&lt;br/&gt;&lt;br/&gt;%3NOTE:%4&lt;br/&gt;Lo stato di una torcia è persistente.</Italian> <Italian>%3Torce%4 permettono di leggere la tua mappa anche in ambienti bui. Però quando le utilizzi avrai un leggero effetto luminoso intorno a te.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Sulla mappa usa [%3%12%4] e seleziona %3Torcia%4.&lt;br/&gt;%2Seleziona la %3Torcia%4 che vuoi usare e seleziona %3Accendi%4.&lt;br/&gt;&lt;br/&gt;%3Oggetti Torcia Disponibili%4:&lt;br/&gt;%2 Fulton MX-991&lt;br/&gt;%2 KSF-1&lt;br/&gt;%2 Maglite XL50&lt;br/&gt;&lt;br/&gt;%3NOTE:%4&lt;br/&gt;Lo stato di una torcia è persistente.</Italian>
<Korean>%3손전등%4은 어두운 환경에서도 지도를 읽을 수 있는 기능을 제공합니다. 단, %3손전등%4을 사용할 때 주변에 약간 빛이 납니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2지도 화면에서 [%3%12%4]를 사용하고 %3손전등%4을 선택하십시오.&lt;br/&gt;%2사용할 %3손전등%4을 선택하고 %3켜기%4를 선택하십시오.&lt;br/&gt;&lt;br/&gt;%3사용 가능한 손전등 아이템%4:&lt;br/&gt;%2풀턴 MX-991&lt;br/&gt;%2 KSF-1&lt;br/&gt;%2 매그라이트 XL50&lt;br/&gt;&lt;br/&gt;%3참고:%4&lt;br/&gt;손전등 상태는 영구적입니다.</Korean> <Korean>%3손전등%4은 어두운 환경에서도 지도를 읽을 수 있는 기능을 제공합니다. 단, %3손전등%4을 사용할 때 주변에 약간 빛이 납니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2지도 화면에서 [%3%12%4]를 사용하고 %3손전등%4을 선택하십시오.&lt;br/&gt;%2사용할 %3손전등%4을 선택하고 %3켜기%4를 선택하십시오.&lt;br/&gt;&lt;br/&gt;%3사용 가능한 손전등 아이템%4:&lt;br/&gt;%2풀턴 MX-991&lt;br/&gt;%2 KSF-1&lt;br/&gt;%2 매그라이트 XL50&lt;br/&gt;&lt;br/&gt;%3참고:%4&lt;br/&gt;손전등 상태는 영구적입니다.</Korean>
<Japanese>%3フラッシュライト%4を使用すると、暗い環境でも地図を読むことができます。ただし、%3フラッシュライト%4を使用すると、周囲がわずかに光ります。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2マップ画面で [%3%12%4] を使用し、%3フラッシュライト%4を選択します。&lt;br/&gt;%2%3フラッシュライト%4を選択し、使用したいライトを%3点ける%4。&lt;br/&gt;&lt;br/&gt;%3使用可能なフラッシュライトのアイテム%4:&lt;br/&gt;%2 フルトン MX-991&lt;br/&gt;%2 KSF-1&lt;br/&gt;%2 マグライト XL50&lt;br/&gt;&lt;br/&gt;%3備考:%4&lt;br/&gt;フラッシュライトの状態は継続します。</Japanese> <Japanese>%3フラッシュライト%4を使用すると、暗い環境でも地図を読むことができます。ただし、%3フラッシュライト%4を使用すると、周囲がわずかに光ります。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2マップ画面で [%3%12%4] を使用し、%3フラッシュライト%4を選択します。&lt;br/&gt;%2%3フラッシュライト%4を選択し、使用したいライトを%3点ける%4。&lt;br/&gt;&lt;br/&gt;%3使用可能なフラッシュライトのアイテム%4:&lt;br/&gt;%2 フルトン MX-991&lt;br/&gt;%2 KSF-1&lt;br/&gt;%2 マグライト XL50&lt;br/&gt;&lt;br/&gt;%3備考:%4&lt;br/&gt;フラッシュライトの状態は継続します。</Japanese>
<Spanish>Las %3Linternas%4 proveen la habilidad para leer tu mapa, incluso en entornos oscuros. No obstante, cuando se usen las %3Linternas%4, aparecerá un ligero brillo alrededor tuya.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2En la pantalla del mapa, utilizar [%3%12%4] y seleccionar %3Linternas%4.&lt;br/&gt;%2Seleccionar la %3Linterna%4 Que quieres utilizar y selecciona %3On%4.&lt;br/&gt;&lt;br/&gt;%3Objetos de Linternas disponibles%4:&lt;br/&gt;%2 Fulton MX-991&lt;br/&gt;%2 KSF-1&lt;br/&gt;%2 Maglite XL50&lt;br/&gt;&lt;br/&gt;%3NOTA:%4&lt;br/&gt;Los estados de las Linternas son persistentes.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_HuntIR_Monitor_ShortName"> <Key ID="STR_ACE_FieldManual_Items_HuntIR_Monitor_ShortName">
<English>Observe From The Skies</English> <English>Observe From The Skies</English>
@ -500,6 +550,7 @@
<Japanese>空から戦場を見てみよう</Japanese> <Japanese>空から戦場を見てみよう</Japanese>
<Russian>Наблюдайте с Небес</Russian> <Russian>Наблюдайте с Небес</Russian>
<French>Observer depuis le ciel</French> <French>Observer depuis le ciel</French>
<Spanish>Observar Desde El Cielo</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_HuntIR_Monitor_Description"> <Key ID="STR_ACE_FieldManual_Items_HuntIR_Monitor_Description">
<English>The %3High-Altitude Unit Navigated Tactical Imaging Round (HuntIR)%4 is designed to be fired from a grenade launcher. After being fired in the air, the built-in parachute will be deployed and the IR CMOS camera will activate, providing a video stream until it touches the ground or is shot down.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3HuntIR Monitor%4 and compatible ammunition.&lt;br/&gt;%2Fire the %3HuntIR Round%4 as high as possible over the area you want to observe.&lt;br/&gt;%2Open the %3HuntIR Monitor%4.&lt;br/&gt;%2Use [%3%12%4], select %3Equipment%4.&lt;br/&gt;%2Select %3Activate HuntIR Monitor%4.</English> <English>The %3High-Altitude Unit Navigated Tactical Imaging Round (HuntIR)%4 is designed to be fired from a grenade launcher. After being fired in the air, the built-in parachute will be deployed and the IR CMOS camera will activate, providing a video stream until it touches the ground or is shot down.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3HuntIR Monitor%4 and compatible ammunition.&lt;br/&gt;%2Fire the %3HuntIR Round%4 as high as possible over the area you want to observe.&lt;br/&gt;%2Open the %3HuntIR Monitor%4.&lt;br/&gt;%2Use [%3%12%4], select %3Equipment%4.&lt;br/&gt;%2Select %3Activate HuntIR Monitor%4.</English>
@ -507,6 +558,7 @@
<Italian>Il %3High-Altitude Unit Navigated Tactical Imaging Round (HuntIR)%4 è progettato per essere sparato da un lanciagranate. Dopo essere stato sparato verso l'alto, verrà aperto un paracadute incorporato e attivata una videocamera IR CMOS, inviando una diretta video finché toccherà terra o verrà abbattuto.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia un %3Monitor HuntIR%4 e munizioni compatibili.&lt;br/&gt;%2Spara un %3Colpo HuntIR%4 il più alto possibile sopra l'area che vuoi osservare.&lt;br/&gt;%2Apri il %3Monitor HuntIR%4.&lt;br/&gt;%2Usa [%3%12%4], seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona %3Attiva Monitor HuntIR%4.</Italian> <Italian>Il %3High-Altitude Unit Navigated Tactical Imaging Round (HuntIR)%4 è progettato per essere sparato da un lanciagranate. Dopo essere stato sparato verso l'alto, verrà aperto un paracadute incorporato e attivata una videocamera IR CMOS, inviando una diretta video finché toccherà terra o verrà abbattuto.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia un %3Monitor HuntIR%4 e munizioni compatibili.&lt;br/&gt;%2Spara un %3Colpo HuntIR%4 il più alto possibile sopra l'area che vuoi osservare.&lt;br/&gt;%2Apri il %3Monitor HuntIR%4.&lt;br/&gt;%2Usa [%3%12%4], seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona %3Attiva Monitor HuntIR%4.</Italian>
<Korean>%3고고도 유닛 탐색용 전술 영상화 탄약 (HuntIR)%4은 유탄발사기에서 발사될 수 있도록 설계되었습니다.공주에서 발사된 후 내장된 낙하산이 전개되고 적외선 CMOS 카메라가 작동하여 지상에 닿거나 격추될 때까지 비디오 스트림이 제공됩니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3헌트IR 모니터%4와 호환 탄약을 장착하십시오.&lt;br/&gt;%2%3헌트IR 유탄%4을 발사하려는 구역에서 가능한 한 높게 발사하십시오.&lt;br/&gt;%2%3헌트IR 모니터%4를 여십시오.&lt;br/&gt;%2[%3%12%4]를 사용하여 %3장비%4를 선택하십시오.&lt;br/&gt;%2%3헌트IR 모니터 활성화%4를 선택하십시오.</Korean> <Korean>%3고고도 유닛 탐색용 전술 영상화 탄약 (HuntIR)%4은 유탄발사기에서 발사될 수 있도록 설계되었습니다.공주에서 발사된 후 내장된 낙하산이 전개되고 적외선 CMOS 카메라가 작동하여 지상에 닿거나 격추될 때까지 비디오 스트림이 제공됩니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3헌트IR 모니터%4와 호환 탄약을 장착하십시오.&lt;br/&gt;%2%3헌트IR 유탄%4을 발사하려는 구역에서 가능한 한 높게 발사하십시오.&lt;br/&gt;%2%3헌트IR 모니터%4를 여십시오.&lt;br/&gt;%2[%3%12%4]를 사용하여 %3장비%4를 선택하십시오.&lt;br/&gt;%2%3헌트IR 모니터 활성화%4를 선택하십시오.</Korean>
<Japanese>%3High-Altitude Unit Navigated Tactical Imaging Round (HuntIR)%4はグレネードランチャーから発射されるように設計されています。空中で発射された後、内蔵のパラシュートが展開され、IR CMOS カメラが起動し、地面に着くか撃墜されるまでビデオ ストリームを提供します。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3HuntIR モニター%4と互換性のある弾薬を装備します。&lt;br/&gt;%2観測したいエリアに向けてできるだけ高く%3HuntIR 弾頭%4を発射します。&lt;br/&gt;%2%3HuntIR モニター%4を開きます。&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3HuntIRを起動する%4からモニターを起動します。</Japanese> <Japanese>%3High-Altitude Unit Navigated Tactical Imaging Round (HuntIR)%4はグレネードランチャーから発射されるように設計されています。空中で発射された後、内蔵のパラシュートが展開され、IR CMOS カメラが起動し、地面に着くか撃墜されるまでビデオ ストリームを提供します。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3HuntIR モニター%4と互換性のある弾薬を装備します。&lt;br/&gt;%2観測したいエリアに向けてできるだけ高く%3HuntIR 弾頭%4を発射します。&lt;br/&gt;%2%3HuntIR モニター%4を開きます。&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3HuntIRを起動する%4からモニターを起動します。</Japanese>
<Spanish>El %3High-Altitude Unit Navigated Tactical Imaging Round (HuntIR)%4 está diseñado para ser disparado desde un lanzagranadas. Despues de ser disparada al aire, desplegará su paracaídas integrado y activará su cámara IR CMOS integrada, proveyendo de un flujo de video hasta que toque el suelo o sea derribado.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Equipa un %3Monitor HuntIR%4 y la munición compatible.&lt;br/&gt;%2Dispara la %3Munición HuntIR%4 tan alto como sea posible sobre el área que quieres observar.&lt;br/&gt;%2Abre el %3Monitor HuntIR%4.&lt;br/&gt;%2Usar [%3%12%4], seleccionar %3Equipamiento%4.&lt;br/&gt;%2Seleccionar %3Activar Monitor HuntIR%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_IR_Strobe_ShortName"> <Key ID="STR_ACE_FieldManual_Items_IR_Strobe_ShortName">
<English>Track Your Team With Stealth</English> <English>Track Your Team With Stealth</English>
@ -516,6 +568,7 @@
<Japanese>自分の部隊を追う</Japanese> <Japanese>自分の部隊を追う</Japanese>
<Russian>Следите за своей командой незаметно</Russian> <Russian>Следите за своей командой незаметно</Russian>
<French>Suivez votre équipe en toute discrétion</French> <French>Suivez votre équipe en toute discrétion</French>
<Spanish>Sigue A Tu Equipo Con Sigilo</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_IR_Strobe_Description"> <Key ID="STR_ACE_FieldManual_Items_IR_Strobe_Description">
<English>The %3IR Strobe%4 is a throwable that emits an IR light pulse intermittently. The %3IR Strobe%4 can also be attached to a soldier, making it useful for tracking teammates under night vision devices.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Select %3Attach%4 and select the %3IR Strobe%4.</English> <English>The %3IR Strobe%4 is a throwable that emits an IR light pulse intermittently. The %3IR Strobe%4 can also be attached to a soldier, making it useful for tracking teammates under night vision devices.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Select %3Attach%4 and select the %3IR Strobe%4.</English>
@ -523,6 +576,7 @@
<Italian>La %3Strobo IR%4 è un lanciabile che emette un impulso intermittente di luce IR. La %3Strobo IR%4 può anche essere attaccata ad un soldato, facilitando l'identificazione di alleati con visori notturni.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona %3Attacca%4 e scegli la %3Strobo IR%4.</Italian> <Italian>La %3Strobo IR%4 è un lanciabile che emette un impulso intermittente di luce IR. La %3Strobo IR%4 può anche essere attaccata ad un soldato, facilitando l'identificazione di alleati con visori notturni.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona %3Attacca%4 e scegli la %3Strobo IR%4.</Italian>
<Korean>%3적외선 스트로브%4는 던질 수 있는 적외선 광펄스를 간헐적으로 방출하는 투척형 아이템입니다. %3적외선 스트로브%4는 병사에게도 부착 가능하기 때문에 야간투시장치로 팀원을 추적할 때 유용합니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2[%3%12%4]를 사용하여 %3장비%4를 선택하십시오.&lt;br/&gt;%2%3아이템 부착%4을 선택하고 %3적외선 스트로브%4를 선택하십시오.</Korean> <Korean>%3적외선 스트로브%4는 던질 수 있는 적외선 광펄스를 간헐적으로 방출하는 투척형 아이템입니다. %3적외선 스트로브%4는 병사에게도 부착 가능하기 때문에 야간투시장치로 팀원을 추적할 때 유용합니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2[%3%12%4]를 사용하여 %3장비%4를 선택하십시오.&lt;br/&gt;%2%3아이템 부착%4을 선택하고 %3적외선 스트로브%4를 선택하십시오.</Korean>
<Japanese>%3赤外線ストロボ%4は、赤外線光パルスを断続的に放射します。投擲可能です。%3赤外線ストロボ%4は兵士に取り付けることもできるため、暗視装置の下でチームメイトを追跡するのに役立ちます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3アイテムを取り付ける%4を選択して%3赤外線ストロボ%4を選び使用します。</Japanese> <Japanese>%3赤外線ストロボ%4は、赤外線光パルスを断続的に放射します。投擲可能です。%3赤外線ストロボ%4は兵士に取り付けることもできるため、暗視装置の下でチームメイトを追跡するのに役立ちます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3アイテムを取り付ける%4を選択して%3赤外線ストロボ%4を選び使用します。</Japanese>
<Spanish>El %3Estroboscópico IR%4 es un objeto lanzable que emite un pulso intermitente de luz IR. El %3Estroboscópico IR%4 tambien puede ser sujeto a un soldado, haciéndolo útil para el seguimiento de los compañeros utilizando gafas de visión nocturna.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Equipamiento%4.&lt;br/&gt;%2Seleccionar %3Sujetar%4 y seleccionar el %3Estroboscópico IR%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Kestrel4500_ShortName"> <Key ID="STR_ACE_FieldManual_Items_Kestrel4500_ShortName">
<English>Pocket Weatherstation</English> <English>Pocket Weatherstation</English>
@ -532,6 +586,7 @@
<Japanese>携帯気象予報所</Japanese> <Japanese>携帯気象予報所</Japanese>
<Russian>Карманная метеостанция</Russian> <Russian>Карманная метеостанция</Russian>
<French>Station météo de poche</French> <French>Station météo de poche</French>
<Spanish>Estación Climática de Bolsillo</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Kestrel4500_Description"> <Key ID="STR_ACE_FieldManual_Items_Kestrel4500_Description">
<English>The %3Kestrel 4500 Pocket Weather Tracker%4 is a mini weather station useful for collecting the the following weather data:&lt;br/&gt;%2Heading and wind direction&lt;br/&gt;%2Crosswind and headwind&lt;br/&gt;%2Altitude and barometric pressure&lt;br/&gt;%2Wet bulb temperature&lt;br/&gt;%2Humidity and dewpoint&lt;br/&gt;%2Density altitude&lt;br/&gt;%2Wind chill and temperature&lt;br/&gt;%2Time and date&lt;br/&gt;%2Minimum, maximum, and average values&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3Kestrel%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Select %3Open%4.</English> <English>The %3Kestrel 4500 Pocket Weather Tracker%4 is a mini weather station useful for collecting the the following weather data:&lt;br/&gt;%2Heading and wind direction&lt;br/&gt;%2Crosswind and headwind&lt;br/&gt;%2Altitude and barometric pressure&lt;br/&gt;%2Wet bulb temperature&lt;br/&gt;%2Humidity and dewpoint&lt;br/&gt;%2Density altitude&lt;br/&gt;%2Wind chill and temperature&lt;br/&gt;%2Time and date&lt;br/&gt;%2Minimum, maximum, and average values&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3Kestrel%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Select %3Open%4.</English>
@ -539,6 +594,7 @@
<Italian>Il %3Kestrel 4500 Indicatore Meteorologico Tascabile%4 è una mini-stazione meteo utile per ricavare le seguenti informazioni meteorologiche:&lt;br/&gt;%2Prua e direzione del vento&lt;br/&gt;%2Vento di traverso e frontale&lt;br/&gt;%2Altitudine and pressione barometrica&lt;br/&gt;%2Temperatura di bulbo umido&lt;br/&gt;%2Umidità e punto di rugiada&lt;br/&gt;%2Density altitude&lt;br/&gt;%2Temperatura e gelo del vento&lt;br/&gt;%2Data e Ora&lt;br/&gt;%2Valori minimi, massimi, e medi&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia %3Kestrel%4.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona %3Apri%4.</Italian> <Italian>Il %3Kestrel 4500 Indicatore Meteorologico Tascabile%4 è una mini-stazione meteo utile per ricavare le seguenti informazioni meteorologiche:&lt;br/&gt;%2Prua e direzione del vento&lt;br/&gt;%2Vento di traverso e frontale&lt;br/&gt;%2Altitudine and pressione barometrica&lt;br/&gt;%2Temperatura di bulbo umido&lt;br/&gt;%2Umidità e punto di rugiada&lt;br/&gt;%2Density altitude&lt;br/&gt;%2Temperatura e gelo del vento&lt;br/&gt;%2Data e Ora&lt;br/&gt;%2Valori minimi, massimi, e medi&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia %3Kestrel%4.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona %3Apri%4.</Italian>
<Korean>%3케스트렐 4500 휴대용 기상 추적 장비%4는 다음 날씨 데이터들을 수집하는 데 유용한 소형 기상 관측 장비입니다:&lt;br/&gt;%2바람이 오는 방향과 가는 방향&lt;br/&gt;%2옆바람과 맞바람&lt;br/&gt;%2고도 및 기압&lt;br/&gt;%2습구온도&lt;br/&gt;%2습도 및 이슬점&lt;br/&gt;%2밀도고도&lt;br/&gt;%2체감온도&lt;br/&gt;%2시간 및 날짜&lt;br/&gt;%2최소, 최대, 평균값&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3케스트렐 4500NV%4를 장착하십시오.&lt;br/&gt;%2[%3%12%4]를 사용하고 %3장비%4를 선택하십시오.&lt;br/&gt;%2%3열기%4를 선택하십시오.</Korean> <Korean>%3케스트렐 4500 휴대용 기상 추적 장비%4는 다음 날씨 데이터들을 수집하는 데 유용한 소형 기상 관측 장비입니다:&lt;br/&gt;%2바람이 오는 방향과 가는 방향&lt;br/&gt;%2옆바람과 맞바람&lt;br/&gt;%2고도 및 기압&lt;br/&gt;%2습구온도&lt;br/&gt;%2습도 및 이슬점&lt;br/&gt;%2밀도고도&lt;br/&gt;%2체감온도&lt;br/&gt;%2시간 및 날짜&lt;br/&gt;%2최소, 최대, 평균값&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3케스트렐 4500NV%4를 장착하십시오.&lt;br/&gt;%2[%3%12%4]를 사용하고 %3장비%4를 선택하십시오.&lt;br/&gt;%2%3열기%4를 선택하십시오.</Korean>
<Japanese>%3ケストレル 4500 携帯気象計%4は、次の気象データの収集に役立つミニ気象ステーションです:&lt;br/&gt;%2方位と風向&lt;br/&gt;%2横風と向かい風&lt;br/&gt;%2高度と気圧&lt;br/&gt;%2湿球温度&lt;br/&gt;%2湿度と露点&lt;br/&gt;%2密度高度&lt;br/&gt;%2ウィンドチルと温度&lt;br/&gt;%2日付と時刻&lt;br/&gt;%2最小値、最大値、平均値&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3ケストレル%4を装備します。&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3ケストレルを開く%4で使用できます。</Japanese> <Japanese>%3ケストレル 4500 携帯気象計%4は、次の気象データの収集に役立つミニ気象ステーションです:&lt;br/&gt;%2方位と風向&lt;br/&gt;%2横風と向かい風&lt;br/&gt;%2高度と気圧&lt;br/&gt;%2湿球温度&lt;br/&gt;%2湿度と露点&lt;br/&gt;%2密度高度&lt;br/&gt;%2ウィンドチルと温度&lt;br/&gt;%2日付と時刻&lt;br/&gt;%2最小値、最大値、平均値&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3ケストレル%4を装備します。&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3ケストレルを開く%4で使用できます。</Japanese>
<Spanish>La %3Estación Climática de Bolsillo Kestrel 4500%4 es una pequeña estación climática portátil para recolectar la siguiente información del tiempo:&lt;br/&gt;%2Dirección y Sentido del Viento&lt;br/&gt;%2VIento cruzado y Viento en cola&lt;br/&gt;%2Altitud y presión barométrica&lt;br/&gt;%2Temperatura húmeda&lt;br/&gt;%2Humedad y punto de condensación&lt;br/&gt;%2Densidad de altitud&lt;br/&gt;%2Sensación térmica y temperatura&lt;br/&gt;%2Hora y fecha&lt;br/&gt;%2Valores mínimos, máximos y medios&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Equipa un %3Kestrel%4.&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Equipamiento%4.&lt;br/&gt;%2Seleccionar %3Abrir%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_MapTools_ShortName"> <Key ID="STR_ACE_FieldManual_Items_MapTools_ShortName">
<English>Triangulate Your Position</English> <English>Triangulate Your Position</English>
@ -548,6 +604,7 @@
<Japanese>三角測量で位置を特定</Japanese> <Japanese>三角測量で位置を特定</Japanese>
<Russian>Передавайте свое местоположение</Russian> <Russian>Передавайте свое местоположение</Russian>
<French>Trianguler votre position</French> <French>Trianguler votre position</French>
<Spanish>Triangular Tu Posición</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_MapTools_Description"> <Key ID="STR_ACE_FieldManual_Items_MapTools_Description">
<English>The %3Map Tools%4 are a set of tools that allows a soldier to measure distances and angles. Useful for land, and calculating firing solutions for artillery.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Open %3Map%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Map Tools%4.&lt;br/&gt;%2 The Tool can be moved by dragging with [%3Left-Click%4] while holding [%3ALT%4].</English> <English>The %3Map Tools%4 are a set of tools that allows a soldier to measure distances and angles. Useful for land, and calculating firing solutions for artillery.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Open %3Map%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Map Tools%4.&lt;br/&gt;%2 The Tool can be moved by dragging with [%3Left-Click%4] while holding [%3ALT%4].</English>
@ -556,6 +613,7 @@
<Korean>%3독도용 도구%4는 병사가 거리와 각도를 측정할 수 있는 도구 세트입니다. 지상에서 유용하며 포병 사격 솔루션 계산에 유용합니다,&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3지도%4를 여십시오.&lt;br/&gt;%2[%3%12%4]를 사용하여 %3독도용 도구%4를 선택하십시오.&lt;br/&gt;%2도구는 [%3Alt 키%4]를 누른 상태에서 [%3마우스 왼쪽 클릭%4]으로 드래그하여 이동할 수 있습니다.</Korean> <Korean>%3독도용 도구%4는 병사가 거리와 각도를 측정할 수 있는 도구 세트입니다. 지상에서 유용하며 포병 사격 솔루션 계산에 유용합니다,&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3지도%4를 여십시오.&lt;br/&gt;%2[%3%12%4]를 사용하여 %3독도용 도구%4를 선택하십시오.&lt;br/&gt;%2도구는 [%3Alt 키%4]를 누른 상태에서 [%3마우스 왼쪽 클릭%4]으로 드래그하여 이동할 수 있습니다.</Korean>
<Japanese>%3マップ ツール%4は、兵士が距離と角度を測定できるようにするツールのセットです。陸上や大砲の射撃工程の計算を解くのに役立ちます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3マップ%4を開きます。&lt;br/&gt;%2[%3%12%4] を使って%3マップ ツール%4を選択します。&lt;br/&gt;%2 [%3ALT%4] を押しながら [%3左クリック%4] でドラッグするとツールを移動できます。</Japanese> <Japanese>%3マップ ツール%4は、兵士が距離と角度を測定できるようにするツールのセットです。陸上や大砲の射撃工程の計算を解くのに役立ちます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3マップ%4を開きます。&lt;br/&gt;%2[%3%12%4] を使って%3マップ ツール%4を選択します。&lt;br/&gt;%2 [%3ALT%4] を押しながら [%3左クリック%4] でドラッグするとツールを移動できます。</Japanese>
<French>Les %3Outils cartographiques%4 sont un ensemble d'outils permettant au soldat de mesurer des distances et des angles. Utile pour la terre et le calcul des solutions de tir pour l'artillerie.&lt;br/&gt;&lt;br/&gt;%3Utilisation:%4&lt;br/&gt;%2Ouvrir la%3Carte%4.&lt;br/&gt;%2Utiliser [%3%12%4] et sélectionner %3Outils cartographiques%4.&lt;br/&gt;%2 L'outil peut être déplacé en le faisant glisser avec [%3Clic gauche%4] tout en maintenant [%3ALT%4].</French> <French>Les %3Outils cartographiques%4 sont un ensemble d'outils permettant au soldat de mesurer des distances et des angles. Utile pour la terre et le calcul des solutions de tir pour l'artillerie.&lt;br/&gt;&lt;br/&gt;%3Utilisation:%4&lt;br/&gt;%2Ouvrir la%3Carte%4.&lt;br/&gt;%2Utiliser [%3%12%4] et sélectionner %3Outils cartographiques%4.&lt;br/&gt;%2 L'outil peut être déplacé en le faisant glisser avec [%3Clic gauche%4] tout en maintenant [%3ALT%4].</French>
<Spanish>Las %3Herramientas de mapa%4 son un conjunto de herramientas que permiten a un soldado medir distancias y ángulos. Util para terrenos, y para calcular soluciones de tiro para artillería.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Abrir %3Mapa%4.&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Herramientas de Mapa%4.&lt;br/&gt;%2 La herramienta puede ser movida siendo arrastrada con [%3CLick-Izquierdo%4] mientras se pulsa [%3ALT%4].</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_MicroDAGR_ShortName"> <Key ID="STR_ACE_FieldManual_Items_MicroDAGR_ShortName">
<English>Advanced DAGR</English> <English>Advanced DAGR</English>
@ -565,6 +623,7 @@
<Japanese>より高度なDAGR</Japanese> <Japanese>より高度なDAGR</Japanese>
<Russian>Продвинутый DAGR</Russian> <Russian>Продвинутый DAGR</Russian>
<French>DAGR avancé</French> <French>DAGR avancé</French>
<Spanish>DAGR Avanzado</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_MicroDAGR_Description"> <Key ID="STR_ACE_FieldManual_Items_MicroDAGR_Description">
<English>The %3MicroDAGR GPS%4 is an advanced version of the %3DAGR%4. It provides position, navigation, and timing (PNT) data to include:&lt;br/&gt;%2Compass and heading&lt;br/&gt;%2Date and hour synced to the mission&lt;br/&gt;%2Elevation (relative to sea level)&lt;br/&gt;%2Current speed&lt;br/&gt;%2GPS with topographic and satellite view&lt;br/&gt;%2Creating, naming, and deleting waypoints&lt;br/&gt;%2Friendly identification (Requires ACE BLUFOR Tracker Setting)&lt;br/&gt;Connection to the Vector-21 Rangefinder for data import (waypoint creation and grid reference of ranged targets)&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2For usage instructions, please visit the dedicated %3MicroDAGR%4 wiki.</English> <English>The %3MicroDAGR GPS%4 is an advanced version of the %3DAGR%4. It provides position, navigation, and timing (PNT) data to include:&lt;br/&gt;%2Compass and heading&lt;br/&gt;%2Date and hour synced to the mission&lt;br/&gt;%2Elevation (relative to sea level)&lt;br/&gt;%2Current speed&lt;br/&gt;%2GPS with topographic and satellite view&lt;br/&gt;%2Creating, naming, and deleting waypoints&lt;br/&gt;%2Friendly identification (Requires ACE BLUFOR Tracker Setting)&lt;br/&gt;Connection to the Vector-21 Rangefinder for data import (waypoint creation and grid reference of ranged targets)&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2For usage instructions, please visit the dedicated %3MicroDAGR%4 wiki.</English>
@ -572,6 +631,7 @@
<Italian>Il %3GPS MicroDAGR%4 è una versione avanzata del %3DAGR%4. Esso mostra dati su posizione, navigazione e tempismo (PNT), includendo:&lt;br/&gt;%2Bussola e azimut&lt;br/&gt;%2Data e ora sincronizzate con la missione&lt;br/&gt;%2Elevazione (dal livello del mare)&lt;br/&gt;%2Velocità attuale&lt;br/&gt;%2GPS con visuale topografica e satellitare&lt;br/&gt;%2Creazione, rinomina e rimozione di waypoint&lt;br/&gt;%2Identificazione di alleati (Richiede Impostazioni ACE BLUFOR Tracker)&lt;br/&gt;Connessione al Telemetro Vector-21 per importazione di dati (creazione waypoint e indicazione di griglia su bersagli puntati)&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Per informazioni sull'utilizzo sei pregato di visitare la pagina wiki dedicata al %3MicroDAGR%4.</Italian> <Italian>Il %3GPS MicroDAGR%4 è una versione avanzata del %3DAGR%4. Esso mostra dati su posizione, navigazione e tempismo (PNT), includendo:&lt;br/&gt;%2Bussola e azimut&lt;br/&gt;%2Data e ora sincronizzate con la missione&lt;br/&gt;%2Elevazione (dal livello del mare)&lt;br/&gt;%2Velocità attuale&lt;br/&gt;%2GPS con visuale topografica e satellitare&lt;br/&gt;%2Creazione, rinomina e rimozione di waypoint&lt;br/&gt;%2Identificazione di alleati (Richiede Impostazioni ACE BLUFOR Tracker)&lt;br/&gt;Connessione al Telemetro Vector-21 per importazione di dati (creazione waypoint e indicazione di griglia su bersagli puntati)&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Per informazioni sull'utilizzo sei pregato di visitare la pagina wiki dedicata al %3MicroDAGR%4.</Italian>
<Korean>%3마이크로DAGR GPS%4는 %3DAGR%4의 고급 버전입니다. 다음과 같이 위치, 내비게이션 및 타이밍(PNT) 데이터를 제공합니다:&lt;br/&gt;%2나침반 및 방향&lt;br/&gt;%2임무와 동기화된 날짜 및 시간&lt;br/&gt;%2고도 (해수면 기준)&lt;br/&gt;%2현재 속도&lt;br/&gt;%2지형 및 위성 시점 기능이 있는 GPS&lt;br/&gt;%2웨이포인트 생성, 작명 및 삭제&lt;br/&gt;%2아군 식별 (ACE의 GPS 피아식별기 켜기 체크 필요)&lt;br/&gt;%2데이터를 가져오기 위한 벡터-21 거리계에 연결(원거리 대상의 웨이포인트 생성 및 좌표 참조)&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2사용 방법을 보려면 전용 %3마이크로DAGR%4의 위키를 방문하십시오.</Korean> <Korean>%3마이크로DAGR GPS%4는 %3DAGR%4의 고급 버전입니다. 다음과 같이 위치, 내비게이션 및 타이밍(PNT) 데이터를 제공합니다:&lt;br/&gt;%2나침반 및 방향&lt;br/&gt;%2임무와 동기화된 날짜 및 시간&lt;br/&gt;%2고도 (해수면 기준)&lt;br/&gt;%2현재 속도&lt;br/&gt;%2지형 및 위성 시점 기능이 있는 GPS&lt;br/&gt;%2웨이포인트 생성, 작명 및 삭제&lt;br/&gt;%2아군 식별 (ACE의 GPS 피아식별기 켜기 체크 필요)&lt;br/&gt;%2데이터를 가져오기 위한 벡터-21 거리계에 연결(원거리 대상의 웨이포인트 생성 및 좌표 참조)&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2사용 방법을 보려면 전용 %3마이크로DAGR%4의 위키를 방문하십시오.</Korean>
<Japanese>%3MicroDAGR GPS%4は%3DAGR%4のより高度なバージョンです。測位、航法、計時(PNT)データが提供されます。これには以下の情報を含みます:&lt;br/&gt;%2コンパスと方位&lt;br/&gt;%2ミッションに同期された日付と時間&lt;br/&gt;%2標高 (海面に対する相対値)&lt;br/&gt;%2現在の速度&lt;br/&gt;%2地形図と衛星ビューを備えたGPS&lt;br/&gt;%2ウェイポイントの作成、名前付け、および削除&lt;br/&gt;%2友軍の識別 (ACE ブルーフォーストラッキング設定が必要)&lt;br/&gt;ベクター21レンジファインダーへの接続とデータのインポート (ウェイポイントの作成と遠距離ターゲットのグリッド参照)&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2使用手順については、専用の %3MicroDAGR%4 wiki を参照してください。</Japanese> <Japanese>%3MicroDAGR GPS%4は%3DAGR%4のより高度なバージョンです。測位、航法、計時(PNT)データが提供されます。これには以下の情報を含みます:&lt;br/&gt;%2コンパスと方位&lt;br/&gt;%2ミッションに同期された日付と時間&lt;br/&gt;%2標高 (海面に対する相対値)&lt;br/&gt;%2現在の速度&lt;br/&gt;%2地形図と衛星ビューを備えたGPS&lt;br/&gt;%2ウェイポイントの作成、名前付け、および削除&lt;br/&gt;%2友軍の識別 (ACE ブルーフォーストラッキング設定が必要)&lt;br/&gt;ベクター21レンジファインダーへの接続とデータのインポート (ウェイポイントの作成と遠距離ターゲットのグリッド参照)&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2使用手順については、専用の %3MicroDAGR%4 wiki を参照してください。</Japanese>
<Spanish>El %3GPS MicroDAGR%4 es una versión avanzada del %3DAGR%4. Provee de posicionamiento, navegación y datos de temporización (PNT) que incluye:&lt;br/&gt;%2Brújula y dirección&lt;br/&gt;%2Fecha y hora sincronizada con la misión&lt;br/&gt;%2Elevación (relativa al nivel del mar)&lt;br/&gt;%2Velocidad actual&lt;br/&gt;%2GPS con vista topográfica y satelital&lt;br/&gt;%2Creación, nombrado y borrado de puntos de ruta&lt;br/&gt;%2Identificación de aliados (Requiere la opción de ACE BLUFOR Tracker)&lt;br/&gt;Conexión con el telémetro Vector-21 para importación de datos (creación de puntos de ruta y referenciado en eje de coordenada para objetivos a distancia)&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Para instrucciones de uso, por favor visita la Wiki dedicada de %3MicroDAGR%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_RangeTables_DisplayName"> <Key ID="STR_ACE_FieldManual_Items_RangeTables_DisplayName">
<English>Range Tables</English> <English>Range Tables</English>
@ -581,6 +641,7 @@
<Japanese>射表</Japanese> <Japanese>射表</Japanese>
<Russian>Таблицы диапазонов</Russian> <Russian>Таблицы диапазонов</Russian>
<French>Tables de tir</French> <French>Tables de tir</French>
<Spanish>Tablas de Distancia</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_RangeTables_ShortName"> <Key ID="STR_ACE_FieldManual_Items_RangeTables_ShortName">
<English>Get A Firing Solution</English> <English>Get A Firing Solution</English>
@ -590,6 +651,7 @@
<Japanese>撃ち方の解を得る</Japanese> <Japanese>撃ち方の解を得る</Japanese>
<Russian>Получите расчёт</Russian> <Russian>Получите расчёт</Russian>
<French>Obtenir une solution de tir</French> <French>Obtenir une solution de tir</French>
<Spanish>Obtener Una Solución de Tiro</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_RangeTables_Description"> <Key ID="STR_ACE_FieldManual_Items_RangeTables_Description">
<English>%3Range Tables%4 allow for a soldier to estimate accurate shot placement on direct or indirect targets (depending on asset). The %3Range Table%4 will automatically fill depending on the soldiers selected weapon/vehicle.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Select the desired %3Range Table%4.</English> <English>%3Range Tables%4 allow for a soldier to estimate accurate shot placement on direct or indirect targets (depending on asset). The %3Range Table%4 will automatically fill depending on the soldiers selected weapon/vehicle.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Select the desired %3Range Table%4.</English>
@ -597,6 +659,7 @@
<Italian>%3Tavole di tiro%4 permettono al soldato di stimare piazzamenti accurati di colpi mediante fuoco diretto o indiretto (a seconda dell'arma). La %3Tavola di tiro%4 si modificherà in automatico a seconda dell'arma/veicolo del soldato.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] and seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona la portata desiderata sulla %3Tavola di tiro%4.</Italian> <Italian>%3Tavole di tiro%4 permettono al soldato di stimare piazzamenti accurati di colpi mediante fuoco diretto o indiretto (a seconda dell'arma). La %3Tavola di tiro%4 si modificherà in automatico a seconda dell'arma/veicolo del soldato.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] and seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona la portata desiderata sulla %3Tavola di tiro%4.</Italian>
<Korean>%3사거리표%4를 사용하면 병사가 직접 또는 간접 표적(자산에 따라 다름)에 대한 정확한 사격 배치를 추정할 수 있습니다. %3사거리표%4는 선택한 병사의 무기/차량에 따라 자동으로 작성됩니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2[%3%12%4]를 사용하고 %3장비%4를 선택하십시오.&lt;br/&gt;%2원하는 %3사거리표%4를 선택하십시오.</Korean> <Korean>%3사거리표%4를 사용하면 병사가 직접 또는 간접 표적(자산에 따라 다름)에 대한 정확한 사격 배치를 추정할 수 있습니다. %3사거리표%4는 선택한 병사의 무기/차량에 따라 자동으로 작성됩니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2[%3%12%4]를 사용하고 %3장비%4를 선택하십시오.&lt;br/&gt;%2원하는 %3사거리표%4를 선택하십시오.</Korean>
<Japanese>%3射表%4 を使用すると、兵士は (手段に応じて) 直接的または間接的なターゲットへの正確な射撃位置を推定できます。%3射表%4は、兵士が選択した武器/車両に応じて自動的に入力されます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2目的の%3射表%4を選択します。</Japanese> <Japanese>%3射表%4 を使用すると、兵士は (手段に応じて) 直接的または間接的なターゲットへの正確な射撃位置を推定できます。%3射表%4は、兵士が選択した武器/車両に応じて自動的に入力されます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2目的の%3射表%4を選択します。</Japanese>
<Spanish>La %3Tabla de distancias%4 permite a un soldado estimar con precisión el posicionamiento de un disparo sobre un objetivo de manera directa o indirecta (dependiendo del dispositivo). La %3Tabla de distancias%4 se autorellena dependiendo del arma o vehículo seleccionado por el soldado.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Equipamiento%4.&lt;br/&gt;%2Selecciona la %3Tabla de distancias%4 deseada.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Ropes_DisplayName"> <Key ID="STR_ACE_FieldManual_Items_Ropes_DisplayName">
<English>Ropes</English> <English>Ropes</English>
@ -606,6 +669,7 @@
<Japanese>ロープ</Japanese> <Japanese>ロープ</Japanese>
<Russian>Канаты</Russian> <Russian>Канаты</Russian>
<French>Corde</French> <French>Corde</French>
<Spanish>Cuerdas</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Ropes_ShortName"> <Key ID="STR_ACE_FieldManual_Items_Ropes_ShortName">
<English>Tow With Ease</English> <English>Tow With Ease</English>
@ -615,6 +679,7 @@
<Japanese>楽々けん引</Japanese> <Japanese>楽々けん引</Japanese>
<Russian>Буксируйте с легкостью</Russian> <Russian>Буксируйте с легкостью</Russian>
<French>Remorquer avec facilité</French> <French>Remorquer avec facilité</French>
<Spanish>Remolcar Con Facilidad</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Ropes_Description"> <Key ID="STR_ACE_FieldManual_Items_Ropes_Description">
<English>%3Ropes%4 have multiple uses including %3Towing%4 vehicles and %3Fast Roping%4 from helicopters.&lt;br/&gt;&lt;br/&gt;%3Towing:%4&lt;br/&gt;%2Approach a vehicle.&lt;br/&gt;%2Use [%3%13%4] and select %3Towing%4.&lt;br/&gt;%2Select rope length.&lt;br/&gt;%2Select attachment point on towing vehicle.&lt;br/&gt;%2Select attachment on towed vehicle.&lt;br/&gt;&lt;br/&gt;%3Available Rope Lengths:%4&lt;br/&gt;%2 3.2 meters&lt;br/&gt;%2 6.2 meters&lt;br/&gt;%2 12.2 meters&lt;br/&gt;%2 15.2 meters&lt;br/&gt;%2 18.3 meters&lt;br/&gt;%2 27.4 meters&lt;br/&gt;%2 36.6 meters</English> <English>%3Ropes%4 have multiple uses including %3Towing%4 vehicles and %3Fast Roping%4 from helicopters.&lt;br/&gt;&lt;br/&gt;%3Towing:%4&lt;br/&gt;%2Approach a vehicle.&lt;br/&gt;%2Use [%3%13%4] and select %3Towing%4.&lt;br/&gt;%2Select rope length.&lt;br/&gt;%2Select attachment point on towing vehicle.&lt;br/&gt;%2Select attachment on towed vehicle.&lt;br/&gt;&lt;br/&gt;%3Available Rope Lengths:%4&lt;br/&gt;%2 3.2 meters&lt;br/&gt;%2 6.2 meters&lt;br/&gt;%2 12.2 meters&lt;br/&gt;%2 15.2 meters&lt;br/&gt;%2 18.3 meters&lt;br/&gt;%2 27.4 meters&lt;br/&gt;%2 36.6 meters</English>
@ -622,6 +687,7 @@
<Italian>%3Corde%4 hanno molteplici utilizzi, come %3Trainare%4 veicoli e %3Fast Roping%4 da elicotteri.&lt;br/&gt;&lt;br/&gt;%3Traino:%4&lt;br/&gt;%2Avvicinati a un veicolo.&lt;br/&gt;%2Usa [%3%13%4] e seleziona %3Traina%4.&lt;br/&gt;%2Seleziona lunghezza corda.&lt;br/&gt;%2Seleziona punto di attacco su veicolo trainante.&lt;br/&gt;%2Seleziona attacco su veicolo trainato.&lt;br/&gt;&lt;br/&gt;%3Lunghezze corde a disposizione:%4&lt;br/&gt;%2 3.2 metri&lt;br/&gt;%2 6.2 metri&lt;br/&gt;%2 12.2 metri&lt;br/&gt;%2 15.2 metri&lt;br/&gt;%2 18.3 metri&lt;br/&gt;%2 27.4 metri&lt;br/&gt;%2 36.6 metri</Italian> <Italian>%3Corde%4 hanno molteplici utilizzi, come %3Trainare%4 veicoli e %3Fast Roping%4 da elicotteri.&lt;br/&gt;&lt;br/&gt;%3Traino:%4&lt;br/&gt;%2Avvicinati a un veicolo.&lt;br/&gt;%2Usa [%3%13%4] e seleziona %3Traina%4.&lt;br/&gt;%2Seleziona lunghezza corda.&lt;br/&gt;%2Seleziona punto di attacco su veicolo trainante.&lt;br/&gt;%2Seleziona attacco su veicolo trainato.&lt;br/&gt;&lt;br/&gt;%3Lunghezze corde a disposizione:%4&lt;br/&gt;%2 3.2 metri&lt;br/&gt;%2 6.2 metri&lt;br/&gt;%2 12.2 metri&lt;br/&gt;%2 15.2 metri&lt;br/&gt;%2 18.3 metri&lt;br/&gt;%2 27.4 metri&lt;br/&gt;%2 36.6 metri</Italian>
<Korean>%3로프%4는 차량 %3견인%4 및 헬기의 %3패스트로프%4 등 여러 용도로 사용됩니다.&lt;br/&gt;&lt;br/&gt;%3견인 방법:%4&lt;br/&gt;%2차량에 접근하십시오.&lt;br/&gt;%2[%3%13%4]를 사용하고 %3견인%4을 선택하십시오.&lt;br/&gt;%2로프 길이를 선택하십시오.&lt;br/&gt;%2견인할 차량의 부착 지점을 선택하십시오.&lt;br/&gt;%2견인될 차량의 부착 지점을 선택하십시오.&lt;br/&gt;&lt;br/&gt;%3사용 가능한 로프 길이:%4&lt;br/&gt;%2 3.2m&lt;br/&gt;%2 6.2m&lt;br/&gt;%2 12.2m&lt;br/&gt;%2 15.2m&lt;br/&gt;%2 18.3m&lt;br/&gt;%2 27.4m&lt;br/&gt;%2 36.6m</Korean> <Korean>%3로프%4는 차량 %3견인%4 및 헬기의 %3패스트로프%4 등 여러 용도로 사용됩니다.&lt;br/&gt;&lt;br/&gt;%3견인 방법:%4&lt;br/&gt;%2차량에 접근하십시오.&lt;br/&gt;%2[%3%13%4]를 사용하고 %3견인%4을 선택하십시오.&lt;br/&gt;%2로프 길이를 선택하십시오.&lt;br/&gt;%2견인할 차량의 부착 지점을 선택하십시오.&lt;br/&gt;%2견인될 차량의 부착 지점을 선택하십시오.&lt;br/&gt;&lt;br/&gt;%3사용 가능한 로프 길이:%4&lt;br/&gt;%2 3.2m&lt;br/&gt;%2 6.2m&lt;br/&gt;%2 12.2m&lt;br/&gt;%2 15.2m&lt;br/&gt;%2 18.3m&lt;br/&gt;%2 27.4m&lt;br/&gt;%2 36.6m</Korean>
<Japanese>%3ロープ%4には、車両の%3けん引%4やヘリコプターからの%3ファストロープ%4など、複数の用途があります。&lt;br/&gt;&lt;br/&gt;%3けん引方法:%4&lt;br/&gt;%2車両に近づきます。&lt;br/&gt;%2[%3%13%4] を使って%3けん引%4を選択します。&lt;br/&gt;%2ロープの長さを選択します。&lt;br/&gt;%2けん引する車両のロープ取付位置を選択します。&lt;br/&gt;%2けん引される車両のロープ取付位置を選択します。&lt;br/&gt;&lt;br/&gt;%3利用可能なロープの長さ:%4&lt;br/&gt;%2 3.2 メートル&lt;br/&gt;%2 6.2 メートル&lt;br/&gt;%2 12.2 メートル&lt;br/&gt;%2 15.2 メートル&lt;br/&gt;%2 18.3 メートル&lt;br/&gt;%2 27.4 メートル&lt;br/&gt;%2 36.6 メートル</Japanese> <Japanese>%3ロープ%4には、車両の%3けん引%4やヘリコプターからの%3ファストロープ%4など、複数の用途があります。&lt;br/&gt;&lt;br/&gt;%3けん引方法:%4&lt;br/&gt;%2車両に近づきます。&lt;br/&gt;%2[%3%13%4] を使って%3けん引%4を選択します。&lt;br/&gt;%2ロープの長さを選択します。&lt;br/&gt;%2けん引する車両のロープ取付位置を選択します。&lt;br/&gt;%2けん引される車両のロープ取付位置を選択します。&lt;br/&gt;&lt;br/&gt;%3利用可能なロープの長さ:%4&lt;br/&gt;%2 3.2 メートル&lt;br/&gt;%2 6.2 メートル&lt;br/&gt;%2 12.2 メートル&lt;br/&gt;%2 15.2 メートル&lt;br/&gt;%2 18.3 メートル&lt;br/&gt;%2 27.4 メートル&lt;br/&gt;%2 36.6 メートル</Japanese>
<Spanish>Las %3Cuerdas%4 tienen múltiples usos incluyendo el %3Remolcado%4 de vehículos y el %3Descenso con Cuerda%4 desde helicópteros.&lt;br/&gt;&lt;br/&gt;%3Remolcado:%4&lt;br/&gt;%2Acércate a un vehículo.&lt;br/&gt;%2Usar [%3%13%4] y seleccionar %3Remolcado%4.&lt;br/&gt;%2Selecciona la longitud de la cuerda.&lt;br/&gt;%2Selecciona un punto de anclaje en el vehículo de remolcado.&lt;br/&gt;%2Selecciona una sujección en el vehículo remolcado.&lt;br/&gt;&lt;br/&gt;%3Longitudes de Cuerda Disponibles:%4&lt;br/&gt;%2 3.2 metros&lt;br/&gt;%2 6.2 metros&lt;br/&gt;%2 12.2 metros&lt;br/&gt;%2 15.2 metros&lt;br/&gt;%2 18.3 metros&lt;br/&gt;%2 27.4 metros&lt;br/&gt;%2 36.6 metros</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Sandbag_ShortName"> <Key ID="STR_ACE_FieldManual_Items_Sandbag_ShortName">
<English>Expand Your Fortifications</English> <English>Expand Your Fortifications</English>
@ -631,6 +697,7 @@
<Japanese>要塞を拡張する</Japanese> <Japanese>要塞を拡張する</Japanese>
<Russian>Расширить свои укрепления</Russian> <Russian>Расширить свои укрепления</Russian>
<French>Élargissez vos fortifications</French> <French>Élargissez vos fortifications</French>
<Spanish>Expande Tus Fortificaciones</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Sandbag_Description"> <Key ID="STR_ACE_FieldManual_Items_Sandbag_Description">
<English>%3Sandbags%4 are sacks made of sturdy material, filled with sand, used for a variety of purposes such as creating barriers or providing stability in construction projects. Useful in expanding larger placed fortifications.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3Sandbag (Empty)%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Deploy Sandbag%4.&lt;br/&gt;%2Follow on-screen instructions for placement.</English> <English>%3Sandbags%4 are sacks made of sturdy material, filled with sand, used for a variety of purposes such as creating barriers or providing stability in construction projects. Useful in expanding larger placed fortifications.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3Sandbag (Empty)%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Deploy Sandbag%4.&lt;br/&gt;%2Follow on-screen instructions for placement.</English>
@ -638,6 +705,7 @@
<Italian>%3Sacchi di Sabbia%4 sono sacchi di un materiale robusto, riempiti di sabbia, usati per una varietà di utilizzi come creare barriere o aumentare la stabilità di fortificazioni.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia una %3Sacco di Sabbia (Vuoto)%4.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Posiziona Sacco di Sabbia%4.&lt;br/&gt;%2Segui le istruzioni sullo schermo per il piazzamento.</Italian> <Italian>%3Sacchi di Sabbia%4 sono sacchi di un materiale robusto, riempiti di sabbia, usati per una varietà di utilizzi come creare barriere o aumentare la stabilità di fortificazioni.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia una %3Sacco di Sabbia (Vuoto)%4.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Posiziona Sacco di Sabbia%4.&lt;br/&gt;%2Segui le istruzioni sullo schermo per il piazzamento.</Italian>
<Korean>%3모래주머니%4는 튼튼한 재료로 만든 주머니로 모래를 채워 장벽을 만들거나 건설 작업에서 안정성을 제공하는 등 다양한 용도로 사용되며, 더 큰 요새를 확장하는 데 유용합니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3모래주머니(비어있음)%4을 장착하십시오.&lt;br/&gt;%2[%3%12%4]를 사용하고 %3모래주머니 배치%4를 선택하십시오.&lt;br/&gt;%2화면의 지시에 따라 배치하십시오.</Korean> <Korean>%3모래주머니%4는 튼튼한 재료로 만든 주머니로 모래를 채워 장벽을 만들거나 건설 작업에서 안정성을 제공하는 등 다양한 용도로 사용되며, 더 큰 요새를 확장하는 데 유용합니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3모래주머니(비어있음)%4을 장착하십시오.&lt;br/&gt;%2[%3%12%4]를 사용하고 %3모래주머니 배치%4를 선택하십시오.&lt;br/&gt;%2화면의 지시에 따라 배치하십시오.</Korean>
<Japanese>%3土のう%4は、砂が詰められた頑丈な素材で作られた袋で、建設プロジェクトでの障壁の作成や安定性の提供など、さまざまな目的に使用されます。より大きな配置の要塞を拡張するのに役立ちます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3土のう (空)%4を装備します。&lt;br/&gt;%2[%3%12%4] を使って%3土のうを作る%4を選択します。&lt;br/&gt;%2画面上の指示に従って配置します。</Japanese> <Japanese>%3土のう%4は、砂が詰められた頑丈な素材で作られた袋で、建設プロジェクトでの障壁の作成や安定性の提供など、さまざまな目的に使用されます。より大きな配置の要塞を拡張するのに役立ちます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3土のう (空)%4を装備します。&lt;br/&gt;%2[%3%12%4] を使って%3土のうを作る%4を選択します。&lt;br/&gt;%2画面上の指示に従って配置します。</Japanese>
<Spanish>Los %3Sacos de tierra%4 son sacos hechos de un material resistente, rellenados de tierra, usados para una diversa variedad de propósitos como la construcción de barreras o proveer estabilidad en los proyectos de construcción. Son útiles en la expansión de proyectos de construcción más grandes.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Equipa un %3Saco de tierra (Vacío)%4.&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Desplegar Saco de tierra%4.&lt;br/&gt;%2Seguir las instrucciones en pantalla para su colocación.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_SpareBarrels_ShortName"> <Key ID="STR_ACE_FieldManual_Items_SpareBarrels_ShortName">
<English>Lower Firearm Temperature</English> <English>Lower Firearm Temperature</English>
@ -647,6 +715,7 @@
<Japanese>銃の熱を冷ます</Japanese> <Japanese>銃の熱を冷ます</Japanese>
<Russian>Понизьте температуру оружия</Russian> <Russian>Понизьте температуру оружия</Russian>
<French>Refroidir l'arme</French> <French>Refroidir l'arme</French>
<Spanish>Bajar la Temperatura del Arma</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_SpareBarrels_Description"> <Key ID="STR_ACE_FieldManual_Items_SpareBarrels_Description">
<English>%3Spare Barrels%4 allow a soldier to reduce their weapon's heat significantly. After a short delay, the weapon's barrel will be swapped and its heat reduced. A soldier may also check the temperature of any barrels within their inventory. Not all weapons support swapping barrels.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Select %3Swap Barrel%4.&lt;br/&gt;%2Resume operation after barrel swap is complete.</English> <English>%3Spare Barrels%4 allow a soldier to reduce their weapon's heat significantly. After a short delay, the weapon's barrel will be swapped and its heat reduced. A soldier may also check the temperature of any barrels within their inventory. Not all weapons support swapping barrels.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Select %3Swap Barrel%4.&lt;br/&gt;%2Resume operation after barrel swap is complete.</English>
@ -654,6 +723,7 @@
<Italian>%3Canne di Ricambio%4 permettono ai soldati di raffreddare la loro arma notevolmente. Dopo una breve attesa, la canna dell'arma verrà sostituita e la temperatura ridotta. Un soldato può anche controllare la temperatura di canne di ricambio presenti nel proprio inventario. Non tutte le armi consentono lo scambio canna.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona %3Sostituisci Canna%4.&lt;br/&gt;%2Continua l'ingaggio dopo sostituzione avvenuta.</Italian> <Italian>%3Canne di Ricambio%4 permettono ai soldati di raffreddare la loro arma notevolmente. Dopo una breve attesa, la canna dell'arma verrà sostituita e la temperatura ridotta. Un soldato può anche controllare la temperatura di canne di ricambio presenti nel proprio inventario. Non tutte le armi consentono lo scambio canna.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona %3Sostituisci Canna%4.&lt;br/&gt;%2Continua l'ingaggio dopo sostituzione avvenuta.</Italian>
<Korean>%3예비 총열%4을 사용하면 병사의 무기의 발열을 크게 줄일 수 있습니다. 잠시 뒤에 무기의 총신이 교체되고 발열이 감소합니다. 군인은 소지품에 있는 총열의 온도도 확인할 수 있습니다. 모든 무기가 총열 교환을 지원하는 것은 아닙니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2[%3%12%4]를 사용하고 %3장비%4를 선택하십시오.&lt;br/&gt;%2%3총열 교체%4를 선택하십시오.&lt;br/&gt;%2총열 교체가 완료된 후 작전을 계속하십시오.</Korean> <Korean>%3예비 총열%4을 사용하면 병사의 무기의 발열을 크게 줄일 수 있습니다. 잠시 뒤에 무기의 총신이 교체되고 발열이 감소합니다. 군인은 소지품에 있는 총열의 온도도 확인할 수 있습니다. 모든 무기가 총열 교환을 지원하는 것은 아닙니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2[%3%12%4]를 사용하고 %3장비%4를 선택하십시오.&lt;br/&gt;%2%3총열 교체%4를 선택하십시오.&lt;br/&gt;%2총열 교체가 완료된 후 작전을 계속하십시오.</Korean>
<Japanese>%3予備銃身%4を使用すると、兵士は武器の熱を大幅に下げることができます。少し経つと、武器の銃身が交換され熱が下がります。兵士はインベントリ内の銃身の温度を確認することもできます。すべての武器が銃身の交換をサポートしているわけではありません。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3銃身を交換%4を選択します。&lt;br/&gt;%2銃身交換が完了すると、再度射撃することが出来ます。</Japanese> <Japanese>%3予備銃身%4を使用すると、兵士は武器の熱を大幅に下げることができます。少し経つと、武器の銃身が交換され熱が下がります。兵士はインベントリ内の銃身の温度を確認することもできます。すべての武器が銃身の交換をサポートしているわけではありません。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3銃身を交換%4を選択します。&lt;br/&gt;%2銃身交換が完了すると、再度射撃することが出来ます。</Japanese>
<Spanish>El %3Cañón de Repuesto%4 permite a un soldado reducir el calor del arma significativamente. Tras un pequeño periodo, el cañón del arma habrá sido sustituido y el calor reducido. Un soldado puede tambien comprobar la temperatura de cualquier cañón en su inventario. No todas las armas soportan el cambio de cañón.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Equipamiento%4.&lt;br/&gt;%2Seleccionar %3Cambiar Cañón%4.&lt;br/&gt;%2Continuar con la operación una vez se haya cambiado el cañón.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_SprayPaint_DisplayName"> <Key ID="STR_ACE_FieldManual_Items_SprayPaint_DisplayName">
<English>Spray Paint</English> <English>Spray Paint</English>
@ -663,6 +733,7 @@
<Japanese>ペイントスプレー</Japanese> <Japanese>ペイントスプレー</Japanese>
<Russian>Аэрозольная краска</Russian> <Russian>Аэрозольная краска</Russian>
<French>Bombe de peinture</French> <French>Bombe de peinture</French>
<Spanish>Pintura En Spray</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_SprayPaint_ShortName"> <Key ID="STR_ACE_FieldManual_Items_SprayPaint_ShortName">
<English>Tag Your Territory</English> <English>Tag Your Territory</English>
@ -672,6 +743,7 @@
<Japanese>自分のテリトリーをマーキング</Japanese> <Japanese>自分のテリトリーをマーキング</Japanese>
<Russian>Пометьте свою территорию</Russian> <Russian>Пометьте свою территорию</Russian>
<French>Marquez votre territoire</French> <French>Marquez votre territoire</French>
<Spanish>Marca Tu Territorio</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_SprayPaint_Description"> <Key ID="STR_ACE_FieldManual_Items_SprayPaint_Description">
<English>%3Spray Paint%4 is used to tag surfaces with various symbols.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Move close to a surface (wall, vehicle, ground, etc).&lt;br/&gt;%2Use [%3%12%4] and select %3Tag%4.&lt;br/&gt;%2Choose a symbol.&lt;br/&gt;&lt;br/&gt;%3Available Colors:%4&lt;br/&gt;%2Black&lt;br/&gt;%2Blue&lt;br/&gt;%2Green&lt;br/&gt;%2Red</English> <English>%3Spray Paint%4 is used to tag surfaces with various symbols.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Move close to a surface (wall, vehicle, ground, etc).&lt;br/&gt;%2Use [%3%12%4] and select %3Tag%4.&lt;br/&gt;%2Choose a symbol.&lt;br/&gt;&lt;br/&gt;%3Available Colors:%4&lt;br/&gt;%2Black&lt;br/&gt;%2Blue&lt;br/&gt;%2Green&lt;br/&gt;%2Red</English>
@ -679,6 +751,7 @@
<Italian>%3Bombolette Spray%4 vengono usate per marcare superfici con vari simboli.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Muoviti vicino a una superfice (muro, veicolo, suolo, etc).&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Marca%4.&lt;br/&gt;%2Seleziona un simbolo.&lt;br/&gt;&lt;br/&gt;%3Colori disponibili:%4&lt;br/&gt;%2Nero&lt;br/&gt;%2Blu&lt;br/&gt;%2Verde&lt;br/&gt;%2Rosso</Italian> <Italian>%3Bombolette Spray%4 vengono usate per marcare superfici con vari simboli.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Muoviti vicino a una superfice (muro, veicolo, suolo, etc).&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Marca%4.&lt;br/&gt;%2Seleziona un simbolo.&lt;br/&gt;&lt;br/&gt;%3Colori disponibili:%4&lt;br/&gt;%2Nero&lt;br/&gt;%2Blu&lt;br/&gt;%2Verde&lt;br/&gt;%2Rosso</Italian>
<Korean>%3스프레이 페인트%4다양한 기호로 표면에 태그를 지정하는 데 사용됩니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2표면(벽, 차량, 지면 등)에 가까이 가십시오.&lt;br/&gt;%2[%3%12%4]를 사용하고 %3태그%4를 선택하십시오.&lt;br/&gt;%2모양을 고르십시오.&lt;br/&gt;&lt;br/&gt;%3사용 가능 색상:%4&lt;br/&gt;%2검정&lt;br/&gt;%2파랑&lt;br/&gt;%2초록&lt;br/&gt;%2빨강</Korean> <Korean>%3스프레이 페인트%4다양한 기호로 표면에 태그를 지정하는 데 사용됩니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2표면(벽, 차량, 지면 등)에 가까이 가십시오.&lt;br/&gt;%2[%3%12%4]를 사용하고 %3태그%4를 선택하십시오.&lt;br/&gt;%2모양을 고르십시오.&lt;br/&gt;&lt;br/&gt;%3사용 가능 색상:%4&lt;br/&gt;%2검정&lt;br/&gt;%2파랑&lt;br/&gt;%2초록&lt;br/&gt;%2빨강</Korean>
<Japanese>%3ペイントスプレー%4は、地面や壁、車両の表面などに様々な図形のタグを付けるために使えます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2塗りたい面に近づきます。(壁、車両、地面など)&lt;br/&gt;%2[%3%12%4] を使って%3タグ (スプレーペイント)%4を選択します。&lt;br/&gt;%2図形を選びます。&lt;br/&gt;&lt;br/&gt;%3利用可能な色:%4&lt;br/&gt;%2黒&lt;br/&gt;%2白&lt;br/&gt;%2赤&lt;br/&gt;%2青&lt;br/&gt;%2緑&lt;br/&gt;%2黄</Japanese> <Japanese>%3ペイントスプレー%4は、地面や壁、車両の表面などに様々な図形のタグを付けるために使えます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2塗りたい面に近づきます。(壁、車両、地面など)&lt;br/&gt;%2[%3%12%4] を使って%3タグ (スプレーペイント)%4を選択します。&lt;br/&gt;%2図形を選びます。&lt;br/&gt;&lt;br/&gt;%3利用可能な色:%4&lt;br/&gt;%2黒&lt;br/&gt;%2白&lt;br/&gt;%2赤&lt;br/&gt;%2青&lt;br/&gt;%2緑&lt;br/&gt;%2黄</Japanese>
<Spanish>La %3Pintura en Spray%4 se usa para marcar superficies con varios símbolos.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Acércate a una superficie (pared, vehículo, suelo, etc).&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Tag%4.&lt;br/&gt;%2Elige un símbolo.&lt;br/&gt;&lt;br/&gt;%3Colores disponibles:%4&lt;br/&gt;%2Negro&lt;br/&gt;%2Azul&lt;br/&gt;%2Verde&lt;br/&gt;%2Rojo</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Tripod_ShortName"> <Key ID="STR_ACE_FieldManual_Items_Tripod_ShortName">
<English>Brace From Anywhere</English> <English>Brace From Anywhere</English>
@ -688,6 +761,7 @@
<Japanese>どこでも支持器</Japanese> <Japanese>どこでも支持器</Japanese>
<Russian>Опора может быть установлена в любом месте</Russian> <Russian>Опора может быть установлена в любом месте</Russian>
<French>Stabilisé partout</French> <French>Stabilisé partout</French>
<Spanish>Apoyarte En Cualquier Lugar</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Tripod_Description"> <Key ID="STR_ACE_FieldManual_Items_Tripod_Description">
<English>The %3SSWT Kit%4 is a deployable tripod that allows a soldier to brace their aim when deployed. Use it when you need an elevated shooting position and there are no other objects around.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Select %3SSWT Kit%4 and follow the on screen prompts to place.</English> <English>The %3SSWT Kit%4 is a deployable tripod that allows a soldier to brace their aim when deployed. Use it when you need an elevated shooting position and there are no other objects around.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Use [%3%12%4] and select %3Equipment%4.&lt;br/&gt;%2Select %3SSWT Kit%4 and follow the on screen prompts to place.</English>
@ -695,6 +769,7 @@
<Italian>Il %3Kit SSWT%4 è un treppiede piazzabile che permette al soldato di appoggiare la sua arma. Usalo quando ti serve una posizione di tiro rialzata e non ci sono altri oggetti utili nelle vicinanze.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona %3Kit SSWT%4 e segui le indicazioni di piazzamento.</Italian> <Italian>Il %3Kit SSWT%4 è un treppiede piazzabile che permette al soldato di appoggiare la sua arma. Usalo quando ti serve una posizione di tiro rialzata e non ci sono altri oggetti utili nelle vicinanze.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Equipaggiamento%4.&lt;br/&gt;%2Seleziona %3Kit SSWT%4 e segui le indicazioni di piazzamento.</Italian>
<Korean>%3SSWT 키트%4는 병사가 배치 시 조준력을 상승시킬 수 있는 배치 가능한 삼각대입니다. 높이 조절이 된 사격 위치가 필요하고 주위에 다른 물체가 없을 때 사용하십시오.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2[%3%12%4] 를 사용하고 %3장비%4를 선택하십시오.&lt;br/&gt;%2%3SSWT 키트%4를 선택하고 화면의 지시에 따라 배치하십시오.</Korean> <Korean>%3SSWT 키트%4는 병사가 배치 시 조준력을 상승시킬 수 있는 배치 가능한 삼각대입니다. 높이 조절이 된 사격 위치가 필요하고 주위에 다른 물체가 없을 때 사용하십시오.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2[%3%12%4] 를 사용하고 %3장비%4를 선택하십시오.&lt;br/&gt;%2%3SSWT 키트%4를 선택하고 화면의 지시에 따라 배치하십시오.</Korean>
<Japanese>%3SSWT キット%4は展開可能な三脚で、展開時に兵士が狙いを定めることができます。高い射撃位置が必要で、周囲に他の物体がない場合に使用してください。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3SSWT キット%4を選択し、画面上の指示に従って配置します。</Japanese> <Japanese>%3SSWT キット%4は展開可能な三脚で、展開時に兵士が狙いを定めることができます。高い射撃位置が必要で、周囲に他の物体がない場合に使用してください。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2[%3%12%4] を使って%3装備%4を選択します。&lt;br/&gt;%2%3SSWT キット%4を選択し、画面上の指示に従って配置します。</Japanese>
<Spanish>El %3Kit SSWT%4 es un trípode desplegable que permite a un soldado apoyarse para apuntar cuando está desplegado. Úsalo cuando necesites una posición de tiro elevada y no hay ningún otro objeto alrededor.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Equipamiento%4.&lt;br/&gt;%2Seleccionar %3Kit SSWT%4 y sigue las indicaciones en pantalla para colocarlo.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_UAVBattery_ShortName"> <Key ID="STR_ACE_FieldManual_Items_UAVBattery_ShortName">
<English>Keep Eyes In The Sky</English> <English>Keep Eyes In The Sky</English>
@ -705,6 +780,7 @@
<Russian>Не Отрывай Глаз От Неба</Russian> <Russian>Не Отрывай Глаз От Неба</Russian>
<Hungarian>Gardez les yeux au ciel</Hungarian> <Hungarian>Gardez les yeux au ciel</Hungarian>
<French>Gardez les yeux au ciel</French> <French>Gardez les yeux au ciel</French>
<Spanish>Manten Tus Ojos En El Cielo</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_UAVBattery_Description"> <Key ID="STR_ACE_FieldManual_Items_UAVBattery_Description">
<English>%3UAV Batteries%4 are used to recharge a UAV's energy storage. Especially useful for small UAVs.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3UAV Battery%4&lt;br/&gt;%2Approach a %3UAV%4 with its %3Engine Off%4.&lt;br/&gt;%2Use [%3%13%4] and select %3Recharge%4.</English> <English>%3UAV Batteries%4 are used to recharge a UAV's energy storage. Especially useful for small UAVs.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3UAV Battery%4&lt;br/&gt;%2Approach a %3UAV%4 with its %3Engine Off%4.&lt;br/&gt;%2Use [%3%13%4] and select %3Recharge%4.</English>
@ -712,6 +788,7 @@
<Italian>%3Batteria UAV%4 vengono usate per ricaricare gli UAV. Molto utile per piccoli UAV.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia una %3Batteria UAV%4&lt;br/&gt;%2Avvicinati al %3UAV%4 con il %3Motore Spento%4.&lt;br/&gt;%2Usa [%3%13%4] e seleziona %3Ricarica%4.</Italian> <Italian>%3Batteria UAV%4 vengono usate per ricaricare gli UAV. Molto utile per piccoli UAV.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia una %3Batteria UAV%4&lt;br/&gt;%2Avvicinati al %3UAV%4 con il %3Motore Spento%4.&lt;br/&gt;%2Usa [%3%13%4] e seleziona %3Ricarica%4.</Italian>
<Korean>%3무인기 배터리%4는 무인기의 에너지 저장소를 재충전하는 데 사용됩니다. 소형 무인기에 특히 유용합니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3무인기 배터리%4를 장착하십시오.&lt;br/&gt;%2%3엔진을 끄고%4 %3무인기%4에 접근하십시오.&lt;br/&gt;%2[%3%13%4]를 사용하고 %3재충전%4을 선택하십시오.</Korean> <Korean>%3무인기 배터리%4는 무인기의 에너지 저장소를 재충전하는 데 사용됩니다. 소형 무인기에 특히 유용합니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3무인기 배터리%4를 장착하십시오.&lt;br/&gt;%2%3엔진을 끄고%4 %3무인기%4에 접근하십시오.&lt;br/&gt;%2[%3%13%4]를 사용하고 %3재충전%4을 선택하십시오.</Korean>
<Japanese>%3UAVバッテリー%4は、UAVの電源容量を充電するために使用されます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3UAV バッテリー%4を装備します。&lt;br/&gt;%2%3エンジンをオフ%4にした%3UAV%4に近づきます。&lt;br/&gt;%2[%3%13%4] を使って%3充電%4を選択します。</Japanese> <Japanese>%3UAVバッテリー%4は、UAVの電源容量を充電するために使用されます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3UAV バッテリー%4を装備します。&lt;br/&gt;%2%3エンジンをオフ%4にした%3UAV%4に近づきます。&lt;br/&gt;%2[%3%13%4] を使って%3充電%4を選択します。</Japanese>
<Spanish>La %3Batería de VANT%4 se utilizan para recargar el almacenamiento de energía de un VANT. Especialmente útiles para pequeños VANTs.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Equipa una %3Batería de VANT%4&lt;br/&gt;%2Acércate a un %3VANT%4 con su %3Motor Apagado%4.&lt;br/&gt;%2Usa [%3%13%4] y selecciona %3Recargar%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Wirecutter_ShortName"> <Key ID="STR_ACE_FieldManual_Items_Wirecutter_ShortName">
<English>Making An Entrance</English> <English>Making An Entrance</English>
@ -721,6 +798,7 @@
<Japanese>堂々入場する</Japanese> <Japanese>堂々入場する</Japanese>
<Russian>Создание собственного входа</Russian> <Russian>Создание собственного входа</Russian>
<French>Faire son entrée</French> <French>Faire son entrée</French>
<Spanish>Abriendo Una Entrada</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Wirecutter_Description"> <Key ID="STR_ACE_FieldManual_Items_Wirecutter_Description">
<English>%3Wirecutters%4 are a tool that allows a soldier to bypass wired fencing. Useful for creating backdoor entrances into secure areas.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Move close to a fence.&lt;br/&gt;%2Use [%3%12%4] and select %3Cut Fence%4.</English> <English>%3Wirecutters%4 are a tool that allows a soldier to bypass wired fencing. Useful for creating backdoor entrances into secure areas.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Move close to a fence.&lt;br/&gt;%2Use [%3%12%4] and select %3Cut Fence%4.</English>
@ -728,6 +806,7 @@
<Italian>La %3Trancia%4 è un utensile che permette ai soldati di sorpassare filo spinato e recinzioni. Utile per creare punti di accesso nel retro di zone protette.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Avvicinati a una barriera.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Taglia%4.</Italian> <Italian>La %3Trancia%4 è un utensile che permette ai soldati di sorpassare filo spinato e recinzioni. Utile per creare punti di accesso nel retro di zone protette.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Avvicinati a una barriera.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Taglia%4.</Italian>
<Korean>%3절단기%4는 병사가 철조망을 통과할 수 있게 해주는 도구입니다. 보안 구역에 뒷입구를 만드는 데 유용합니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2철조망에 가까이 가십시오.&lt;br/&gt;%2[%3%13%4]를 사용하고 %3철조망 자르기%4를 선택하십시오.</Korean> <Korean>%3절단기%4는 병사가 철조망을 통과할 수 있게 해주는 도구입니다. 보안 구역에 뒷입구를 만드는 데 유용합니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2철조망에 가까이 가십시오.&lt;br/&gt;%2[%3%13%4]를 사용하고 %3철조망 자르기%4를 선택하십시오.</Korean>
<Japanese>%3ワイヤーカッター%4は、兵士が有線フェンスを回避できるようにするツールです。安全にエリアへの裏口を作成するのに役立ちます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2フェンスの近くに移動します。&lt;br/&gt;%2[%3%12%4] を使って%3フェンスを切断する%4を選択します。</Japanese> <Japanese>%3ワイヤーカッター%4は、兵士が有線フェンスを回避できるようにするツールです。安全にエリアへの裏口を作成するのに役立ちます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2フェンスの近くに移動します。&lt;br/&gt;%2[%3%12%4] を使って%3フェンスを切断する%4を選択します。</Japanese>
<Spanish>La %3Cizalla%4 es una herramienta que permite a un soldado atravesar una valla de alambre. Es útil para crear entradas traseras en áreas seguras.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Acércate a una valla.&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Cortar Valla%4.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_DisplayName"> <Key ID="STR_ACE_FieldManual_Items_DisplayName">
<English>Items</English> <English>Items</English>
@ -770,6 +849,7 @@
<Japanese>要塞を構築する</Japanese> <Japanese>要塞を構築する</Japanese>
<Russian>Стройте укрепления</Russian> <Russian>Стройте укрепления</Russian>
<French>Construire des fortifications</French> <French>Construire des fortifications</French>
<Spanish>Construir Fortificaciones</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_FortifyTool_Description"> <Key ID="STR_ACE_FieldManual_Items_FortifyTool_Description">
<English>The %3Fortify Tool%4 allows soldiers to build fortifications provided by their mission creator.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Pick up a %3Fortify Tool%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Fortify%4.&lt;br/&gt;%2Select an available fortification and follow the on screen prompts for placement.</English> <English>The %3Fortify Tool%4 allows soldiers to build fortifications provided by their mission creator.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Pick up a %3Fortify Tool%4.&lt;br/&gt;%2Use [%3%12%4] and select %3Fortify%4.&lt;br/&gt;%2Select an available fortification and follow the on screen prompts for placement.</English>
@ -777,6 +857,7 @@
<Italian>L'%3Attrezzo di Fortificazione%4 permette ai soldati di costruire fortificazioni permesse dal creatore della missione.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Raccogli un %3Attrezzo di Fortificazione%4.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Fortifica%4.&lt;br/&gt;%2Seleziona una fortificazione disponibile e segui le indicazioni di piazzamento sullo schermo.</Italian> <Italian>L'%3Attrezzo di Fortificazione%4 permette ai soldati di costruire fortificazioni permesse dal creatore della missione.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Raccogli un %3Attrezzo di Fortificazione%4.&lt;br/&gt;%2Usa [%3%12%4] e seleziona %3Fortifica%4.&lt;br/&gt;%2Seleziona una fortificazione disponibile e segui le indicazioni di piazzamento sullo schermo.</Italian>
<Korean>%3요새화 도구%4를 사용하면 병사들이 임무 생성자가 제공한 요새를 구축할 수 있습니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3요새화 도구%4를 가지십시오.&lt;br/&gt;%2[%3%12%4]를 사용하고 %3요새화%4를 선택하십시오.&lt;br/&gt;%2사용 가능한 요새를 선택하고 화면의 지시에 따라 배치하십시오.</Korean> <Korean>%3요새화 도구%4를 사용하면 병사들이 임무 생성자가 제공한 요새를 구축할 수 있습니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3요새화 도구%4를 가지십시오.&lt;br/&gt;%2[%3%12%4]를 사용하고 %3요새화%4를 선택하십시오.&lt;br/&gt;%2사용 가능한 요새를 선택하고 화면의 지시에 따라 배치하십시오.</Korean>
<Japanese>%3要塞ツール%4を使用すると、兵士はミッション作成者が提供した要塞を構築できます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3要塞ツール%4を持つ。&lt;br/&gt;%2[%3%12%4] を使って%3要塞%4を選択します。&lt;br/&gt;%2利用可能な構造物を選択し、画面上の指示に従って配置します。</Japanese> <Japanese>%3要塞ツール%4を使用すると、兵士はミッション作成者が提供した要塞を構築できます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3要塞ツール%4を持つ。&lt;br/&gt;%2[%3%12%4] を使って%3要塞%4を選択します。&lt;br/&gt;%2利用可能な構造物を選択し、画面上の指示に従って配置します。</Japanese>
<Spanish>La %3Herramienta de Fortificación%4 permite a los soldados construir fortificaciones provistas por su creador de mision.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Coge una %3Herramienta de Fortificación%4.&lt;br/&gt;%2Usar [%3%12%4] y seleccionar %3Fortificar%4.&lt;br/&gt;%2Selecciona una fortificación disponible y sigue las instrucciones en pantalla para su colocación.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Lockpick_ShortName"> <Key ID="STR_ACE_FieldManual_Items_Lockpick_ShortName">
<English>Breaking and Entering</English> <English>Breaking and Entering</English>
@ -786,6 +867,7 @@
<Japanese>破壊して乗り込む</Japanese> <Japanese>破壊して乗り込む</Japanese>
<Russian>Взлом и проникновение</Russian> <Russian>Взлом и проникновение</Russian>
<French>Entrée par effraction</French> <French>Entrée par effraction</French>
<Spanish>Romper y Entrar</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_Lockpick_Description"> <Key ID="STR_ACE_FieldManual_Items_Lockpick_Description">
<English>%3Lockpicks%4 are used to gain access to locked vehicles.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3Lockpick%4.&lt;br/&gt;%2Approach a %3Locked%4 vehicle.&lt;br/&gt;Use [%3%13%4] and select %3Lockpick Vehicle%4.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3Note:%4&lt;/t&gt; Lockpicks and keys are only available via scripting or ACE Vehicle Key modules.</English> <English>%3Lockpicks%4 are used to gain access to locked vehicles.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3Lockpick%4.&lt;br/&gt;%2Approach a %3Locked%4 vehicle.&lt;br/&gt;Use [%3%13%4] and select %3Lockpick Vehicle%4.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3Note:%4&lt;/t&gt; Lockpicks and keys are only available via scripting or ACE Vehicle Key modules.</English>
@ -793,6 +875,7 @@
<Italian>I %3Grimaldelli%4 sono usati per forzare l'accesso a veicoli bloccati.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia un %3Grimaldello%4.&lt;br/&gt;%2Avvicinati a un veicolo %3Bloccato%4 vehicle.&lt;br/&gt;Usa [%3%13%4] e seleziona %3Scassina Veicolo%4.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3Note:%4&lt;/t&gt; Grimaldelli e chiavi sono solo reperibili mediante scripting o moduli ACE di assegnazione Chiavi Veicoli.</Italian> <Italian>I %3Grimaldelli%4 sono usati per forzare l'accesso a veicoli bloccati.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia un %3Grimaldello%4.&lt;br/&gt;%2Avvicinati a un veicolo %3Bloccato%4 vehicle.&lt;br/&gt;Usa [%3%13%4] e seleziona %3Scassina Veicolo%4.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3Note:%4&lt;/t&gt; Grimaldelli e chiavi sono solo reperibili mediante scripting o moduli ACE di assegnazione Chiavi Veicoli.</Italian>
<Korean>%3해정도구%4는 잠긴 차량에 들어가는 데 사용됩니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3해정도구%4를 장착하십시오.&lt;br/&gt;%2%3잠긴%4 차량에 접근하십시오.&lt;br/&gt;[%3%13%4]를 사용하고 %3차량 잠금해제%4를 선택하십시오.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3참고:%4&lt;/t&gt; 해정도구와 열쇠는 스크립팅 또는 ACE 차량 열쇠 모듈에서만 사용할 수 있습니다.</Korean> <Korean>%3해정도구%4는 잠긴 차량에 들어가는 데 사용됩니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3해정도구%4를 장착하십시오.&lt;br/&gt;%2%3잠긴%4 차량에 접근하십시오.&lt;br/&gt;[%3%13%4]를 사용하고 %3차량 잠금해제%4를 선택하십시오.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3참고:%4&lt;/t&gt; 해정도구와 열쇠는 스크립팅 또는 ACE 차량 열쇠 모듈에서만 사용할 수 있습니다.</Korean>
<Japanese>%3Lockpick%4は、ロックされた車両にアクセスするために使用されます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3Lockpick%4を装備します。&lt;br/&gt;%2%3鍵の掛かった%4車両に近づきます。&lt;br/&gt;[%3%13%4] を使って%3鍵をこじ開ける%4を選択します。&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3備考:%4&lt;/t&gt; ロックピックとキーは、スクリプトまたは ACE Vehicle Key モジュールを介してのみ使用できます。</Japanese> <Japanese>%3Lockpick%4は、ロックされた車両にアクセスするために使用されます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3Lockpick%4を装備します。&lt;br/&gt;%2%3鍵の掛かった%4車両に近づきます。&lt;br/&gt;[%3%13%4] を使って%3鍵をこじ開ける%4を選択します。&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3備考:%4&lt;/t&gt; ロックピックとキーは、スクリプトまたは ACE Vehicle Key モジュールを介してのみ使用できます。</Japanese>
<Spanish>La %3Ganzúa%4 es usada para lograr acceso a vehículos bloqueados.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Equipar %3Ganzúa%4.&lt;br/&gt;%2Acércate a un vehículo %3Bloqueado%4.&lt;br/&gt;Usar [%3%13%4] y seleccionar %3Ganzuar Vehículo%4.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3Nota:%4&lt;/t&gt;Ganzúas y Llaves sólo están disponibles mediante scripting o módulos de Llaves de Vehículos ACE.</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_VehicleKey_DisplayName"> <Key ID="STR_ACE_FieldManual_Items_VehicleKey_DisplayName">
<English>Vehicle Keys</English> <English>Vehicle Keys</English>
@ -802,6 +885,7 @@
<Japanese>車両キー</Japanese> <Japanese>車両キー</Japanese>
<Russian>Взлом и проникновение</Russian> <Russian>Взлом и проникновение</Russian>
<French>Clés de véhicule</French> <French>Clés de véhicule</French>
<Spanish>Llaves de Vehículos</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_VehicleKey_ShortName"> <Key ID="STR_ACE_FieldManual_Items_VehicleKey_ShortName">
<English>Lock/Unlock Vehicles</English> <English>Lock/Unlock Vehicles</English>
@ -811,6 +895,7 @@
<Japanese>車両のロック/ロック解除</Japanese> <Japanese>車両のロック/ロック解除</Japanese>
<Russian>Взлом и проникновение</Russian> <Russian>Взлом и проникновение</Russian>
<French>Verrouiller/déverrouiller un véhicule</French> <French>Verrouiller/déverrouiller un véhicule</French>
<Spanish>Bloquear/Desbloquear vehículos</Spanish>
</Key> </Key>
<Key ID="STR_ACE_FieldManual_Items_VehicleKey_Description"> <Key ID="STR_ACE_FieldManual_Items_VehicleKey_Description">
<English>%3Vehicle Keys%4 are used to lock/unlock your vehicles. Vehicle keys can exist for the whole side, or keys can be created for a particular vehicle itself.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3Vehicle Key%4.&lt;br/&gt;%2Approach the vehicle that the key belongs to.&lt;br/&gt;Use [%3%13%4] and select %3Lock/Unlock Vehicle%4.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3Note:%4&lt;/t&gt; Lockpicks and keys are only available via scripting or ACE Vehicle Key modules.</English> <English>%3Vehicle Keys%4 are used to lock/unlock your vehicles. Vehicle keys can exist for the whole side, or keys can be created for a particular vehicle itself.&lt;br/&gt;&lt;br/&gt;%3Usage:%4&lt;br/&gt;%2Equip a %3Vehicle Key%4.&lt;br/&gt;%2Approach the vehicle that the key belongs to.&lt;br/&gt;Use [%3%13%4] and select %3Lock/Unlock Vehicle%4.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3Note:%4&lt;/t&gt; Lockpicks and keys are only available via scripting or ACE Vehicle Key modules.</English>
@ -818,6 +903,7 @@
<Italian>Le %3Chiavi di Veicoli%4 vengono usate per bloccare/sbloccare i propri veicoli. Chiavi di veicoli possono esistere per un'intera fazione, oppure per un veicolo particolare.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia una %3Chiave di Veicolo%4.&lt;br/&gt;%2Avvicinati al veicolo a cui appartiene la chiave.&lt;br/&gt;Usa [%3%13%4] e seleziona %3Blocca/Sblocca Veicolo%4.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3Note:%4&lt;/t&gt; Grimaldelli e chiavi sono solo disponibili mediante scripting o moduli ACE Chiavi Veicoli.</Italian> <Italian>Le %3Chiavi di Veicoli%4 vengono usate per bloccare/sbloccare i propri veicoli. Chiavi di veicoli possono esistere per un'intera fazione, oppure per un veicolo particolare.&lt;br/&gt;&lt;br/&gt;%3Utilizzo:%4&lt;br/&gt;%2Equipaggia una %3Chiave di Veicolo%4.&lt;br/&gt;%2Avvicinati al veicolo a cui appartiene la chiave.&lt;br/&gt;Usa [%3%13%4] e seleziona %3Blocca/Sblocca Veicolo%4.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3Note:%4&lt;/t&gt; Grimaldelli e chiavi sono solo disponibili mediante scripting o moduli ACE Chiavi Veicoli.</Italian>
<Korean>%3차량 열쇠%4는 차량을 잠그거나 잠금해제하는 데 사용됩니다. 차량 열쇠는 모든 세력에게 존재할 수도 있고, 특정 차량 자체에 대해 열쇠를 생성할 수도 있습니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3차량 열쇠%4를 장착하십시오.&lt;br/&gt;%2해당 열쇠에 속한 차량에 접근하십시오.&lt;br/&gt;[%3%13%4]를 사용하고 %3차량 잠금/잠금해제%4를 선택하십시오.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3참고:%4&lt;/t&gt; 해정도구와 열쇠는 스크립팅 또는 ACE 차량 열쇠 모듈에서만 사용할 수 있습니다.</Korean> <Korean>%3차량 열쇠%4는 차량을 잠그거나 잠금해제하는 데 사용됩니다. 차량 열쇠는 모든 세력에게 존재할 수도 있고, 특정 차량 자체에 대해 열쇠를 생성할 수도 있습니다.&lt;br/&gt;&lt;br/&gt;%3사용 방법:%4&lt;br/&gt;%2%3차량 열쇠%4를 장착하십시오.&lt;br/&gt;%2해당 열쇠에 속한 차량에 접근하십시오.&lt;br/&gt;[%3%13%4]를 사용하고 %3차량 잠금/잠금해제%4를 선택하십시오.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3참고:%4&lt;/t&gt; 해정도구와 열쇠는 스크립팅 또는 ACE 차량 열쇠 모듈에서만 사용할 수 있습니다.</Korean>
<Japanese>%3Vehicle Key%4は、車両のロック/ロック解除に使用されます。車両キーは陣営全体に存在することも、特定の車両だけに対してキーを作成することもできます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3Vehicle Key%4を装備します。&lt;br/&gt;%2鍵の対応している車両に近づきます。&lt;br/&gt;[%3%13%4] を使って%3鍵を解錠/施錠%4します。&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3備考:%4&lt;/t&gt; ロックピックとキーは、スクリプトまたは ACE Vehicle Key モジュールを介してのみ使用できます。</Japanese> <Japanese>%3Vehicle Key%4は、車両のロック/ロック解除に使用されます。車両キーは陣営全体に存在することも、特定の車両だけに対してキーを作成することもできます。&lt;br/&gt;&lt;br/&gt;%3使用方法:%4&lt;br/&gt;%2%3Vehicle Key%4を装備します。&lt;br/&gt;%2鍵の対応している車両に近づきます。&lt;br/&gt;[%3%13%4] を使って%3鍵を解錠/施錠%4します。&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3備考:%4&lt;/t&gt; ロックピックとキーは、スクリプトまたは ACE Vehicle Key モジュールを介してのみ使用できます。</Japanese>
<Spanish>Las %3Llaves de Vehículos%4 son usadas para bloquear/desbloquear tus vehículos. Las Llaves de Vehículos existen para un bando entero o para un vehículo concreto.&lt;br/&gt;&lt;br/&gt;%3Uso:%4&lt;br/&gt;%2Equipa una %3Llave de Vehículo%4.&lt;br/&gt;%2Acércate a un vehículo cuya llave corresponda.&lt;br/&gt;Usar [%3%13%4] y selecciona %3Bloquear/Desbloquear Vehículo%4.&lt;br/&gt;&lt;br/&gt;&lt;t underline='1'&gt;%3Nota:%4&lt;/t&gt; Ganzúas y Llaves sólo están disponibles mediante scripting o módulos de Llaves de Vehículos ACE</Spanish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,6 +1,5 @@
PREP(burn); PREP(burn);
PREP(isBurning); PREP(isBurning);
PREP(isPlant);
PREP(burnIndicator); PREP(burnIndicator);
PREP(burnReaction); PREP(burnReaction);
PREP(fireManagerPFH); PREP(fireManagerPFH);

View File

@ -8,6 +8,4 @@ PREP_RECOMPILE_END;
#include "initSettings.inc.sqf" #include "initSettings.inc.sqf"
GVAR(burningPlants) = [];
ADDON = true; ADDON = true;

View File

@ -17,7 +17,4 @@
params [["_unit", objNull, [objNull]]]; params [["_unit", objNull, [objNull]]];
_unit getVariable [QGVAR(burning), false] || { _unit getVariable [QGVAR(burning), false]
GVAR(burningPlants) = GVAR(burningPlants) select {!isNull _x};
_unit in GVAR(burningPlants)
}

View File

@ -1,20 +0,0 @@
#include "..\script_component.hpp"
/*
* Author: commy2
* Check if object is a map placed bush or tree.
*
* Arguments:
* 0: Object <OBJECT>
*
* Return Value:
* Is bush or tree? <BOOL>
*
* Example:
* cursorObject call ace_fire_fnc_isPlant
*
* Public: No
*/
params [["_object", objNull, [objNull]]];
_object in nearestTerrainObjects [_object, ["TREE", "SMALL TREE", "BUSH"], 0.1]

View File

@ -153,7 +153,7 @@ class CfgAmmo {
class ACE_G_M14: SmokeShell { class ACE_G_M14: SmokeShell {
GVAR(incendiary) = 1; GVAR(incendiary) = 1;
model = QPATHTOF(models\ace_anm14th3_armed.p3d); model = QPATHTOF(models\ace_anm14th3_armed.p3d);
hit = 5; hit = 10;
indirectHit = 4; indirectHit = 4;
indirectHitRange = 1.1; indirectHitRange = 1.1;
dangerRadiusHit = 50; dangerRadiusHit = 50;

View File

@ -17,7 +17,7 @@ GVAR(flashbangPPEffectCC) ppEffectForceInNVG true;
// Add keybinds // Add keybinds
["ACE3 Weapons", QGVAR(switchGrenadeMode), localize LSTRING(SwitchGrenadeMode), { ["ACE3 Weapons", QGVAR(switchGrenadeMode), localize LSTRING(SwitchGrenadeMode), {
// Conditions: canInteract // Conditions: canInteract
if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; if !([ACE_player, objNull, ["isNotEscorting", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};
// Conditions: specific // Conditions: specific
if (!([ACE_player] call CBA_fnc_canUseWeapon)) exitWith {false}; if (!([ACE_player] call CBA_fnc_canUseWeapon)) exitWith {false};
// Don't change mode or show hint if advanced throwing is active // Don't change mode or show hint if advanced throwing is active
@ -32,3 +32,27 @@ GVAR(flashbangPPEffectCC) ppEffectForceInNVG true;
[] call FUNC(addChangeFuseItemContextMenuOptions); [] call FUNC(addChangeFuseItemContextMenuOptions);
}; };
}] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler;
["vehicle", {
private _currentThrowable = currentThrowable ACE_player;
// Make sure grenade can be rolled if in roll mode (detonation time has to be >= 1 second and player isn't in a vehicle)
if !(
GVAR(currentThrowMode) == 3 &&
{_currentThrowable isNotEqualTo []} &&
{
!isNull objectParent ACE_player ||
{getNumber (configFile >> "CfgAmmo" >> getText (configFile >> "CfgMagazines" >> _currentThrowable select 0 >> "ammo") >> "explosionTime") < MIN_EXPLOSION_TIME_FOR_ROLL}
}
) exitWith {};
// If the player can't use throwables, don't change it
if !(ACE_player call CBA_fnc_canUseWeapon) exitWith {};
// Force the user into the normal throw mode
// Next throw mode after roll would be drop, which isn't ideal if the user tries to throw unknowingly...
[format [LLSTRING(RollGrenadeDisabled), LLSTRING(NormalThrow)], 2] call EFUNC(common,displayTextStructured);
GVAR(currentThrowMode) = 0;
GVAR(throwModePFEH) call CBA_fnc_removePerFrameHandler;
}, true] call CBA_fnc_addPlayerEventHandler;

View File

@ -6,6 +6,9 @@ PREP_RECOMPILE_START;
#include "XEH_PREP.hpp" #include "XEH_PREP.hpp"
PREP_RECOMPILE_END; PREP_RECOMPILE_END;
GVAR(currentThrowMode) = 0;
GVAR(throwModePFEH) = -1;
#include "initSettings.inc.sqf" #include "initSettings.inc.sqf"
ADDON = true; ADDON = true;

View File

@ -19,7 +19,15 @@ params ["_projectile"];
TRACE_1("params",_projectile); TRACE_1("params",_projectile);
if (alive _projectile) then { if (alive _projectile) then {
playSound3D ["A3\Sounds_F\arsenal\explosives\grenades\Explosion_HE_grenade_01.wss", _projectile, false, getPosASL _projectile, 5, 1.2, 400]; private _sounds = getArray (_projectile call CBA_fnc_getObjectConfig >> QGVAR(flashbangExplodeSound));
(if (_sounds isEqualTo []) then {
[format ["A3\Sounds_F\arsenal\explosives\grenades\Explosion_HE_grenade_0%1.wss", floor (random 4) + 1], 5, 1.2, 400]
} else {
selectRandom _sounds
}) params ["_file", "_volume", "_pitch", "_distance"];
playSound3D [_file, _projectile, false, getPosASL _projectile, _volume, _pitch, _distance];
["ace_flashbangExploded", [getPosASL _projectile]] call CBA_fnc_globalEvent; ["ace_flashbangExploded", [getPosASL _projectile]] call CBA_fnc_globalEvent;
}; };

View File

@ -180,7 +180,7 @@ if (isServer) then {
{EGVAR(cookoff,ammoCookoffDuration) != 0} && {EGVAR(cookoff,ammoCookoffDuration) != 0} &&
{_x getVariable [QEGVAR(cookoff,enableAmmoCookoff), true]} {_x getVariable [QEGVAR(cookoff,enableAmmoCookoff), true]}
) then { ) then {
[QEGVAR(cookOff,cookOffBox), _box] call CBA_fnc_serverEvent; [QEGVAR(cookOff,cookOffBoxServer), _box] call CBA_fnc_serverEvent;
} else { } else {
_x setDamage 1; _x setDamage 1;
}; };
@ -235,6 +235,6 @@ if (_position distance _enginePosition < EFFECT_SIZE * 2) then {
_vehicle setHit [_engineSelection, 1]; _vehicle setHit [_engineSelection, 1];
if (["ace_cookoff"] call EFUNC(common,isModLoaded)) then { if (["ace_cookoff"] call EFUNC(common,isModLoaded)) then {
[QEGVAR(cookoff,engineFire), _vehicle] call CBA_fnc_serverEvent; [QEGVAR(cookoff,engineFireServer), _vehicle] call CBA_fnc_serverEvent;
}; };
}; };

View File

@ -15,7 +15,7 @@
* Public: No * Public: No
*/ */
private _mode = missionNamespace getVariable [QGVAR(currentThrowMode), 0]; private _mode = GVAR(currentThrowMode);
if (_mode == 4) then { if (_mode == 4) then {
_mode = 0; _mode = 0;
@ -23,9 +23,18 @@ if (_mode == 4) then {
_mode = _mode + 1; _mode = _mode + 1;
}; };
// ROLL GRENADE DOESN'T WORK RIGHT NOW private _currentThrowable = currentThrowable ACE_player;
if (_mode == 3) then {
_mode = 4; // Make sure grenade can be rolled if in roll mode (detonation time has to be >= 1 second and player isn't in a vehicle)
if (
_mode == 3 &&
{_currentThrowable isNotEqualTo []} &&
{
!isNull objectParent ACE_player ||
{getNumber (configFile >> "CfgAmmo" >> getText (configFile >> "CfgMagazines" >> _currentThrowable select 0 >> "ammo") >> "explosionTime") < MIN_EXPLOSION_TIME_FOR_ROLL}
}
) then {
_mode = _mode + 1;
}; };
private _hint = localize ([ private _hint = localize ([
@ -38,6 +47,37 @@ private _hint = localize ([
[_hint] call EFUNC(common,displayTextStructured); [_hint] call EFUNC(common,displayTextStructured);
GVAR(throwModePFEH) call CBA_fnc_removePerFrameHandler;
GVAR(currentThrowMode) = _mode; GVAR(currentThrowMode) = _mode;
// If in rolling mode, check every frame if current throwable is rollable
if (GVAR(currentThrowMode) == 3) then {
GVAR(currentThrowable) = _currentThrowable;
GVAR(throwModePFEH) = {
private _currentThrowable = currentThrowable ACE_player;
if (GVAR(currentThrowable) isEqualTo _currentThrowable) exitWith {};
GVAR(currentThrowable) = _currentThrowable;
// Make sure grenade can be rolled if in roll mode (detonation time has to be >= 1 second and player isn't in a vehicle)
if !(
GVAR(currentThrowMode) == 3 &&
{_currentThrowable isNotEqualTo []} &&
{
!isNull objectParent ACE_player ||
{getNumber (configFile >> "CfgAmmo" >> getText (configFile >> "CfgMagazines" >> _currentThrowable select 0 >> "ammo") >> "explosionTime") < MIN_EXPLOSION_TIME_FOR_ROLL}
}
) exitWith {};
// Force the user into the normal throw mode
// Next throw mode after roll would be drop, which isn't ideal if the user tries to throw unknowingly...
[format [LLSTRING(RollGrenadeDisabled), LLSTRING(NormalThrow)], 2] call EFUNC(common,displayTextStructured);
GVAR(throwModePFEH) call CBA_fnc_removePerFrameHandler;
GVAR(currentThrowMode) = 0;
} call CBA_fnc_addPerFrameHandler;
};
true true

View File

@ -85,7 +85,7 @@ if (getNumber (_config >> QGVAR(incendiary)) == 1) then {
if (_unit != ACE_player) exitWith {}; if (_unit != ACE_player) exitWith {};
if (_unit getVariable [QEGVAR(advanced_throwing,primed), false]) exitWith {LOG("advanced_throwing throw");}; if (_unit getVariable [QEGVAR(advanced_throwing,primed), false]) exitWith {LOG("advanced_throwing throw");};
private _mode = missionNamespace getVariable [QGVAR(currentThrowMode), 0]; private _mode = GVAR(currentThrowMode);
if (_mode != 0) then { if (_mode != 0) then {
private _velocity = velocity _projectile; private _velocity = velocity _projectile;
@ -103,9 +103,22 @@ if (_mode != 0) then {
case 2 : { case 2 : {
_velocity = (_unit weaponDirection _weapon) vectorMultiply (vectorMagnitude _velocity); _velocity = (_unit weaponDirection _weapon) vectorMultiply (vectorMagnitude _velocity);
}; };
//roll grande //roll grenade
case 3 : { case 3 : {
//@todo private _posASL = getPosASL _projectile;
// getPos is unreliable, as surfaces in some ruins are not recognised as surfaces
private _lisPos = (lineIntersectsSurfaces [_posASL, _posASL vectorAdd [0, 0, -1e11], ACE_player, objNull, true, 1, "ROADWAY", "FIRE"]) select 0;
_projectile setPosASL ((_lisPos select 0) vectorAdd [0, 0, 0.2]);
// Rotate throwables by 90° to the side by default, so cylindrical throwables can be rolled
private _vectorDirAndUp = getArray (_config >> QGVAR(rollVectorDirAndUp));
_vectorDirAndUp params [["_vectorDir", [0, 1, 0], [[]], 3], ["_vectorUp", [1, 0, 0], [[]], 3]];
// Do as if object were facing north
_projectile setVectorDirAndUp ([[_vectorDir, _vectorUp], -(direction _projectile), 0, 0] call BIS_fnc_transformVectorDirAndUp);
_velocity = (vectorDir _unit) vectorMultiply 10;
}; };
//drop grenade //drop grenade
case 4 : { case 4 : {

View File

@ -20,3 +20,5 @@
#define EFFECT_STAGE_DELETELIGHT 1 #define EFFECT_STAGE_DELETELIGHT 1
#define EFFECT_STAGE_PARTIALRECOVERY 2 #define EFFECT_STAGE_PARTIALRECOVERY 2
#define EFFECT_STAGE_FULLRECOVERY 3 #define EFFECT_STAGE_FULLRECOVERY 3
#define MIN_EXPLOSION_TIME_FOR_ROLL 1

View File

@ -103,6 +103,9 @@
<Chinese>下丟投擲</Chinese> <Chinese>下丟投擲</Chinese>
<Turkish>Bombayı Yere Bırak</Turkish> <Turkish>Bombayı Yere Bırak</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Grenades_RollGrenadeDisabled">
<English>Can't roll this grenade, switched to %1</English>
</Key>
<Key ID="STR_ACE_Grenades_M84_Name"> <Key ID="STR_ACE_Grenades_M84_Name">
<English>M84 Stun Grenade</English> <English>M84 Stun Grenade</English>
<German>M84 Blendgranate</German> <German>M84 Blendgranate</German>

View File

@ -11,7 +11,7 @@
* None * None
* *
* Example: * Example:
* [player, target] call ace_gunbag_fnc_offGunbagCallback * [player, cursorObject] call ace_gunbag_fnc_offGunbagCallback
* *
* Public: No * Public: No
*/ */
@ -23,39 +23,28 @@ private _gunbag = backpackContainer _target;
private _state = _gunbag getVariable [QGVAR(gunbagWeapon), []]; private _state = _gunbag getVariable [QGVAR(gunbagWeapon), []];
if (_state isEqualTo []) exitWith { if (_state isEqualTo []) exitWith {
[localize LSTRING(empty)] call EFUNC(common,displayTextStructured); [LLSTRING(empty)] call EFUNC(common,displayTextStructured);
}; };
_state params ["_weapon", "_items", "_magazines"]; _state params ["_weapon", "_items", "_magazines"];
_unit addWeapon _weapon; [_unit, _weapon, true, _magazines] call EFUNC(common,addWeapon);
// Game will auto add magazines from player's inventory, put these back in player inventory as they will be overwritten // Add attachments
([_unit, _weapon] call EFUNC(common,getWeaponState)) params ["", "", "_addedMags", "_addedAmmo"];
{ {
if (((_x select 0) != "") && {(_addedMags select _forEachIndex) != ""}) then { _unit addWeaponItem [_weapon, _x, true];
TRACE_2("Re-adding mag",_x,_addedMags select _forEachIndex); } forEach (_items select {_x != ""});
_unit addMagazine [_addedMags select _forEachIndex, _addedAmmo select _forEachIndex];
};
} forEach _magazines;
removeAllPrimaryWeaponItems _unit;
{
_unit addWeaponItem [_weapon, _x];
} forEach (_items + _magazines);
_unit selectWeapon _weapon; _unit selectWeapon _weapon;
_magazines = _magazines apply {_x select 0}; private _mass = [_weapon, _items, _magazines apply {_x select 0}] call FUNC(calculateMass);
private _mass = [_weapon, _items, _magazines] call FUNC(calculateMass); // Remove virtual load
// remove virtual load
[_target, _gunbag, -_mass] call EFUNC(movement,addLoadToUnitContainer); [_target, _gunbag, -_mass] call EFUNC(movement,addLoadToUnitContainer);
_gunbag setVariable [QGVAR(gunbagWeapon), [], true]; _gunbag setVariable [QGVAR(gunbagWeapon), [], true];
// play sound // Play sound
if (["ace_backpacks"] call EFUNC(common,isModLoaded)) then { if (["ace_backpacks"] call EFUNC(common,isModLoaded)) then {
[_target, _gunbag] call EFUNC(backpacks,backpackOpened); [_target, _gunbag] call EFUNC(backpacks,backpackOpened);
}; };

View File

@ -1,6 +1,6 @@
#include "..\script_component.hpp" #include "..\script_component.hpp"
/* /*
* Author: Ir0n1E and mjc4wilton * Author: Ir0n1E, mjc4wilton
* Swap primary weapon and weapon in gunbag. * Swap primary weapon and weapon in gunbag.
* *
* Arguments: * Arguments:
@ -11,66 +11,49 @@
* None * None
* *
* Example: * Example:
* [player, target] call ace_gunbag_fnc_swapGunbagCallback * [player, cursorObject] call ace_gunbag_fnc_swapGunbagCallback
* *
* Public: No * Public: No
*/ */
params ["_unit", "_target"]; params ["_unit", "_target"];
private _currentWeapon = primaryWeapon _unit; //Get Current Weapon
// Set up current weapon for storing
private _gunbag = backpackContainer _target; private _gunbag = backpackContainer _target;
private _currentItems = (getUnitLoadout _unit) select 0;
private _currentMagazines = _currentItems select [4, 2];
_currentItems deleteRange [4, 2];
//---Set up current weapon for storing private _currentWeapon = _currentItems deleteAt 0;
private _currentWeaponState = [_unit, _currentWeapon] call EFUNC(common,getWeaponState); //Gets weapon attachments
/* private _currentMass = [_currentWeapon, _currentItems, _currentMagazines apply {_x select 0}] call FUNC(calculateMass);
* example return value _state
* [["","","optic_Aco",""],["arifle_MX_GL_ACO_F","GL_3GL_F"],["30Rnd_65x39_caseless_mag","1Rnd_HE_Grenade_shell"],[30,1]]
*/
_currentWeaponState params ["_currentWeaponItems", "", "_currentWeaponMagazines", "_currentWeaponAmmo"]; //Extract Weapon Attachments to separate arrays // Set up weapon in gunbag
private _newState = _gunbag getVariable [QGVAR(gunbagWeapon), []];
private _currentWeaponMass = [_currentWeapon, _currentWeaponItems, _currentWeaponMagazines] call FUNC(calculateMass); if (_newState isEqualTo []) exitWith {
{
_currentWeaponMagazines set [_forEachIndex, [_x, _currentWeaponAmmo select _forEachIndex]];
} forEach _currentWeaponMagazines;
//---Set up weapon in gunbag
private _newWeaponState = _gunbag getVariable [QGVAR(gunbagWeapon), []];
if (_newWeaponState isEqualTo []) exitWith {
[LLSTRING(empty)] call EFUNC(common,displayTextStructured); [LLSTRING(empty)] call EFUNC(common,displayTextStructured);
}; };
_newWeaponState params ["_newWeapon", "_newWeaponItems", "_newWeaponMagazines"]; _newState params ["_newWeapon", "_newItems", "_newMagazines"];
//---Swap Weapons // Swap Weapons
_unit removeWeapon _currentWeapon; _unit removeWeapon _currentWeapon;
_unit addWeapon _newWeapon;
// Game will auto add magazines from player's inventory, put these back in player inventory as they will be overwritten [_unit, _newWeapon, true, _newMagazines] call EFUNC(common,addWeapon);
([_unit, _newWeapon] call EFUNC(common,getWeaponState)) params ["", "", "_addedMags", "_addedAmmo"];
// Add attachments
{ {
if (((_x select 0) != "") && {(_addedMags select _forEachIndex) != ""}) then { _unit addWeaponItem [_newWeapon, _x, true];
TRACE_2("Re-adding mag",_x,_addedMags select _forEachIndex); } forEach (_newItems select {_x != ""});
_unit addMagazine [_addedMags select _forEachIndex, _addedAmmo select _forEachIndex];
};
} forEach _newWeaponMagazines;
removeAllPrimaryWeaponItems _unit;
{
_unit addWeaponItem [_newWeapon, _x];
} forEach (_newWeaponItems + _newWeaponMagazines);
_unit selectWeapon _newWeapon; _unit selectWeapon _newWeapon;
_newWeaponMagazines = _newWeaponMagazines apply {_x select 0}; private _newMass = [_newWeapon, _newItems, _newMagazines apply {_x select 0}] call FUNC(calculateMass);
private _newWeaponMass = [_newWeapon, _newWeaponItems, _newWeaponMagazines] call FUNC(calculateMass); // Update virtual load
[_target, _gunbag, _currentMass - _newMass] call EFUNC(movement,addLoadToUnitContainer);
// update virtual load // Replace weapon in gunbag
[_target, _gunbag, _currentWeaponMass - _newWeaponMass] call EFUNC(movement,addLoadToUnitContainer); _gunbag setVariable [QGVAR(gunbagWeapon), [_currentWeapon, _currentItems, _currentMagazines], true];
_gunbag setVariable [QGVAR(gunbagWeapon), [_currentWeapon, _currentWeaponItems, _currentWeaponMagazines], true]; //Replace weapon in gunbag

View File

@ -11,38 +11,32 @@
* None * None
* *
* Example: * Example:
* [player, target] call ace_gunbag_fnc_toGunbagCallback * [player, cursorObject] call ace_gunbag_fnc_toGunbagCallback
* *
* Public: No * Public: No
*/ */
params ["_unit", "_target"]; params ["_unit", "_target"];
private _weapon = primaryWeapon _unit; // Set up current weapon for storing
private _gunbag = backpackContainer _target; private _gunbag = backpackContainer _target;
private _items = (getUnitLoadout _unit) select 0;
private _state = [_unit, _weapon] call EFUNC(common,getWeaponState); private _magazines = _items select [4, 2];
_items deleteRange [4, 2];
/* private _weapon = _items deleteAt 0;
* example return value _state
* [["","","optic_Aco",""],["arifle_MX_GL_ACO_F","GL_3GL_F"],["30Rnd_65x39_caseless_mag","1Rnd_HE_Grenade_shell"],[30,1]]
*/
_state params ["_items", "", "_magazines", "_ammo"]; private _mass = [_weapon, _items, _magazines apply {_x select 0}] call FUNC(calculateMass);
private _mass = [_weapon, _items, _magazines] call FUNC(calculateMass);
{
_magazines set [_forEachIndex, [_x, _ammo select _forEachIndex]];
} forEach _magazines;
_unit removeWeapon _weapon; _unit removeWeapon _weapon;
// add virtual load // Add virtual load
[_target, _gunbag, _mass] call EFUNC(movement,addLoadToUnitContainer); [_target, _gunbag, _mass] call EFUNC(movement,addLoadToUnitContainer);
_gunbag setVariable [QGVAR(gunbagWeapon), [_weapon, _items, _magazines], true]; _gunbag setVariable [QGVAR(gunbagWeapon), [_weapon, _items, _magazines], true];
// play sound // Play sound
if (["ace_backpacks"] call EFUNC(common,isModLoaded)) then { if (["ace_backpacks"] call EFUNC(common,isModLoaded)) then {
[_target, _gunbag] call EFUNC(backpacks,backpackOpened); [_target, _gunbag] call EFUNC(backpacks,backpackOpened);
}; };

View File

@ -1,3 +1,4 @@
ACEX_PREP(blacklist);
ACEX_PREP(endMissionNoPlayers); ACEX_PREP(endMissionNoPlayers);
ACEX_PREP(handleConnectHC); ACEX_PREP(handleConnectHC);
ACEX_PREP(handleDisconnect); ACEX_PREP(handleDisconnect);

View File

@ -10,6 +10,21 @@
}; };
// Add disconnect EH // Add disconnect EH
addMissionEventHandler ["HandleDisconnect", {call FUNC(handleDisconnect)}]; addMissionEventHandler ["HandleDisconnect", {call FUNC(handleDisconnect)}];
[QGVAR(transferGroupsRebalance), {
params ["_groups", "_owner", "_rebalance"];
if (_groups isNotEqualTo [] && {_owner > 1}) then {
{
_x setGroupOwner _owner;
} forEach _groups;
};
// Rebalance units
if (_rebalance in [REBALANCE, FORCED_REBALANCE]) then {
(_rebalance == FORCED_REBALANCE) call FUNC(rebalance);
};
}] call CBA_fnc_addEventHandler;
} else { } else {
// Register HC (this part happens on HC only) // Register HC (this part happens on HC only)
[QXGVAR(headlessClientJoined), [player]] call CBA_fnc_globalEvent; // Global event for API purposes [QXGVAR(headlessClientJoined), [player]] call CBA_fnc_globalEvent; // Global event for API purposes

View File

@ -0,0 +1,51 @@
#include "..\script_component.hpp"
/*
* Author: johnb43
* Modifies which units are blacklisted from being transferred to HCs.
*
* Arguments:
* 0: Units <OBJECT, GROUP, ARRAY>
* 1: Add (true) or remove (false) from blacklist <BOOL> (default: true)
* 2: Owner to transfer units to <NUMBER> (default: -1)
* 3: Rebalance <NUMBER> (default: 0)
*
* Return Value:
* None
*
* Example:
* [cursorObject, true] call ace_headless_fnc_blacklist
*
* Public: Yes
*/
params [["_units", objNull, [objNull, grpNull, []]], ["_blacklist", true, [false]], ["_owner", -1, [false]], ["_rebalance", NO_REBALANCE, [0]]];
if !(_units isEqualType []) then {
_units = [_units];
};
// Make sure passed arguments are objects or groups
_units = _units select {_x isEqualType objNull || {_x isEqualType grpNull}};
_units = _units select {!isNull _x};
if (_units isEqualTo []) exitWith {};
private _transfer = _blacklist && {_owner > 1};
private _groups = [];
{
_x setVariable [QXGVAR(blacklist), _blacklist, true];
if (_transfer) then {
if (_x isEqualType objNull) then {
_groups pushBack group _x;
} else {
_groups pushBack _x;
};
};
} forEach _units;
// Try to move AI to new owner; Also takes care of rebalancing groups
if (_transfer || {_rebalance in [REBALANCE, FORCED_REBALANCE]}) then {
[QGVAR(transferGroupsRebalance), [_groups arrayIntersect _groups, _owner, _rebalance]] call CBA_fnc_serverEvent;
};

View File

@ -17,6 +17,9 @@
params ["_force"]; params ["_force"];
// Filter out any invalid entries
GVAR(headlessClients) = GVAR(headlessClients) select {!isNull _x};
GVAR(headlessClients) params [ GVAR(headlessClients) params [
["_HC1", objNull, [objNull]], ["_HC1", objNull, [objNull]],
["_HC2", objNull, [objNull]], ["_HC2", objNull, [objNull]],
@ -36,12 +39,13 @@ private _idHC2 = -1;
private _idHC3 = -1; private _idHC3 = -1;
private _currentHC = 0; private _currentHC = 0;
if (!local _HC1) then { // objNull is never local
if (!local _HC1 && !isNull _HC1) then {
_idHC1 = owner _HC1; _idHC1 = owner _HC1;
_currentHC = 1; _currentHC = 1;
}; };
if (!local _HC2) then { if (!local _HC2 && !isNull _HC2) then {
_idHC2 = owner _HC2; _idHC2 = owner _HC2;
if (_currentHC == 0) then { if (_currentHC == 0) then {
@ -49,7 +53,7 @@ if (!local _HC2) then {
}; };
}; };
if (!local _HC3) then { if (!local _HC3 && !isNull _HC3) then {
_idHC3 = owner _HC3; _idHC3 = owner _HC3;
if (_currentHC == 0) then { if (_currentHC == 0) then {
@ -57,84 +61,150 @@ if (!local _HC3) then {
}; };
}; };
if (_currentHC == 0) exitWith {
TRACE_1("No Valid HC to transfer to",_currentHC);
if (XGVAR(log)) then {
INFO("No Valid HC to transfer to");
};
};
// Prepare statistics // Prepare statistics
private _numTransferredHC1 = 0; private _numTransferredHC1 = 0;
private _numTransferredHC2 = 0; private _numTransferredHC2 = 0;
private _numTransferredHC3 = 0; private _numTransferredHC3 = 0;
private _units = [];
private _transfer = false;
private _previousOwner = -1;
// Transfer AI groups // Transfer AI groups
{ {
// No transfer if empty group _units = units _x;
private _transfer = ((units _x) isNotEqualTo []) && {!(_x getVariable [QXGVAR(blacklist), false])};
if (_transfer) then { // No transfer if empty group or if group is blacklisted
// No transfer if waypoints with synchronized triggers exist for the group if (_units isEqualTo [] || {_x getVariable [QXGVAR(blacklist), false]}) then {
private _allWaypointsWithTriggers = (waypoints _x) select {(synchronizedTriggers _x) isNotEqualTo []}; continue;
if (_allWaypointsWithTriggers isNotEqualTo []) exitWith { };
// No transfer if waypoints with synchronized triggers exist for the group
if (((waypoints _x) select {(synchronizedTriggers _x) isNotEqualTo []}) isNotEqualTo []) then {
continue;
};
{
// No transfer if already transferred
if (!_force && {(owner _x) in [_idHC1, _idHC2, _idHC3]}) exitWith {
_transfer = false; _transfer = false;
}; };
{ // No transfer if any unit in group is blacklisted
// No transfer if already transferred if (_x getVariable [QXGVAR(blacklist), false]) exitWith {
if (!_force && {(owner _x) in [_idHC1, _idHC2, _idHC3]}) exitWith { _transfer = false;
_transfer = false; };
};
// No transfer if player or UAV in this group // No transfer if player or UAV in this group
if (isPlayer _x || {unitIsUAV _x}) exitWith { if (isPlayer _x || {unitIsUAV _x}) exitWith {
_transfer = false; _transfer = false;
}; };
// No transfer if any unit in group is blacklisted private _vehicle = objectParent _x;
if (_x getVariable [QXGVAR(blacklist), false]) exitWith {
_transfer = false;
};
private _vehicle = objectParent _x; // No transfer if the vehicle the unit is in or if the crew in that vehicle is blacklisted
if ((_vehicle getVariable [QXGVAR(blacklist), false]) || {unitIsUAV _vehicle}) exitWith {
_transfer = false;
};
// No transfer if the vehicle the unit is in or if the crew in that vehicle is blacklisted // Save gear if unit about to be transferred with current loadout (naked unit work-around)
if ((_vehicle getVariable [QXGVAR(blacklist), false]) || {unitIsUAV _vehicle}) exitWith { if (XGVAR(transferLoadout) == 1) then {
_transfer = false; _x setVariable [QGVAR(loadout), _x call CBA_fnc_getLoadout, true];
}; };
} forEach _units;
// Save gear if unit about to be transferred with current loadout (naked unit work-around) if (!_transfer) then {
if (XGVAR(transferLoadout) == 1) then { continue;
_x setVariable [QGVAR(loadout), _x call CBA_fnc_getLoadout, true];
};
} forEach (units _x);
}; };
// Round robin between HCs if load balance enabled, else pass all to one HC // Round robin between HCs if load balance enabled, else pass all to one HC
if (_transfer) then { _previousOwner = groupOwner _x;
switch (_currentHC) do {
case 1: { switch (_currentHC) do {
private _transferred = _x setGroupOwner _idHC1; case 1: {
if (_loadBalance) then { if (_loadBalance) then {
_currentHC = [3, 2] select (!local _HC2); // Find the next valid HC
}; // If none are valid, _currentHC will remain the same
if (_transferred) then { if (_idHC2 != -1) then {
_numTransferredHC1 = _numTransferredHC1 + 1; _currentHC = 2;
} else {
if (_idHC3 != -1) then {
_currentHC = 3;
};
}; };
}; };
case 2: {
private _transferred = _x setGroupOwner _idHC2; // Don't transfer if it's already local to HC1
if (_loadBalance) then { if (_previousOwner == _idHC1) exitWith {};
_currentHC = [1, 3] select (!local _HC3);
}; [QGVAR(groupTransferPre), [_x, _HC1, _previousOwner, _idHC1], [_previousOwner, _idHC1]] call CBA_fnc_targetEvent; // API
if (_transferred) then {
_numTransferredHC2 = _numTransferredHC2 + 1; private _transferred = _x setGroupOwner _idHC1;
[QGVAR(groupTransferPost), [_x, _HC1, _previousOwner, _idHC1, _transferred], [_previousOwner, _idHC1]] call CBA_fnc_targetEvent; // API
if (_transferred) then {
_numTransferredHC1 = _numTransferredHC1 + 1;
};
};
case 2: {
if (_loadBalance) then {
// Find the next valid HC
// If none are valid, _currentHC will remain the same
if (_idHC3 != -1) then {
_currentHC = 3;
} else {
if (_idHC1 != -1) then {
_currentHC = 1;
};
}; };
}; };
case 3: {
private _transferred = _x setGroupOwner _idHC3; // Don't transfer if it's already local to HC2
if (_loadBalance) then { if (_previousOwner == _idHC2) exitWith {};
_currentHC = [2, 1] select (!local _HC1);
}; [QGVAR(groupTransferPre), [_x, _HC2, _previousOwner, _idHC2], [_previousOwner, _idHC2]] call CBA_fnc_targetEvent; // API
if (_transferred) then {
_numTransferredHC3 = _numTransferredHC3 + 1; private _transferred = _x setGroupOwner _idHC2;
[QGVAR(groupTransferPost), [_x, _HC2, _previousOwner, _idHC2, _transferred], [_previousOwner, _idHC2]] call CBA_fnc_targetEvent; // API
if (_transferred) then {
_numTransferredHC2 = _numTransferredHC2 + 1;
};
};
case 3: {
if (_loadBalance) then {
// Find the next valid HC
// If none are valid, _currentHC will remain the same
if (_idHC1 != -1) then {
_currentHC = 1;
} else {
if (_idHC2 != -1) then {
_currentHC = 2;
};
}; };
}; };
default {
TRACE_1("No Valid HC to transfer to",_currentHC); // Don't transfer if it's already local to HC3
if (_previousOwner == _idHC3) exitWith {};
[QGVAR(groupTransferPre), [_x, _HC3, _previousOwner, _idHC3], [_previousOwner, _idHC3]] call CBA_fnc_targetEvent; // API
private _transferred = _x setGroupOwner _idHC2;
[QGVAR(groupTransferPost), [_x, _HC3, _previousOwner, _idHC3, _transferred], [_previousOwner, _idHC3]] call CBA_fnc_targetEvent; // API
if (_transferred) then {
_numTransferredHC3 = _numTransferredHC3 + 1;
}; };
}; };
}; };

View File

@ -5,8 +5,8 @@
format ["ACE %1", LLSTRING(Module)], format ["ACE %1", LLSTRING(Module)],
false, false,
1, 1,
{[QGVAR(enabled), _this] call EFUNC(common,cbaSettings_settingChanged)}, {[QXGVAR(enabled), _this] call EFUNC(common,cbaSettings_settingChanged)},
true true // Needs mission restart
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -15,8 +15,7 @@
[LSTRING(Delay), LSTRING(DelayDesc)], [LSTRING(Delay), LSTRING(DelayDesc)],
format ["ACE %1", LLSTRING(Module)], format ["ACE %1", LLSTRING(Module)],
[0, 60, 15, -1], [0, 60, 15, -1],
1, 1
{[QGVAR(delay), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -26,8 +25,8 @@
format ["ACE %1", LLSTRING(Module)], format ["ACE %1", LLSTRING(Module)],
[[0, 1, 2], [ELSTRING(Common,Disabled), LSTRING(Instant), LSTRING(Delayed)], 0], [[0, 1, 2], [ELSTRING(Common,Disabled), LSTRING(Instant), LSTRING(Delayed)], 0],
1, 1,
{[QGVAR(delay), _this] call EFUNC(common,cbaSettings_settingChanged)}, {[QXGVAR(endMission), _this] call EFUNC(common,cbaSettings_settingChanged)},
true true // Needs mission restart
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -36,8 +35,7 @@
[LSTRING(Log), LSTRING(LogDesc)], [LSTRING(Log), LSTRING(LogDesc)],
format ["ACE %1", LLSTRING(Module)], format ["ACE %1", LLSTRING(Module)],
false, false,
1, 1
{[QGVAR(enabled), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[ [
@ -47,6 +45,6 @@
format ["ACE %1", LLSTRING(Module)], format ["ACE %1", LLSTRING(Module)],
[[0, 1, 2], [ELSTRING(Common,Disabled), LSTRING(TransferLoadoutCurrent), LSTRING(TransferLoadoutConfig)], 0], [[0, 1, 2], [ELSTRING(Common,Disabled), LSTRING(TransferLoadoutCurrent), LSTRING(TransferLoadoutConfig)], 0],
1, 1,
{}, {[QXGVAR(transferLoadout), _this] call EFUNC(common,cbaSettings_settingChanged)},
true // needs mission restart true // Needs mission restart
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;

View File

@ -17,3 +17,7 @@
#include "\z\ace\addons\main\script_macros.hpp" #include "\z\ace\addons\main\script_macros.hpp"
#define DELAY_DEFAULT 15 #define DELAY_DEFAULT 15
#define NO_REBALANCE 0
#define REBALANCE 1
#define FORCED_REBALANCE 2

View File

@ -1,4 +1,3 @@
class Extended_PreStart_EventHandlers { class Extended_PreStart_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_SCRIPT(XEH_preStart)); init = QUOTE(call COMPILE_SCRIPT(XEH_preStart));

View File

@ -5,7 +5,7 @@ class CfgVehicles {
class ACE_Equipment { class ACE_Equipment {
class ACE_PutInEarplugs { class ACE_PutInEarplugs {
displayName = CSTRING(EarPlugs_On); displayName = CSTRING(EarPlugs_On);
condition = QUOTE(GVAR(EnableCombatDeafness) && {!([_player] call FUNC(hasEarPlugsIn)) && {'ACE_EarPlugs' in items _player}}); condition = QUOTE(GVAR(enableCombatDeafness) && {!(_player call FUNC(hasEarPlugsIn)) && {[ARR_2(_player,'ACE_EarPlugs')] call EFUNC(common,hasItem)}});
exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting"}; exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting"};
statement = QUOTE([ARR_2(_player,true)] call FUNC(putInEarPlugs)); statement = QUOTE([ARR_2(_player,true)] call FUNC(putInEarPlugs));
showDisabled = 0; showDisabled = 0;
@ -13,7 +13,7 @@ class CfgVehicles {
}; };
class ACE_RemoveEarplugs { class ACE_RemoveEarplugs {
displayName = CSTRING(EarPlugs_Off); displayName = CSTRING(EarPlugs_Off);
condition = QUOTE(GVAR(EnableCombatDeafness) && {[_player] call FUNC(hasEarPlugsIn)}); condition = QUOTE(GVAR(enableCombatDeafness) && {_player call FUNC(hasEarPlugsIn)});
exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting"}; exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting"};
statement = QUOTE([ARR_2(_player,true)] call FUNC(removeEarPlugs)); statement = QUOTE([ARR_2(_player,true)] call FUNC(removeEarPlugs));
showDisabled = 0; showDisabled = 0;

View File

@ -80,7 +80,7 @@ class CfgWeapons {
class H_HelmetO_ocamo: H_HelmetB { class H_HelmetO_ocamo: H_HelmetB {
HEARING_PROTECTION_PELTOR; HEARING_PROTECTION_PELTOR;
}; // Defender and Assasin Helmet inherit. }; // Defender and Assassin Helmet inherit.
class H_HelmetO_ViperSP_hex_f: H_HelmetB { class H_HelmetO_ViperSP_hex_f: H_HelmetB {
HEARING_PROTECTION_PELTOR; HEARING_PROTECTION_PELTOR;

View File

@ -1,8 +1,8 @@
PREP(addEarPlugs); PREP(addEarPlugs);
PREP(earRinging); PREP(earRinging);
PREP(explosionNear); PREP(explosionNear);
PREP(firedNear); PREP(firedNear);
PREP(getAmmoLoudness);
PREP(handleRespawn); PREP(handleRespawn);
PREP(hasEarPlugsIn); PREP(hasEarPlugsIn);
PREP(moduleHearing); PREP(moduleHearing);

View File

@ -2,9 +2,10 @@
if (isServer) then { if (isServer) then {
["CBA_settingsInitialized", { ["CBA_settingsInitialized", {
TRACE_1("settingInit - server",GVAR(EnableCombatDeafness)); TRACE_1("settingInit - server",GVAR(enableCombatDeafness));
// Only install event handler if combat deafness is enabled // Only install event handler if combat deafness is enabled
if (!GVAR(EnableCombatDeafness)) exitWith {}; if (!GVAR(enableCombatDeafness)) exitWith {};
["CAManBase", "Init", LINKFUNC(addEarPlugs), true, [], true] call CBA_fnc_addClassEventHandler; ["CAManBase", "Init", LINKFUNC(addEarPlugs), true, [], true] call CBA_fnc_addClassEventHandler;
}] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler;
@ -14,7 +15,7 @@ if (!hasInterface) exitWith {};
#include "initKeybinds.inc.sqf" #include "initKeybinds.inc.sqf"
GVAR(cacheAmmoLoudness) = call CBA_fnc_createNamespace; GVAR(cacheAmmoLoudness) = createHashMap;
GVAR(deafnessDV) = 0; GVAR(deafnessDV) = 0;
GVAR(deafnessPrior) = 0; GVAR(deafnessPrior) = 0;
@ -26,18 +27,20 @@ GVAR(volumeAttenuation) = 1;
GVAR(lastPlayerVehicle) = objNull; GVAR(lastPlayerVehicle) = objNull;
["CBA_settingsInitialized", { ["CBA_settingsInitialized", {
TRACE_1("settingInit",GVAR(EnableCombatDeafness)); TRACE_1("settingInit",GVAR(enableCombatDeafness));
// Only run PFEH and install event handlers if combat deafness is enabled // Only run PFEH and install event handlers if combat deafness is enabled
if (!GVAR(EnableCombatDeafness)) exitWith {}; if (!GVAR(enableCombatDeafness)) exitWith {};
// Spawn volume updating process // Spawn volume updating process
[LINKFUNC(updateVolume), 1, [false]] call CBA_fnc_addPerFrameHandler; [LINKFUNC(updateVolume), 1, false] call CBA_fnc_addPerFrameHandler;
[QGVAR(updateVolume), LINKFUNC(updateVolume)] call CBA_fnc_addEventHandler; [QGVAR(updateVolume), LINKFUNC(updateVolume)] call CBA_fnc_addEventHandler;
// Update veh attunation when player veh changes // Update veh attunation when player veh changes
["vehicle", { ["vehicle", {
params ["_player", "_vehicle"]; params ["_player", "_vehicle"];
TRACE_2("vehicle change",_player,_vehicle); TRACE_2("vehicle change",_player,_vehicle);
_this call FUNC(updatePlayerVehAttenuation); _this call FUNC(updatePlayerVehAttenuation);
@ -48,6 +51,7 @@ GVAR(lastPlayerVehicle) = objNull;
GVAR(lastPlayerVehicle) = objNull; GVAR(lastPlayerVehicle) = objNull;
TRACE_2("removed veh eh",_firedEH,GVAR(lastPlayerVehicle)); TRACE_2("removed veh eh",_firedEH,GVAR(lastPlayerVehicle));
}; };
if ((!isNull _vehicle) && {_player != _vehicle}) then { if ((!isNull _vehicle) && {_player != _vehicle}) then {
private _firedEH = _vehicle addEventHandler ["FiredNear", {call FUNC(firedNear)}]; private _firedEH = _vehicle addEventHandler ["FiredNear", {call FUNC(firedNear)}];
_vehicle setVariable [QGVAR(firedEH), _firedEH]; _vehicle setVariable [QGVAR(firedEH), _firedEH];
@ -55,8 +59,8 @@ GVAR(lastPlayerVehicle) = objNull;
TRACE_2("added veh eh",_firedEH,GVAR(lastPlayerVehicle)); TRACE_2("added veh eh",_firedEH,GVAR(lastPlayerVehicle));
}; };
}, true] call CBA_fnc_addPlayerEventHandler; }, true] call CBA_fnc_addPlayerEventHandler;
["turret", LINKFUNC(updatePlayerVehAttenuation), false] call CBA_fnc_addPlayerEventHandler;
["turret", LINKFUNC(updatePlayerVehAttenuation), false] call CBA_fnc_addPlayerEventHandler;
// Reset deafness on respawn (or remote control player switch) // Reset deafness on respawn (or remote control player switch)
["unit", { ["unit", {
@ -67,9 +71,11 @@ GVAR(lastPlayerVehicle) = objNull;
private _firedEH = _oldPlayer getVariable [QGVAR(firedEH), -1]; private _firedEH = _oldPlayer getVariable [QGVAR(firedEH), -1];
_oldPlayer removeEventHandler ["FiredNear", _firedEH]; _oldPlayer removeEventHandler ["FiredNear", _firedEH];
_oldPlayer setVariable [QGVAR(firedEH), nil]; _oldPlayer setVariable [QGVAR(firedEH), nil];
private _explosionEH = _oldPlayer getVariable [QGVAR(explosionEH), -1]; private _explosionEH = _oldPlayer getVariable [QGVAR(explosionEH), -1];
_oldPlayer removeEventHandler ["Explosion", _explosionEH]; _oldPlayer removeEventHandler ["Explosion", _explosionEH];
_oldPlayer setVariable [QGVAR(explosionEH), nil]; _oldPlayer setVariable [QGVAR(explosionEH), nil];
TRACE_3("removed unit eh",_oldPlayer,_firedEH,_explosionEH); TRACE_3("removed unit eh",_oldPlayer,_firedEH,_explosionEH);
}; };
// Don't add a new EH if the unit respawned // Don't add a new EH if the unit respawned
@ -77,17 +83,21 @@ GVAR(lastPlayerVehicle) = objNull;
if ((getNumber (configOf _player >> "isPlayableLogic")) == 1) exitWith { if ((getNumber (configOf _player >> "isPlayableLogic")) == 1) exitWith {
TRACE_1("skipping playable logic",typeOf _player); // VirtualMan_F (placeable logic zeus / spectator) TRACE_1("skipping playable logic",typeOf _player); // VirtualMan_F (placeable logic zeus / spectator)
}; };
private _firedEH = _player addEventHandler ["FiredNear", {call FUNC(firedNear)}]; private _firedEH = _player addEventHandler ["FiredNear", {call FUNC(firedNear)}];
_player setVariable [QGVAR(firedEH), _firedEH]; _player setVariable [QGVAR(firedEH), _firedEH];
private _explosionEH = _player addEventHandler ["Explosion", {call FUNC(explosionNear)}]; private _explosionEH = _player addEventHandler ["Explosion", {call FUNC(explosionNear)}];
_player setVariable [QGVAR(explosionEH), _explosionEH]; _player setVariable [QGVAR(explosionEH), _explosionEH];
TRACE_3("added unit eh",_player,_firedEH,_explosionEH); TRACE_3("added unit eh",_player,_firedEH,_explosionEH);
}; };
GVAR(deafnessDV) = 0; GVAR(deafnessDV) = 0;
GVAR(deafnessPrior) = 0; GVAR(deafnessPrior) = 0;
GVAR(time3) = 0; GVAR(time3) = 0;
[] call FUNC(updateHearingProtection);
call FUNC(updateHearingProtection);
}, true] call CBA_fnc_addPlayerEventHandler; }, true] call CBA_fnc_addPlayerEventHandler;
// Update protection on possible helmet change // Update protection on possible helmet change

View File

@ -10,15 +10,20 @@ PREP_RECOMPILE_END;
["CBA_loadoutSet", { ["CBA_loadoutSet", {
params ["_unit", "_loadout", "_extendedInfo"]; params ["_unit", "_loadout", "_extendedInfo"];
if (_extendedInfo getOrDefault ["ace_earplugs", false]) then { if (_extendedInfo getOrDefault ["ace_earplugs", false]) then {
_unit setVariable ["ACE_hasEarPlugsIn", true, true]; _unit setVariable ["ACE_hasEarPlugsIn", true, true];
[QGVAR(updateVolume), [[true]], _unit] call CBA_fnc_targetEvent; // Only force update volume if unit is a player (including remote controlled)
if (_unit call EFUNC(common,isPlayer)) then {
[QGVAR(updateVolume), true, _unit] call CBA_fnc_targetEvent;
};
}; };
}] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler;
["CBA_loadoutGet", { ["CBA_loadoutGet", {
params ["_unit", "_loadout", "_extendedInfo"]; params ["_unit", "_loadout", "_extendedInfo"];
if (_unit getVariable ["ACE_hasEarPlugsin", false]) then { if (_unit getVariable ["ACE_hasEarPlugsin", false]) then {
_extendedInfo set ["ace_earplugs", true] _extendedInfo set ["ace_earplugs", true]
}; };

View File

@ -4,7 +4,7 @@
* Called on unit initialization. Adds earplugs if the unit is equipped with either a really loud primary weapon or a rocket launcher. * Called on unit initialization. Adds earplugs if the unit is equipped with either a really loud primary weapon or a rocket launcher.
* *
* Arguments: * Arguments:
* 0: A Soldier <Object> * 0: Unit <Object>
* *
* Return Value: * Return Value:
* None * None
@ -15,9 +15,9 @@
* Public: No * Public: No
*/ */
// only run this after the settings are initialized // Only run this after the settings are initialized
if !(EGVAR(common,settingsInitFinished)) exitWith { if (!EGVAR(common,settingsInitFinished)) exitWith {
EGVAR(common,runAtSettingsInitialized) pushBack [FUNC(addEarPlugs), _this]; EGVAR(common,runAtSettingsInitialized) pushBack [LINKFUNC(addEarPlugs), _this];
}; };
// Exit if hearing is disabled or if autoAdd is disabled // Exit if hearing is disabled or if autoAdd is disabled
@ -29,42 +29,48 @@ TRACE_2("params",_unit,typeOf _unit);
// Exit if the unit already has earplugs (in ears (persistence scenarios) or inventory) // Exit if the unit already has earplugs (in ears (persistence scenarios) or inventory)
if (_unit call FUNC(hasEarPlugsIn) || {[_unit, "ACE_EarPlugs"] call EFUNC(common,hasItem)}) exitWith {}; if (_unit call FUNC(hasEarPlugsIn) || {[_unit, "ACE_EarPlugs"] call EFUNC(common,hasItem)}) exitWith {};
// Add earplugs if enabled for everyone or if the soldier has a rocket launcher // Add earplugs if enabled for everyone or if the unit has a rocket launcher
if (GVAR(autoAddEarplugsToUnits) == 2 || {(secondaryWeapon _unit) != ""}) exitWith { if (GVAR(autoAddEarplugsToUnits) == 2 || {(secondaryWeapon _unit) != ""}) exitWith {
TRACE_1("has launcher - adding",_unit); TRACE_1("has launcher - adding",_unit);
_unit addItem "ACE_EarPlugs"; _unit addItem "ACE_EarPlugs";
}; };
// otherwise add earplugs if the soldier has a big rifle // Otherwise add earplugs if the unit has a big rifle
if ((primaryWeapon _unit) == "") exitWith {}; private _weapon = primaryWeapon _unit;
(primaryWeaponMagazine _unit) params [["_magazine", ""]]; if (_weapon == "") exitWith {};
if (_magazine == "") exitWith {};
private _cfgMagazine = configFile >> "CfgMagazines" >> _magazine; if (isNil QGVAR(cacheMaxAmmoLoudness)) then {
GVAR(cacheMaxAmmoLoudness) = createHashMap;
private _initSpeed = getNumber (_cfgMagazine >> "initSpeed");
private _ammo = getText (_cfgMagazine >> "ammo");
private _count = getNumber (_cfgMagazine >> "count");
private _cfgAmmo = configFile >> "CfgAmmo";
private _caliber = getNumber (_cfgAmmo >> _ammo >> "ACE_caliber");
_caliber = call {
if (_ammo isKindOf ["ShellBase", _cfgAmmo]) exitWith { 80 };
if (_ammo isKindOf ["RocketBase", _cfgAmmo]) exitWith { 200 };
if (_ammo isKindOf ["MissileBase", _cfgAmmo]) exitWith { 600 };
if (_ammo isKindOf ["SubmunitionBase", _cfgAmmo]) exitWith { 80 };
[_caliber, 6.5] select (_caliber <= 0);
}; };
private _loudness = (_caliber ^ 1.25 / 10) * (_initspeed / 1000) / 5;
//If unit has a machine gun boost effective loudness 50% // Cache maximum loudness for future calls
if (_count >= 50) then {_loudness = _loudness * 1.5}; private _maxLoudness = GVAR(cacheMaxAmmoLoudness) getOrDefaultCall [_weapon, {
// Get the weapon's compatible magazines, so that all magazines are cached
// From all the loudness factors, take the max
private _maxLoudness = selectMax ((compatibleMagazines _weapon) apply {_x call FUNC(getAmmoLoudness)});
TRACE_2("primaryWeapon",_unit,_loudness); // ace_gunbag_fnc_isMachineGun
private _config = _weapon call CBA_fnc_getItemConfig;
if (_loudness > 0.2) then { // Definition of a machine gun by BIS_fnc_itemType
private _cursor = getText (_config >> "cursor");
if (toLowerANSI _cursor in ["", "emptycursor"]) then {
_cursor = getText (_config >> "cursorAim");
};
// If unit has a machine gun boost effective loudness 50%
if (_cursor == "MG") then {
_maxLoudness = _maxLoudness * 1.5;
};
_maxLoudness
}, true];
TRACE_3("primaryWeapon",_unit,_weapon,_maxLoudness);
if (_maxLoudness > 0.2) then {
TRACE_1("loud gun - adding",_unit); TRACE_1("loud gun - adding",_unit);
_unit addItem "ACE_EarPlugs"; _unit addItem "ACE_EarPlugs";
}; };

View File

@ -1,24 +1,25 @@
#include "..\script_component.hpp" #include "..\script_component.hpp"
/* /*
* Author: KoffeinFlummi, commy2, Rocko, Rommel, Ruthberg * Author: KoffeinFlummi, commy2, Rocko, Rommel, Ruthberg
* Handle new sound souce near ace_player and apply hearing damage * Handle new sound souce near ace_player and apply hearing damage.
* *
* Arguments: * Arguments:
* 0: strength of ear ringing <NUMBER> * 0: Strength of ear ringing <NUMBER>
* *
* Return Value: * Return Value:
* None * None
* *
* Example: * Example:
* [_strength] call ace_hearing_fnc_earRinging * 10 call ace_hearing_fnc_earRinging
* *
* Public: No * Public: No
*/ */
params ["_strength"]; params ["_strength"];
if (_strength < 0.05) exitWith {}; if (_strength < 0.05) exitWith {};
if (!isNull curatorCamera) exitWith {}; if (!isNull curatorCamera) exitWith {};
if ((!GVAR(enabledForZeusUnits)) && {player != ACE_player}) exitWith {}; if (!GVAR(enabledForZeusUnits) && {player != ACE_player}) exitWith {};
TRACE_2("adding",_strength * GVAR(damageCoefficent),GVAR(deafnessDV)); TRACE_2("adding",_strength * GVAR(damageCoefficent),GVAR(deafnessDV));

View File

@ -4,8 +4,8 @@
* Handles deafness due to explosions going off near the player. * Handles deafness due to explosions going off near the player.
* *
* Arguments: * Arguments:
* 0: vehicle - Object the event handler is assigned to (player) <OBJECT> * 0: Unit <OBJECT>
* 1: damage - Damage inflicted to the object <NUMBER> * 1: Damage inflicted to the unit <NUMBER>
* *
* Return Value: * Return Value:
* None * None
@ -21,7 +21,6 @@ params ["_unit", "_damage"];
TRACE_2("explosion near player",_unit,_damage); TRACE_2("explosion near player",_unit,_damage);
private _strength = (0 max _damage) * 30; private _strength = (0 max _damage) * 30;
if (_strength < 0.01) exitWith {};
// Call inmediately, as it will get pick up later anyway by the update thread // Call immediately, as it will get picked up later by the update thread anyway
[_strength] call FUNC(earRinging); _strength call FUNC(earRinging);

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