From ce70c72cd6878e49f86d1b41081a6b048d892f61 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 7 Apr 2015 22:44:41 -0500 Subject: [PATCH 001/478] wip1 --- addons/interact_menu/config.cpp | 6 ++++++ addons/interact_menu/functions/fnc_keyDown.sqf | 9 ++++++++- addons/interact_menu/functions/fnc_renderIcon.sqf | 9 ++++++++- addons/interact_menu/functions/fnc_renderSelector.sqf | 9 ++++++++- 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index 17900c2f6b..998098470e 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -22,5 +22,11 @@ class ACE_Settings { typeName = "BOOL"; isClientSetable = 1; displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction"; + }; + class GVAR(cursorKeepCentered) { + value = 0; + typeName = "BOOL"; + isClientSetable = 1; + displayName = "Keep cursor centered"; }; }; diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index faa5b0f453..291c675260 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -39,8 +39,15 @@ if (GVAR(useCursorMenu)) then { // uiNamespace getVariable QGVAR(dlgCursorMenu); // uiNamespace getVariable QGVAR(cursorMenuOpened); ctrlEnable [91921, true]; + GVAR(cursorPos) = [0.5,0.5,0]; ((finddisplay 91919) displayctrl 91921) ctrlAddEventHandler ["MouseMoving", { - GVAR(cursorPos) = [_this select 1, _this select 2, 0]; + + if (GVAR(cursorKeepCentered)) then { + GVAR(cursorPos) = GVAR(cursorPos) vectorAdd [_this select 1, _this select 2, 0] vectorDiff [0.5, 0.5, 0]; + setMousePosition [0.5, 0.5]; + } else { + GVAR(cursorPos) = [_this select 1, _this select 2, 0]; + }; }]; setMousePosition [0.5, 0.5]; }; diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index 1cfc13923e..e48847cbb9 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -37,6 +37,13 @@ if(_icon == "") then { }; _text = format ["
%4", _icon, _color, _color, _text]; _ctrl ctrlSetStructuredText (parseText _text); -_ctrl ctrlSetPosition [(_sPos select 0)-(0.125*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.25*SafeZoneW, 0.1*SafeZoneW]; +_pos = [(_sPos select 0)-(0.125*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.25*SafeZoneW, 0.1*SafeZoneW]; + +if (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]) then { + _pos set [0, ((_pos select 0) - (GVAR(cursorPos) select 0) + 0.5)]; + _pos set [1, ((_pos select 1) - (GVAR(cursorPos) select 1) + 0.5)]; +}; +_ctrl ctrlSetPosition _pos; + //_ctrl ctrlSetBackgroundColor [1, 0, 0, 0.1]; _ctrl ctrlCommit 0; diff --git a/addons/interact_menu/functions/fnc_renderSelector.sqf b/addons/interact_menu/functions/fnc_renderSelector.sqf index 44ed15e9c4..e397b40994 100644 --- a/addons/interact_menu/functions/fnc_renderSelector.sqf +++ b/addons/interact_menu/functions/fnc_renderSelector.sqf @@ -25,6 +25,13 @@ _ctrl = GVAR(iconCtrls) select GVAR(iconCount); GVAR(iconCount) = GVAR(iconCount) + 1; _ctrl ctrlSetStructuredText (parseText format ["", _icon]); -_ctrl ctrlSetPosition [(_sPos select 0)-(0.05*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW]; +_pos = [(_sPos select 0)-(0.05*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW]; + +if (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]) then { + _pos set [0, ((_pos select 0) - (GVAR(cursorPos) select 0) + 0.5)]; + _pos set [1, ((_pos select 1) - (GVAR(cursorPos) select 1) + 0.5)]; +}; +_ctrl ctrlSetPosition _pos; + //_ctrl ctrlSetBackgroundColor [1, 0, 0, 0.1]; _ctrl ctrlCommit 0; From 03dbe8e6c5c8630e5cb6f64a5736c1cf596795e0 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 7 Apr 2015 22:57:58 -0500 Subject: [PATCH 002/478] Make it optional --- addons/interact_menu/functions/fnc_keyDown.sqf | 1 - addons/interact_menu/functions/fnc_renderIcon.sqf | 4 ++-- addons/interact_menu/functions/fnc_renderSelector.sqf | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index 291c675260..c488724a21 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -41,7 +41,6 @@ if (GVAR(useCursorMenu)) then { ctrlEnable [91921, true]; GVAR(cursorPos) = [0.5,0.5,0]; ((finddisplay 91919) displayctrl 91921) ctrlAddEventHandler ["MouseMoving", { - if (GVAR(cursorKeepCentered)) then { GVAR(cursorPos) = GVAR(cursorPos) vectorAdd [_this select 1, _this select 2, 0] vectorDiff [0.5, 0.5, 0]; setMousePosition [0.5, 0.5]; diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index e48847cbb9..6ed2a74a0a 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -18,7 +18,7 @@ */ #include "script_component.hpp" #define DEFAULT_ICON QUOTE(\z\ace\addons\interaction\ui\dot_ca.paa) -private ["_color", "_sPos", "_ctrl", "_icon"]; +private ["_color", "_sPos", "_ctrl", "_icon", "_pos"]; _text = _this select 0; _color = _this select 1; _sPos = _this select 2; @@ -39,7 +39,7 @@ _text = format ["
(count GVAR(iconCtrls))-1) then { GVAR(iconCtrls) pushBack ((findDisplay _displayNum) ctrlCreate ["RscStructuredText", 54021+GVAR(iconCount)]); }; -private "_ctrl"; +private ["_ctrl", "_pos"]; _ctrl = GVAR(iconCtrls) select GVAR(iconCount); GVAR(iconCount) = GVAR(iconCount) + 1; _ctrl ctrlSetStructuredText (parseText format ["", _icon]); _pos = [(_sPos select 0)-(0.05*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW]; -if (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]) then { +if (GVAR(cursorKeepCentered) && {uiNamespace getVariable [QGVAR(cursorMenuOpened),false]}) then { _pos set [0, ((_pos select 0) - (GVAR(cursorPos) select 0) + 0.5)]; _pos set [1, ((_pos select 1) - (GVAR(cursorPos) select 1) + 0.5)]; }; From f0a97bd8553bcdfa56d45cd8e0a1cbbdae1550c0 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Thu, 9 Apr 2015 20:20:08 -0300 Subject: [PATCH 003/478] Added - Portuguese translation to Attach Failed --- addons/attach/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 34e8883537..4241ddd644 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -174,6 +174,7 @@ Befestigen Fehlgeschlagen Присоединить Ошибка Error al acoplar + Erro ao anexar From ac5589c1c17ad708afb1de7ddcd090973e6d3c34 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Thu, 9 Apr 2015 20:30:09 -0300 Subject: [PATCH 004/478] Added - Portuguese translation to Captive surendering Need more context to translate STR_ACE_Captives_Zeus_OnlyAlive and STR_ACE_Captives_Zeus_OnlyInfentry. --- addons/captives/stringtable.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 32334811f3..ff8ff84a47 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -133,10 +133,12 @@ Surrender Kapitulieren + Render-se Stop Surrendering Den Kampf erneut aufnehmen + Parar de se render Only use on alive units @@ -149,6 +151,7 @@ Nothing under mouse Es wurde nichts ausgewählt + Nada debaixo do mouse From ae7af34a111ebf00f596c403c97a09e176d7013f Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Thu, 9 Apr 2015 20:53:44 -0300 Subject: [PATCH 005/478] Added - Portuguese translation to common/Stringtable Everything translated. Even the banana. --- addons/common/stringtable.xml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index bcd2b149aa..e1ee265312 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -276,6 +276,7 @@ Désactiver Menu Commande Выключить командное меню Parancsnoki menü kikapcsolása + Desabilitar menu de comando Unknown @@ -285,6 +286,7 @@ Neznámý Неизвестно Ismeretlen + Desconhecido No Voice @@ -294,56 +296,71 @@ Žádný hlas Без голоса Nincs hang + Sem voz Akceptuj prośby Aceptar Peticiones Accept Requests + Aceitar Pedido Ignoruj prośby Rechazar Peticiones Decline Requests + Rejeitar pedido Akceptuj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. Acepta Peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. + Aceitar pedidos enviados por outros jogadores. Podem ser pedidos para usar/ compartilhar equipamento, realizar certas ações. Ignoruj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. Rechazar Peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. Decline Requests send by other players. These can be requests to use / share equipment, perform certain actions. + Rejeita pedidos enviados por outros jogadores. Podem ser pedidos para usar/ compartilhar equipamento, realizar certas ações. Feedback icons + Ícones de Feedback Select the position of or disable the feedback icons on your screen. These icons will show to provide extra feedback on your character status and actions performed. + Selecione a posição ou disabilite a posição dos ícones de feedback na sua tela. Esses ícones irão aparecer para mostrar feedback extra do status do seu personagem e ações realizadas. Progress bar location + Local da barra de progresso Set the desired location of the progress bar on your screen. + Define o local desejado da barra de progresso na sua tela. Hint Background color + Cor do fundo da hint The color of the background from the ACE hints. + A cor de fundo das hints do ACE. Hint text font color + Cor do do texto da hint The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified. + A cor do texto das hints do ACE. Essa cor é a cor default para todos os texos exibidos pelo sistema de hints do ACE , caso o texto da hint não tem outra cor especificada. Banana + Banana A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. + A banana é uma fruta comestível, botanicamente uma baga, produzida por vários tipos de plantas herbáceas grandes do genero Musa. - \ No newline at end of file + From c1941f271938c9e89d5e1413b2f9c0df6bc03e89 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Thu, 9 Apr 2015 22:12:54 -0300 Subject: [PATCH 006/478] Added - Portuguese translation to common/Stringtable I see that the english description for the banana is from the Wikipedia. If wanted I can use the portuguese version from Wikipedia. --- addons/common/stringtable.xml | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index bcd2b149aa..f8a25c6269 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -276,6 +276,7 @@ Désactiver Menu Commande Выключить командное меню Parancsnoki menü kikapcsolása + Desabilitar menu de comando Unknown @@ -285,6 +286,7 @@ Neznámý Неизвестно Ismeretlen + Desconhecido No Voice @@ -294,56 +296,71 @@ Žádný hlas Без голоса Nincs hang + Sem voz Akceptuj prośby Aceptar Peticiones Accept Requests + Aceitar Pedido Ignoruj prośby Rechazar Peticiones Decline Requests + Rejeitar pedido Akceptuj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. Acepta Peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. + Aceitar pedidos enviados por outros jogadores. Podem ser pedidos para usar/ compartilhar equipamento, realizar certas ações. Ignoruj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. Rechazar Peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. Decline Requests send by other players. These can be requests to use / share equipment, perform certain actions. + Rejeita pedidos enviados por outros jogadores. Podem ser pedidos para usar/ compartilhar equipamento, realizar certas ações. Feedback icons + Ícones de Feedback Select the position of or disable the feedback icons on your screen. These icons will show to provide extra feedback on your character status and actions performed. + Selecione a posição ou disabilite a posição dos ícones de feedback na sua tela. Esses ícones irão aparecer para mostrar feedback extra do status do seu personagem e ações realizadas. Progress bar location + Local da barra de progresso Set the desired location of the progress bar on your screen. + Define o local desejado da barra de progresso na sua tela. Hint Background color + Cor do fundo da hint The color of the background from the ACE hints. + A cor de fundo das hints do ACE. Hint text font color + Cor do do texto da hint The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified. + A cor do texto das hints do ACE. Essa cor é a cor default para todos os texos exibidos pelo sistema de hints do ACE , caso o texto da hint não tem outra cor especificada. Banana + Banana A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. + A banana é uma fruta comestível, botanicamente uma baga, produzida por vários tipos de plantas herbáceas grandes do genero Musa. - \ No newline at end of file + From f98b9c27c6a5ae4bf4821d9a46ec9a5e0ef122fc Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Thu, 9 Apr 2015 22:16:14 -0300 Subject: [PATCH 007/478] Added - Portuguese translation to Captive surrendering I need more context on "STR_ACE_Captives_Zeus_OnlyInfentry" and "STR_ACE_Captives_Zeus_OnlyAlive" to translate. Are those texts talking to the player or is just a description for an action? --- addons/captives/stringtable.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 32334811f3..32e22a199d 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -133,10 +133,12 @@ Surrender Kapitulieren + Render-se Stop Surrendering Den Kampf erneut aufnehmen + Parar de se render Only use on alive units @@ -149,6 +151,7 @@ Nothing under mouse Es wurde nichts ausgewählt + Nada debaixo do mouse From b8f2bd963627b715f4c62ebaff0efedc5d31202e Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Thu, 9 Apr 2015 22:18:46 -0300 Subject: [PATCH 008/478] Added - Portuguese translation to cargo door Confused if it is a ramp or a door. Translated to as if it is a door. Should work. --- addons/aircraft/stringtable.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 4d1c49fff6..e89be5db84 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -35,6 +35,7 @@ Otevřít nákladní prostor Rámpát kinyitni Открыть грузовой отсек + Abrir porta de carga Close Cargo Door @@ -45,6 +46,7 @@ Zavřít nákladní prostor Rámpát zárni Закрыть грузовой отсек + Fechar porta de carga From 0dbb4579c4857be862f48a8d070fe739bf289473 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Thu, 9 Apr 2015 22:25:37 -0300 Subject: [PATCH 009/478] Added - Portuguese translation Disposable --- addons/disposable/stringtable.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 8b6c032961..6a3f561b22 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -11,6 +11,7 @@ Lanzador utilizado Használt cső Отстрелянная труба + Tubo utilizado Used disposable rocket launcher @@ -21,6 +22,7 @@ Lanzador desechable utilizado Használt rakétavető Отстрелянная одноразовая пусковая установка + Lança foguetes descartável utilizado Preloaded Missile Dummy @@ -31,6 +33,7 @@ Preloaded Missile Dummy Preloaded Missile Dummy Заряженная ракетная пустышка + Preloaded Missile Dummy - \ No newline at end of file + From c8c183863c741a11c508134be201ee52471c87a4 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Thu, 9 Apr 2015 22:28:45 -0300 Subject: [PATCH 010/478] Changed - Dragging drop Portuguese Translation Changed from "Largar" to "Soltar". "Largar" seems a little to harsh when dealing with humans. "STR_ACE_Dragging_UnableToDrag" Commented code unchanged --- addons/dragging/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 1fca04fee1..eafa5e597f 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -22,7 +22,7 @@ Položit Lâcher Loslassen - Largar + Soltar Lascia Elengedés From 4198a942b3673f60cd03015155bddd395e80d2f1 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Thu, 9 Apr 2015 22:42:21 -0300 Subject: [PATCH 011/478] Added/Changed - explosives Portuguese Translation Added "Dead Man's Switch" and "Explosives_Pickup" PT translation and corrected some stuff. --- addons/explosives/stringtable.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 57ef190460..d502053203 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -143,7 +143,7 @@ M57 Odpalovací Zařízení Detonatore M57 M57 Detonátor - M57 Dispositivo de Detonação + Dispositivo de Detonação M57 Взрыватель M57 @@ -251,7 +251,7 @@ Nahoru Sopra Fel - Cima + Para cima Поднять @@ -263,7 +263,7 @@ Dolu Sotto Le - Baixo + Para Baixo Опустить @@ -407,7 +407,7 @@ Nástražný drát Filo a Inciampo Botlódrót - Linha de tração + Fio de ativação Натяжной @@ -478,6 +478,7 @@ Czuwak Detonador de hombre muerto Dead Man's Switch + Detonador do homem morto Кнопка мертвеца @@ -488,10 +489,12 @@ Używany w celu zdalnej detonacji ładunków kiedy jego operator zostanie zabity. Utilizado para detonar explosivos remotamente al soltarlo. Robbanóanyagok távoli robbantásához + Usado para detonar remotamente o explosivo quando solto. Используется для дистанционного подрыва, после смерти оператора. Pick up + Pegar From be7a579f7d975888a762c509bcdd06c19f236c7d Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Thu, 9 Apr 2015 22:50:35 -0300 Subject: [PATCH 012/478] Added - Portuguese translation to LaseTarget There is no way to translate Lase Target in a faithful way to portuguese. If "Marcar com laser" is too big, "Marcar Alvo" is a solid alternative for all intents and purposes... --- addons/fcs/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/fcs/stringtable.xml b/addons/fcs/stringtable.xml index 154d874f73..b816dc21ad 100644 --- a/addons/fcs/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -15,6 +15,7 @@ Marcar Alvo Designatore Laser --> + Marcar com laser / Medir Distância Подсветить цель / Измерить расстояние From c260ff89baccb33b5236330563d71f954f5d3044 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Thu, 9 Apr 2015 23:00:13 -0300 Subject: [PATCH 013/478] Added - Portuguese Translation to Interact_menu --- addons/interact_menu/stringtable.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 6e5ce8fdb2..1027daa358 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -4,18 +4,23 @@ Always display cursor for self interaction + Sempre mostrar cursor para interação pessoal Interact Key + Tecla de Interação Self Interaction Key + Tecla de Interação Pessoal Self Actions + Ações Pessoais Vehicle Actions + Ações de Veículos - \ No newline at end of file + From ec8e2707f81097f7fb8ef107dad00306d412d8a4 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Thu, 9 Apr 2015 23:05:47 -0300 Subject: [PATCH 014/478] Added - Portuguese translation to inventory --- addons/inventory/stringtable.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index 9ca01373d1..e716041c15 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -4,9 +4,12 @@ Make Inventory Display Bigger + Aumentar o Tamanho da Tela do Inventário Normally inventory display is scaled by UI size. This allows scaling the Inventory UI size up, but doesn't increase font size allowing more rows displayed. + Normalmente o tamanho da tela do inventário é ditada pelo tamanho da UI. Isso permite aumentar o tamanho da tela de inventário, mas não aumenta o tamanho da fonte, permitindo que mais linhas sejam visualizadas. + - \ No newline at end of file + From f7166047dc3b12f6e3e621de3d709c095c2cc9c7 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Fri, 10 Apr 2015 05:01:11 -0300 Subject: [PATCH 015/478] Added - Portuguese translation to Kestrel ApproximateTemp --- addons/kestrel/stringtable.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/kestrel/stringtable.xml b/addons/kestrel/stringtable.xml index 5f54fd6489..5478ccd69d 100644 --- a/addons/kestrel/stringtable.xml +++ b/addons/kestrel/stringtable.xml @@ -11,6 +11,7 @@ Odhadovaná teplota Hőmérséklet nagyábol Примерная температура + Temperatura Aproximada Kestrel 4500NV @@ -61,4 +62,4 @@ Закрыть Kestrel - \ No newline at end of file + From 37858ec430e769fb7384714fc3ac64f5ff74b588 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Fri, 10 Apr 2015 05:04:15 -0300 Subject: [PATCH 016/478] Added - Portuguese translation to laser_selfdesignate --- addons/laser_selfdesignate/stringtable.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index 70f8912cfe..6af47505b3 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -4,9 +4,11 @@ Laser<br/>Designator On + Desiginador<br/>Laser Ligado Laser<br/>Designator Off + Desiginador<br/>Laser Desligado - \ No newline at end of file + From a0a0cfbfbd3b6facb8533530b71070a488321074 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Fri, 10 Apr 2015 05:07:44 -0300 Subject: [PATCH 017/478] Added - Portuguese translation to laserpointer --- addons/laserpointer/stringtable.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index 87b36618a6..d34c9caa38 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -5,15 +5,18 @@ Laser Pointer (red) Laserpointer (rot) + Laser (vermelho) Laser Pointer (green) Laserpointer (grün) + Laser (verde) Emits visible light. Strahlt sichtbares Licht aus. + Emite luz visível From 599ae092da8c78f484f45fa57d3b763d8d682ee2 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Fri, 10 Apr 2015 05:09:43 -0300 Subject: [PATCH 018/478] Changed - added dot on description --- addons/laserpointer/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index d34c9caa38..bd4a0cbba8 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -16,7 +16,7 @@ Emits visible light. Strahlt sichtbares Licht aus. - Emite luz visível + Emite luz visível. From baf015ff5ab72d7a6305df86650238b8bbb66280 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Fri, 10 Apr 2015 05:22:46 -0300 Subject: [PATCH 019/478] Added - Portuguese Translation to logistics_uavbattery The correct translation of "UAV" to Portuguese is indeed "VANT", but this term is not used as "UAV" is. In reality, most Portuguese speaking people knows what an "UAV" is but if you use the Portuguese translation they have no idea of what you are talking about. Another alternative is to use the word "Drone". Everyone knows what a drone its, however, I find that the "UAV" is more in terms with the authenticity aspect of ACE3, since it the military uses the word "UAV" instead of "Drone" Also, it seems that somebody wrote "UAV's" instead of "UAVs". If you intentd to use the plural, you should not use the Apostrophe. I am not correcting this since I am not sure if indeed this was intended for plural or not. --- addons/logistics_uavbattery/stringtable.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/logistics_uavbattery/stringtable.xml b/addons/logistics_uavbattery/stringtable.xml index fbd9004290..6acb2b571d 100644 --- a/addons/logistics_uavbattery/stringtable.xml +++ b/addons/logistics_uavbattery/stringtable.xml @@ -10,7 +10,7 @@ Dron jest naładowany A drón fel van töltve Dron je nabitý - O VANT está cheio + O UAV está cheio Il drone è pieno БПЛА заполнен @@ -22,7 +22,7 @@ Potrzebujesz baterii UAV Szükséged van egy UAV akkumulátorra Potřebuješ UAV-Baterii - Você precisa de uma Bateria para VANT + Você precisa de uma Bateria para UAVs Hai bisogno di una Batteria UAV Требуется аккумулятор БПЛА @@ -46,8 +46,8 @@ Bateria UAV UAV akkumulátor UAV-Baterie - Bateria para VANT - Batteria UAV + Bateria para UAV + Batteria para UAVs Аккумулятор БПЛА @@ -58,7 +58,7 @@ Używana do naładowania UAV Hordozható UAV-ok működéséhez való akkumulátor Používané k dobíjení UAV - Usada para reabastecer VANT + Usada para reabastecer o UAV Usata per ricaricare la Batteria dell'UAV Используется для подзарядки БПЛА @@ -75,4 +75,4 @@ Подзаряжаем ... - \ No newline at end of file + From b5e5359795f7ba5648ff7a335b907993e9bd80e1 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sat, 11 Apr 2015 00:35:18 -0500 Subject: [PATCH 020/478] CursorCentered - Localizations --- addons/interact_menu/config.cpp | 3 ++- addons/interact_menu/stringtable.xml | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index 998098470e..9f1036dab9 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -27,6 +27,7 @@ class ACE_Settings { value = 0; typeName = "BOOL"; isClientSetable = 1; - displayName = "Keep cursor centered"; + displayName = "$STR_ACE_Interact_cursorKeepCentered"; + description = "$STR_ACE_Interact_cursorKeepCenteredDescription"; }; }; diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 6e5ce8fdb2..fa37437b42 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,5 +1,5 @@  - + @@ -17,5 +17,11 @@ Vehicle Actions + + Keep cursor centered + + + Keeps cursor centered and pans the option menu around. Useful if screen size is limited. + \ No newline at end of file From 31a989795296d2012329487a275b42b7ecb75e8b Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Sat, 11 Apr 2015 03:07:15 -0300 Subject: [PATCH 021/478] Added - Portuguese translation to wirecutter --- addons/logistics_wirecutter/stringtable.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index cf6e96c1aa..376476ef84 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -6,9 +6,11 @@ Wirecutter Drahtschneider Wirecutter + Cortador de Arame Wirecutter + Cortador de Arame Cut Fence @@ -47,4 +49,4 @@ Забор вырезан - \ No newline at end of file + From 9d326ce9a5f002bcbc9162c556595221ead9506b Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Sat, 11 Apr 2015 03:10:39 -0300 Subject: [PATCH 022/478] Added - Portuguese translation to magazineRepack --- addons/magazinerepack/stringtable.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index d8fd5ca177..b857e5e6f5 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -78,16 +78,19 @@ Repacking Finished Wiederverpacken Fertig Reembalaje Finalizado + Reorganização Terminada Repacking Interrupted Umpacken Unterbrochen Reempaque Interrupted + Reorganização Interrompida %1 Full and %2 Partial %1 Vollständigen und %2 Teilweisen %1 Total y %2 Parcial + %1 Total e %2 Parcial - \ No newline at end of file + From c8ebed234f84c6f6d64f881595ef0e3e66bc7bad Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Fri, 17 Apr 2015 01:01:31 -0300 Subject: [PATCH 023/478] Reword the group actions --- addons/interaction/stringtable.xml | 60 +++++------------------------- 1 file changed, 10 insertions(+), 50 deletions(-) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 9064e5c2d0..30e675a652 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -498,16 +498,8 @@ A Terra! - Team<br/>Management - Team<br/>Management - Gestión<br/>de equipo - Gestion<br/>d'équipe - Zarządzanie<br/>oddziałem - Správa<br/>týmu - Управление<br/>группой - Gerenciamento<br/>de Equipe - Organizzazione<br/>Squadra - Csapat<br/>kezelése + Group + Grupo Red @@ -558,52 +550,20 @@ Sárga - Join Team<br/>Red - Team Rot<br/>beitreten - Unirse al<br/>equipo rojo - Rejoindre<br/>Rouge - Dołącz do drużyny<br/>czerwonej - Připojit do<br/>Červeného týmu - Присоединиться<br/>к красной группе - Unir-se à<br/>Equipe Vermelha - Entra nella<br/>Squadra Rossa - Csatlakozás a<br/>piros csapathoz + Join Red + Unirse a rojo - Join Team<br/>Green - Team Grün<br/>beitreten - Unirse al<br/>equipo verde - Rejoindre<br/>Vert - Dołącz do<br/>drużyny zielonej - Připojit do<br/>Zeleného týmu - Присоединиться<br/>к зеленой группе - Unir-se à<br/>Equipe Verde - Entra nella<br/>Squadra Verde - Csatlakozás a<br/>zöld csapathoz + Join Green + Unirse a verde - Join Team<br/>Blue - Team Blau<br/>beitreten - Unirse al<br/>equipo azul - Rejoindre<br/>Bleu - Dołącz do<br/>drużyny niebieskiej - Připojit do<br/>Modrého týmu - Присоединиться<br/>к синей группе - Unir-se à<br/>Equipe Azul - Entra nella<br/>Squadra Blu - Csatlakozás a<br/>kék csapathoz + Join Blue + Unirse a azul - Join Team<br/>Yellow - Team Gelb<br/>beitreten - Unirse al<br/>equipo amarillo - Rejoindre<br/>Jaune - Dołącz do<br/>drużyny żółtej - Připojit do<br/>Žlutého týmu - Присоединиться<br/>к желтой группе - Unir-se à<br/>Equipe Amarela - Entra nella<br/>Squadra Gialla - Csatlakozás a<br/>sárga csapathoz + Join Yellow + Unirse a amarillo You joined Team %1 From 80f37b9ad984208cb794cef098f5fa417ce009e6 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Fri, 17 Apr 2015 01:13:05 -0300 Subject: [PATCH 024/478] Reword team actions on AI --- addons/interaction/CfgVehicles.hpp | 8 ++++---- addons/interaction/stringtable.xml | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index bd36f42703..b8f90605a1 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -44,7 +44,7 @@ class CfgVehicles { hotkey = "M"; class ACE_JoinTeamRed { - displayName = "$STR_ACE_Interaction_JoinTeamRed"; + displayName = "$STR_ACE_Interaction_AssignTeamRed"; distance = 5; condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); statement = QUOTE([ARR_2(_target,'RED')] call DFUNC(joinTeam)); @@ -54,7 +54,7 @@ class CfgVehicles { hotkey = "R"; }; class ACE_JoinTeamGreen { - displayName = "$STR_ACE_Interaction_JoinTeamGreen"; + displayName = "$STR_ACE_Interaction_AssignTeamGreen"; distance = 5; condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); statement = QUOTE([ARR_2(_target,'GREEN')] call DFUNC(joinTeam)); @@ -64,7 +64,7 @@ class CfgVehicles { hotkey = "G"; }; class ACE_JoinTeamBlue { - displayName = "$STR_ACE_Interaction_JoinTeamBlue"; + displayName = "$STR_ACE_Interaction_AssignTeamBlue"; distance = 5; condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); statement = QUOTE([ARR_2(_target,'BLUE')] call DFUNC(joinTeam)); @@ -74,7 +74,7 @@ class CfgVehicles { hotkey = "B"; }; class ACE_JoinTeamYellow { - displayName = "$STR_ACE_Interaction_JoinTeamYellow"; + displayName = "$STR_ACE_Interaction_AssignTeamYellow"; distance = 5; condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); statement = QUOTE([ARR_2(_target,'YELLOW')] call DFUNC(joinTeam)); diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 30e675a652..2eeb7652ec 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -549,6 +549,22 @@ Giallo Sárga + + Assign Red + Asignar a rojo + + + Assign Green + Asignar a verde + + + Assign Blue + Asignar a azul + + + Assign Yellow + Asignar a amarillo + Join Red Unirse a rojo From 4597da5c6c35f9969dac8d45b0e3b2b358ff012a Mon Sep 17 00:00:00 2001 From: simon84 Date: Fri, 17 Apr 2015 20:23:26 +0200 Subject: [PATCH 025/478] Revert "Revert "minor FCS changes (privatized variables, unnecessary counters)"" This reverts commit 9f2dd6161364416d0f4564da3ca047cf1788329f. --- addons/fcs/functions/fnc_getAngle.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/fcs/functions/fnc_getAngle.sqf b/addons/fcs/functions/fnc_getAngle.sqf index 03024d8b98..2ec9215bea 100644 --- a/addons/fcs/functions/fnc_getAngle.sqf +++ b/addons/fcs/functions/fnc_getAngle.sqf @@ -19,7 +19,7 @@ #include "script_component.hpp" #define PRECISION 0.1 -private ["_distance","_angleTarget","_maxElev","_initSpeed","_airFriction","_timeToLive","_timeToLive","_simulationStep","_angle","_posTargetX","_posTargetY","_posX","_posY","_velocityX","_velocityY","_velocityMagnitude"]; +private ["_distance","_angleTarget","_maxElev","_initSpeed","_airFriction","_timeToLive","_timeToLive","_simulationStep","_angle","_posTargetX","_posTargetY","_posX","_posY","_velocityX","_velocityY","_velocityMagnitude","_angle1","_angle2","_f1","_f2","_temp"]; _distance = _this select 0; _angleTarget = _this select 1; @@ -73,7 +73,7 @@ if ((_this + [_maxElev]) call FUNC(traceBullet) < 0) exitWith {_maxElev - _angle // Newton Method / Secand Method _angle1 = _angleTarget; _angle2 = _maxElev; -_it2 = 0; +//_it2 = 0; _f1 = (_this + [_angle1]) call FUNC(traceBullet); if ((abs _f1) <= PRECISION) exitWith {0}; @@ -83,7 +83,7 @@ while {(abs _f1) > PRECISION} do { _angle1 = _angle2; _angle2 = _temp; _f1 = _f2; - _it2 = _it2+1; + //_it2 = _it2+1; }; //player globalChat format ["it1: %1 | _angle1: %2 | it2: %3 | _angle2: %4",_it1, _angle-_angleTarget, _it2, _angle2-_angleTarget]; From 25e017c30ba8b25cfbd1b16517d9c0e838237b04 Mon Sep 17 00:00:00 2001 From: simon84 Date: Fri, 17 Apr 2015 20:46:13 +0200 Subject: [PATCH 026/478] Revert "Revert "Revert "minor FCS changes (privatized variables, unnecessary counters)""" This reverts commit 4597da5c6c35f9969dac8d45b0e3b2b358ff012a. --- addons/fcs/functions/fnc_getAngle.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/fcs/functions/fnc_getAngle.sqf b/addons/fcs/functions/fnc_getAngle.sqf index 2ec9215bea..03024d8b98 100644 --- a/addons/fcs/functions/fnc_getAngle.sqf +++ b/addons/fcs/functions/fnc_getAngle.sqf @@ -19,7 +19,7 @@ #include "script_component.hpp" #define PRECISION 0.1 -private ["_distance","_angleTarget","_maxElev","_initSpeed","_airFriction","_timeToLive","_timeToLive","_simulationStep","_angle","_posTargetX","_posTargetY","_posX","_posY","_velocityX","_velocityY","_velocityMagnitude","_angle1","_angle2","_f1","_f2","_temp"]; +private ["_distance","_angleTarget","_maxElev","_initSpeed","_airFriction","_timeToLive","_timeToLive","_simulationStep","_angle","_posTargetX","_posTargetY","_posX","_posY","_velocityX","_velocityY","_velocityMagnitude"]; _distance = _this select 0; _angleTarget = _this select 1; @@ -73,7 +73,7 @@ if ((_this + [_maxElev]) call FUNC(traceBullet) < 0) exitWith {_maxElev - _angle // Newton Method / Secand Method _angle1 = _angleTarget; _angle2 = _maxElev; -//_it2 = 0; +_it2 = 0; _f1 = (_this + [_angle1]) call FUNC(traceBullet); if ((abs _f1) <= PRECISION) exitWith {0}; @@ -83,7 +83,7 @@ while {(abs _f1) > PRECISION} do { _angle1 = _angle2; _angle2 = _temp; _f1 = _f2; - //_it2 = _it2+1; + _it2 = _it2+1; }; //player globalChat format ["it1: %1 | _angle1: %2 | it2: %3 | _angle2: %4",_it1, _angle-_angleTarget, _it2, _angle2-_angleTarget]; From f6eeb5e3ba29821b099bf5c53739ee8f9f2b0256 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Wed, 22 Apr 2015 22:29:31 +0200 Subject: [PATCH 027/478] Add pain coefficient --- addons/medical/ACE_Settings.hpp | 4 ++++ addons/medical/CfgVehicles.hpp | 6 ++++++ addons/medical/XEH_postInit.sqf | 2 +- addons/medical/functions/fnc_moduleMedicalSettings.sqf | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index e7f60a14e8..0b600996d0 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -22,6 +22,10 @@ class ACE_Settings { typeName = "SCALAR"; value = 1; }; + class GVAR(painCoefficient) { + typeName = "SCALAR"; + value = 1; + }; class GVAR(enableAirway) { typeName = "BOOL"; value = false; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 2b1f7c9468..9f355cbc55 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -128,6 +128,12 @@ class CfgVehicles { typeName = "NUMBER"; defaultValue = 1; }; + class painCoefficient { + displayName = "Pain coefficient"; + description = "Coefficient to modify the pain intensity"; + typeName = "NUMBER"; + defaultValue = 1; + }; class keepLocalSettingsSynced { displayName = "Sync status"; description = "Keep unit status synced. Recommended on."; diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 526990709b..b8152f08b8 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -166,7 +166,7 @@ GVAR(lastHeartBeatSound) = time; // Pain effect _strength = ACE_player getVariable [QGVAR(pain), 0]; - // _strength = _strength * (ACE_player getVariable [QGVAR(coefPain), GVAR(coefPain)]); @todo + _strength = _strength * (ACE_player getVariable [QGVAR(painCoefficient), GVAR(painCoefficient)]); if (GVAR(painEffectType) == 1) then { GVAR(effectPainCC) ppEffectEnable false; if ((ACE_player getVariable [QGVAR(pain), 0]) > 0 && {alive ACE_player}) then { diff --git a/addons/medical/functions/fnc_moduleMedicalSettings.sqf b/addons/medical/functions/fnc_moduleMedicalSettings.sqf index 34dd063a4d..9771a07db6 100644 --- a/addons/medical/functions/fnc_moduleMedicalSettings.sqf +++ b/addons/medical/functions/fnc_moduleMedicalSettings.sqf @@ -34,4 +34,5 @@ if !(_activated) exitWith {}; [_logic, QGVAR(enableUnsconsiousnessAI), "enableUnsconsiousnessAI"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(preventInstaDeath), "preventInstaDeath"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(bleedingCoefficient), "bleedingCoefficient"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(painCoefficient), "painCoefficient"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(keepLocalSettingsSynced), "keepLocalSettingsSynced"] call EFUNC(common,readSettingFromModule); From 74ca85cbd99d1c1eb525762d5430db5f201a0bfb Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Wed, 22 Apr 2015 22:36:41 +0200 Subject: [PATCH 028/478] Change getBloodLoss to expect an array --- addons/medical/XEH_postInit.sqf | 4 ++-- addons/medical/functions/fnc_getBloodLoss.sqf | 16 +++++++++------- .../functions/fnc_getBloodVolumeChange.sqf | 2 +- .../medical/functions/fnc_getHeartRateChange.sqf | 4 ++-- .../medical/functions/fnc_handleUnitVitals.sqf | 2 +- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index b8152f08b8..15aa362409 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -131,7 +131,7 @@ GVAR(effectTimeBlood) = time; }; }; - _bleeding = ACE_player call FUNC(getBloodLoss); + _bleeding = [ACE_player] call FUNC(getBloodLoss); // Bleeding Indicator if (_bleeding > 0 and GVAR(effectTimeBlood) + 3.5 < time) then { GVAR(effectTimeBlood) = time; @@ -250,7 +250,7 @@ if (USE_WOUND_EVENT_SYNC) then { [ {(((_this select 0) getvariable [QGVAR(bloodVolume), 100]) < 65)}, {(((_this select 0) getvariable [QGVAR(pain), 0]) > 0.9)}, - {(((_this select 0) call FUNC(getBloodLoss)) > 0.25)}, + {(([_this select 0] call FUNC(getBloodLoss)) > 0.25)}, {((_this select 0) getvariable [QGVAR(inReviveState), false])}, {((_this select 0) getvariable [QGVAR(inCardiacArrest), false])}, {((_this select 0) getvariable ["ACE_isDead", false])}, diff --git a/addons/medical/functions/fnc_getBloodLoss.sqf b/addons/medical/functions/fnc_getBloodLoss.sqf index f6b26f7686..aa94d7dc33 100644 --- a/addons/medical/functions/fnc_getBloodLoss.sqf +++ b/addons/medical/functions/fnc_getBloodLoss.sqf @@ -15,15 +15,17 @@ #define BLOODLOSSRATE_BASIC 0.2 -private ["_totalBloodLoss","_tourniquets","_openWounds", "_value", "_cardiacOutput", "_internalWounds"]; -// TODO Only use this calculation if medium or higher, otherwise use vanilla calculations (for basic medical). +private ["_unit", "_totalBloodLoss","_tourniquets","_openWounds", "_value", "_cardiacOutput", "_internalWounds"]; + +_unit = _this select 0; + _totalBloodLoss = 0; // Advanced medical bloodloss handling if (GVAR(level) >= 2) then { - _tourniquets = _this getvariable [QGVAR(tourniquets), [0,0,0,0,0,0]]; - _openWounds = _this getvariable [QGVAR(openWounds), []]; - //_cardiacOutput = [_this] call FUNC(getCardiacOutput); + _tourniquets = _unit getvariable [QGVAR(tourniquets), [0,0,0,0,0,0]]; + _openWounds = _unit getvariable [QGVAR(openWounds), []]; + //_cardiacOutput = [_unit] call FUNC(getCardiacOutput); { if ((_tourniquets select (_x select 2)) == 0) then { @@ -34,7 +36,7 @@ if (GVAR(level) >= 2) then { }; }foreach _openWounds; - _internalWounds = _this getvariable [QGVAR(internalWounds), []]; + _internalWounds = _unit getvariable [QGVAR(internalWounds), []]; { _totalBloodLoss = _totalBloodLoss + ((_x select 4) * (_x select 3)); }foreach _internalWounds; @@ -42,6 +44,6 @@ if (GVAR(level) >= 2) then { // cap the blood loss to be no greater as the current cardiac output //(_totalBloodLoss min _cardiacOutput); } else { - _totalBloodLoss = BLOODLOSSRATE_BASIC * (damage _this); + _totalBloodLoss = BLOODLOSSRATE_BASIC * (damage _unit); }; _totalBloodLoss * (GVAR(bleedingCoefficient) max 0); diff --git a/addons/medical/functions/fnc_getBloodVolumeChange.sqf b/addons/medical/functions/fnc_getBloodVolumeChange.sqf index f94c5d5b7b..23eba4a0c7 100644 --- a/addons/medical/functions/fnc_getBloodVolumeChange.sqf +++ b/addons/medical/functions/fnc_getBloodVolumeChange.sqf @@ -34,7 +34,7 @@ private ["_unit","_bloodVolume","_bloodVolumeChange", "_ivVolume"]; _unit = _this select 0; _bloodVolume = _unit getvariable [QGVAR(bloodVolume), 100]; -_bloodVolumeChange = -(_unit call FUNC(getBloodLoss)); +_bloodVolumeChange = -([_unit] call FUNC(getBloodLoss)); if (_bloodVolume < 100.0) then { { diff --git a/addons/medical/functions/fnc_getHeartRateChange.sqf b/addons/medical/functions/fnc_getHeartRateChange.sqf index e7bc9407d2..f3fec64053 100644 --- a/addons/medical/functions/fnc_getHeartRateChange.sqf +++ b/addons/medical/functions/fnc_getHeartRateChange.sqf @@ -20,7 +20,7 @@ _unit = _this select 0; _hrIncrease = 0; if (!(_unit getvariable [QGVAR(inCardiacArrest),false])) then { _heartRate = _unit getvariable [QGVAR(heartRate), 80]; - _bloodLoss = _unit call FUNC(getBloodLoss); + _bloodLoss = [_unit] call FUNC(getBloodLoss); _adjustment = _unit getvariable [QGVAR(heartRateAdjustments), []]; { @@ -83,4 +83,4 @@ if (!(_unit getvariable [QGVAR(inCardiacArrest),false])) then { _hrIncrease = _hrIncrease - HEART_RATE_MODIFIER; }; }; -_hrIncrease \ No newline at end of file +_hrIncrease diff --git a/addons/medical/functions/fnc_handleUnitVitals.sqf b/addons/medical/functions/fnc_handleUnitVitals.sqf index 411f64b49e..f986a095de 100644 --- a/addons/medical/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical/functions/fnc_handleUnitVitals.sqf @@ -43,7 +43,7 @@ if (_bloodVolume < 90) then { }; }; -if ((_unit call FUNC(getBloodLoss)) > 0) then { +if (([_unit] call FUNC(getBloodLoss)) > 0) then { if !(_unit getvariable [QGVAR(isBleeding), false]) then { _unit setvariable [QGVAR(isBleeding), true, true]; }; From d10f4d543d3a2c4cbaff379447a4002f3e20ea77 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Wed, 22 Apr 2015 22:38:48 +0200 Subject: [PATCH 029/478] Enable unit specific bleeding coefficient --- addons/medical/functions/fnc_getBloodLoss.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_getBloodLoss.sqf b/addons/medical/functions/fnc_getBloodLoss.sqf index aa94d7dc33..7fe108670f 100644 --- a/addons/medical/functions/fnc_getBloodLoss.sqf +++ b/addons/medical/functions/fnc_getBloodLoss.sqf @@ -46,4 +46,4 @@ if (GVAR(level) >= 2) then { } else { _totalBloodLoss = BLOODLOSSRATE_BASIC * (damage _unit); }; -_totalBloodLoss * (GVAR(bleedingCoefficient) max 0); +_totalBloodLoss * ((_unit getVariable [QGVAR(bleedingCoefficient), GVAR(bleedingCoefficient)]) max 0); From 84e19375152b963bfcad3c5dc19e48cf714a9c36 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Wed, 22 Apr 2015 23:50:37 +0200 Subject: [PATCH 030/478] Add damage threshold to basic --- .../functions/fnc_handleDamage_basic.sqf | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage_basic.sqf b/addons/medical/functions/fnc_handleDamage_basic.sqf index aa9c2f61df..3c94aba248 100644 --- a/addons/medical/functions/fnc_handleDamage_basic.sqf +++ b/addons/medical/functions/fnc_handleDamage_basic.sqf @@ -24,13 +24,20 @@ #define ARMDAMAGETRESHOLD2 1.7 #define UNCONSCIOUSNESSTRESHOLD 0.7 -private ["_unit", "_selectionName", "_damage", "_shooter", "_projectile", "_damage"]; +private ["_unit", "_selectionName", "_damage", "_shooter", "_projectile", "_threshold"]; -_unit = _this select 0; -_selectionName = _this select 1; -_damage = _this select 2; -_shooter = _this select 3; -_projectile = _this select 4; +_unit = _this select 0; +_selectionName = _this select 1; +_damage = _this select 2; +_shooter = _this select 3; +_projectile = _this select 4; + +// Apply damage treshold / coefficient +_threshold = [ + _unit getVariable [QGVAR(damageThreshold), GVAR(AIDamageThreshold)], + _unit getVariable [QGVAR(damageThreshold), GVAR(playerDamageThreshold)] +] select ([_unit] call EFUNC(common,isPlayer)); +_damage = _damage * (1 / _threshold); // This is a new hit, reset variables. // Note: sometimes handleDamage spans over 2 or even 3 frames. From d1c95ba8a19fbe6d3cae1a3c7d68c76dd97b6ed5 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 23 Apr 2015 11:31:27 +0200 Subject: [PATCH 031/478] Add maximum unconsciousness time option --- addons/medical/ACE_Settings.hpp | 4 ++++ addons/medical/CfgVehicles.hpp | 6 ++++++ addons/medical/XEH_respawn.sqf | 8 +++++++- .../functions/fnc_moduleMedicalSettings.sqf | 1 + .../medical/functions/fnc_setUnconscious.sqf | 19 +++++++++++++++++++ 5 files changed, 37 insertions(+), 1 deletion(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index 0b600996d0..40a28fb4d9 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -63,6 +63,10 @@ class ACE_Settings { typeName = "BOOL"; value = 0; }; + class GVAR(maxUnconsciousTime) { + typeName = "SCALAR"; + value = -1; + }; class GVAR(maxReviveTime) { typeName = "SCALAR"; value = 120; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 9f355cbc55..6aa3f82d60 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -122,6 +122,12 @@ class CfgVehicles { typeName = "BOOL"; defaultValue = 0; }; + class maxUnconsciousTime { + displayName = "Max. Uncon. Time"; + description = "Maximum time a unit can be unconscious before dying. Negative Values disable this."; + typeName = "NUMBER"; + defaultValue = -1; + }; class bleedingCoefficient { displayName = "Bleeding coefficient"; description = "Coefficient to modify the bleeding speed"; diff --git a/addons/medical/XEH_respawn.sqf b/addons/medical/XEH_respawn.sqf index ac6cc2d6ef..0a95e064fd 100644 --- a/addons/medical/XEH_respawn.sqf +++ b/addons/medical/XEH_respawn.sqf @@ -8,7 +8,13 @@ if !(local _unit) exitWith {}; [_unit] call FUNC(init); -//Reset captive status for respawning unit +// Reset captive status for respawning unit if (!(_unit getVariable ["ACE_isUnconscious", false])) then { [_unit, QGVAR(unconscious), false] call EFUNC(common,setCaptivityStatus); }; + +// Remove maximum unconsciousness time handler +_maxUnconHandle = _unit getVariable [QGVAR(maxUnconTimeHandle), -1]; +if (_maxUnconHandle > 0) then { + [_maxUnconHandle] call CBA_fnc_removePerFrameHandler; +}; diff --git a/addons/medical/functions/fnc_moduleMedicalSettings.sqf b/addons/medical/functions/fnc_moduleMedicalSettings.sqf index 9771a07db6..dd7422c40e 100644 --- a/addons/medical/functions/fnc_moduleMedicalSettings.sqf +++ b/addons/medical/functions/fnc_moduleMedicalSettings.sqf @@ -33,6 +33,7 @@ if !(_activated) exitWith {}; [_logic, QGVAR(AIDamageThreshold), "AIDamageThreshold"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(enableUnsconsiousnessAI), "enableUnsconsiousnessAI"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(preventInstaDeath), "preventInstaDeath"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(maxUnconsciousTime), "maxUnconsciousTime"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(bleedingCoefficient), "bleedingCoefficient"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(painCoefficient), "painCoefficient"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(keepLocalSettingsSynced), "keepLocalSettingsSynced"] call EFUNC(common,readSettingFromModule); diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index c5809f8c8e..84c5618168 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -22,6 +22,15 @@ _unit = _this select 0; _set = if (count _this > 1) then {_this select 1} else {true}; _minWaitingTime = if (count _this > 2) then {_this select 2} else {DEFAULT_DELAY}; +// No change, fuck off. (why is there no xor?) +if (_set isEqualTo (_unit getVariable ["ACE_isUnconscious", false])) exitWith {}; + +// Remove maximum unconsciousness time handler +_maxUnconHandle = _unit getVariable [QGVAR(maxUnconTimeHandle), -1]; +if (_maxUnconHandle > 0) then { + [_maxUnconHandle] call CBA_fnc_removePerFrameHandler; +}; + if !(_set) exitwith { _unit setvariable ["ACE_isUnconscious", false, true]; }; @@ -86,4 +95,14 @@ _startingTime = time; [DFUNC(unconsciousPFH), 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler; +// Maximum unconsciousness time +_maxUnconTime = _unit getVariable [QGVAR(maxUnconsciousTime), GVAR(maxUnconsciousTime)]; +if (_maxUnconTime >= 0) then { + _handle = [{ + _unit = _this select 0; + [_unit] call FUNC(setDead); + }, [_unit], _maxUnconTime, 0.5] call EFUNC(common,waitAndExecute); + _unit setVariable [QGVAR(maxUnconTimeHandle), _handle]; +}; + ["medical_onUnconscious", [_unit, true]] call EFUNC(common,globalEvent); From 79cce947040d7dc3a7c2ab32ae0241b11d5ef881 Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Wed, 22 Apr 2015 13:17:43 +0200 Subject: [PATCH 032/478] PL translation --- addons/ballistics/stringtable.xml | 5 ++++- addons/interact_menu/stringtable.xml | 6 ++++++ addons/realisticnames/stringtable.xml | 17 ++++++++++++++++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 49b39c0af6..d06e87a7b9 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1,4 +1,5 @@  + @@ -990,6 +991,7 @@ 6.5mm Creedmor 30Rnd Mag + Magazynek 6,5mm Creedmor 30rd 6.5mm CM @@ -1000,6 +1002,7 @@ Caliber: 6.5mm Creedmor<br />Rounds: 30<br />Used in: MXM + Kaliber: 6,5mm Creedmor<br />Pociski: 30<br />Używany w: MXM .338 10Rnd Mag (300gr Sierra MatchKing HPBT) @@ -1104,4 +1107,4 @@ Калибр: 12,7x99 мм (A-MAX)<br />Патронов: 5 - + \ No newline at end of file diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 55d67788f4..984acd92be 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,4 +1,5 @@  + @@ -17,6 +18,7 @@ Mostrar siempre el cursor para la interacción Toujours afficher le curseur pour les interactions Mostra sempre il cursore per le interazioni + Zawsze wyświetlaj kursor dla interakcji Display interaction menus as lists @@ -73,15 +75,19 @@ Interaction - Text Max + Interakcja - Tekst max Interaction - Text Min + Interakcja - Tekst min Interaction - Shadow Max + Interakcja - Cień max Interaction - Shadow Min + Interakcja - Cień min \ No newline at end of file diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 1fcf116d1e..507fd9b5a2 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1,4 +1,5 @@  + @@ -1515,6 +1516,7 @@ SG 556 7.62 mm SG 556 7.62 mm SG 556 7.62 мм + SG 556 7,62 mm SG 556 7.62 mm (Black) @@ -1522,6 +1524,7 @@ SG 556 7.62 mm (Noir) SG 556 7.62 mm (Negro) SG 556 7.62 мм (черный) + SG 556 7,62 mm (czarny) SG 556 7.62 mm (Khaki) @@ -1529,6 +1532,7 @@ SG 556 7.62 mm (Kaki) SG 556 7.62 mm (Caqui) SG 556 7.62 мм (хаки) + SG 556 7,62 mm (khaki) SG 556 7.62 mm (Sand) @@ -1536,6 +1540,7 @@ SG 556 7.62 mm (Beige) SG 556 7.62 mm (Arena) SG 556 7.62 мм (песочный) + SG 556 7,62 mm (piaskowy) SG 556 7.62 mm (Camo) @@ -1543,6 +1548,7 @@ SG 556 7.62 mm (Camo) SG 556 7.62 mm (Camuflaje) SG 556 7.62 мм (камо) + SG 556 7,62 mm (kamuflaż) SG 556 7.62 mm (Woodland) @@ -1550,6 +1556,7 @@ SG 556 7.62 mm (Woodland) SG 556 7.62 mm (Bosque) SG 556 7.62 мм (лесной) + SG 556 7,62 mm (leśny) SG 556 7.62 mm (provisional) spotter @@ -1557,6 +1564,7 @@ SG 556 7.62 mm (provisoire) Observateur SG 556 7.62 mm (provisional) observador SG 556 7.62 мм (provisional) корректировщик + SG 556 7,62 mm (prowizoryczny) obserwator TODO: ASP-1 Kir 12.7 mm @@ -1613,6 +1621,7 @@ M14 7.62 mm M14 7.62 mm M14 7.62 мм + M14 7,62 mm M14 7.62 mm (Camo) @@ -1620,6 +1629,7 @@ M14 7.62 mm (Camo) M14 7.62 mm (Camuflaje) M14 7.62 мм (Камо) + M14 7,62 mm (kamuflaż) M14 7.62 mm (Olive) @@ -1627,6 +1637,7 @@ M14 7.62 mm (Olive) M14 7.62 mm (Oliva) M14 7.62 мм (Олива) + M14 7,62 mm (oliwkowy) TODO: Navid 9.3 mm @@ -1655,6 +1666,7 @@ LWMMG .338 LWMMG .338 LWMMG .338 + LWMMG .338 LWMMG .338 (MTP) @@ -1662,6 +1674,7 @@ LWMMG .338 (MTP) LWMMG .338 (MTP) LWMMG .338 (MTP) + LWMMG .338 (MTP) LWMMG .338 (Black) @@ -1669,6 +1682,7 @@ LWMMG .338 (Noir) LWMMG .338 (Negro) LWMMG .338 (Черный) + LWMMG .338 (czarny) LWMMG .338 (Sand) @@ -1676,6 +1690,7 @@ SPMG .338 (Beige) LWMMG .338 (Arena) LWMMG .338 (Песочный) + LWMMG .338 (piaskowy) - + \ No newline at end of file From d7b961043b9580724daaedcedc049d8daf3b6945 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 24 Apr 2015 22:20:16 +0200 Subject: [PATCH 033/478] Remove animation reset before falling unconscious This caused the unit to briefly move to the default animation, which looked shite. --- addons/medical/functions/fnc_setUnconscious.sqf | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 84c5618168..633718f163 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -71,8 +71,6 @@ if (vehicle _unit == _unit) then { _unit addWeapon "ACE_FakePrimaryWeapon"; }; _unit selectWeapon (primaryWeapon _unit); - _unit switchMove ""; - _unit playmoveNow ""; }; // We are storing the current animation, so we can use it later on when waking the unit up inside a vehicle @@ -89,7 +87,15 @@ if (GVAR(moveUnitsFromGroupOnUnconscious)) then { }; [_unit, QGVAR(unconscious), true] call EFUNC(common,setCaptivityStatus); -[_unit, [_unit] call EFUNC(common,getDeathAnim), 1, true] call EFUNC(common,doAnimation); +_anim = [_unit] call EFUNC(common,getDeathAnim) +[_unit, _anim, 1, true] call EFUNC(common,doAnimation); +[{ + _unit = _this select 0; + _anim = _this select 1; + if (_unit getVariable "ACE_isUnconscious") then { + [_unit, _anim, 2, true] call EFUNC(common,doAnimation); + }; +}, [_unit, _anim], 2, 1] call EFUNC(common,waitAndExecute); _startingTime = time; From 664d08d4aa729767d366c855c38af199d3139f76 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 25 Apr 2015 08:23:54 +0200 Subject: [PATCH 034/478] add option to only use action when clicking --- addons/interact_menu/XEH_clientInit.sqf | 6 ++---- addons/interact_menu/config.cpp | 12 +++++++++--- .../functions/fnc_handlePlayerChanged.sqf | 6 +++++- addons/interact_menu/functions/fnc_keyUp.sqf | 6 ++++++ addons/interact_menu/stringtable.xml | 6 +++++- 5 files changed, 27 insertions(+), 9 deletions(-) diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index b8a8fc899b..1a7dba3065 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -32,8 +32,7 @@ addMissionEventHandler ["Draw3D", DFUNC(render)]; if !([ACE_player, objNull, ["isNotInside","isNotDragging", "isNotCarrying", "isNotSwimming", "notOnMap", "isNotEscorting", "isNotSurrendering"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Statement [0] call FUNC(keyDown) -}, -{[0] call FUNC(keyUp)}, +},{[0,false] call FUNC(keyUp)}, [219, [false, false, false]], false] call cba_fnc_addKeybind; //Left Windows Key ["ACE3", QGVAR(SelfInteractKey), (localize "STR_ACE_Interact_Menu_SelfInteractKey"), @@ -42,8 +41,7 @@ addMissionEventHandler ["Draw3D", DFUNC(render)]; if !([ACE_player, objNull, ["isNotInside","isNotDragging", "isNotCarrying", "isNotSwimming", "notOnMap", "isNotEscorting", "isNotSurrendering"]] call EFUNC(common,canInteractWith)) exitWith {false}; // Statement [1] call FUNC(keyDown) -}, -{[1] call FUNC(keyUp)}, +},{[1,false] call FUNC(keyUp)}, [219, [false, true, false]], false] call cba_fnc_addKeybind; //Left Windows Key + Ctrl/Strg diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index c79c9cd6d1..5ca0ebdc5f 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -42,25 +42,31 @@ class ACE_Settings { typeName = "COLOR"; isClientSettable = 1; displayName = "$STR_ACE_Interact_Menu_ColorTextMax"; - }; + }; class GVAR(colorTextMin) { value[] = {1, 1, 1, 0.25}; typeName = "COLOR"; isClientSettable = 1; displayName = "$STR_ACE_Interact_Menu_ColorTextMin"; - }; + }; class GVAR(colorShadowMax) { value[] = {0, 0, 0, 1}; typeName = "COLOR"; isClientSettable = 1; displayName = "$STR_ACE_Interact_Menu_ColorShadowMax"; - }; + }; class GVAR(colorShadowMin) { value[] = {0, 0, 0, 0.25}; typeName = "COLOR"; isClientSettable = 1; displayName = "$STR_ACE_Interact_Menu_ColorShadowMin"; }; + class GVAR(actionOnKeyRelease) { + value = 1; + typeName = "BOOL"; + isClientSettable = 1; + displayName = "$STR_ACE_Interact_Menu_ActionOnKeyRelease"; + }; }; class ACE_Extensions { diff --git a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf index fe25853733..f1f6e78f6d 100644 --- a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf +++ b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf @@ -15,7 +15,11 @@ EXPLODE_2_PVT(_this,_newUnit,_oldUnit); // add to new unit private "_ehid"; -_ehid = [_newUnit, "DefaultAction", {EGVAR(interact_menu,openedMenuType) >= 0}, {}] call EFUNC(common,addActionEventHandler); +_ehid = [_newUnit, "DefaultAction", {GVAR(openedMenuType) >= 0}, { + if !(GVAR(actionOnKeyRelease)) then { + [GVAR(openedMenuType),true] call FUNC(keyUp); + }; +}] call EFUNC(common,addActionEventHandler); _newUnit setVariable [QGVAR(AAEHID), _ehid]; diff --git a/addons/interact_menu/functions/fnc_keyUp.sqf b/addons/interact_menu/functions/fnc_keyUp.sqf index 735130e69a..7b24497802 100644 --- a/addons/interact_menu/functions/fnc_keyUp.sqf +++ b/addons/interact_menu/functions/fnc_keyUp.sqf @@ -12,6 +12,9 @@ */ #include "script_component.hpp" +private "_calledByClicking"; +_calledByClicking = _this select 1; + // Exit if there's no menu opened if (GVAR(openedMenuType) < 0) exitWith {true}; @@ -29,6 +32,9 @@ if(GVAR(actionSelected)) then { // Clear the conditions caches ["clearConditionCaches", []] call EFUNC(common,localEvent); + // exit scope if selecting an action on key release is disabled + if (!(GVAR(actionOnKeyRelease)) && !_calledByClicking) exitWith {}; + // Check the action conditions _actionData = GVAR(selectedAction) select 0; if ([_target, _player, _actionData select 6] call (_actionData select 4)) then { diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 55d67788f4..d9e2e1366b 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -83,5 +83,9 @@ Interaction - Shadow Min + + Do action when releasing menu key + Aktion nach Loslassen der Taste ausführen + - \ No newline at end of file + From 55529d03963416ba0051268ea2914202bf95eab6 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Sat, 25 Apr 2015 09:41:55 +0200 Subject: [PATCH 035/478] Added support for switching from 3d selections to radial menu --- addons/medical/ACE_Medical_Actions.hpp | 12 ++++++------ addons/medical/ACE_Settings.hpp | 9 +++++++++ addons/medical/CfgVehicles.hpp | 5 ++++- addons/medical/stringtable.xml | 13 +++++++++++++ 4 files changed, 32 insertions(+), 7 deletions(-) diff --git a/addons/medical/ACE_Medical_Actions.hpp b/addons/medical/ACE_Medical_Actions.hpp index ed5670f814..e3292105b0 100644 --- a/addons/medical/ACE_Medical_Actions.hpp +++ b/addons/medical/ACE_Medical_Actions.hpp @@ -3,7 +3,7 @@ class ACE_Head { displayName = "$STR_ACE_Interaction_Head"; runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); - condition = "true"; + ACTION_CONDITION EXCEPTIONS icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; @@ -75,7 +75,7 @@ class ACE_Torso { displayName = "$STR_ACE_Interaction_Torso"; runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 1)] call DFUNC(displayPatientInformation)); - condition = "true"; + ACTION_CONDITION EXCEPTIONS icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; @@ -175,7 +175,7 @@ class ACE_ArmLeft { displayName = "$STR_ACE_Interaction_ArmLeft"; runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 2)] call DFUNC(displayPatientInformation)); - condition = "true"; + ACTION_CONDITION EXCEPTIONS icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; @@ -332,7 +332,7 @@ class ACE_ArmRight { displayName = "$STR_ACE_Interaction_ArmRight"; runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 3)] call DFUNC(displayPatientInformation)); - condition = "true"; + ACTION_CONDITION EXCEPTIONS icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; @@ -486,7 +486,7 @@ class ACE_LegLeft { displayName = "$STR_ACE_Interaction_LegLeft"; runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 4)] call DFUNC(displayPatientInformation)); - condition = "true"; + ACTION_CONDITION EXCEPTIONS icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; @@ -628,7 +628,7 @@ class ACE_LegRight { displayName = "$STR_ACE_Interaction_LegRight"; runOnHover = 1; statement = QUOTE([ARR_3(_target, true, 5)] call DFUNC(displayPatientInformation)); - condition = "true"; + ACTION_CONDITION EXCEPTIONS icon = PATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index e7f60a14e8..c3531915db 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -143,4 +143,13 @@ class ACE_Settings { typeName = "BOOL"; value = 0; }; + + class GVAR(menuTypeStyle) { + displayName = "$STR_ACE_Medical_menuTypeDisplay"; + description = "$STR_ACE_Medical_menuTypeDescription"; + typeName = "SCALAR"; + value = 0; + values[] = {"$STR_ACE_Medical_useSelection", "$STR_ACE_Medical_useRadial"}; + isClientSettable = 1; + }; }; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 2b1f7c9468..648aa8e420 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -428,6 +428,7 @@ class CfgVehicles { class ACE_Actions { // Include actions in body parts for treatment while in the open #define EXCEPTIONS exceptions[] = {}; + #define ACTION_CONDITION condition = QUOTE(GVAR(menuTypeStyle) == 0); #include "ACE_Medical_Actions.hpp" // Create a consolidates medical menu for treatment while boarded @@ -436,12 +437,14 @@ class CfgVehicles { displayName = "$STR_ACE_MEDICAL_ACTIONS_Medical"; runOnHover = 1; exceptions[] = {"isNotInside"}; - condition = QUOTE(vehicle _target != _target); + condition = QUOTE(vehicle _target != _target || GVAR(menuTypeStyle) == 1); statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); icon = PATHTOF(UI\icons\medical_cross.paa); #undef EXCEPTIONS + #undef ACTION_CONDITION #define EXCEPTIONS exceptions[] = {"isNotInside"}; + #define ACTION_CONDITION condition = "true"; #include "ACE_Medical_Actions.hpp" }; class GVAR(loadPatient) { diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 53c587bec0..316425d6b4 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1635,5 +1635,18 @@ Aberración cromática Aberration chromatique + + Style of menu (Medical) + + + Select the type of menu you prefer; default 3d selections or radial. + + + Selections (3d) + + + Radial + + \ No newline at end of file From 73f387d3e3778d8ac3b92d532602204918c58377 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 25 Apr 2015 11:55:39 +0200 Subject: [PATCH 036/478] outline interaction menu text --- addons/interact_menu/functions/fnc_renderIcon.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index 9107b6d998..91a200ee89 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -33,9 +33,9 @@ if(_icon == "") then { }; _text = if (GVAR(UseListMenu)) then { - format ["%5", _icon, _iconColor, _textColor, _shadowColor, _text] + format ["%5", _icon, _iconColor, _textColor, _shadowColor, _text] } else { - format ["
%5", _icon, _iconColor, _textColor, _shadowColor, "ace_breakLine" callExtension _text]; + format ["
%5", _icon, _iconColor, _textColor, _shadowColor, "ace_breakLine" callExtension _text]; }; _ctrl ctrlSetStructuredText (parseText _text); From 274663e1b9fb833e27ab3ab4c3f936c0d5695726 Mon Sep 17 00:00:00 2001 From: Dimaslg Date: Sat, 25 Apr 2015 18:53:45 +0200 Subject: [PATCH 037/478] Spanish Translation Minor fixes and spelling mistakes. --- addons/ballistics/stringtable.xml | 16 +++++++++------- addons/disposable/stringtable.xml | 4 ++-- addons/dragging/stringtable.xml | 4 ++-- addons/explosives/stringtable.xml | 6 +++--- addons/fcs/stringtable.xml | 4 ++-- addons/flashsuppressors/stringtable.xml | 14 +++++++------- addons/grenades/stringtable.xml | 4 ++-- addons/interact_menu/stringtable.xml | 4 ++++ addons/interaction/stringtable.xml | 4 ++-- addons/kestrel4500/stringtable.xml | 4 ++-- addons/laser_selfdesignate/stringtable.xml | 4 ++-- addons/laserpointer/stringtable.xml | 8 ++++---- addons/magazinerepack/stringtable.xml | 8 ++++---- addons/medical/stringtable.xml | 11 +++++------ addons/microdagr/stringtable.xml | 4 ++-- addons/missileguidance/stringtable.xml | 16 ++++++++-------- addons/nametags/stringtable.xml | 6 +++--- addons/nightvision/stringtable.xml | 16 ++++++++-------- addons/optionsmenu/stringtable.xml | 8 ++++---- addons/overheating/stringtable.xml | 2 +- addons/realisticnames/stringtable.xml | 6 +++--- addons/reload/stringtable.xml | 8 ++++---- addons/vehiclelock/stringtable.xml | 18 +++++++++--------- addons/weaponselect/stringtable.xml | 14 +++++++------- 24 files changed, 99 insertions(+), 94 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 49b39c0af6..e65b91f926 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -273,7 +273,7 @@ 7.62mm Tracer 7,62 mm Nyomjelző 7,62mm Leuchtspur - 7,62mm trazadora + 7,62mm Trazadora 7,62mm Traçantes 7,62mm Smugacz 7.62mm Svítící @@ -380,7 +380,7 @@ .338 NM Tracer .338 NM Svítící .338 NM Traçante - .338 NM trazadora + .338 NM Trazadora .338 NM трассирующие @@ -456,7 +456,7 @@ 9,3mm Smugacz 9.3mm Svítící 9.3mm Traçante - 9.3mm trazadora + 9.3mm Trazadora 9,3 мм трассирующие @@ -507,7 +507,7 @@ 9,3mm Smugacz 9.3mm Svítící 9.3mm Traçante - 9.3mm trazadora + 9.3mm Trazadora 9,3 мм трассирующие @@ -903,7 +903,7 @@ Calibre: 7.62x51 mm NATO (M993 AP)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 20 - + 7.62mm 20Rnd Mag (Mk248 Mod 0) Magazynek 7,62mm 20rd (Mk248 Mod 0) @@ -984,12 +984,13 @@ Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM Calibre: 6.5x47mm (HPBT Scenar)<br />Cartouches: 30 - Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30 + Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30<br />Se usa en: MXM Kaliber: 6,5x47 mm (HPBT Scenar)<br />Pociski: 30 Калибр: 6,5x47 мм (HPBT Scenar)<br />Патронов: 30 6.5mm Creedmor 30Rnd Mag + Cargador de 30 balas de 6.5mm Creedmor 6.5mm CM @@ -1000,6 +1001,7 @@ Caliber: 6.5mm Creedmor<br />Rounds: 30<br />Used in: MXM + Calibre: 6.5mm Creedmor<br />Balas: 30<br />Se usa en: MXM .338 10Rnd Mag (300gr Sierra MatchKing HPBT) @@ -1104,4 +1106,4 @@ Калибр: 12,7x99 мм (A-MAX)<br />Патронов: 5 - + \ No newline at end of file diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 7f57998157..b97efca5f4 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -29,10 +29,10 @@ Missile préchargé Dummy Přednabitá dummy střela Wstępnie załadowana atrapa pocisku - Preloaded Missile Dummy + Precargado misil inerte Előtöltött műrakéta Предзаряженная ракетная болванка Missile stupido precaricato - + \ No newline at end of file diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 521ab87006..990f91144e 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -28,7 +28,7 @@ Item too heavy Gegenstand ist zu schwer - Articulo demasiado pesado + Objeto demasiado pesado Przedmiot jest zbyt ciężki Objet trop lourd Não é possível carregar o item devido a seu peso @@ -50,4 +50,4 @@ Нести - + \ No newline at end of file diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 8e941b1f2a..7071de32a5 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -208,7 +208,7 @@ Add to Speed Dial Zur Schnellauswahl hinzufügen - Agregar a marcado rápido + Añadir a marcado rápido Dodaj do szybkiego wybierania Ajouter à la composition rapide Přidat jako rychlou volbu @@ -364,7 +364,7 @@ Select a Trigger Wähle einen Zünder - Seleccionar un disparador + Seleccionar un detonador Wybierz zapalnik Sélectionner une mise à feu Zvolit Detonátor @@ -502,4 +502,4 @@ Raccogli - + \ No newline at end of file diff --git a/addons/fcs/stringtable.xml b/addons/fcs/stringtable.xml index 857f511fca..6c785ae47b 100644 --- a/addons/fcs/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -14,7 +14,7 @@ Zeroed To Haltepunkt - Fijado a + Ajustado a Wyzerowany na Nastaveno na Zéroté à @@ -72,4 +72,4 @@ СУО обнулен. - + \ No newline at end of file diff --git a/addons/flashsuppressors/stringtable.xml b/addons/flashsuppressors/stringtable.xml index d3185fc2b0..a806ba8fa6 100644 --- a/addons/flashsuppressors/stringtable.xml +++ b/addons/flashsuppressors/stringtable.xml @@ -12,7 +12,7 @@ Tlumič plamene (6,5 mm) Cache-flamme (6,5 mm) Пламегаситель (6,5 мм) - Supresor (6,5 mm) + Bocacha (6,5 mm) Flash Suppressor (7.62 mm) @@ -24,7 +24,7 @@ Tlumič plamene (7,62 mm) Cache-flamme (7,62 mm) Пламегаситель (7,62 мм) - Supresor (7,62 mm) + Bocacha (7,62 mm) Flash Suppressor (5.56 mm) @@ -36,7 +36,7 @@ Tlumič plamene (5,56 mm) Cache-flamme (5,56 mm) Пламегаситель (5,56 мм) - Supresor (5,56 mm) + Bocacha (5,56 mm) Flash Suppressor (.45 ACP) @@ -48,7 +48,7 @@ Tlumič plamene (.45 ACP) Cache-flamme (.45 ACP) Пламегаситель (.45 ACP) - Supresor (.45 ACP) + Bocacha (.45 ACP) Flash Suppressor (9 mm) @@ -60,7 +60,7 @@ Tlumič plamene (9 mm) Cache-flamme (9 mm) Пламегаситель (9 мм) - Supresor (9 mm) + Bocacha (9 mm) Flash Suppressor (.338) @@ -72,7 +72,7 @@ Tlumič záblesku (.338) Cache-flamme (.338) Пламегаситель (.338) - Supresor (.338) + Bocacha (.338) Flash Suppressor (9.3 mm) @@ -84,7 +84,7 @@ Tlumič záblesku (9,3 mm) Cache-flamme (9,3 mm) Пламегаситель (9,3 мм) - Supresor (9,3 mm) + Bocacha (9,3 mm) \ No newline at end of file diff --git a/addons/grenades/stringtable.xml b/addons/grenades/stringtable.xml index 7f8321d6c6..b5c3a6a35b 100644 --- a/addons/grenades/stringtable.xml +++ b/addons/grenades/stringtable.xml @@ -53,7 +53,7 @@ Roll Grenade Granate rollen - Rodar granada + Lanzamiento raso Po ziemi Po zemi Lancer roulé @@ -89,7 +89,7 @@ Also known as flashbang. Causes immediate flash blindness, deafness, tinnitus, and inner ear disturbance. Verursacht temporäre Blind- und Taubheit. - Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior. + Tambien conocida como granada cegadora. Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior. Les grenades incapacitantes servent à désorienter ou distraire une menace pendant quelques secondes. Znany też jako flashbang. Powoduje natychmiastową tymczasową ślepotę, głuchotę, dzwonienie w uszach i inne zaburzenia ucha wewnętrznego. Omračující granát je taktická nesmrtící zbraň používaná při záchraně rukojmí a zvládání davu. diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 55d67788f4..264bc6c645 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -73,15 +73,19 @@ Interaction - Text Max + Interacción - Ampliar texto Interaction - Text Min + Interacción - Reducir texto Interaction - Shadow Max + Interacción - Ampliar sombra Interaction - Shadow Min + Interacción - Reducir sombra \ No newline at end of file diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 38902f80cf..50bcac8fb3 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -104,7 +104,7 @@ Interaction Menu (Self) Interaktionsmenü (Selbst) - Menú de interacción (Propia) + Menú de interacción (Propio) Menu interakcji (własne) Menu interakce (vlastní) Menu d'interaction (Perso) @@ -734,4 +734,4 @@ Passeggeri - + \ No newline at end of file diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index 2703e34e9f..a71c2dc094 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -18,7 +18,7 @@ Anemomentr skrzydełkowy Kestrel 4500 Карманная метеостанция Kestrel 4500NV Station météo portable Kestrel 4500 - Kestrel 4500 Pocket Weather Tracker + Estación meteorológica Kestrel 4500 Kestrel 4500 Taschenwettermessgerät @@ -46,7 +46,7 @@ Убрать Kestrel 4500NV Cacher Kestrel 4500 Nascondi Kestrel 4500 - Esconder Kestrel 4500 + Ocultar Kestrel 4500 Kestrel 4500 wegstecken diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index f587763bce..bf870355dd 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -4,7 +4,7 @@ Laser Designator On Lasermarkierer an - Laser Designador encendido + Designador láser encendido ЛЦУ ВКЛ Laserový značkovač zapnut Desygnator laserowy wł. @@ -15,7 +15,7 @@ Laser Designator Off Lasermarkierer aus - Laser Designador apagado + Designador láser apagado ЛЦУ ВЫКЛ Laserový značkovat vypnut Desygnator laserowy wył. diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index 8fa38e24dd..d63767d982 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -43,7 +43,7 @@ <t color='#9cf953'>Użyj: </t>wł./wył. laser <t color='#9cf953'>Uso: </t>Ativar/Desativar laser <t color='#9cf953'>Использовать: </t>ВКЛ/ВЫКЛ лазер - <t color='#9cf953'>Usar: </t>encender/apagar láser + <t color='#9cf953'>Usar: </t>Encender/Apagar Láser <t color='#9cf953'>Használat: </t>Lézer BE/KI kapcsolása @@ -52,7 +52,7 @@ Laser Лазер Laser - Laser + Láser IR Laser @@ -60,7 +60,7 @@ Laser IR ИК-лазер Laser IR - Laser IR + Láser IR Switch Laser / IR Laser @@ -69,7 +69,7 @@ Изменить режим Лазер / ИК-лазер Changer Laser / Laser IR Alterna Laser / IR Laser - Cambiar Laser / Laser IR + Cambiar láser / Láser IR \ No newline at end of file diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index 9ea10924ac..c78f71ef89 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -78,7 +78,7 @@ Repacking Finished Réorganisation terminée Wiederverpacken Fertig - Reembalaje finalizado + Reorganización finalizada Перепаковка завершена Páskování dokončeno Przepakowywanie zakończone @@ -89,7 +89,7 @@ Repacking Interrupted Réorganisation interrompue Umpacken Unterbrochen - Reembalaje interrumpido + Reorganización interrumpida Перепаковка прервана Páskování přerušeno Przepakowywanie przerwane @@ -100,7 +100,7 @@ %1 Full and %2 Partial %1 plein(s) et %2 partiel(s) %1 Vollständigen und %2 Teilweisen - %1 Total y %2 Parcial + %1 Llenos y %2 Incompletos %1 полных и %2 неполных %1 plný a %2 částečně Pełnych: %1.<br/>Częściowo pełnych: %2. @@ -108,4 +108,4 @@ %1 pieno e %2 parziale - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 9220eb6671..cbd6c98ed8 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1343,7 +1343,6 @@ He is not in pain - Bandaged Bandé @@ -1456,7 +1455,7 @@ Load Patient Into Patient Einladen - Cargar el paciente en + Cargar al paciente en Załaduj pacjenta Naložit pacianta do Погрузить пациента в @@ -1468,7 +1467,7 @@ Unload Patient Patient Ausladen - Descargar el paciente + Descargar al paciente Wyładuj pacjenta Vyložit pacienta Выгрузить пациента @@ -1479,7 +1478,7 @@ Unload patient - Descargar el paciente + Descargar al paciente Выгрузить пациента Wyładuj pacjenta Débarquer le patient @@ -1488,7 +1487,7 @@ Load patient - Cargar el paciente en + Cargar al paciente en Погрузить пациента Załaduj pacjenta Embarquer le patient @@ -1533,7 +1532,7 @@ %1 has given an IV - %1 has puesto una IV + %1 ha puesto una IV %1 провел переливание %1 podał IV %1 a administré une IV diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 91d83646b4..53c47314d8 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -237,7 +237,7 @@ Toggle MicroDAGR Display Mode MicoDAGR Anzeigemodus Wechseln - Conmutar modo de pantalla del MicroDAGR + Cambiar modo de pantalla del MicroDAGR Сменить режим показа MicroDAGR Przełącz GUI MicroDAGR Basculer le mode d'affichage MicroDAGR @@ -279,4 +279,4 @@ Chiudi MicroDAGR - + \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 59a80df0dc..e6dc35a964 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -4,7 +4,7 @@ Advanced Missile Guidance - Avanzada Misiles Orientación + Guía de Misiles Avanzada Guidage avancé de missile Zaawansowane naprowadzanie rakiet Erweitertes Raketenlenksystem @@ -17,11 +17,11 @@ Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types. Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych. - Guía de misiles avanzada, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un framework requerido para armas de tipo misil. + Guía de misiles avanzada, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un sistema requerido para armas de tipo misil. Hydra-70 DAGR Missile - + Misil Hydra-70 DAGR Hydra-70 DAGR Hydra-70 DAGR Hydra-70 DAGR Rackete @@ -33,7 +33,7 @@ DAGR - + DAGR DAGR DAGR DAGR @@ -45,7 +45,7 @@ Hydra-70 DAGR Laser Guided Missile - + Misil guiado por láser Hydra-70 DAGR Missile à guidage Hydra-70 DAGR Laserowo naprowadzana rakieta Hydra-70 DAGR Hydra-70 DAGR lasergelenkte Rakete @@ -57,7 +57,7 @@ Hellfire II AGM-114K Missile - + Misil Hellfire II AGM-114K Hellfire II AGM-114K Hellfire II AGM-114K Hellfire II AGM-114K @@ -69,7 +69,7 @@ AGM-114K - + AGM-114K AGM-114K AGM-114K AGM-114K @@ -81,7 +81,7 @@ Hellfire II AGM-114K Laser Guided Missile - + Misil guiado por láser Hellfire II AGM-114K Missile à guidage laser Hellfire II AGM-114K Laserowo naprowadzana rakieta Hellfire II AGM-114K Hellfire II AGM-114K Lasergelenkte Rakete diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index e224ce61e4..db6c44256f 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -27,7 +27,7 @@ Show player name only on cursor (requires player names) Pokaż imiona graczy tylko pod kursorem (wymagana opcja Pokaż imiona graczy) - Mostrar nombres solo en el cursor (requiere Mostrar nombres de jugadores) + Mostrar nombres de jugadores solo al apuntarles (requiere Mostrar nombres de jugadores) Zeige Spielernamen nur an, wenn die Maus auf sie gerrichtet ist (benötigt Spielernamen) Noms uniquement sous le curseur (si noms affichés) Zobrazit jméno hráče jenom na kurzor (vyžaduje jména hráčů) @@ -39,7 +39,7 @@ Show player name only on keypress (requires player names) Spielernamen nur auf Tastendruck anzeigen (benötigt Spielernamen) - Mostrar nombres solo al pulsar (requiere Mostrar nombres de jugadores) + Mostrar nombres solo al pulsar la tecla(requiere Mostrar nombres de jugadores) Noms uniquement sur pression de la touche (si noms affichés) Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) Pokaż imiona graczy tylko po przytrzymaniu klawisza (wymagana opcja Pokaż imiona graczy) @@ -104,4 +104,4 @@ Colore nametag di default (membri non del gruppo) - + \ No newline at end of file diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index a2e24d79df..4ba86aa4d2 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -10,7 +10,7 @@ Gogle noktowizyjne (Gen1) Óculos de visão noturna (Gen1) ПНВ (Gen1) - Sistema de visión nocturna (Gen1) + Gafas de visión nocturna (Gen1) Éjjellátó szemüveg (1. Gen.) @@ -22,7 +22,7 @@ Gogle noktowizyjne (Gen2) Óculos de visão noturna (Gen2) ПНВ (Gen2) - Sistema de visión nocturna (Gen2) + Gafas de visión nocturna (Gen2) Éjjellátó szemüveg (2. Gen.) @@ -34,7 +34,7 @@ Gogle noktowizyjne (Gen3) Óculos de visão noturna (Gen3) ПНВ (Gen3) - Sistema de visión nocturna (Gen3) + Gafas de visión nocturna (Gen3) Éjjellátó szemüveg (3. Gen.) @@ -46,7 +46,7 @@ Gogle noktowizyjne (Gen3, brązowe) Óculos de visão noturna (Gen3, marrons) ПНВ (Gen3, коричневый) - Sistema de visión nocturna (Gen3, marrón) + Gafas de visión nocturna (Gen3, marrón) Éjjellátó szemüveg (3. Gen., barna) @@ -58,7 +58,7 @@ Gogle noktowizyjne (Gen3, zielone) Óculos de visão noturna (Gen3, verdes) ПНВ (Gen3, зеленый) - Sistema de visión nocturna (Gen3, verde) + Gafas de visión nocturna (Gen3, verde) Éjjellátó szemüveg (3. Gen., zöld) @@ -70,7 +70,7 @@ Gogle noktowizyjne (Gen3, czarne) Óculos de visão noturna (Gen3, pretos) ПНВ (Gen3, черный) - Sistema de visión nocturna (Gen3, negro) + Gafas de visión nocturna (Gen3, negro) Éjjellátó szemüveg (3. Gen., fekete) @@ -82,13 +82,13 @@ Gogle noktowizyjne (Gen4) Óculos de visão noturna (Gen4) ПНВ (Gen4) - Sistema de visión nocturna (Gen4) + Gafas de visión nocturna (Gen4) Éjjellátó szemüveg (4. Gen.) NV Goggles (Wide) NS-Brille (Weitwinkel) - Sistema de visión nocturna (Panorámicas) + Gafas de visión nocturna (Panorámicas) Gogle noktowizyjne (panoramiczne) Noktovizor (Širokoúhlý) ПНВ (Широкоугольный) diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index bc8d6dcdec..2ef75b9bf2 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -119,7 +119,7 @@ Open Export Menu Öffne Exportmenü - Abrir menu d'exportación + Abrir menu de exportación Открыть меню экспорта Otevřít exportovací menu Otwórz menu eksportowania @@ -130,7 +130,7 @@ String input. String input. - Introducir frase + Introducir cadena de texto. Строчный ввод. Wpisywanie tekstu. Entrée @@ -151,7 +151,7 @@ Number Nummer - Numero + Número Число Číslo Cyfra @@ -218,7 +218,7 @@ Option Menu UI Scaling Menu option: taille de l'UI Skalowanie UI menu ustawień - Opción de escalado del menú UI + Menú de opciónes de escalado de la interfaz de usuario \ No newline at end of file diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 89993dee62..9fec8818c8 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -4,7 +4,7 @@ Display text on jam Zeige Text bei Ladehemmung - Mostrar texto al encasquillar + Mostrar texto al encasquillarse Показывать текст, когда клинит оружие Zobrazit upozornění při zaseknutí Wyświetl tekst przy zacięciu broni diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 69b568dbca..4165ee1e94 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -290,7 +290,7 @@ HEMTT Container HEMTT Container - HEMTT de contenedor + HEMTT con contenedor HEMTT Kontener HEMTT Skříňový HEMTT Conteneur @@ -614,7 +614,7 @@ Typhoon Device Typhoon Gerät - Typhoon de dispositivo + Typhoon con dispositivo Typhoon Urządzenie Typhoon zařízení Typhoon Dispositif @@ -1678,4 +1678,4 @@ LWMMG .338 (Песочный) - + \ No newline at end of file diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index ceaf32c2d8..417bc83b3c 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -4,7 +4,7 @@ Check ammo on weapon reload Prüfe Munition beim Nachladen - Comprovar munición al recargar el arma + Comprobar munición al recargar el arma Проверять боезапас при перезарядке Zkontrolovat munici při nabití Sprawdź stan amunicji przy przeładowaniu broni @@ -15,7 +15,7 @@ Check the ammo in your new magazine on magazine reload. Prüfe nachgeladenes Magazin - Comprueva la munición del nuevo cargador al recargar. + Comprueba la munición del nuevo cargador al recargar. Проверяет количество патронов в новом магазине при перезарядке. Kontroluje munice při nabití nového zásobníku. Pokaż stan amunicji w nowym magazynku przy przeładowaniu broni @@ -26,7 +26,7 @@ Check Ammo Munition prüfen - Verificar munición + Comprobar munición Sprawdź amunicję Vérifier Munitions Lőszerellenőrzés @@ -70,4 +70,4 @@ Attacco la tracolla... - + \ No newline at end of file diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index e62f9fdc5f..b89003a324 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -4,7 +4,7 @@ Unlock Vehicle Fahrzeug aufschließen - Vehículo abierto + Abrir vehículo Déverrouiller le véhicule Odblokuj pojazd Odemknout vozidlo @@ -15,7 +15,7 @@ Lock Vehicle Fahrzeug abschließen - Vehículo cerrado + Cerrar vehículo Verrouiller le véhicule Zablokuj pojazd Zamknout vozidlo @@ -37,7 +37,7 @@ Picking Lock.... Schloss knacken... - Forzando cierre... + Forzando cerradura... Crochetage... Otwieranie zamka... Páčim vozidlo... @@ -70,7 +70,7 @@ A lockpick set that can pick the locks of most vehicles. Ein Dietrich der die meisten Fahrzeugschlösser knacken kann... - Un set de ganzúas puede abrir la mayoría de cerraduras de vehículos. + Un set de ganzúas que puede abrir las cerraduras de la mayoría vehículos. Un crochet qui ouvrira la plupart des véhicules. Zestaw wytrychów, dzięki któremu można otworzyć zamki w większości pojazdów. Sada paklíčů, která dokáže odemknout zámky u většiny vozidel. @@ -81,7 +81,7 @@ A key that should open most WEST vehicles. Ein Schlüssel der die meisten westlichen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos occidentales. + Una llave que abrirá la mayoría de vehículos occidentales. Une clé qui ouvrira la plupart des véhicules OUEST. Klucz, który powinien otworzyć większość pojazdów ZACHODU. Klíč který by měl otevřít většinou Západních vozidel. @@ -92,7 +92,7 @@ A key that should open most EAST vehicle. Ein Schlüssel der die meisten östlichen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos orientales. + Una llave que abrirá la mayoría de vehículos orientales. Une clé qui ouvrira la plupart des véhicules EST. Klucz, który powinien otworzyć większość pojazdów WSCHODU. Egy kulcs, ami a KELET egységeinek legtöbb járművét ki tudja nyitni. @@ -103,7 +103,7 @@ A key that should open most INDEP vehicle. Ein Schlüssel der die meisten Fahrzeuge der Aufständischen öffnen sollte... - Una llave que puede abrir la mayoría de vehículos independientes. + Una llave que abrirá la mayoría de vehículos independientes. Une clé qui ouvrira la plupart des véhicules INDEP. Klucz, który powinien otworzyć większość pojazdów INDFOR. Egy kulcs, ami a FÜGGETLEN egységek legtöbb járművét ki tudja nyitni. @@ -114,7 +114,7 @@ A key that should open most CIV vehicle. Ein Schlüssel der die meisten zivilen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos civiles. + Una llave que abrirá la mayoría de vehículos civiles. Une clé qui ouvrira la plupart des véhicules CIV. Klucz, który powinien otworzyć większość pojazdów CYWILNYCH. Klíč který by měl otevřít většinu Civilních vozidel. @@ -123,4 +123,4 @@ Una chaive che apr ela maggior parte dei veicoli CIV - + \ No newline at end of file diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 6e06025620..c076a3a2e7 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -4,7 +4,7 @@ Display text on grenade throw Zeige Text beim Granatwurf - Mostrar texto al lanzar granada + Mostrar texto al lanzar una granada Показывать текст при броске Zobrazí text při hodu granátem Wyświetl tekst przy rzucie granatem @@ -15,7 +15,7 @@ Display a hint or text on grenade throw. Zeige Hinweis oder Text beim Granatwurf - Muestra una notificación o texto al lanzar granada + Muestra una notificación o texto al lanzar una granada Показывать текст или подсказку при броске гранаты. Zobrazí upozornění nebo text při hodu granátem. Wyświetla powiadomienie lub tekst przy rzucie granatem. @@ -62,7 +62,7 @@ Select Grenade Launcher Granatwerfer auswählen - Seleccionar lanzador de granadas + Seleccionar lanzagranadas Wybierz granatnik Zvolit Granátomet Выбрать подствольный гранатомет @@ -204,7 +204,7 @@ Throw Selected Grenade Gewählte Granate werfen - Arrojar granada seleccionada + Lanzar granada seleccionada Rzuć wybrany granat Lancer la grenade sélectionnée Kiválasztott Gránát Eldobása @@ -227,7 +227,7 @@ No frags left Keine explosiven Granaten übrig - Sin granadas de fragmentación + No quedan granadas de fragmentación Brak granatów odłamkowych Plus de grenades à fragmentation Nincs több repeszgránát @@ -239,7 +239,7 @@ No misc. grenades left Keine nichtexplosiven Granaten übrig - Sin granadas de varias + Sin granadas misc. Brak granatów nieodłamkowych Plus de grenades non-léthales Nincs több egyéb gránát @@ -272,4 +272,4 @@ Lancia fumogeno - + \ No newline at end of file From 4b7daaa8407e3a70ab51a7fecb5c587654a7473e Mon Sep 17 00:00:00 2001 From: Dimaslg Date: Sat, 25 Apr 2015 19:18:04 +0200 Subject: [PATCH 038/478] Spanish translation Minor fixes and spelling mistakes. --- addons/missileguidance/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index e6dc35a964..78387c65c6 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -4,7 +4,7 @@ Advanced Missile Guidance - Guía de Misiles Avanzada + Guiado Avanzado de Misiles Guidage avancé de missile Zaawansowane naprowadzanie rakiet Erweitertes Raketenlenksystem @@ -17,7 +17,7 @@ Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types. Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych. - Guía de misiles avanzada, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un sistema requerido para armas de tipo misil. + Guiado Avanzado de Misiles, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un sistema requerido para armas de tipo misil. Hydra-70 DAGR Missile From 11d86248a760f938d56b8d164c3d2f128a7ae106 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Sat, 25 Apr 2015 22:20:28 +0200 Subject: [PATCH 039/478] Reorganised module and settings #809 --- addons/medical/ACE_Settings.hpp | 4 + addons/medical/CfgVehicles.hpp | 155 +++++++++--------- addons/medical/XEH_preInit.sqf | 3 +- addons/medical/functions/fnc_handleDamage.sqf | 2 +- ... => fnc_moduleAdvancedMedicalSettings.sqf} | 11 +- .../functions/fnc_moduleMedicalSettings.sqf | 8 +- .../functions/fnc_moduleReviveSettings.sqf | 27 +++ addons/medical/functions/fnc_setDead.sqf | 2 +- 8 files changed, 123 insertions(+), 89 deletions(-) rename addons/medical/functions/{fnc_moduleTreatmentConfiguration.sqf => fnc_moduleAdvancedMedicalSettings.sqf} (64%) create mode 100644 addons/medical/functions/fnc_moduleReviveSettings.sqf diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index e7f60a14e8..26fa87e706 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -59,6 +59,10 @@ class ACE_Settings { typeName = "BOOL"; value = 0; }; + class GVAR(enableRevive) { + typeName = "BOOL"; + value = 0; + }; class GVAR(maxReviveTime) { typeName = "SCALAR"; value = 120; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 2b1f7c9468..2de90e77d0 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -37,47 +37,38 @@ class CfgVehicles { }; }; }; - class enableFor { - displayName = "Enabled for"; - description = "Select what units the medical system will be enabled for (Adv only)"; + class medicSetting { + displayName = "Medics setting"; + description = "What is the level of detail prefered for medics?"; typeName = "NUMBER"; class values { - class playableUnits { - name = "Players only."; + class disable { + name = "Disable medics"; value = 0; + }; + class normal { + name = "Normal"; + value = 1; default = 1; }; - class playableUnitsAndAI { - name = "Players and AI"; - value = 1; + class full { + name = "Advanced"; + value = 2; }; }; }; - // TODO Disabled until the features are implemented - /*class enableAirway { - displayName = "Enable Airway"; - description = "Enable Advanced medical Airway (Adv only)"; - typeName = "BOOL"; - defaultValue = 0; - }; - class enableFractures { - displayName = "Enable Fractures"; - description = "Enable Advanced medical Fractures (Adv only)"; - typeName = "BOOL"; - defaultValue = 0; - };*/ - class enableAdvancedWounds { - displayName = "Enable Advanced wounds"; - description = "Allow reopening of bandaged wounds? (Adv only)"; - typeName = "BOOL"; - defaultValue = 0; - }; - class enableVehicleCrashes { - displayName = "Vehicle Crashes"; - description = "Do units take damage from a vehicle crash?"; + class allowLitterCreation { + displayName = "Enable Litter"; + description = "Enable litter being created upon treatment"; typeName = "BOOL"; defaultValue = 1; }; + class litterCleanUpDelay { + displayName = "Life time of litter objects"; + description = "How long should litter objects stay? In seconds. -1 is forever."; + typeName = "NUMBER"; + defaultValue = 1800; + }; class enableScreams { displayName = "Enable Screams"; description = "Enable screaming by injuried units"; @@ -141,80 +132,58 @@ class CfgVehicles { }; }; - class ACE_moduleTreatmentSettings: ACE_Module { + class ACE_moduleAdvancedMedicalSettings: ACE_Module { scope = 2; - displayName = "Treatment Settings [ACE]"; + displayName = "Advanced Medical Settings [ACE]"; icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); category = "ACE_medical"; - function = QUOTE(FUNC(moduleTreatmentConfiguration)); + function = QUOTE(FUNC(moduleAdvancedMedicalSettings)); functionPriority = 10; isGlobal = 2; isTriggerActivated = 0; isDisposable = 0; author = "$STR_ACE_Common_ACETeam"; class Arguments { - class medicSetting { - displayName = "Medics setting"; - description = "What is the level of detail prefered for medics?"; + class enableFor { + displayName = "Enabled for"; + description = "Select what units the advanced medical system will be enabled for"; typeName = "NUMBER"; class values { - class disable { - name = "Disable medics"; + class playableUnits { + name = "Players only."; value = 0; - }; - class normal { - name = "Normal"; - value = 1; default = 1; }; - class full { - name = "Advanced"; - value = 2; + class playableUnitsAndAI { + name = "Players and AI"; + value = 1; }; }; }; - class maxReviveTime { - displayName = "Max Revive time"; - description = "Max amount of seconds a unit can spend in revive state"; - typeName = "NUMBER"; - defaultValue = 120; + class enableAdvancedWounds { + displayName = "Enable Advanced wounds"; + description = "Allow reopening of bandaged wounds?"; + typeName = "BOOL"; + defaultValue = 0; }; - class amountOfReviveLives { - displayName = "Max Revive lives"; - description = "Max amount of lives a unit. 0 or -1 is disabled."; - typeName = "NUMBER"; - defaultValue = -1; - }; - class enableOverdosing { - displayName = "Enable Overdosing"; - description = "Enable overdosing of medications"; + class enableVehicleCrashes { + displayName = "Vehicle Crashes"; + description = "Do units take damage from a vehicle crash?"; typeName = "BOOL"; defaultValue = 1; }; - class allowLitterCreation { - displayName = "Enable Litter"; - description = "Enable litter being created upon treatment"; - typeName = "BOOL"; - defaultValue = 1; - }; - class litterCleanUpDelay { - displayName = "Life time of litter objects"; - description = "How long should litter objects stay? In seconds. -1 is forever."; - typeName = "NUMBER"; - defaultValue = 1800; - }; class medicSetting_PAK { - displayName = "Allow PAK (Adv)"; + displayName = "Allow PAK"; description = "Who can use the PAK for full heal?"; typeName = "NUMBER"; class values { class anyone { name = "Anyone"; value = 0; }; class Medic { name = "Medics only"; value = 1; default = 1; }; - class Special { name = "Doctors only (Adv)"; value = 2; }; + class Special { name = "Doctors only"; value = 2; }; }; }; class consumeItem_PAK { - displayName = "Remove PAK on use (Adv)"; + displayName = "Remove PAK on use"; description = "Should PAK be removed on usage?"; typeName = "NUMBER"; class values { @@ -223,7 +192,7 @@ class CfgVehicles { }; }; class useLocation_PAK { - displayName = "Locations PAK (Adv)"; + displayName = "Locations PAK"; description = "Where can the personal aid kit be used?"; typeName = "NUMBER"; class values { @@ -254,6 +223,42 @@ class CfgVehicles { }; }; + + class ACE_moduleReviveSettings: ACE_Module { + scope = 2; + displayName = "Revive Settings [ACE]"; + icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); + category = "ACE_medical"; + function = QUOTE(DFUNC(moduleReviveSettings)); + functionPriority = 1; + isGlobal = 1; + isTriggerActivated = 0; + author = "$STR_ACE_Common_ACETeam"; + class Arguments { + class enableRevive { + displayName = "Enable Revive"; + description = "Enable a basic revive system"; + typeName = "BOOL"; + defaultValue = 0; + }; + class maxReviveTime { + displayName = "Max Revive time"; + description = "Max amount of seconds a unit can spend in revive state"; + typeName = "NUMBER"; + defaultValue = 120; + }; + class amountOfReviveLives { + displayName = "Max Revive lives"; + description = "Max amount of lives a unit. 0 or -1 is disabled."; + typeName = "NUMBER"; + defaultValue = -1; + }; + }; + class ModuleDescription { + description = "Provides a medical system for both players and AI."; + sync[] = {}; + }; + }; class ACE_moduleAssignMedicRoles: Module_F { scope = 2; displayName = "Set Medic Class [ACE]"; diff --git a/addons/medical/XEH_preInit.sqf b/addons/medical/XEH_preInit.sqf index b6deca4033..051f7da266 100644 --- a/addons/medical/XEH_preInit.sqf +++ b/addons/medical/XEH_preInit.sqf @@ -92,10 +92,11 @@ PREP(displayPatientInformation); PREP(displayTriageCard); PREP(dropDownTriageCard); PREP(moduleMedicalSettings); +PREP(moduleAdvancedMedicalSettings); +PREP(moduleReviveSettings); PREP(moduleAssignMedicRoles); PREP(moduleAssignMedicalVehicle); PREP(moduleAssignMedicalFacility); -PREP(moduleTreatmentConfiguration); PREP(copyDeadBody); PREP(requestWoundSync); PREP(unconsciousPFH); diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index c13818bbcd..956b4f95aa 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -76,7 +76,7 @@ if (GVAR(level) >= 2) then { }; [_unit] call FUNC(addToInjuredCollection); -if ((_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)]) && {_damageReturn >= 0.9} && {_selection in ["", "head", "body"]}) exitWith { +if (((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)])) && {_damageReturn >= 0.9} && {_selection in ["", "head", "body"]}) exitWith { if (vehicle _unit != _unit and {damage _vehicle >= 1}) then { // @todo // [_unit] call FUNC(unload); diff --git a/addons/medical/functions/fnc_moduleTreatmentConfiguration.sqf b/addons/medical/functions/fnc_moduleAdvancedMedicalSettings.sqf similarity index 64% rename from addons/medical/functions/fnc_moduleTreatmentConfiguration.sqf rename to addons/medical/functions/fnc_moduleAdvancedMedicalSettings.sqf index 5d88fa0f0a..cf884e0ab0 100644 --- a/addons/medical/functions/fnc_moduleTreatmentConfiguration.sqf +++ b/addons/medical/functions/fnc_moduleAdvancedMedicalSettings.sqf @@ -22,12 +22,11 @@ _activated = _this select 2; if !(_activated) exitWith {}; -[_logic, QGVAR(medicSetting), "medicSetting"] call EFUNC(common,readSettingFromModule); -[_logic, QGVAR(maxReviveTime), "maxReviveTime"] call EFUNC(common,readSettingFromModule); -[_logic, QGVAR(amountOfReviveLives), "amountOfReviveLives"] call EFUNC(common,readSettingFromModule); -[_logic, QGVAR(enableOverdosing), "enableOverdosing"] call EFUNC(common,readSettingFromModule); -[_logic, QGVAR(allowLitterCreation), "allowLitterCreation"] call EFUNC(common,readSettingFromModule); -[_logic, QGVAR(litterCleanUpDelay), "litterCleanUpDelay"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(enableFor), "enableFor"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(enableAdvancedWounds), "enableAdvancedWounds"] call EFUNC(common,readSettingFromModule); +// TODO disabled until implemented +// [_logic, QGVAR(enableAirway), "enableAirway"] call EFUNC(common,readSettingFromModule); +// [_logic, QGVAR(enableFractures), "enableFractures"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(medicSetting_PAK), "medicSetting_PAK"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(medicSetting_SurgicalKit), "medicSetting_SurgicalKit"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(consumeItem_PAK), "consumeItem_PAK"] call EFUNC(common,readSettingFromModule); diff --git a/addons/medical/functions/fnc_moduleMedicalSettings.sqf b/addons/medical/functions/fnc_moduleMedicalSettings.sqf index 34dd063a4d..0d514aee27 100644 --- a/addons/medical/functions/fnc_moduleMedicalSettings.sqf +++ b/addons/medical/functions/fnc_moduleMedicalSettings.sqf @@ -23,11 +23,9 @@ _activated = _this select 2; if !(_activated) exitWith {}; [_logic, QGVAR(level), "level"] call EFUNC(common,readSettingFromModule); -[_logic, QGVAR(enableFor), "enableFor"] call EFUNC(common,readSettingFromModule); -// TODO disabled until implemented -// [_logic, QGVAR(enableAirway), "enableAirway"] call EFUNC(common,readSettingFromModule); -// [_logic, QGVAR(enableFractures), "enableFractures"] call EFUNC(common,readSettingFromModule); -[_logic, QGVAR(enableAdvancedWounds), "enableAdvancedWounds"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(medicSetting), "medicSetting"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(allowLitterCreation), "allowLitterCreation"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(litterCleanUpDelay), "litterCleanUpDelay"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(enableScreams), "enableScreams"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(playerDamageThreshold), "playerDamageThreshold"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(AIDamageThreshold), "AIDamageThreshold"] call EFUNC(common,readSettingFromModule); diff --git a/addons/medical/functions/fnc_moduleReviveSettings.sqf b/addons/medical/functions/fnc_moduleReviveSettings.sqf new file mode 100644 index 0000000000..c96b1eb67c --- /dev/null +++ b/addons/medical/functions/fnc_moduleReviveSettings.sqf @@ -0,0 +1,27 @@ +/* + * Author: Glowbal + * Module for adjusting the medical revive settings + * + * Arguments: + * 0: The module logic + * 1: units + * 2: activated + * + * Return Value: + * None + * + * Public: No + */ + +#include "script_component.hpp" + +private ["_logic", "_units", "_activated"]; +_logic = _this select 0; +_units = _this select 1; +_activated = _this select 2; + +if !(_activated) exitWith {}; + +[_logic, QGVAR(maxReviveTime), "maxReviveTime"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(amountOfReviveLives), "amountOfReviveLives"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(enableRevive), "enableRevive"] call EFUNC(common,readSettingFromModule); diff --git a/addons/medical/functions/fnc_setDead.sqf b/addons/medical/functions/fnc_setDead.sqf index 334a2d8b97..428d6674ab 100644 --- a/addons/medical/functions/fnc_setDead.sqf +++ b/addons/medical/functions/fnc_setDead.sqf @@ -26,7 +26,7 @@ if (!local _unit) exitwith { false; }; -if ((_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)]) && !_force) exitwith { +if ((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]) && !_force) exitwith { if (_unit getvariable [QGVAR(inReviveState), false]) exitwith { if (GVAR(amountOfReviveLives) > 0) then { _lifesLeft = _unit getvariable[QGVAR(amountOfReviveLives), GVAR(amountOfReviveLives)]; From 523cb49ff158aa912296e8cc8f7a4a553e0ecfa6 Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Sun, 26 Apr 2015 03:09:16 -0300 Subject: [PATCH 040/478] Added - Portuguese translation to lots of things. Also fixed a typo the english key for STR_ACE_microdagr_configure. --- addons/disposable/stringtable.xml | 72 +- addons/dragging/stringtable.xml | 91 +- addons/explosives/stringtable.xml | 10 +- addons/frag/stringtable.xml | 35 +- addons/grenades/stringtable.xml | 488 ++--- addons/interaction/stringtable.xml | 1326 ++++++------- addons/logistics_uavbattery/stringtable.xml | 150 +- addons/maptools/stringtable.xml | 289 +-- addons/markers/stringtable.xml | 23 +- addons/medical/stringtable.xml | 1925 ++++++++++--------- addons/microdagr/stringtable.xml | 232 ++- addons/movement/stringtable.xml | 86 +- addons/nametags/stringtable.xml | 160 +- addons/nightvision/stringtable.xml | 249 +-- addons/optionsmenu/stringtable.xml | 221 ++- addons/overheating/stringtable.xml | 306 +-- addons/parachute/stringtable.xml | 88 +- addons/realisticnames/stringtable.xml | 83 +- addons/reload/stringtable.xml | 84 +- addons/reloadlaunchers/stringtable.xml | 8 +- addons/respawn/stringtable.xml | 42 +- addons/safemode/stringtable.xml | 80 +- addons/switchunits/stringtable.xml | 40 +- addons/vehiclelock/stringtable.xml | 235 +-- addons/weaponselect/stringtable.xml | 502 ++--- addons/wep_javelin/stringtable.xml | 8 +- addons/winddeflection/stringtable.xml | 69 +- 27 files changed, 3584 insertions(+), 3318 deletions(-) diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 6a3f561b22..1213a561c7 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -1,39 +1,39 @@  - - - Used Tube - Benutze Einwegwaffe - Tube utilisé - Použitý odpalovač - Zużyta tuba - Lanzador utilizado - Használt cső - Отстрелянная труба - Tubo utilizado - - - Used disposable rocket launcher - Benutzter Einweg-Raketenwerfer - Lance-roquette à usage unique utilisé - Použitý raketomet - Zużyta tuba granatnika jednorazowego użytku - Lanzador desechable utilizado - Használt rakétavető - Отстрелянная одноразовая пусковая установка - Lança foguetes descartável utilizado - - - Preloaded Missile Dummy - Preloaded Missile Dummy - Preloaded Missile Dummy - Preloaded Missile Dummy - Preloaded Missile Dummy - Preloaded Missile Dummy - Preloaded Missile Dummy - Заряженная ракетная пустышка - Preloaded Missile Dummy - - - + + + Used Tube + Benutze Einwegwaffe + Tube utilisé + Použitý odpalovač + Zużyta tuba + Lanzador utilizado + Használt cső + Отстрелянная труба + Tubo utilizado + + + Used disposable rocket launcher + Benutzter Einweg-Raketenwerfer + Lance-roquette à usage unique utilisé + Použitý raketomet + Zużyta tuba granatnika jednorazowego użytku + Lanzador desechable utilizado + Használt rakétavető + Отстрелянная одноразовая пусковая установка + Lança foguetes descartável utilizado + + + Preloaded Missile Dummy + Preloaded Missile Dummy + Preloaded Missile Dummy + Preloaded Missile Dummy + Preloaded Missile Dummy + Preloaded Missile Dummy + Preloaded Missile Dummy + Заряженная ракетная пустышка + Míssel dummy pré-carregado + + + \ No newline at end of file diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index eafa5e597f..e3449f5fca 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -1,35 +1,35 @@ - + - - - Drag - Тащить - Arrastrar - Ciągnij - Táhnout - Tracter - Ziehen - Arrastar - Trascina - Húzás - - - Release - Отпустить - Soltar - Puść - Položit - Lâcher - Loslassen - Soltar - Lascia - Elengedés - - - Item to heavy - Gegenstand zu schwer - - - - Carry - Tragen - Portar - Nieś - Porter - Nést - Carregar - Trascina - Felvesz - Нести - - - + O item é muito pesado + + + Carry + Tragen + Portar + Nieś + Porter + Nést + Carregar + Trascina + Felvesz + Нести + + + \ No newline at end of file diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index d502053203..c4b84dd538 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -251,7 +251,7 @@ Nahoru Sopra Fel - Para cima + Para Cima Поднять @@ -280,7 +280,7 @@ Detonate Menu - "Zünden"-Menü + "Zünden"-Menü Menú de detonación Menu detonowania Menu de mise à feu @@ -292,7 +292,7 @@ Place Menu - "Platzieren"-Menü + "Platzieren"-Menü Menú de colocación Menu umieszczania Menu Placement @@ -497,4 +497,4 @@ Pegar - + \ No newline at end of file diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index f3562ee5b1..ddfe28f85e 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -1,18 +1,19 @@ - + - - - -(Æ) Disable Fragmentation -(Æ) Zakázat fragmentaci granátů -(Æ) Weapons: Keine Schrapnelle -(Æ) Wyłącz głowice fragmentacyjne -(Æ) Выключить разлёт осколков -(Æ) Disable Fragmentation -(Æ) Disable Fragmentation -(Æ) Disable Fragmentation -(Æ) Disable Fragmentation - - - - + + + + (Æ) Disable Fragmentation + (Æ) Zakázat fragmentaci granátů + (Æ) Weapons: Keine Schrapnelle + (Æ) Wyłącz głowice fragmentacyjne + (Æ) Выключить разлёт осколков + (Æ) Disable Fragmentation + (Æ) Disable Fragmentation + (Æ) Disable Fragmentation + (Æ) Disable Fragmentation + (Æ) Disabilitar Fragmentação + + + + \ No newline at end of file diff --git a/addons/grenades/stringtable.xml b/addons/grenades/stringtable.xml index 1129d44271..25cd997294 100644 --- a/addons/grenades/stringtable.xml +++ b/addons/grenades/stringtable.xml @@ -1,246 +1,246 @@ - + - - - Switch Grenade Mode - Granaten-Modus wechseln - Cambiar modo de granada - Tryb rzutu granatem - Změnit styl hodu granátu - Changer type de lancer de grenade - Сменить режим броска гранаты - Gránátdobás mód váltás - Cambia tipo di granata - Alternar Modo de Granada - - - Normal Throw - Normaler Wurf - Lanzamiento normal - Normalny rzut - Normální - Lancer Normal - Нормальный бросок - Normál dobás - Lancio normale - Arremesso Normal - - - High Throw - Hoher Wurf - Lanzamiento alto - Rzut lobem - Vysoko - Lancer Haut - Высокий бросок - Magas dobás - Lancio verso l'alto - Arremesso Alto - - - Precise Throw - Präziser Wurf - Lanzamiento preciso - Precyzyjny rzut - Přesně - Lancer Précis - Точный бросок - Pontos dobás - Lancio preciso - Arremesso Preciso - - - Roll Grenade - Granate rollen - Rodar granada - Po ziemi - Po zemi - Lancer Roulé - Катить гранату - Gurítás - Fai rotolare la granata - Rolar Granada - - - Drop Grenade - Granate fallenlassen - Soltar granada - Upuść granat - Upustit granát - Lâcher la grenade - Бросить себе под ноги - Ejtés - Lascia la granata - Largar Granada - - - M84 Stun Grenade - M84 Blendgranate - Granada aturdidora M84 - M84 Grenade Incapacitante - Granat hukowy M84 - M84 Omračující granát - M84 светозвуковая граната - M84 Villanógránát - Granata Stordente M84 - M84 granada de atordoamento - - - Also known as flashbang. Causes immediate flash blindness, deafness, tinnitus, and inner ear disturbance. - Verursacht temporäre Blind- und Taubheit. - Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior. - Les grenades incapacitantes servent à désorienter ou distraire une menace pendant quelques secondes. - Granat ogłusza, nie zabijając przeciwnika. Detonacja daje efekt oślepiającego błysku i głośnego huku. - Omračující granát je taktická nesmrtící zbraň používaná při záchraně rukojmí a zvládání davu. - Граната XM84 (M84) - не летального действия, и предназначена для отвлечения и временного вывода из строя, либо дезориентации противника. Основное использование нашла при освобождении заложников, захвате преступников и террористов, а также проведении диверсионных миссий. - Eldobás után felrobban és éles hang, valamint fényhatással zavarja össze a környezetében tartózkodókat. - Anche conosciuta come flashbang. Causa accecamento immediato, sensazioni di sposatezza, mancanza d'equilibrio e disturbi al timpano. - Um tipo de granada não-letal destinado a confundir, desorientar e distrair uma potencial ameaça. - - - M127A1 Hand Held Signal (White) - M127A1 Leuchtmittel (Weiß) - M127A1 Světlice (Bílá) - M127A1 Jelzőrakéta (Fehér) - M127A1 Bengala (Bianco) - Flara ręczna sygnałowa M127A1 (biała) - M127A1 Sinalizador (Branco) - M127A1 Фальшфейер (Белый) - Bengala M127A1 (Blanca) - M127A1 Feux à main (Blanc) - - - M127A1 Hand Held Signal (Red) - M127A1 Leuchtmittel (Rot) - M127A1 Světlice (Červená) - M127A1 Jelzőrakéta (Piros) - M127A1 Bengala (Rosso) - Flara ręczna sygnałowa M127A1 (czerwona) - M127A1 Sinalizador (Vermelho) - M127A1 Фальшфейер (Красный) - Bengala M127A1 (Roja) - M127A1 Feux à main (Rouge) - - - M127A1 Hand Held Signal (Green) - M127A1 Leuchtmittel (Grün) - M127A1 Světlice (Zelená) - M127A1 Jelzőrakéta (Zöld) - M127A1 Bengala (Verde) - Flara ręczna sygnałowa M127A1 (zielona) - M127A1 Sinalizador (Verde) - M127A1 Фальшфейер (Зелёный) - Bengala M127A1 (Verde) - M127A1 Feux à main (Vert) - - - M127A1 Hand Held Signal (Yellow) - M127A1 Leuchtmittel (Gelb) - M127A1 Světlice (Žlutá) - M127A1 Jelzőrakéta (Sárga) - M127A1 Bengala (Giallo) - Flara ręczna sygnałowa M127A1 (żółta) - M127A1 Sinalizador (Amarelo) - M127A1 Фальшфейер (Жёлтые) - Bengala M127A1 (Amarilla) - M127A1 Feux à main (Jaune) - - - White Hand Flare - Weiße Leuchtkugel, wird wie eine Granate geworfen. - Světlice (Bílá) - Jelzőrakéta (Fehér) - Bengala (Bianco) - Flara ręczna (biała) - Sinalizador (Branco) - Фальшфейер (Белый) - Bengala (Blanca) - Feux à main (Blanc) - - - Red Hand Flare - Rote Leuchtkugel, wird wie eine Granate geworfen. - Světlice (Červená) - Jelzőrakéta (Piros) - Bengala (Rosso) - Flara ręczna (czerwona) - Sinalizador (Vermelho) - Фальшфейер (Красный) - Bengala (Roja) - Feux à main (Rouge) - - - Green Hand Flare - Grüne Leuchtkugel, wird wie eine Granate geworfen. - Světlice (Zelená) - Jelzőrakéta (Zöld) - Bengala (Verde) - Flara ręczna (zielona) - Sinalizador (Verde) - Фальшфейер (Зелёный) - Bengala (Verde) - Feux à main (Vert) - - - Yellow Hand Flare - Gelbe Leuchtkugel, wird wie eine Granate geworfen. - Světlice Žlutá - Jelzőrakéta (Sárga) - Bengala (Giallo) - Flara ręczna (żółta) - Sinalizador (Amarelo) - Фальшфейер (Жёлтые) - Bengala (Amarilla) - Feux à main (Jaune) - - - M127A1 (White) - M127A1 (Weiß) - M127A1 (Bílá) - M127A1 (Blanc) - M127A1 (Fehér) - M127A1 (Bianco) - M127A1 (biała) - M127A1 (Branco) - M127A1 (Белый) - M127A1 (Blanca) - - - M127A1 (Red) - M127A1 (Rot) - M127A1 (Červená) - M127A1 (Rouge) - M127A1 (Piros) - M127A1 (Rosso) - M127A1 (czerwona) - M127A1 (Vermelho) - M127A1 (Красный) - M127A1 (Roja) - - - M127A1 (Green) - M127A1 (Grün) - M127A1 (Zelená) - M127A1 (Vert) - M127A1 (Zöld) - M127A1 (Verde) - M127A1 (zielona) - M127A1 (Verde) - M127A1 (Зелёный) - M127A1 (Verde) - - - M127A1 (Yellow) - M127A1 (Gelb) - M127A1 (Žlutá) - M127A1 (Jaune) - M127A1 (Sárga) - M127A1 (Giallo) - M127A1 (żółta) - M127A1 (Amarelo) - M127A1 (Жёлтые) - M127A1 (Amarilla) - - - + + + Switch Grenade Mode + Granaten-Modus wechseln + Cambiar modo de granada + Tryb rzutu granatem + Změnit styl hodu granátu + Changer type de lancer de grenade + Сменить режим броска гранаты + Gránátdobás mód váltás + Cambia tipo di granata + Alternar Modo de Granada + + + Normal Throw + Normaler Wurf + Lanzamiento normal + Normalny rzut + Normální + Lancer Normal + Нормальный бросок + Normál dobás + Lancio normale + Arremesso Normal + + + High Throw + Hoher Wurf + Lanzamiento alto + Rzut lobem + Vysoko + Lancer Haut + Высокий бросок + Magas dobás + Lancio verso l'alto + Arremesso Alto + + + Precise Throw + Präziser Wurf + Lanzamiento preciso + Precyzyjny rzut + Přesně + Lancer Précis + Точный бросок + Pontos dobás + Lancio preciso + Arremesso Preciso + + + Roll Grenade + Granate rollen + Rodar granada + Po ziemi + Po zemi + Lancer Roulé + Катить гранату + Gurítás + Fai rotolare la granata + Rolar Granada + + + Drop Grenade + Granate fallenlassen + Soltar granada + Upuść granat + Upustit granát + Lâcher la grenade + Бросить себе под ноги + Ejtés + Lascia la granata + Largar Granada + + + M84 Stun Grenade + M84 Blendgranate + Granada aturdidora M84 + M84 Grenade Incapacitante + Granat hukowy M84 + M84 Omračující granát + M84 светозвуковая граната + M84 Villanógránát + Granata Stordente M84 + M84 granada de atordoamento + + + Also known as flashbang. Causes immediate flash blindness, deafness, tinnitus, and inner ear disturbance. + Verursacht temporäre Blind- und Taubheit. + Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior. + Les grenades incapacitantes servent à désorienter ou distraire une menace pendant quelques secondes. + Granat ogłusza, nie zabijając przeciwnika. Detonacja daje efekt oślepiającego błysku i głośnego huku. + Omračující granát je taktická nesmrtící zbraň používaná při záchraně rukojmí a zvládání davu. + Граната XM84 (M84) - не летального действия, и предназначена для отвлечения и временного вывода из строя, либо дезориентации противника. Основное использование нашла при освобождении заложников, захвате преступников и террористов, а также проведении диверсионных миссий. + Eldobás után felrobban és éles hang, valamint fényhatással zavarja össze a környezetében tartózkodókat. + Anche conosciuta come flashbang. Causa accecamento immediato, sensazioni di sposatezza, mancanza d'equilibrio e disturbi al timpano. + Também conhecida como flashbang. Causa uma clarão imediato, cegueira, surdez, zumbido e distúrbio no tímpano. + + + M127A1 Hand Held Signal (White) + M127A1 Leuchtmittel (Weiß) + M127A1 Světlice (Bílá) + M127A1 Jelzőrakéta (Fehér) + M127A1 Bengala (Bianco) + Flara ręczna sygnałowa M127A1 (biała) + Sinalizador de Mão M127A1 (Branco) + M127A1 Фальшфейер (Белый) + Bengala M127A1 (Blanca) + M127A1 Feux à main (Blanc) + + + M127A1 Hand Held Signal (Red) + M127A1 Leuchtmittel (Rot) + M127A1 Světlice (Červená) + M127A1 Jelzőrakéta (Piros) + M127A1 Bengala (Rosso) + Flara ręczna sygnałowa M127A1 (czerwona) + Sinalizador de Mão M127A1 (Vermelho) + M127A1 Фальшфейер (Красный) + Bengala M127A1 (Roja) + M127A1 Feux à main (Rouge) + + + M127A1 Hand Held Signal (Green) + M127A1 Leuchtmittel (Grün) + M127A1 Světlice (Zelená) + M127A1 Jelzőrakéta (Zöld) + M127A1 Bengala (Verde) + Flara ręczna sygnałowa M127A1 (zielona) + Sinalizador de Mão M127A1 (Verde) + M127A1 Фальшфейер (Зелёный) + Bengala M127A1 (Verde) + M127A1 Feux à main (Vert) + + + M127A1 Hand Held Signal (Yellow) + M127A1 Leuchtmittel (Gelb) + M127A1 Světlice (Žlutá) + M127A1 Jelzőrakéta (Sárga) + M127A1 Bengala (Giallo) + Flara ręczna sygnałowa M127A1 (żółta) + Sinalizador de Mão M127A1 (Amarelo) + M127A1 Фальшфейер (Жёлтые) + Bengala M127A1 (Amarilla) + M127A1 Feux à main (Jaune) + + + White Hand Flare + Weiße Leuchtkugel, wird wie eine Granate geworfen. + Světlice (Bílá) + Jelzőrakéta (Fehér) + Bengala (Bianco) + Flara ręczna (biała) + Sinalizador de Mão (Branco) + Фальшфейер (Белый) + Bengala (Blanca) + Feux à main (Blanc) + + + Red Hand Flare + Rote Leuchtkugel, wird wie eine Granate geworfen. + Světlice (Červená) + Jelzőrakéta (Piros) + Bengala (Rosso) + Flara ręczna (czerwona) + Sinalizador de Mão (Vermelho) + Фальшфейер (Красный) + Bengala (Roja) + Feux à main (Rouge) + + + Green Hand Flare + Grüne Leuchtkugel, wird wie eine Granate geworfen. + Světlice (Zelená) + Jelzőrakéta (Zöld) + Bengala (Verde) + Flara ręczna (zielona) + Sinalizador de Mão (Verde) + Фальшфейер (Зелёный) + Bengala (Verde) + Feux à main (Vert) + + + Yellow Hand Flare + Gelbe Leuchtkugel, wird wie eine Granate geworfen. + Světlice Žlutá + Jelzőrakéta (Sárga) + Bengala (Giallo) + Flara ręczna (żółta) + Sinalizador de Mão (Amarelo) + Фальшфейер (Жёлтые) + Bengala (Amarilla) + Feux à main (Jaune) + + + M127A1 (White) + M127A1 (Weiß) + M127A1 (Bílá) + M127A1 (Blanc) + M127A1 (Fehér) + M127A1 (Bianco) + M127A1 (biała) + M127A1 (Branco) + M127A1 (Белый) + M127A1 (Blanca) + + + M127A1 (Red) + M127A1 (Rot) + M127A1 (Červená) + M127A1 (Rouge) + M127A1 (Piros) + M127A1 (Rosso) + M127A1 (czerwona) + M127A1 (Vermelho) + M127A1 (Красный) + M127A1 (Roja) + + + M127A1 (Green) + M127A1 (Grün) + M127A1 (Zelená) + M127A1 (Vert) + M127A1 (Zöld) + M127A1 (Verde) + M127A1 (zielona) + M127A1 (Verde) + M127A1 (Зелёный) + M127A1 (Verde) + + + M127A1 (Yellow) + M127A1 (Gelb) + M127A1 (Žlutá) + M127A1 (Jaune) + M127A1 (Sárga) + M127A1 (Giallo) + M127A1 (żółta) + M127A1 (Amarelo) + M127A1 (Жёлтые) + M127A1 (Amarilla) + + + \ No newline at end of file diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index dcd87056e2..93d3b2bd09 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -1,660 +1,672 @@  - - - Interactions - - - Torso - - - Head - - - Left Arm - - - Right Arm - - - Left Leg - - - Right Leg - - - Weapon - - - Interaction Menu - Interaktionsmenü - Menú de interacción - Menu interakcji - Menu interakce - Menu d'interaction - Меню взаимодействия - Interakció - Menu de Interação - Menù Interattivo - - - Interaction Menu (Self) - Interaktionsmenü (Selbst) - Menú de interacción (Propia) - Menu interakcji (na siebie) - Menu interakce (vlastní) - Menu d'interaction (Perso) - Меню взаимодействия (с собой) - Interakció (saját) - Menu de Interação (Individual) - Menù Interattivo (Individuale) - - - Open / Close Door - Tür öffnen / schließen - Abrir / Cerrar puerta - Otwórz / Zamknij drzwi - Otevřít / Zavřít dveře - Ouvrir / Fermer Portes - Открыть / Закрыть двери - Ajtó nyitás / zárás - Abrir / Fechar Porta - Apri / Chiudi la porta - - - Lock Door - Tür sperren - Bloquear puerta - Verrouiller Porte - Blocca la porta - Заблокировать дверь - Trancar Porta - Ajtó bezárása - Zablokuj drzwi - Zamknout dveře - - - Unlock Door - Tür entsperren - Desbloquear puerta - Déverrouiller Porte - Sblocca la porta - Разблокировать дверь - Destrancar Porta - Zár kinyitása - Odblokuj drzwi - Odemknout dveře - - - Locked Door - Tür gesperrt - Puerta bloqueada - Porte Verrouillée - Porta bloccata - Дверь заблокирована - Porta Trancada - Zárt ajtó - Zablokowano drzwi - Zamčené dveře - - - Unlocked Door - Tür entsperrt - Puerta desbloqueada - Porte Déverrouillée - Porta sbloccata - Дверь разблокирована - Porta Destrancada - Nyitott ajtó - Odblokowano drzwi - Odemčené dveře - - - Join group - Gruppe beitreten - Unirse al grupo - Dołącz do grupy - Přidat se do skupiny - Rejoindre Groupe - Вступить в группу - Csatlakozás - Unir-se ao grupo - Unisciti alla squadra - - - Leave Group - Gruppe verlassen - Dejar grupo - Opuść grupę - Odejít ze skupiny - Quitter Groupe - Выйти из группы - Csoport elhagyása - Deixar grupo - Lascia la squadra - - - Become Leader - Grp.-führung übern. - Asumir el liderazgo - Przejmij dowodzenie - Stát se velitelem - Devenir Leader - Стать лидером - Vezetés átvétele - Tornar-se Líder - Prendi il comando - - - DANCE! - TANZEN! - BAILAR! - TAŃCZ! - TANČIT! - Danse! - ТАНЦЕВАТЬ! - TÁNC! - DANCE! - Balla! - - - Stop Dancing - Tanzen abbrechen - Dejar de bailar - Przestań tańczyć - Přestat tancovat - Arrêter de danser - Прекратить танцевать - Tánc abbahagyása - Parar de dançar - Smetti di ballare - - - << Back - << Zurück - << Atrás - << Wstecz - << Zpět - << Retour - << Назад - << Vissza - << Voltar - << Indietro - - - Gestures - Gesten - Gestos - Gesty - Gesta - Signaux - Жесты - Kézjelek - Gestos - Segnali gestuali - - - Attack - Angreifen - Atacar - Do ataku - Zaútočit - Attaquer - Атаковать - Támadás - Atacar - Attaccare - - - Advance - Vordringen - Avanzar - Naprzód - Postoupit - Avancer - Продвигаться - Előre - Avançar - Avanzare - - - Go - Los - Adelante - Szybko - Jít - Aller - Идти - Mozgás - Mover-se - Muoversi - - - Follow - Folgen - Seguirme - Za mną - Následovat - Suivre - Следовать - Utánam - Seguir - Seguire - - - Point - Zeigen - Señalar - Wskazać - Ukázat - Pointer - Точка - Mutat - Apontar - Puntare a - - - Up - Aufstehen - Arriba - Do góry - Vztyk - Debout - Вверх - Fel - Acima - Alzarsi - - - Cover - Deckung - Cubrirse - Do osłony - Krýt se - A couvert - Укрыться - Fedezékbe - Proteger-se - Copertura - - - Cease Fire - Feuer einstellen - Alto el fuego - Wstrzymać ogień - Zastavit palbu - Halte au feu - Прекратить огонь - Tüzet szüntess - Cessar Fogo - Cessare il Fuoco - - - Freeze - Keine Bewegung - Alto - Stać - Stát - Halte - Замереть - Állj - Alto - Fermi - - - Hi - Hallo - Hola - Witaj - Ahoj - Salut - Привет - Szeva - Olá - Ciao - - - Yes - Ja - Si - Tak - Ano - Oui - Да - Igen - Sim - Si - - - No - Nein - No - Nie - Ne - Non - Нет - Nem - Não - No - - - Put weapon on back - Waffe wegstecken - Arma a la espalda - Umieść broń na plecach - Dát zbraň na záda - Arme à la bretelle - Повесить оружие на спину - Fegyvert hátra - Colocar arma nas costas - Metti l'arma in spalla - - - Tap Shoulder - Auf Schulter klopfen - Tocar el hombro - Klepnij w ramię - Poklepat na rameno - Taper sur l'épaule - Похлопать по плечу - Vállveregetés - Tocar ombro - Dai un colpetto - - - You were tapped on the RIGHT shoulder - Te tocaron el hombro DERECHO - Dir wurde auf die Schulter geklopft - On te tape sur l'épaule - Zostałeś klepnięty po ramieniu - Vállonveregettek - Někdo tě poklepal na rameno - Вас похлопали по плечу - Você foi tocado no ombro - Ti è stato dato un colpetto sulla spalla - - - You were tapped on the LEFT shoulder. - Te tocaron el hombro IZQUIERDO. - Dir wurde auf die Schulter geklopft - On te tape sur l'épaule. - Zostałeś klepnięty po ramieniu - Vállonveregettek - Někdo tě poklepal na rameno. - Вас похлопали по плечу - Você foi tocado no ombro. - Ti è stato dato un colpetto sulla spalla - - - Cancel - Abbrechen - Cancelar - Anuluj - Annuler - Zrušit - Annulla - Отменить - Cancelar - Mégse - - - Select - Wählen - Seleccionar - Wybierz - Sélectionner - Zvolit - Seleziona - Выбрать - Selecionar - Kiválaszt - - - Go Away! - Geh Weg! - Aléjate! - Odejdź! - Jděte pryč! - Allez-vous-en! - Уходите отсюда! - Tűnés! - Vá Embora! - Via di qui! - - - Get Down! - Auf Den Boden! - Al suelo! - Padnij! - K zemi! - A terre! - A földre! - Ложись! - Abaixe-se! - A Terra! - - - Team<br/>Management - Team<br/>Management - Gestión<br/>de equipo - Gestion<br/>d'équipe - Zarządzanie<br/>oddziałem - Správa<br/>týmu - Управление<br/>группой - Gerenciamento<br/>de Equipe - Organizzazione<br/>Squadra - Csapat<br/>kezelés - - - Red - Rot - Rojo - Rouge - Czerwony - Červený - Красный - Vermelha - Rosso - Piros - - - Green - Grün - Verde - Vert - Zielony - Zelený - Зеленый - Verde - Verde - Zöld - - - Blue - Blau - Azul - Bleu - Niebieski - Modrý - Синий - Azul - Blu - Kék - - - Yellow - Gelb - Amarillo - Jaune - Żółty - Žlutý - Желтый - Amarela - Giallo - Sárga - - - Join Team<br/>Red - Team Rot<br/>beitreten - Unirse al<br/>equipo rojo - Rejoindre<br/>Rouge - Dołącz do drużyny<br/>czerwonej - Připojit do<br/>Červeného Týmu - Присоединиться<br/>к красной группе - Unir-se à<br/>Equipe Vermelha - Entra nella<br/>Squadra Rossa - Csatlakozás a<br/>piros csapathoz - - - Join Team<br/>Green - Team Grün<br/>beitreten - Unirse al<br/>equipo verde - Rejoindre<br/>Verte - Dołącz do<br/>drużyny zielonej - Připojit do<br/>Zeleného Týmu - Присоединиться<br/>к зеленой группе - Unir-se à<br/>Equipe Verde - Entra nella<br/>Squadra Verde - Csatlakozás a<br/>zöld csapathoz - - - Join Team<br/>Blue - Team Blau<br/>beitreten - Unirse al<br/>equipo azul - Rejoindre<br/>Bleue - Dołącz do<br/>drużyny niebieskiej - Připojit do<br/>Modrého Týmu - Присоединиться<br/>к синей группе - Unir-se à<br/>Equipe Azul - Entra nella<br/>Squadra Blu - Csatlakozás a<br/>kék csapathoz - - - Join Team<br/>Yellow - Team Gelb<br/>beitreten - Unirse al<br/>equipo amarillo - Rejoindre<br/>Jaune - Dołącz do<br/>drużyny żółtej - Připojit do<br/>Žlutého Týmu - Присоединиться<br/>к желтой группе - Unir-se à<br/>Equipe Amarela - Entra nella<br/>Squadra Gialla - Csatlakozás a<br/>sárga csapathoz - - - You joined Team %1 - Du bist Team %1 beigetreten - Te has unido al equipo %1 - Tu as rejoint l'équipe %1 - Dołączyłeś do drużyny %1 - Připojil ses do Týmu %1 - Вы присоединились к группе %1 - Você uniu-se à Equipe %1 - Sei entrato nella Squadra %1 - Csatlakoztál a %1 csapathoz - - - Leave Team - Team verlassen - Dejar equipo - Quitter l'équipe - Opuść drużynę - Opustit tým - Покинуть группу - Deixar Equipe - Lascia la Squadra - Csapat elhagyása - - - You left the Team - Du hast das Team verlassen - Has dejado el equipo - Tu as quitté l'équipe - Opuściłeś drużynę - Opustil si tým - Вы покинули группу - Você deixou a Equipe - Hai lasciato la squadra - Elhagytad a csapatot - - - Pardon - Begnadigen - Perdonar - Przebacz - Pardon - Pardon - Извините - Perdão - Perdona - Megbocsátás - - - Scroll - Scrollen - Przewiń - Défilement - Desplazar - Пролистать - Rolar - Scorri - Görgetés - Otáčení - - - Modifier Key - Modifikator - Modyfikator - Modifier la touche - Tecla modificadora - клавиша-модификатор - Tecla Modificadora - Modifica Tasto - Módosító billentyű - Modifikátor - - - Not in Range - Außer Reichweite - Hors de portée. - Fuera de rango - Слишком далеко - Fora do Alcançe - Hatótávolságon kívül - Poza zasięgiem - Mimo dosah - - - Equipment - Ausrüstung - Equipamiento - Équipment - Ekwipunek - Vybavení - Felszerelés - Снаряжение - - - Push - Schieben - Empujar - Pousser - Pchnij - Odstrčit - Tolás - Толкать - - - Interact - Interagiere - Interakce - Взаимодействовать - Interakcja - Interactuar - - - Passengers - - - + + + Interactions + Interaçãoes + + + Torso + Torso + + + Head + Cabeça + + + Left Arm + Braço Esquerdo + + + Right Arm + Braço Direito + + + Left Leg + Perna Esquerda + + + Right Leg + Perna Direita + + + Weapon + Arma + + + Interaction Menu + Interaktionsmenü + Menú de interacción + Menu interakcji + Menu interakce + Menu d'interaction + Меню взаимодействия + Interakció + Menu de Interação + Menù Interattivo + + + Interaction Menu (Self) + Interaktionsmenü (Selbst) + Menú de interacción (Propia) + Menu interakcji (na siebie) + Menu interakce (vlastní) + Menu d'interaction (Perso) + Меню взаимодействия (с собой) + Interakció (saját) + Menu de Interação (Individual) + Menù Interattivo (Individuale) + + + Open / Close Door + Tür öffnen / schließen + Abrir / Cerrar puerta + Otwórz / Zamknij drzwi + Otevřít / Zavřít dveře + Ouvrir / Fermer Portes + Открыть / Закрыть двери + Ajtó nyitás / zárás + Abrir / Fechar Porta + Apri / Chiudi la porta + + + Lock Door + Tür sperren + Bloquear puerta + Verrouiller Porte + Blocca la porta + Заблокировать дверь + Trancar Porta + Ajtó bezárása + Zablokuj drzwi + Zamknout dveře + + + Unlock Door + Tür entsperren + Desbloquear puerta + Déverrouiller Porte + Sblocca la porta + Разблокировать дверь + Destrancar Porta + Zár kinyitása + Odblokuj drzwi + Odemknout dveře + + + Locked Door + Tür gesperrt + Puerta bloqueada + Porte Verrouillée + Porta bloccata + Дверь заблокирована + Porta Trancada + Zárt ajtó + Zablokowano drzwi + Zamčené dveře + + + Unlocked Door + Tür entsperrt + Puerta desbloqueada + Porte Déverrouillée + Porta sbloccata + Дверь разблокирована + Porta Destrancada + Nyitott ajtó + Odblokowano drzwi + Odemčené dveře + + + Join group + Gruppe beitreten + Unirse al grupo + Dołącz do grupy + Přidat se do skupiny + Rejoindre Groupe + Вступить в группу + Csatlakozás + Unir-se ao grupo + Unisciti alla squadra + + + Leave Group + Gruppe verlassen + Dejar grupo + Opuść grupę + Odejít ze skupiny + Quitter Groupe + Выйти из группы + Csoport elhagyása + Deixar grupo + Lascia la squadra + + + Become Leader + Grp.-führung übern. + Asumir el liderazgo + Przejmij dowodzenie + Stát se velitelem + Devenir Leader + Стать лидером + Vezetés átvétele + Tornar-se Líder + Prendi il comando + + + DANCE! + TANZEN! + BAILAR! + TAŃCZ! + TANČIT! + Danse! + ТАНЦЕВАТЬ! + TÁNC! + DANCE! + Balla! + + + Stop Dancing + Tanzen abbrechen + Dejar de bailar + Przestań tańczyć + Přestat tancovat + Arrêter de danser + Прекратить танцевать + Tánc abbahagyása + Parar de dançar + Smetti di ballare + + + << Back + << Zurück + << Atrás + << Wstecz + << Zpět + << Retour + << Назад + << Vissza + << Voltar + << Indietro + + + Gestures + Gesten + Gestos + Gesty + Gesta + Signaux + Жесты + Kézjelek + Gestos + Segnali gestuali + + + Attack + Angreifen + Atacar + Do ataku + Zaútočit + Attaquer + Атаковать + Támadás + Atacar + Attaccare + + + Advance + Vordringen + Avanzar + Naprzód + Postoupit + Avancer + Продвигаться + Előre + Avançar + Avanzare + + + Go + Los + Adelante + Szybko + Jít + Aller + Идти + Mozgás + Mover-se + Muoversi + + + Follow + Folgen + Seguirme + Za mną + Následovat + Suivre + Следовать + Utánam + Seguir + Seguire + + + Point + Zeigen + Señalar + Wskazać + Ukázat + Pointer + Точка + Mutat + Apontar + Puntare a + + + Up + Aufstehen + Arriba + Do góry + Vztyk + Debout + Вверх + Fel + Acima + Alzarsi + + + Cover + Deckung + Cubrirse + Do osłony + Krýt se + A couvert + Укрыться + Fedezékbe + Proteger-se + Copertura + + + Cease Fire + Feuer einstellen + Alto el fuego + Wstrzymać ogień + Zastavit palbu + Halte au feu + Прекратить огонь + Tüzet szüntess + Cessar Fogo + Cessare il Fuoco + + + Freeze + Keine Bewegung + Alto + Stać + Stát + Halte + Замереть + Állj + Alto + Fermi + + + Hi + Hallo + Hola + Witaj + Ahoj + Salut + Привет + Szeva + Olá + Ciao + + + Yes + Ja + Si + Tak + Ano + Oui + Да + Igen + Sim + Si + + + No + Nein + No + Nie + Ne + Non + Нет + Nem + Não + No + + + Put weapon on back + Waffe wegstecken + Arma a la espalda + Umieść broń na plecach + Dát zbraň na záda + Arme à la bretelle + Повесить оружие на спину + Fegyvert hátra + Colocar arma nas costas + Metti l'arma in spalla + + + Tap Shoulder + Auf Schulter klopfen + Tocar el hombro + Klepnij w ramię + Poklepat na rameno + Taper sur l'épaule + Похлопать по плечу + Vállveregetés + Tocar ombro + Dai un colpetto + + + You were tapped on the RIGHT shoulder + Te tocaron el hombro DERECHO + Dir wurde auf die Schulter geklopft + On te tape sur l'épaule + Zostałeś klepnięty po ramieniu + Vállonveregettek + Někdo tě poklepal na rameno + Вас похлопали по плечу + Você foi tocado no ombro + Ti è stato dato un colpetto sulla spalla + + + You were tapped on the LEFT shoulder. + Te tocaron el hombro IZQUIERDO. + Dir wurde auf die Schulter geklopft + On te tape sur l'épaule. + Zostałeś klepnięty po ramieniu + Vállonveregettek + Někdo tě poklepal na rameno. + Вас похлопали по плечу + Você foi tocado no ombro. + Ti è stato dato un colpetto sulla spalla + + + Cancel + Abbrechen + Cancelar + Anuluj + Annuler + Zrušit + Annulla + Отменить + Cancelar + Mégse + + + Select + Wählen + Seleccionar + Wybierz + Sélectionner + Zvolit + Seleziona + Выбрать + Selecionar + Kiválaszt + + + Go Away! + Geh Weg! + Aléjate! + Odejdź! + Jděte pryč! + Allez-vous-en! + Уходите отсюда! + Tűnés! + Vá Embora! + Via di qui! + + + Get Down! + Auf Den Boden! + Al suelo! + Padnij! + K zemi! + A terre! + A földre! + Ложись! + Abaixe-se! + A Terra! + + + Team<br/>Management + Team<br/>Management + Gestión<br/>de equipo + Gestion<br/>d'équipe + Zarządzanie<br/>oddziałem + Správa<br/>týmu + Управление<br/>группой + Gerenciamento<br/>de Equipe + Organizzazione<br/>Squadra + Csapat<br/>kezelés + + + Red + Rot + Rojo + Rouge + Czerwony + Červený + Красный + Vermelha + Rosso + Piros + + + Green + Grün + Verde + Vert + Zielony + Zelený + Зеленый + Verde + Verde + Zöld + + + Blue + Blau + Azul + Bleu + Niebieski + Modrý + Синий + Azul + Blu + Kék + + + Yellow + Gelb + Amarillo + Jaune + Żółty + Žlutý + Желтый + Amarela + Giallo + Sárga + + + Join Team<br/>Red + Team Rot<br/>beitreten + Unirse al<br/>equipo rojo + Rejoindre<br/>Rouge + Dołącz do drużyny<br/>czerwonej + Připojit do<br/>Červeného Týmu + Присоединиться<br/>к красной группе + Unir-se à<br/>Equipe Vermelha + Entra nella<br/>Squadra Rossa + Csatlakozás a<br/>piros csapathoz + + + Join Team<br/>Green + Team Grün<br/>beitreten + Unirse al<br/>equipo verde + Rejoindre<br/>Verte + Dołącz do<br/>drużyny zielonej + Připojit do<br/>Zeleného Týmu + Присоединиться<br/>к зеленой группе + Unir-se à<br/>Equipe Verde + Entra nella<br/>Squadra Verde + Csatlakozás a<br/>zöld csapathoz + + + Join Team<br/>Blue + Team Blau<br/>beitreten + Unirse al<br/>equipo azul + Rejoindre<br/>Bleue + Dołącz do<br/>drużyny niebieskiej + Připojit do<br/>Modrého Týmu + Присоединиться<br/>к синей группе + Unir-se à<br/>Equipe Azul + Entra nella<br/>Squadra Blu + Csatlakozás a<br/>kék csapathoz + + + Join Team<br/>Yellow + Team Gelb<br/>beitreten + Unirse al<br/>equipo amarillo + Rejoindre<br/>Jaune + Dołącz do<br/>drużyny żółtej + Připojit do<br/>Žlutého Týmu + Присоединиться<br/>к желтой группе + Unir-se à<br/>Equipe Amarela + Entra nella<br/>Squadra Gialla + Csatlakozás a<br/>sárga csapathoz + + + You joined Team %1 + Du bist Team %1 beigetreten + Te has unido al equipo %1 + Tu as rejoint l'équipe %1 + Dołączyłeś do drużyny %1 + Připojil ses do Týmu %1 + Вы присоединились к группе %1 + Você uniu-se à Equipe %1 + Sei entrato nella Squadra %1 + Csatlakoztál a %1 csapathoz + + + Leave Team + Team verlassen + Dejar equipo + Quitter l'équipe + Opuść drużynę + Opustit tým + Покинуть группу + Deixar Equipe + Lascia la Squadra + Csapat elhagyása + + + You left the Team + Du hast das Team verlassen + Has dejado el equipo + Tu as quitté l'équipe + Opuściłeś drużynę + Opustil si tým + Вы покинули группу + Você deixou a Equipe + Hai lasciato la squadra + Elhagytad a csapatot + + + Pardon + Begnadigen + Perdonar + Przebacz + Pardon + Pardon + Извините + Perdão + Perdona + Megbocsátás + + + Scroll + Scrollen + Przewiń + Défilement + Desplazar + Пролистать + Rolar + Scorri + Görgetés + Otáčení + + + Modifier Key + Modifikator + Modyfikator + Modifier la touche + Tecla modificadora + клавиша-модификатор + Tecla Modificadora + Modifica Tasto + Módosító billentyű + Modifikátor + + + Not in Range + Außer Reichweite + Hors de portée. + Fuera de rango + Слишком далеко + Fora do Alcançe + Hatótávolságon kívül + Poza zasięgiem + Mimo dosah + + + Equipment + Ausrüstung + Equipamiento + Équipment + Ekwipunek + Vybavení + Felszerelés + Снаряжение + Equipamento + + + Push + Schieben + Empujar + Pousser + Pchnij + Odstrčit + Tolás + Толкать + Empurrar + + + Interact + Interagiere + Interakce + Взаимодействовать + Interakcja + Interactuar + Interagir + + + Passengers + Passageiros + + + \ No newline at end of file diff --git a/addons/logistics_uavbattery/stringtable.xml b/addons/logistics_uavbattery/stringtable.xml index 6acb2b571d..ca7ef55840 100644 --- a/addons/logistics_uavbattery/stringtable.xml +++ b/addons/logistics_uavbattery/stringtable.xml @@ -1,78 +1,78 @@  - - - Drone is full - Drohne ist voll - El VANT está lleno - L'UAV est chargé - Dron jest naładowany - A drón fel van töltve - Dron je nabitý - O UAV está cheio - Il drone è pieno - БПЛА заполнен - - - You need a UAV Battery - Du brauchst eine UAV-Batterie - Necesitas una batería para VANT - Pas de batterie UAV - Potrzebujesz baterii UAV - Szükséged van egy UAV akkumulátorra - Potřebuješ UAV-Baterii - Você precisa de uma Bateria para UAVs - Hai bisogno di una Batteria UAV - Требуется аккумулятор БПЛА - - - Recharge - Aufladen - Recargar - Recharger - Naładuj - Feltöltés - Dobít - Recarregar - Ricarica - Подзарядить - - - UAV Battery - UAV-Batterie - Batería para VANT - Batterie UAV - Bateria UAV - UAV akkumulátor - UAV-Baterie - Bateria para UAV - Batteria para UAVs - Аккумулятор БПЛА - - - Used to refuel Carried UAV's - Verwendet zum Aufladen von tragbaren UAV's - Usada para reabastecer el VANT - Utilisée pour recharger l'UAV - Używana do naładowania UAV - Hordozható UAV-ok működéséhez való akkumulátor - Používané k dobíjení UAV - Usada para reabastecer o UAV - Usata per ricaricare la Batteria dell'UAV - Используется для подзарядки БПЛА - - - Recharging ... - Aufladen ... - Recargando ... - Rechargement ... - Ładowanie ... - Akku feltöltése ... - Dobíjení ... - Recarregando ... - In ricarica ... - Подзаряжаем ... - - - + + + Drone is full + Drohne ist voll + El VANT está lleno + L'UAV est chargé + Dron jest naładowany + A drón fel van töltve + Dron je nabitý + O UAV está cheio + Il drone è pieno + БПЛА заполнен + + + You need a UAV Battery + Du brauchst eine UAV-Batterie + Necesitas una batería para VANT + Pas de batterie UAV + Potrzebujesz baterii UAV + Szükséged van egy UAV akkumulátorra + Potřebuješ UAV-Baterii + Você precisa de uma bateria para UAVs + Hai bisogno di una Batteria UAV + Требуется аккумулятор БПЛА + + + Recharge + Aufladen + Recargar + Recharger + Naładuj + Feltöltés + Dobít + Recarregar + Ricarica + Подзарядить + + + UAV Battery + UAV-Batterie + Batería para VANT + Batterie UAV + Bateria UAV + UAV akkumulátor + UAV-Baterie + Bateria para UAV + Batteria para UAVs + Аккумулятор БПЛА + + + Used to refuel Carried UAV's + Verwendet zum Aufladen von tragbaren UAV's + Usada para reabastecer el VANT + Utilisée pour recharger l'UAV + Używana do naładowania UAV + Hordozható UAV-ok működéséhez való akkumulátor + Používané k dobíjení UAV + Usada para reabastecer o UAV + Usata per ricaricare la Batteria dell'UAV + Используется для подзарядки БПЛА + + + Recharging ... + Aufladen ... + Recargando ... + Rechargement ... + Ładowanie ... + Akku feltöltése ... + Dobíjení ... + Recarregando ... + In ricarica ... + Подзаряжаем ... + + + \ No newline at end of file diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index 5dd4578976..c5b7bba44c 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -1,148 +1,149 @@  - - - Map Tools - Herramientas de mapa - Outils de navigation - Narzędzia nawigacyjne - Kartenwerkzeug - Pomůcky k Mapě - Strumenti Cartografici - Ferramentas de Mapa - Térképészeti eszközök - Инструменты карты - - - The Map Tools allow you to measure distances and angles on the map. - Las herramientas de mapa permiten medir distancias y ángulos en el mapa. - Les outils de navigation permettent de mesurer des distances et des angles sur la carte. - Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie. - Das Kartenwerkzeug erlaubt es dir, Distanzen und Winkel zu messen. - Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě. - Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa. - As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa. - A térképészeti eszközökkel távolságokat és szögeket tud mérni a térképen. - Картографические инструменты позволяют измерять расстояния и углы на карте. - - - Map Tools - Herramientas de mapa - Outils de navigation - Narzędzia nawigacyjne - Kartenwerkzeug - Pomůcky k Mapě - Strumenti Cartografici - Ferramentas de Mapa - Térképészeti eszközök - Инструменты карты - - - Hide Map Tool - Verstecke Kartenwerkzeug - Ocultar herr. de mapa - Ranger les outils - Nascondi Strumenti Cartografici - Ocultar Ferramenta de Mapa - Térképészeti eszközök elrejtése - Ukryj narzędzia nawigacyjne - Schovat pomůcku k mapě - Скрыть инструменты - - - Show Normal Map Tool - Zeige Kartenwerkzeug (normal) - Mostrar herr. de mapa normal - Montrer outils normaux - Visualizza Strumenti Cartografici standard - Mostrar Ferramenta de Mapa Padrão - Térképészeti eszköz megjelenítése (normál méret) - Pokaż normalne narzędzia nawigacyjne - Zobrazit normální pomůcku k mapě - Показать инструменты (средн. размер) - - - Show Small Map Tool - Zeige Kartenwerkzeug (klein) - Mostrar herr. de mapa pequeñas - Montrer petits outils - Visualizza Strumenti Cartografici piccoli - Mostrar Ferramenta de Mapa Pequena - Térképészeti eszköz megjelenítése (kicsinyített) - Pokaż pomniejszone narzędzia nawigacyjne - Zobrazit malou pomůcku k mapě - Показать инструменты (малый размер) - - - Align Map Tool to North - Kartenwerkzeug nach Norden ausrichten - Alinear herr. de mapa al norte - Aligner au nord - Allinea gli Strumenti Cartografici con il Nord - Alinhar Ferramenta de Mapa com o Norte - Térképészeti eszköz Északhoz állítása - Wyrównaj linijkę do północy - Srovnat pomůcku k mapě na sever - Выровнять инструменты на север - - - Align Map Tool to Compass - Kartenwerkzeug am Kompass ausrichten - Alinear herr. de mapa a la brújula - Aligner sur la boussole - Allinea gli Strumenti Cartografici con la bussola - Alinhar Ferramenta de Mapa com a Bússola - Térképészeti eszköz iránytűhöz állítása - Wyrównaj linijkę do kompasu - Srovnat pomůcku k mapě ke kompasu - Выровнять инструменты по компасу - - - Show GPS on Map - Zeige GPS auf der Karte - Mostrar el GPS sobre el mapa - Ranger le GPS - Visualizza il GPS sulla mappa - Mostrar GPS no Mapa - GPS megjelnítése a térképen - Pokaż GPS na mapie - Zobrazit GPS na mapě - Показать GPS на карте - - - Hide GPS on Map - Verstecke GPS auf der Karte - Ocultar el GPS del mapa - Montrer le GPS - Nascondi il GPS sulla mappa - Ocultar GPS no Mapa - GPS elrejtése térképről - Ukryj GPS na mapie - Schovat GPS na mapě - Скрыть GPS на карте - - - Copy Map - Karte kopieren - Copiar mapa - Скопировать карту - Kopiuj oznaczenia mapy - Copier la carte - Zkopírovat mapu - Copiare Carta - Térkép másolása - Copiar Mapa - - - Direction: %1° - Drehung: %1° - Direction: %1° - Směr: %1° - Kierunek: %1° - Dirección: %1° - Irány: %1 - Направление:%1 - - + + + Map Tools + Herramientas de mapa + Outils de navigation + Narzędzia nawigacyjne + Kartenwerkzeug + Pomůcky k Mapě + Strumenti Cartografici + Ferramentas de Mapa + Térképészeti eszközök + Инструменты карты + + + The Map Tools allow you to measure distances and angles on the map. + Las herramientas de mapa permiten medir distancias y ángulos en el mapa. + Les outils de navigation permettent de mesurer des distances et des angles sur la carte. + Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie. + Das Kartenwerkzeug erlaubt es dir, Distanzen und Winkel zu messen. + Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě. + Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa. + As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa. + A térképészeti eszközökkel távolságokat és szögeket tud mérni a térképen. + Картографические инструменты позволяют измерять расстояния и углы на карте. + + + Map Tools + Herramientas de mapa + Outils de navigation + Narzędzia nawigacyjne + Kartenwerkzeug + Pomůcky k Mapě + Strumenti Cartografici + Ferramentas de Mapa + Térképészeti eszközök + Инструменты карты + + + Hide Map Tool + Verstecke Kartenwerkzeug + Ocultar herr. de mapa + Ranger les outils + Nascondi Strumenti Cartografici + Ocultar Ferramenta de Mapa + Térképészeti eszközök elrejtése + Ukryj narzędzia nawigacyjne + Schovat pomůcku k mapě + Скрыть инструменты + + + Show Normal Map Tool + Zeige Kartenwerkzeug (normal) + Mostrar herr. de mapa normal + Montrer outils normaux + Visualizza Strumenti Cartografici standard + Mostrar Ferramenta de Mapa Padrão + Térképészeti eszköz megjelenítése (normál méret) + Pokaż normalne narzędzia nawigacyjne + Zobrazit normální pomůcku k mapě + Показать инструменты (средн. размер) + + + Show Small Map Tool + Zeige Kartenwerkzeug (klein) + Mostrar herr. de mapa pequeñas + Montrer petits outils + Visualizza Strumenti Cartografici piccoli + Mostrar Ferramenta de Mapa Pequena + Térképészeti eszköz megjelenítése (kicsinyített) + Pokaż pomniejszone narzędzia nawigacyjne + Zobrazit malou pomůcku k mapě + Показать инструменты (малый размер) + + + Align Map Tool to North + Kartenwerkzeug nach Norden ausrichten + Alinear herr. de mapa al norte + Aligner au nord + Allinea gli Strumenti Cartografici con il Nord + Alinhar Ferramenta de Mapa com o Norte + Térképészeti eszköz Északhoz állítása + Wyrównaj linijkę do północy + Srovnat pomůcku k mapě na sever + Выровнять инструменты на север + + + Align Map Tool to Compass + Kartenwerkzeug am Kompass ausrichten + Alinear herr. de mapa a la brújula + Aligner sur la boussole + Allinea gli Strumenti Cartografici con la bussola + Alinhar Ferramenta de Mapa com a Bússola + Térképészeti eszköz iránytűhöz állítása + Wyrównaj linijkę do kompasu + Srovnat pomůcku k mapě ke kompasu + Выровнять инструменты по компасу + + + Show GPS on Map + Zeige GPS auf der Karte + Mostrar el GPS sobre el mapa + Ranger le GPS + Visualizza il GPS sulla mappa + Mostrar GPS no Mapa + GPS megjelnítése a térképen + Pokaż GPS na mapie + Zobrazit GPS na mapě + Показать GPS на карте + + + Hide GPS on Map + Verstecke GPS auf der Karte + Ocultar el GPS del mapa + Montrer le GPS + Nascondi il GPS sulla mappa + Ocultar GPS no Mapa + GPS elrejtése térképről + Ukryj GPS na mapie + Schovat GPS na mapě + Скрыть GPS на карте + + + Copy Map + Karte kopieren + Copiar mapa + Скопировать карту + Kopiuj oznaczenia mapy + Copier la carte + Zkopírovat mapu + Copiare Carta + Térkép másolása + Copiar Mapa + + + Direction: %1° + Drehung: %1° + Direction: %1° + Směr: %1° + Kierunek: %1° + Dirección: %1° + Irány: %1 + Направление:%1 + Direção: %1 + + \ No newline at end of file diff --git a/addons/markers/stringtable.xml b/addons/markers/stringtable.xml index ea6d72990a..6ef49b923a 100644 --- a/addons/markers/stringtable.xml +++ b/addons/markers/stringtable.xml @@ -1,15 +1,16 @@  - - - Direction: %1° - Drehung: %1° - Direction: %1° - Směr: %1° - Kierunek: %1° - Dirección: %1° - Направление: %1 - - + + + Direction: %1° + Drehung: %1° + Direction: %1° + Směr: %1° + Kierunek: %1° + Dirección: %1° + Направление: %1 + Direção %1 + + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index ec01d3b626..49d06048d9 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,904 +1,1029 @@  - - - - Inject Atropine - - - Inject Epinephrine - Epinephrine injizieren - Inyectar Epinefrina - Wtrzyknij adrenalinę - Aplikovat Adrenalin - Ввести андреналил - Adrénaline - Adrenalin - Injetar Epinefrina - Inietta Epinefrina - - - Inject Morphine - Morphin injizieren - Inyectar Morfina - Wstrzyknij morfinę - Aplikovat Morfin - Ввести морфин - Morphine - Morfium - Injetar Morfina - Inietta Morfina - - - Transfuse Blood - Bluttransfusion - Transfundir sangre - Przetocz krew - Transfúze krve - Перелить кровь - Transfusion - Infúzió - Transfundir Sangue - Effettua Trasfusione - - - Transfuse Plasma - - - Transfuse Saline - - - Apply Tourniquet - - - Bandage - Verbinden - Venda - Bandaż - Obvázat - Pansement - Benda - Kötözés - Atadura - Перевязать - - - Bandage Head - Kopf verbinden - Vendar la cabeza - Bandażuj głowę - Obvázat hlavu - Перевязать голову - Pansement Tête - Fej kötözése - Atar Cabeça - Benda la testa - - - Bandage Torso - Torso verbinden - Vendar el torso - Bandażuj tors - Obvázat hruď - Перевязать торс - Pansement Torse - Felsőtest kötözése - Atar Tronco - Benda il torso - - - Bandage Left Arm - Arm links verbinden - Vendar el brazo izquierdo - Bandażuj lewe ramię - Obvázat levou ruku - Перевязать левую руку - Pansement Bras Gauche - Bal kar kötözése - Atar Braço Esquerdo - Benda il braccio sinistro - - - Bandage Right Arm - Arm rechts verbinden - Vendar el brazo derecho - Bandażuj prawe ramię - Obvázat pravou ruku - Перевязать правую руку - Pansement Bras Droit - Jobb kar kötözése - Atar Braço Direito - Benda il braccio destro - - - Bandage Left Leg - Bein links verbinden - Vendar la pierna izquierda - Bandażuj lewą nogę - Obvázat levou nohu - Перевязать левую ногу - Pansement Jambe Gauche - Bal láb kötözése - Atar Perna Esquerda - Benda la gamba sinistra - - - Bandage Right Leg - Bein rechts verbinden - Vendar la pierna derecha - Bandażuj prawą nogę - Obvázat pravou nohu - Перевязать правую ногу - Pansement Jambe Droite - Jobb láb kötözése - Atar Perna Direita - Benda la gamba destra - - - Injecting Morphine ... - Morphin injizieren ... - Inyectando Morfina ... - Wstrzykiwanie morfiny ... - Aplikuju Morfin ... - Введение морфина... - Injection de Morphine... - Morfium beadása... - Injetando Morfina ... - Inietto la morfina ... - - - Injecting Epinephrine ... - Epinephrine injizieren ... - Inyectando Epinefrina ... - Wstrzykiwanie adrenaliny ... - Aplikuju Adrenalin ... - Введение андреналина - Injection d'Adrénaline ... - Adrenalin beadása... - Injetando Epinefrina ... - Inietto l'epinefrina ... - - - Injecting Atropine ... - - - Transfusing Blood ... - Bluttransfusion ... - Realizando transfusión ... - Przetaczanie krwi ... - Probíhá transfúze krve ... - Переливание крови... - Transfusion Sanguine ... - Infúzió... - Transfundindo Sangue ... - Effettuo la trasfusione ... - - - Transfusing Saline ... - - - Transfusing Plasma ... - - - Bandaging ... - Verbinden ... - Vendando ... - Bandażowanie ... - Obvazuji ... - Pansement ... - Sto applicando la benda ... - Bekötözés... - Atando ... - Перевязывание.... - - - Applying Tourniquet ... - - - Medical - Zdravotní - Médical - Sanitäter - Medico - Medyczne - Médico - Медик - Médico - - - Field Dressing - - - Packing Bandage - - - Elastic Bandage - - - QuikClot - - - Check Pulse - - - Check Blood Pressure - - - Triage Card - - - Tourniquet - - - Remove Tourniquet - - - Give Blood IV (1000ml) - - - Give Blood IV (500ml) - - - Give Blood IV (250ml) - - - Give Plasma IV (1000ml) - - - Give Plasma IV (500ml) - - - Give Plasma IV (250ml) - - - Give Saline IV (1000ml) - - - Give Saline IV (500ml) - - - Give Saline IV (250ml) - - - - - Minor - - - Delayed - - - Immediate - - - Deceased - - - None - - - Normal breathing - Дыхание в норме - Respiración normal - Respiration Normale - Normalny oddech - - - No breathing - Дыхания нет - No respira - Apnée - Brak oddechu - - - Difficult breathing - Дыхание затруднено - Dificultad para respirar - Difficultée Respiratoire - Trudności z oddychaniem - - - Almost no breathing - Дыхания почти нет - Casi sin respirar - Respiration Faible - Prawie brak oddechu - - - Bleeding - Кровотечение - Sangrando - Seignement - Krwawienie zewnętrzne - - - In Pain - Испытывает боль - Con Dolor - A De La Douleur - W bólu - - - Lost a lot of Blood - Большая кровопотеря - Mucha Sangre perdida - A Perdu Bcp de Sang - Stracił dużo krwi - - - Tourniquet [CAT] - Жгут - Torniquete [CAT] - Garot [CAT] - Opaska uciskowa [CAT] - - - Receiving IV [%1ml] - - - - - Bandage (Basic) - Повязка (обычная) - Vendaje (Básico) - Bandage (Standard) - Bandaż (jałowy) - - - Used to cover a wound - Для перевязки ран - Utilizado para cubrir una herida - Utilisé Pour Couvrir Une Blessure - Używany w celu przykrycia i ochrony miejsca zranienia - - - A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. - Повязка, накладываемая поверх раны после остановки кровотечения. - Un apósito, material específico utilizado para cubrir una herida, se aplica sobre la herida una vez ha dejado de sangrar. - C'est un bandage, qui est fait d'un matériel spécial utiliser pour couvrir une blessure, qui peut etre appliquer des que le seignement as ete stopper. - Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. - - - Packing Bandage - Тампонирующая повязка - Vendaje Compresivo - Bandage Mèche - Bandaż (uciskowy) - - - Used to pack medium to large wounds and stem the bleeding - Для тампонирования ран среднего и большого размера и остановки кровотечения. - Se utiliza para vendar heridas medianas y grandes y detener el sangrado - Utiliser pour remplire la cavité créé dans une blessure moyenne et grande. - Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. - - - A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. - Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжелых сочетанных ранениях возможно тампонирование раны. - Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos. - Un bandage servent a etre inseré dans les blessure pour éponger le seignement et faciliter la guerrison. Ce bandage est une option pour soigner les lession de politrauma. - Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran. - - - Bandage (Elastic) - Повязка (давящая) - Vendaje (Elástico) - Bandage (Élastique) - Bandaż (elastyczny) - - - Bandage kit, Elastic - Давящая повязка - Vendaje (Elástico) - Bandage Compressif Élastique - Zestaw bandaży elastycznych. - - - - - Ce bandage peut etre utiliser pour compresser la plaie afin de ralentire le seignement et assurer la tenue du bandage lors de mouvment. - Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. - Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada - - - Tourniquet (CAT) - Жгут - Torniquete (CAT) - Garot (CAT) - Staza (typ. CAT) - - - Slows down blood loss when bleeding - Уменьшает кровопотерю при кровотечении. - Reduce la velocidad de pérdida de sangre - Ralentit le seignement - Zmniejsza ubytek krwi z kończyn w przypadku krwawienia. - - - A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. - Жгут используется для прижатия сосудов, приводящего к остановке или значительному уменьшению кровотечения и сокращению кровопотери. - Dispositivo utilizado para eliminar el pulso distal y de ese modo controlar la pérdida de sangre - Un appareil servent a compresser les artères et veines afin de reduire la perte de sang. - Opaska zaciskowa CAT służy do tamowanie krwotoków w sytuacji zranienia kończyn z masywnym krwawieniem tętniczym lub żylnym. - - - Morphine autoinjector - Морфин в автоматическом шприце - Morfina auto-inyectable - Auto-injecteur de Morphine - Autostrzykawka z morfiną - - - Used to combat moderate to severe pain experiences - Для снятия средних и сильных болевых ощущений. - Usado para combatir los estados dolorosos moderados a severos - Utiliser pour contrer les douleurs modéré à severes. - Morfina. Ma silne działanie przeciwbólowe. - - - An analgesic used to combat moderate to severe pain experiences. - Анальгетик для снятия средних и сильных болевых ощущений. - Analgésico usado para combatir los estados dolorosos de moderado a severo. - Un Analgésique puissant servant a contrer les douleur modéré a severe. - Organiczny związek chemiczny z grupy alkaloidów. Ma silne działanie przeciwbólowe. - - - Atropin autoinjector - Атропин в автоматическом шприце - Atropina auto-inyectable - Auto-injecteur d'Atropine - Autostrzykawka AtroPen - - - Used in NBC scenarios - Применяется для защиты от ОМП - Usado en escenarios NBQ - Utiliser en cas d'attaque CBRN - Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. - - - A drug used by the Military in NBC scenarios. - Препарат, используемый в войсках для защиты от оружия массового поражения. - Medicamento usado por Militares en escenarios NBQ - Médicament utilisé par l'armée en cas d'attaque CBRN - Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. Środek stosowany w przypadku zagrożeń NBC. - - - Epinephrine autoinjector - Адреналин в автоматическом шприце - Epinefrina auto-inyectable - Auto-injecteur d'épinéphrine - Autostrzykawka EpiPen - - - Increase heart rate and counter effects given by allergic reactions - Стимулирует работу сердца и купирует аллергические реакции. - Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas - Augmente la Fréquance cadiaque et contré les effet d'une reaction Anaphylactique - Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne - - - A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. - Препарат, вызывающий симпатическую реакцию, приводящую к расширению бронхов, увеличению частоты сердечных сокращений и купированию аллергических реакций (анафилактического шока). Применяется при остановке сердца с уменьшением вероятности благоприятного исхода. - Medicamento que dilata los bronquios, aumenta la frecuencia cardiaca y contrarresta los efectos de las reacciones alérgicas (anafilaxis). Se utiliza en caso de paros cardiacos repentinos. - Un medicament qui fonctione sur le systeme sympatique créan une dilatation des bronches, augmente la fréquance cardiaque et contre les effet d'une reaction alergique (anaphylaxie). Utiliser lors d'arret cardio-respiratoire pour augmenté les chances retrouver un ryhtme. - EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności. - - - Plasma IV (1000ml) - Плазма для в/в вливания (1000 мл) - Plasma Intravenoso (1000ml) - Plasma Sanguin IV (1000ml) - Osocze IV (1000ml) - - - A volume-expanding blood supplement. - Дополнительный препарат, применяемый при возмещении объема крови. - Suplemento para expandir el volumen sanguíneo. - Supplement visant a remplacer les volume sanguin - Składnik krwi, używany do zwiększenia jej objętości. - - - A volume-expanding blood supplement. - Дополнительный препарат, применяемый при возмещении объема крови. - Suplemento para expandir el volumen sanguíneo. - Supplement visant a remplacer le volume sanguin et remplace les plaquettes. - Składnik krwi, używany do zwiększenia jej objętości. - - - Plasma IV (500ml) - Плазма для в/в вливания (500 мл) - Plasma Intravenoso (500ml) - Plasma Sanguin IV (500ml) - Osocze IV (500ml) - - - Plasma IV (250ml) - Плазма для в/в вливания (250 мл) - Plasma Intravenoso (250ml) - Plasma Sanguin (250ml) - Osocze IV (250ml) - - - Blood IV (1000ml) - Кровь для переливания (1000 мл) - Sangre Intravenosa (1000ml) - Cullot Sanguin IV (1000ml) - Krew IV (1000ml) - - - Blood IV, for restoring a patients blood (keep cold) - Пакет крови для возмещения объема потерянной крови (хранить в холодильнике) - Sangre Intravenosa, para restarurar el volumen sanguíneo (mantener frío) - Cullot Sanguin IV, pour remplacer le volume sanguin (garder Réfrigeré) - Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych - - - O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. - Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. - Cullot Sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume sanguin perdu. Habituelment utiliser lors du transport ou dans un etablisement de soin. - Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. - Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdido. Uso habitual durante el transporte de heridos. - - - Blood IV (500ml) - Кровь для переливания (500 мл) - Sangre Intravenosa (500ml) - Cullot Sanguin IV (500ml) - Krew IV (500ml) - - - Blood IV (250ml) - Кровь для переливания (250 мл) - Sangre Intravenosa (250ml) - Cullot Sanguin IV (250ml) - Krew IV (250ml) - - - Saline IV (1000ml) - Физраствор для в/в вливания (1000 мл) - Solución Salina Intravenosa (1000ml) - solution Saline 0.9% IV (1000ml) - Solanka 0,9% IV (1000ml) - - - Saline IV, for restoring a patients blood - Пакет физраствора для возмещения объема потерянной крови - Solución Salina Intravenosa, para restaurar el volumen sanguíneo - Solution Saline 0.9% IV, pour retablir temporairement la tention arteriel - Solanka 0,9%, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta - - - A medical volume-replenishing agent introduced into the blood system through an IV infusion. - Пакет физиологического раствора для возмещения объема потерянной крови путем внутривенного вливания. - Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. - Un remplacment temporaire pour rétablir la tention artériel lors de perte sanguine, étant ajouter par intraveineuse - Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV). - - - Saline IV (500ml) - Физраствор для в/в вливания (500 мл) - Solución Salina Intravenosa (500ml) - Solution Saline 0.9% IV (500ml) - Solanka 0,9% IV (500ml) - - - Saline IV (250ml) - Физраствор для в/в вливания (250 мл) - Solución Salina Intravenosa (250ml) - Solution Saline 0.9% IV (250ml) - Solanka 0,9% IV (250ml) - - - Basic Field Dressing (QuikClot) - Первичный перевязочный пакет (QuikClot) - Vendaje Básico (Coagulante) - Bandage Regulier (Coagulant) - Opatrunek QuikClot - - - QuikClot bandage - Гемостатический пакет QuikClot - Venda Coagulante - Bandage coagulant - Podstawowy opatrunek stosowany na rany - - - - - Un bandage servant a coaguler les seignements mineur à moyen. - Proszkowy opatrunek adsorbcyjny przeznaczony do tamowania zagrażających życiu krwawień średniej i dużej intensywności. - Vendaje Hemostático con coagulante que detiene el sangrado. - - - Personal Aid Kit - Аптечка - Kit de Soporte Vital Avanzado - Équipement de support Vitale - Apteczka osobista - - - Includes various treatment kit needed for stitching or advanced treatment - Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи. - Incluye material médico para tratamientos avanzados - Inclue du matériel medical pour les traitement avancé, tel les point de suture. - Zestaw środków medycznych do opatrywania ran i dodatkowego leczenia po-urazowego - - - - - - - - - Surgical Kit - Хирургический набор - Kit Quirúrgico - - - Surgical Kit for in field advanced medical treatment - Набор для хирургической помощи в полевых условиях - Kit Quirúrgico para el tratamiento avanzado en el campo de batalla - - - Surgical Kit for in field advanced medical treatment - Набор для хирургической помощи в полевых условиях - Kit Quirúrgico para el tratamiento avanzado en el campo de batalla - - - Bodybag - Мешок для трупов - Bolsa para cadáveres - - - A bodybag for dead bodies - Мешок для упаковки трупов - Bolsa para cadáveres - - - A bodybag for dead bodies - Мешок для упаковки трупов - Bolsa para cadáveres - - - - - Blood Pressure - Артериальное давление - Presión Arterial - - - Checking Blood Pressure.. - Проверка артериального давления... - Comprobando Presión Arterial... - - - You checked %1 - Вы осмотрели раненого %1 - Examinando a %1 - - - You find a blood pressure of %2/%3 - Артериальное давление %2/%3 - La Presión Arterial es %2/%3 - - - You find a low blood pressure - Давление низкое - La Presión Arterial es baja - - - You find a normal blood pressure - Давление нормальное - La Presión Arterial es normal - - - You find a high blood pressure - Давление высокое - La Presión Arterial es alta - - - You find no blood pressure - Давления нет - No hay Presión Arterial - - - You fail to find a blood pressure - Артериальное давление не определяется - No puedes encontrar Presión Arterial - - - Pulse - Пульс - Pulso - - - Checking Heart Rate.. - Проверка пульса... - Comprobando Pulso... - - - You checked %1 - Вы осмотрели раненого %1 - Examinando a %1 - - - You find a Heart Rate of %2 - Пульс %2 уд./мин. - El Pulso es %2 - - - You find a weak Heart Rate - Пульс слабый - El Pulso es débil - - - You find a strong Heart Rate - Пульс учащенный - El Pulso está acelerado - - - You find a normal Heart Rate - Пульс в норме - El Pulso es bueno - - - You find no Heart Rate - Пульс не прощупывается - No tiene Pulso - - - Response - Реакция - Reacciona - - - You check response of patient - Вы проверяете реакцию раненого - Compruebas si el paciente reacciona - - - %1 is responsive - %1 реагирует на раздражители - %1 ha reaccionado - - - %1 is not responsive - %1 не реагирует - %1 no reacciona - - - You checked %1 - Вы осмотрели раненого %1 - Examinas a %1 - - - Bandaged - Повязка наложена - Vendado - - - You bandage %1 (%2) - Вы перевязали раненого %1 (%2) - Aplicas vendaje a %1 en %2 - - - %1 is bandaging you - %1 перевязывает вас - %1 te está vendando - - - You start stitching injures from %1 (%2) - Вы зашиваете ранения от %1 (%2) - Estás suturando heridas de %1 en %2 - - - Stitching - Наложение швов - Suturando - - - You treat the airway of %1 - Вы интубируете раненого %1 - Estás intubando a %1 - - - Airway - Дыхательные пути - Vías Aéreas - - - %1 is treating your airway - %1 проводит вам интубацию - %1 te está intubando - - - Drag - Ziehen - Arrastrar - Ciągnij - Táhnout - Тащить - Tracter - Húzás - Arrastar - Trascina - - - Carry - Tragen - Cargar - Nieś - Nést - Нести - Porter - Cipelés - Carregar - Trasporta - - - Release - Loslassen - Soltar - Połóż - Položit - Отпустить - Déposer - Elenged - Largar - Lascia - - - Load Patient Into - Patient Einladen - Cargar el paciente en - Załaduj pacjenta - Naložit pacianta do - Погрузить пациента в - Embarquer le Patient - Sebesült berakása - Carregar Paciente Em - Carica paziente nel - - - Unload Patient - Patient Ausladen - Descargar el paciente - Wyładuj pacjenta - Vyložit pacienta - Выгрузить пациента - Débarquer le Patient - Sebesült kihúzása - Descarregar Paciente - Scarica il paziente - - - Unload patient - - - Load patient - - - Place body in bodybag - - - Placing body in bodybag - - - - - %1 has bandaged patient - - - %1 used %2 - - - %1 has given an IV - - - %1 applied a tourniquet - - - + + + + Inject Atropine + Injetar Atropina + + + Inject Epinephrine + Epinephrine injizieren + Inyectar Epinefrina + Wtrzyknij adrenalinę + Aplikovat Adrenalin + Ввести андреналил + Adrénaline + Adrenalin + Injetar Epinefrina + Inietta Epinefrina + + + Inject Morphine + Morphin injizieren + Inyectar Morfina + Wstrzyknij morfinę + Aplikovat Morfin + Ввести морфин + Morphine + Morfium + Injetar Morfina + Inietta Morfina + + + Transfuse Blood + Bluttransfusion + Transfundir sangre + Przetocz krew + Transfúze krve + Перелить кровь + Transfusion + Infúzió + Transfundir Sangue + Effettua Trasfusione + + + Transfuse Plasma + Transfundir Plasma + + + Transfuse Saline + Transfundir Soro + + + Apply Tourniquet + Aplicar Torniquete + + + Bandage + Verbinden + Venda + Bandaż + Obvázat + Pansement + Benda + Kötözés + Atadura + Перевязать + + + Bandage Head + Kopf verbinden + Vendar la cabeza + Bandażuj głowę + Obvázat hlavu + Перевязать голову + Pansement Tête + Fej kötözése + Atar Cabeça + Benda la testa + + + Bandage Torso + Torso verbinden + Vendar el torso + Bandażuj tors + Obvázat hruď + Перевязать торс + Pansement Torse + Felsőtest kötözése + Atar Tronco + Benda il torso + + + Bandage Left Arm + Arm links verbinden + Vendar el brazo izquierdo + Bandażuj lewe ramię + Obvázat levou ruku + Перевязать левую руку + Pansement Bras Gauche + Bal kar kötözése + Atar Braço Esquerdo + Benda il braccio sinistro + + + Bandage Right Arm + Arm rechts verbinden + Vendar el brazo derecho + Bandażuj prawe ramię + Obvázat pravou ruku + Перевязать правую руку + Pansement Bras Droit + Jobb kar kötözése + Atar Braço Direito + Benda il braccio destro + + + Bandage Left Leg + Bein links verbinden + Vendar la pierna izquierda + Bandażuj lewą nogę + Obvázat levou nohu + Перевязать левую ногу + Pansement Jambe Gauche + Bal láb kötözése + Atar Perna Esquerda + Benda la gamba sinistra + + + Bandage Right Leg + Bein rechts verbinden + Vendar la pierna derecha + Bandażuj prawą nogę + Obvázat pravou nohu + Перевязать правую ногу + Pansement Jambe Droite + Jobb láb kötözése + Atar Perna Direita + Benda la gamba destra + + + Injecting Morphine ... + Morphin injizieren ... + Inyectando Morfina ... + Wstrzykiwanie morfiny ... + Aplikuju Morfin ... + Введение морфина... + Injection de Morphine... + Morfium beadása... + Injetando Morfina ... + Inietto la morfina ... + + + Injecting Epinephrine ... + Epinephrine injizieren ... + Inyectando Epinefrina ... + Wstrzykiwanie adrenaliny ... + Aplikuju Adrenalin ... + Введение андреналина + Injection d'Adrénaline ... + Adrenalin beadása... + Injetando Epinefrina ... + Inietto l'epinefrina ... + + + Injecting Atropine ... + Injetando Atropina + + + Transfusing Blood ... + Bluttransfusion ... + Realizando transfusión ... + Przetaczanie krwi ... + Probíhá transfúze krve ... + Переливание крови... + Transfusion Sanguine ... + Infúzió... + Transfundindo Sangue ... + Effettuo la trasfusione ... + + + Transfusing Saline ... + Transfundindo Soro... + + + Transfusing Plasma ... + Transfundindo Plasma... + + + Bandaging ... + Verbinden ... + Vendando ... + Bandażowanie ... + Obvazuji ... + Pansement ... + Sto applicando la benda ... + Bekötözés... + Atando ... + Перевязывание.... + + + Applying Tourniquet ... + Applicando Torniquete + + + Medical + Zdravotní + Médical + Sanitäter + Medico + Medyczne + Médico + Медик + Médico + + + Field Dressing + Curativo de Campo + + + Packing Bandage + Bandagem de Compressão + + + Elastic Bandage + Bandagem Elástica + + + QuikClot + QuikClot + + + Check Pulse + Checar Pulso + + + Check Blood Pressure + Chegar Pressão Sanguínea + + + Triage Card + Cartão de Triagem + + + Tourniquet + Torniquete + + + Remove Tourniquet + Remover Torniquete + + + Give Blood IV (1000ml) + Administrar Sangue IV (1000ml) + + + Give Blood IV (500ml) + Administrar Sangue IV (500ml) + + + Give Blood IV (250ml) + Administrar Sangue IV (250ml) + + + Give Plasma IV (1000ml) + Administrar Plasma IV (1000ml) + + + Give Plasma IV (500ml) + Administrar Plasma IV (500ml) + + + Give Plasma IV (250ml) + Administrar Plasma IV (250ml) + + + Give Saline IV (1000ml) + Administrar Soro IV (1000ml) + + + Give Saline IV (500ml) + Administrar Soro IV (500ml) + + + Give Saline IV (250ml) + Administrar Soro IV (250ml) + + + + + Minor + Leve + + + Delayed + Atrasado + + + Immediate + Imediato + + + Deceased + Falecido + + + None + Nenhum + + + Normal breathing + Дыхание в норме + Respiración normal + Respiration Normale + Normalny oddech + Respiração normal + + + No breathing + Дыхания нет + No respira + Apnée + Brak oddechu + Não respira + + + Difficult breathing + Дыхание затруднено + Dificultad para respirar + Difficultée Respiratoire + Trudności z oddychaniem + Dificuldade para respirar + + + Almost no breathing + Дыхания почти нет + Casi sin respirar + Respiration Faible + Prawie brak oddechu + Quase não respira + + + Bleeding + Кровотечение + Sangrando + Seignement + Krwawienie zewnętrzne + Sangrando + + + In Pain + Испытывает боль + Con Dolor + A De La Douleur + W bólu + Com dor + + + Lost a lot of Blood + Большая кровопотеря + Mucha Sangre perdida + A Perdu Bcp de Sang + Stracił dużo krwi + Perdeu muito sangue + + + Tourniquet [CAT] + Жгут + Torniquete [CAT] + Garot [CAT] + Opaska uciskowa [CAT] + Torniquete [CAT] + + + Receiving IV [%1ml] + Recebendo IV [%1ml] + + + + + Bandage (Basic) + Повязка (обычная) + Vendaje (Básico) + Bandage (Standard) + Bandaż (jałowy) + Bandagem(Básico) + + + Used to cover a wound + Для перевязки ран + Utilizado para cubrir una herida + Utilisé Pour Couvrir Une Blessure + Używany w celu przykrycia i ochrony miejsca zranienia + Usado para cobrir um ferimento + + + A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. + Повязка, накладываемая поверх раны после остановки кровотечения. + Un apósito, material específico utilizado para cubrir una herida, se aplica sobre la herida una vez ha dejado de sangrar. + C'est un bandage, qui est fait d'un matériel spécial utiliser pour couvrir une blessure, qui peut etre appliquer des que le seignement as ete stopper. + Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. + Uma curativo, material específico para cobrir um ferimento que é aplicado assim que o sangramento é estancando. + + + Packing Bandage + Тампонирующая повязка + Vendaje Compresivo + Bandage Mèche + Bandaż (uciskowy) + Bandagem de Compressão + + + Used to pack medium to large wounds and stem the bleeding + Для тампонирования ран среднего и большого размера и остановки кровотечения. + Se utiliza para vendar heridas medianas y grandes y detener el sangrado + Utiliser pour remplire la cavité créé dans une blessure moyenne et grande. + Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. + Usado para o preenchimento de cavidades geradas por ferimentos médios e grandes e estancar o sangramento. + + + A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. + Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжелых сочетанных ранениях возможно тампонирование раны. + Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos. + Un bandage servent a etre inseré dans les blessure pour éponger le seignement et faciliter la guerrison. Ce bandage est une option pour soigner les lession de politrauma. + Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran. + Uma bandagem usada para preencher o ferimento para estancar o sangramento e facilitar a cicatrização. Preenchimento de feridas é uma opção em ferimentos de politrauma grandes. + + + Bandage (Elastic) + Повязка (давящая) + Vendaje (Elástico) + Bandage (Élastique) + Bandaż (elastyczny) + Bandagem (Elástica) + + + Bandage kit, Elastic + Давящая повязка + Vendaje (Elástico) + Bandage Compressif Élastique + Zestaw bandaży elastycznych. + Kit de Bandagem, Elástica + + + + + Ce bandage peut etre utiliser pour compresser la plaie afin de ralentire le seignement et assurer la tenue du bandage lors de mouvment. + Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. + Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada + Esta bandagem pode ser utilizada para comprimir o ferimento e diminuir o sangramento e garantir que o ferimento não abra em movimento. + + + Tourniquet (CAT) + Жгут + Torniquete (CAT) + Garot (CAT) + Staza (typ. CAT) + Torniquete (CAT) + + + Slows down blood loss when bleeding + Уменьшает кровопотерю при кровотечении. + Reduce la velocidad de pérdida de sangre + Ralentit le seignement + Zmniejsza ubytek krwi z kończyn w przypadku krwawienia. + Reduz a velocidade da perda de sangue + + + A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. + Жгут используется для прижатия сосудов, приводящего к остановке или значительному уменьшению кровотечения и сокращению кровопотери. + Dispositivo utilizado para eliminar el pulso distal y de ese modo controlar la pérdida de sangre + Un appareil servent a compresser les artères et veines afin de reduire la perte de sang. + Opaska zaciskowa CAT służy do tamowanie krwotoków w sytuacji zranienia kończyn z masywnym krwawieniem tętniczym lub żylnym. + A aparelho que comprime as artérias e veias para diminuir a perda de sangue. + + + Morphine autoinjector + Морфин в автоматическом шприце + Morfina auto-inyectable + Auto-injecteur de Morphine + Autostrzykawka z morfiną + Auto-injetor de morfina + + + Used to combat moderate to severe pain experiences + Для снятия средних и сильных болевых ощущений. + Usado para combatir los estados dolorosos moderados a severos + Utiliser pour contrer les douleurs modéré à severes. + Morfina. Ma silne działanie przeciwbólowe. + Usado para combater dores moderadas e severas + + + An analgesic used to combat moderate to severe pain experiences. + Анальгетик для снятия средних и сильных болевых ощущений. + Analgésico usado para combatir los estados dolorosos de moderado a severo. + Un Analgésique puissant servant a contrer les douleur modéré a severe. + Organiczny związek chemiczny z grupy alkaloidów. Ma silne działanie przeciwbólowe. + Um analgésico usado para combater dores moderadas e fortes. + + + Atropin autoinjector + Атропин в автоматическом шприце + Atropina auto-inyectable + Auto-injecteur d'Atropine + Autostrzykawka AtroPen + Auto-injetor de Atropina + + + Used in NBC scenarios + Применяется для защиты от ОМП + Usado en escenarios NBQ + Utiliser en cas d'attaque CBRN + Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. + Usado em casos de ataque QBRN + + + A drug used by the Military in NBC scenarios. + Препарат, используемый в войсках для защиты от оружия массового поражения. + Medicamento usado por Militares en escenarios NBQ + Médicament utilisé par l'armée en cas d'attaque CBRN + Atropina. Stosowana jako lek rozkurczowy i środek rozszerzający źrenice. Środek stosowany w przypadku zagrożeń NBC. + Uma droga usada por militares em casos de ataque QBRN. + + + Epinephrine autoinjector + Адреналин в автоматическом шприце + Epinefrina auto-inyectable + Auto-injecteur d'épinéphrine + Autostrzykawka EpiPen + Auto-injetor de epinefrina + + + Increase heart rate and counter effects given by allergic reactions + Стимулирует работу сердца и купирует аллергические реакции. + Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas + Augmente la Fréquance cadiaque et contré les effet d'une reaction Anaphylactique + Adrenalina. Zwiększa puls i przeciwdziała efektom wywołanym przez reakcje alergiczne + Aumenta a frequência cardíaca e combate efeitos causados por reações alérgicas + + + A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. + Препарат, вызывающий симпатическую реакцию, приводящую к расширению бронхов, увеличению частоты сердечных сокращений и купированию аллергических реакций (анафилактического шока). Применяется при остановке сердца с уменьшением вероятности благоприятного исхода. + Medicamento que dilata los bronquios, aumenta la frecuencia cardiaca y contrarresta los efectos de las reacciones alérgicas (anafilaxis). Se utiliza en caso de paros cardiacos repentinos. + Un medicament qui fonctione sur le systeme sympatique créan une dilatation des bronches, augmente la fréquance cardiaque et contre les effet d'une reaction alergique (anaphylaxie). Utiliser lors d'arret cardio-respiratoire pour augmenté les chances retrouver un ryhtme. + EpiPen z adrenaliną ma działanie sympatykomimetyczne, tj. pobudza receptory alfa- i beta-adrenergiczne. Pobudzenie układu współczulnego prowadzi do zwiększenia częstotliwości pracy serca, zwiększenia pojemności wyrzutowej serca i przyśpieszenia krążenia wieńcowego. Pobudzenie oskrzelowych receptorów beta-adrenergicznych wywołuje rozkurcz mięśni gładkich oskrzeli, co w efekcie zmniejsza towarzyszące oddychaniu świsty i duszności. + Uma droga trabalha dilatando os bronquios, aumentando a frequência cardíaca e combate efeitos de reações alérgicas(anáfilaticas). Usado em casos de parada cardiaca com poucas changes de recuperação. + + + Plasma IV (1000ml) + Плазма для в/в вливания (1000 мл) + Plasma Intravenoso (1000ml) + Plasma Sanguin IV (1000ml) + Osocze IV (1000ml) + Plasma IV (1000ml) + + + A volume-expanding blood supplement. + Дополнительный препарат, применяемый при возмещении объема крови. + Suplemento para expandir el volumen sanguíneo. + Supplement visant a remplacer les volume sanguin + Składnik krwi, używany do zwiększenia jej objętości. + Suplemento para expandir o volume sanguíneo. + + + A volume-expanding blood supplement. + Дополнительный препарат, применяемый при возмещении объема крови. + Suplemento para expandir el volumen sanguíneo. + Supplement visant a remplacer le volume sanguin et remplace les plaquettes. + Składnik krwi, używany do zwiększenia jej objętości. + Suplemento para expandir o volume sanguíneo. + + + Plasma IV (500ml) + Плазма для в/в вливания (500 мл) + Plasma Intravenoso (500ml) + Plasma Sanguin IV (500ml) + Osocze IV (500ml) + Plasma IV (500ml) + + + Plasma IV (250ml) + Плазма для в/в вливания (250 мл) + Plasma Intravenoso (250ml) + Plasma Sanguin (250ml) + Osocze IV (250ml) + Plasma IV (250ml) + + + Blood IV (1000ml) + Кровь для переливания (1000 мл) + Sangre Intravenosa (1000ml) + Cullot Sanguin IV (1000ml) + Krew IV (1000ml) + Sangue IV (1000ml) + + + Blood IV, for restoring a patients blood (keep cold) + Пакет крови для возмещения объема потерянной крови (хранить в холодильнике) + Sangre Intravenosa, para restarurar el volumen sanguíneo (mantener frío) + Cullot Sanguin IV, pour remplacer le volume sanguin (garder Réfrigeré) + Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych + Sangue intravenoso, para restaurar o volume sanguinio do paciente.(Manter frio) + + + O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. + Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. + Cullot Sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume sanguin perdu. Habituelment utiliser lors du transport ou dans un etablisement de soin. + Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. + Utilice sólo durante gran pérdida de sangre para reemplazar el volumen de sangre perdido. Uso habitual durante el transporte de heridos. + Sangue O- , utilizado em casos raros para rapidamente repor o sangue. Uso habitual ocorre durante o transporte ou em estações de tratamento. + + + Blood IV (500ml) + Кровь для переливания (500 мл) + Sangre Intravenosa (500ml) + Cullot Sanguin IV (500ml) + Krew IV (500ml) + Sangue IV (500ml) + + + Blood IV (250ml) + Кровь для переливания (250 мл) + Sangre Intravenosa (250ml) + Cullot Sanguin IV (250ml) + Krew IV (250ml) + Sangue IV (250ml) + + + Saline IV (1000ml) + Физраствор для в/в вливания (1000 мл) + Solución Salina Intravenosa (1000ml) + solution Saline 0.9% IV (1000ml) + Solanka 0,9% IV (1000ml) + Soro IV (1000ml) + + + Saline IV, for restoring a patients blood + Пакет физраствора для возмещения объема потерянной крови + Solución Salina Intravenosa, para restaurar el volumen sanguíneo + Solution Saline 0.9% IV, pour retablir temporairement la tention arteriel + Solanka 0,9%, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta + Solução Salina Intravenosa 0.9%, para restaurar o volume de sangue temporariamente. + + + A medical volume-replenishing agent introduced into the blood system through an IV infusion. + Пакет физиологического раствора для возмещения объема потерянной крови путем внутривенного вливания. + Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. + Un remplacment temporaire pour rétablir la tention artériel lors de perte sanguine, étant ajouter par intraveineuse + Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV). + Uma reposição temporaria para restaurar a pressão arterial perdida por perda de sangue. + + + Saline IV (500ml) + Физраствор для в/в вливания (500 мл) + Solución Salina Intravenosa (500ml) + Solution Saline 0.9% IV (500ml) + Solanka 0,9% IV (500ml) + Soro IV (1000ml) + + + Saline IV (250ml) + Физраствор для в/в вливания (250 мл) + Solución Salina Intravenosa (250ml) + Solution Saline 0.9% IV (250ml) + Solanka 0,9% IV (250ml) + Soro IV (1000ml) + + + Basic Field Dressing (QuikClot) + Первичный перевязочный пакет (QuikClot) + Vendaje Básico (Coagulante) + Bandage Regulier (Coagulant) + Opatrunek QuikClot + Bandagem básica (Coagulante) + + + QuikClot bandage + Гемостатический пакет QuikClot + Venda Coagulante + Bandage coagulant + Podstawowy opatrunek stosowany na rany + Bandagem com agente coagulante + + + + + Un bandage servant a coaguler les seignements mineur à moyen. + Proszkowy opatrunek adsorbcyjny przeznaczony do tamowania zagrażających życiu krwawień średniej i dużej intensywności. + Vendaje Hemostático con coagulante que detiene el sangrado. + Bandagem Hemostática com coagulante que controla hemorragia médias e grandes com risco de vida. + + + Personal Aid Kit + Аптечка + Kit de Soporte Vital Avanzado + Équipement de support Vitale + Apteczka osobista + Kit De Primeiros Socorros Pessoal + + + Includes various treatment kit needed for stitching or advanced treatment + Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи. + Incluye material médico para tratamientos avanzados + Inclue du matériel medical pour les traitement avancé, tel les point de suture. + Zestaw środków medycznych do opatrywania ran i dodatkowego leczenia po-urazowego + Inclui vários tratamentos materiais para custura e tratamento avançado + + + + + + + + + Surgical Kit + Хирургический набор + Kit Quirúrgico + Kit Cirurgico + + + Surgical Kit for in field advanced medical treatment + Набор для хирургической помощи в полевых условиях + Kit Quirúrgico para el tratamiento avanzado en el campo de batalla + Kit Cirurgico para uso de tratamento médico avançado em campo + + + Surgical Kit for in field advanced medical treatment + Набор для хирургической помощи в полевых условиях + Kit Quirúrgico para el tratamiento avanzado en el campo de batalla + Kit Cirurgico para uso de tratamento médico avançado em campo. + + + Bodybag + Мешок для трупов + Bolsa para cadáveres + Saco para cadáver + + + A bodybag for dead bodies + Мешок для упаковки трупов + Bolsa para cadáveres + Um saco para corpos mortos + + + A bodybag for dead bodies + Мешок для упаковки трупов + Bolsa para cadáveres + Um saco para corpos mortos. + + + + + Blood Pressure + Артериальное давление + Presión Arterial + Pressão Arterial + + + Checking Blood Pressure.. + Проверка артериального давления... + Comprobando Presión Arterial... + Aferindo Pressão Arterial... + + + You checked %1 + Вы осмотрели раненого %1 + Examinando a %1 + Você aferiu o paciente %1 + + + You find a blood pressure of %2/%3 + Артериальное давление %2/%3 + La Presión Arterial es %2/%3 + A Pressão Arterial é de %2/%3 + + + You find a low blood pressure + Давление низкое + La Presión Arterial es baja + Pressão Arterial baixa + + + You find a normal blood pressure + Давление нормальное + La Presión Arterial es normal + Pressão Arterial normal + + + You find a high blood pressure + Давление высокое + La Presión Arterial es alta + Pressão Arterial Alta + + + You find no blood pressure + Давления нет + No hay Presión Arterial + Sem Pressão Arterial + + + You fail to find a blood pressure + Артериальное давление не определяется + No puedes encontrar Presión Arterial + Você falhou em aferir a Pressão Arterial + + + Pulse + Пульс + Pulso + Pulso + + + Checking Heart Rate.. + Проверка пульса... + Comprobando Pulso... + Aferindo Pulso... + + + You checked %1 + Вы осмотрели раненого %1 + Examinando a %1 + Você aferiu o paciente %1 + + + You find a Heart Rate of %2 + Пульс %2 уд./мин. + El Pulso es %2 + A Freqüência Cardíaca é de %2 + + + You find a weak Heart Rate + Пульс слабый + El Pulso es débil + Freqüência Cardíaca baixa + + + You find a strong Heart Rate + Пульс учащенный + El Pulso está acelerado + Freqüência Cardíaca normal + + + You find a normal Heart Rate + Пульс в норме + El Pulso es bueno + Freqüência Cardíaca alta + + + You find no Heart Rate + Пульс не прощупывается + No tiene Pulso + Sem Freqüência Cardíaca + + + Response + Реакция + Reacciona + Reação + + + You check response of patient + Вы проверяете реакцию раненого + Compruebas si el paciente reacciona + Aferindo se o paciente tem reação... + + + %1 is responsive + %1 реагирует на раздражители + %1 ha reaccionado + %1 está respondendo + + + %1 is not responsive + %1 не реагирует + %1 no reacciona + %1 não está respondendo + + + You checked %1 + Вы осмотрели раненого %1 + Examinas a %1 + Você aferiu o paciente %1 + + + Bandaged + Повязка наложена + Vendado + Enfaixado + + + You bandage %1 (%2) + Вы перевязали раненого %1 (%2) + Aplicas vendaje a %1 en %2 + Você aplica bandagem no paciente %1 (%2) + + + %1 is bandaging you + %1 перевязывает вас + %1 te está vendando + %1 está aplicando uma bandagem em você + + + You start stitching injures from %1 (%2) + Вы зашиваете ранения от %1 (%2) + Estás suturando heridas de %1 en %2 + Você começa a suturar os ferimentos do %1 (%2) + + + Stitching + Наложение швов + Suturando + Suturando... + + + You treat the airway of %1 + Вы интубируете раненого %1 + Estás intubando a %1 + Você entuba o %1 + + + Airway + Дыхательные пути + Vías Aéreas + Vias Aéreas + + + %1 is treating your airway + %1 проводит вам интубацию + %1 te está intubando + %1 está te entubando + + + Drag + Ziehen + Arrastrar + Ciągnij + Táhnout + Тащить + Tracter + Húzás + Arrastar + Trascina + + + Carry + Tragen + Cargar + Nieś + Nést + Нести + Porter + Cipelés + Carregar + Trasporta + + + Release + Loslassen + Soltar + Połóż + Položit + Отпустить + Déposer + Elenged + Soltar + Lascia + + + Load Patient Into + Patient Einladen + Cargar el paciente en + Załaduj pacjenta + Naložit pacianta do + Погрузить пациента в + Embarquer le Patient + Sebesült berakása + Carregar Paciente Em + Carica paziente nel + + + Unload Patient + Patient Ausladen + Descargar el paciente + Wyładuj pacjenta + Vyložit pacienta + Выгрузить пациента + Débarquer le Patient + Sebesült kihúzása + Descarregar Paciente + Scarica il paziente + + + Unload patient + Descarregar Paciente + + + Load patient + Carregar Paciente Em + + + Place body in bodybag + Colocar corpo dentro do saco para cadáver + + + Placing body in bodybag + Colocando corpo dentro do saco para cadáver... + + + + + %1 has bandaged patient + %1 aplicou bandagem no paciente + + + %1 used %2 + %1 usou %2 + + + %1 has given an IV + %1 aplicou um intravenoso + + + %1 applied a tourniquet + %1 aplicou um torniquete + + + \ No newline at end of file diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 772a7a172f..8fadcc32f6 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -1,109 +1,131 @@  - - - MicroDAGR GPS - - - MicroDAGR advanced GPS receiver - - - Angular Unit: - - - Mils - - - Show Waypoints On Map: - - - Degrees - - - On - Zapnuto - Oui - Ein - - Wł. - Ativar - Вкл. - - - - Off - Vypnuto - Non - Aus - No - Wył. - Desativar - Выкл. - No - - - Enter Grid Cords: - - - Name of [%1] - - - MGRS-New - - - WGD - - - Range: - Reichweite: - - - Compass Direction - - - Mark - - - Waypoints - Wegpunkte - - - Connect To - - - Settings - Einstellungen - Configuración - - - SetWP - - - Add - - - Delete - Smazat - Supprimer - Löschen - Elimina - Usuń - Excluir - Удалить - Suprimir - - - Toggle MicroDAGR Display Mode - - - Show MicoDAGR - - - Configure MicroDAGR - - - Close MicroDAGR - - + + + MicroDAGR GPS + GPS MicroDAGR + + + MicroDAGR advanced GPS receiver + Recepitor GPS avançado MicroDAGR + + + Angular Unit: + Unidade Angular: + + + Mils + Mils: + + + Show Waypoints On Map: + Mostrar Waypoints no mapa: + + + Degrees + Graus + + + On + Zapnuto + Oui + Ein + + Wł. + Ativar + Вкл. + + + + Off + Vypnuto + Non + Aus + No + Wył. + Desativar + Выкл. + No + + + Enter Grid Cords: + Digite as Ccords. do Grid + + + Name of [%1] + Nome do [%1] + + + MGRS-New + MGRS-Novo + + + WGD + WGD + + + Range: + Reichweite: + Distância: + + + Compass Direction + Direção na bússula + + + Mark + Marca + + + Waypoints + Wegpunkte + Waypoints + + + Connect To + Conectar à + + + Settings + Einstellungen + Configuración + Opções + + + SetWP + Definir WP + + + Add + Adicionar + + + Delete + Smazat + Supprimer + Löschen + Elimina + Usuń + Excluir + Удалить + Suprimir + + + Toggle MicroDAGR Display Mode + Alternar Modo de Display do MicroDAGR + + + Show MicroDAGR + Mostrar MicroDAGR + + + Configure MicroDAGR + Configurar MicroDAGR + + + Close MicroDAGR + Fechar MicroDAGR + + \ No newline at end of file diff --git a/addons/movement/stringtable.xml b/addons/movement/stringtable.xml index d31896acaa..5206139e7f 100644 --- a/addons/movement/stringtable.xml +++ b/addons/movement/stringtable.xml @@ -1,46 +1,48 @@  - - - Show weight in lb - Zeige Gewicht in Pfund - Mostrar peso en libras - Afficher le poids en lb - Pokaż ciężar w funtach - Zobrazit váhu v lb - Mostra peso in libbre - Mostrar peso em libras - Súly megjelenítése fontban. - Показать вес в фунтах - - - Weight: - Gewicht: - Peso: - Poids: - Waga: - Váha: - Peso: - Peso: - Súly: - Вес: - - - Climb - Klettern - Wspinaczka - Trepar - Vylézt - Подняться - - - Can't climb here - Kann hier nicht klettern - Nie możesz wspiąć się tutaj - No se puede trepar aquí - Zde není možné vylézt - Не можете подняться здесь - - + + + Show weight in lb + Zeige Gewicht in Pfund + Mostrar peso en libras + Afficher le poids en lb + Pokaż ciężar w funtach + Zobrazit váhu v lb + Mostra peso in libbre + Mostrar peso em libras + Súly megjelenítése fontban. + Показать вес в фунтах + + + Weight: + Gewicht: + Peso: + Poids: + Waga: + Váha: + Peso: + Peso: + Súly: + Вес: + + + Climb + Klettern + Wspinaczka + Trepar + Vylézt + Подняться + Subir + + + Can't climb here + Kann hier nicht klettern + Nie możesz wspiąć się tutaj + No se puede trepar aquí + Zde není možné vylézt + Не можете подняться здесь + Não se pode subir aqui + + \ No newline at end of file diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 622df44aca..12c07fd800 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -1,81 +1,87 @@  - - - Show Names - Namen anzeigen - Mostrar nombres - Afficher noms - Zobrazit jména - Pokaż nazwy - Nevek mutatása - Показать имена - - - Show player names - Spielernamen anzeigen - Mostrar nombres de jugadores - Pokaż nazwy graczy - Afficher nom des joueurs - Játékosnevek mutatása - Zobrazit jména hráčů - Mostrar nomes de jogadores - Mostra i nomi dei giocatori - Показать имена игроков - - - Show player name only on cursor (requires player names) - Pokaż nazwę gracza tylko pod kursorem - Mostrar nombres solo en el cursor (requiere Mostrar nombres de jugadores) - Zeige Spielernamen nur an, wenn die Maus auf sie gerrichtet ist (benötigt Spielernamen) - Noms uniquement sous le curseur (si noms affichés) - Zobrazit jméno hráče jenom na kurzor (vyžaduje jména hráčů) - Mostra i nomi solo se puntati (richiede i nomi dei giocatori abilitati) - Mostrar nome de jogador somente no cursor (requer nome de jogadores) - Játékosok nevének mutatása (névcímke szükséges) - Показать имена игроков только под курсором (требует имен игроков) - - - Show player name only on keypress (requires player names) - Spielernamen nur auf Tastendruck anzeigen (benötigt Spielernamen) - Mostrar nombres solo al pulsar (requiere Mostrar nombres de jugadores) - Noms uniquement sur pression de la touche (si noms affichés) - Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) - Pokaż nazwę gracza tylko po przytrzymaniu klawisza - Játékosnevek mutatása gombnyomásra(névcíme szükséges) - Показать имена игроков только по нажатию клавиши (требует имен игроков) - - - Show player ranks (requires player names) - Spielerränge anzeigen (benötig Spielernamen) - Pokaż rangi graczy (wymaga nazw graczy) - Mostrar rango de los jugadores (requiere Mostrar nombres de jugadores) - Grade des joueurs (si noms affichés) - Zobrazit hodnosti hráčů (vyžaduje jména hráčů) - Mostra i gradi (richiede i nomi dei giocatori abilitati) - Mostrar patente de jogadores (requer nome de jogadores) - Játékosok rendfokozatának mutatása (névcímke szükséges) - Показать звания игроков (требует имен игроков) - - - Show vehicle crew info - Zeige Fahrzeugbesatzung - Mostrar tripulantes - Pokaż informacje o załodze pojazdu - Zobrazit info o posádce vozidla - Показать экипаж - - - Show name tags for AI units - - - Show SoundWaves (requires player names) - Zeigen Schallwelle (benötigt spielernamen) - Mostrar onda sonora (requiere Mostrar nombres de jugadores) - - - Default Nametag Color (Non Group Members) - - + + + Show Names + Namen anzeigen + Mostrar nombres + Afficher noms + Zobrazit jména + Pokaż nazwy + Nevek mutatása + Показать имена + Mostrar nomes + + + Show player names + Spielernamen anzeigen + Mostrar nombres de jugadores + Pokaż nazwy graczy + Afficher nom des joueurs + Játékosnevek mutatása + Zobrazit jména hráčů + Mostrar nomes de jogadores + Mostra i nomi dei giocatori + Показать имена игроков + + + Show player name only on cursor (requires player names) + Pokaż nazwę gracza tylko pod kursorem + Mostrar nombres solo en el cursor (requiere Mostrar nombres de jugadores) + Zeige Spielernamen nur an, wenn die Maus auf sie gerrichtet ist (benötigt Spielernamen) + Noms uniquement sous le curseur (si noms affichés) + Zobrazit jméno hráče jenom na kurzor (vyžaduje jména hráčů) + Mostra i nomi solo se puntati (richiede i nomi dei giocatori abilitati) + Mostrar nome de jogador somente no cursor (requer nome de jogadores) + Játékosok nevének mutatása (névcímke szükséges) + Показать имена игроков только под курсором (требует имен игроков) + + + Show player name only on keypress (requires player names) + Spielernamen nur auf Tastendruck anzeigen (benötigt Spielernamen) + Mostrar nombres solo al pulsar (requiere Mostrar nombres de jugadores) + Noms uniquement sur pression de la touche (si noms affichés) + Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) + Pokaż nazwę gracza tylko po przytrzymaniu klawisza + Játékosnevek mutatása gombnyomásra(névcíme szükséges) + Показать имена игроков только по нажатию клавиши (требует имен игроков) + Mostrar nomes somente ao pressionar teclar (requer nome de jogadores) + + + Show player ranks (requires player names) + Spielerränge anzeigen (benötig Spielernamen) + Pokaż rangi graczy (wymaga nazw graczy) + Mostrar rango de los jugadores (requiere Mostrar nombres de jugadores) + Grade des joueurs (si noms affichés) + Zobrazit hodnosti hráčů (vyžaduje jména hráčů) + Mostra i gradi (richiede i nomi dei giocatori abilitati) + Mostrar patente de jogadores (requer nome de jogadores) + Játékosok rendfokozatának mutatása (névcímke szükséges) + Показать звания игроков (требует имен игроков) + + + Show vehicle crew info + Zeige Fahrzeugbesatzung + Mostrar tripulantes + Pokaż informacje o załodze pojazdu + Zobrazit info o posádce vozidla + Показать экипаж + Mostrar tripulantes + + + Show name tags for AI units + Mostrar nomes para unidades de IA + + + Show SoundWaves (requires player names) + Zeigen Schallwelle (benötigt spielernamen) + Mostrar onda sonora (requiere Mostrar nombres de jugadores) + Mostrar onda sonora (requer nome de jogadores) + + + Default Nametag Color (Non Group Members) + Cor padrão do nome (unidades fora do grupo) + + \ No newline at end of file diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index 16ead016da..9aeb75583e 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -1,127 +1,128 @@  - - - NV Goggles (Gen1) - Noktovizor (Gen1) - JVN (Gen1) - NS-Brille (Gen1) - Occhiali notturni (Gen1) - Gogle noktowizyjne (Gen1) - Óculos de visão noturna (Gen1) - ПНВ (Gen1) - Sistema de visión nocturna (Gen1) - - - NV Goggles (Gen2) - Noktovizor (Gen2) - JVN (Gen2) - NS-Brille (Gen2) - Occhiali notturni (Gen2) - Gogle noktowizyjne (Gen2) - Óculos de visão noturna (Gen2) - ПНВ (Gen2) - Sistema de visión nocturna (Gen2) - - - NV Goggles (Gen3) - Noktovizor (Gen3) - JVN (Gen3) - NS-Brille (Gen3) - Occhiali notturni (Gen3) - Gogle noktowizyjne (Gen3) - Óculos de visão noturna (Gen3) - ПНВ (Gen3) - Sistema de visión nocturna (Gen3) - - - NV Goggles (Gen3, Brown) - Noktovizor (Gen3, hnědý) - JVN (Gen3, marron) - NS-Brille (Gen3, Braun) - Occhiali notturni (Gen3, marroni) - Gogle noktowizyjne (Gen3, brązowe) - Óculos de visão noturna (Gen3, marrons) - ПНВ (Gen3, коричневый) - Sistema de visión nocturna (Gen3, marrón) - - - NV Goggles (Gen3, Green) - Noktovizor (Gen3, zelený) - JVN (Gen3, vertes) - NS-Brille (Gen3, Grün) - Occhiali notturni (Gen3, verdi) - Gogle noktowizyjne (Gen3, zielone) - Óculos de visão noturna (Gen3, verdes) - ПНВ (Gen3, зеленый) - Sistema de visión nocturna (Gen3, verde) - - - NV Goggles (Gen3, Black) - Noktovizor (Gen3, černý) - JVN (Gen3, noires) - NS-Brille (Gen3, Schwarz) - Occhiali notturni (Gen3, neri) - Gogle noktowizyjne (Gen3, czarne) - Óculos de visão noturna (Gen3, pretos) - ПНВ (Gen3, черный) - Sistema de visión nocturna (Gen3, negro) - - - NV Goggles (Gen4) - Noktovizor (Gen4) - JVN (Gen4) - NS-Brille (Gen4) - Occhiali notturni (Gen4) - Gogle noktowizyjne (Gen4) - Óculos de visão noturna (Gen4) - ПНВ (Gen4) - Sistema de visión nocturna (Gen4) - - - NV Goggles (Wide) - NS-Brille (Weitwinkel) - Sistema de visión nocturna (Panorámicas) - Gogle noktowizyjne (panoramiczne) - Noktovizor (Široký) - ПНВ (Широкий) - - - Brightness: %1 - Helligkeit: %1 - Brillo: %1 - Czułość: %1 - Zvýšení: %1 - Luminosité : %1 - Контраст: - Fényerő: %1 - Luminosidade: %1 - Luminosità: %1 - - - Increase NVG Brightness - Nachtsichtgerätshelligkeit erhöhen - Aumentar el brillo de las NVG - Zwiększ czułość noktowizji - Zvýšení jasu noktovizoru - Augmenter la luminosité des JVN - Увеличить яркость ПНВ - Fényerő növelése - Aumentar Luminosidade do EVN - Aumenta la luminosità dell'NVG - - - Decrease NVG Brightness - Nachtsichtgerätshelligkeit verringern - Disminuir el brillo de las NVG - Zmniejsz czułość noktowizji - Snížení jasu noktovizoru - Baisser la luminosité des JVN - Уменьшить яркость ПНВ - Fényerő csökkentése - Diminuir Luminosidade do EVN - Riduci la luminosità dell'NVG - - - + + + NV Goggles (Gen1) + Noktovizor (Gen1) + JVN (Gen1) + NS-Brille (Gen1) + Occhiali notturni (Gen1) + Gogle noktowizyjne (Gen1) + Óculos de visão noturna (Gen1) + ПНВ (Gen1) + Sistema de visión nocturna (Gen1) + + + NV Goggles (Gen2) + Noktovizor (Gen2) + JVN (Gen2) + NS-Brille (Gen2) + Occhiali notturni (Gen2) + Gogle noktowizyjne (Gen2) + Óculos de visão noturna (Gen2) + ПНВ (Gen2) + Sistema de visión nocturna (Gen2) + + + NV Goggles (Gen3) + Noktovizor (Gen3) + JVN (Gen3) + NS-Brille (Gen3) + Occhiali notturni (Gen3) + Gogle noktowizyjne (Gen3) + Óculos de visão noturna (Gen3) + ПНВ (Gen3) + Sistema de visión nocturna (Gen3) + + + NV Goggles (Gen3, Brown) + Noktovizor (Gen3, hnědý) + JVN (Gen3, marron) + NS-Brille (Gen3, Braun) + Occhiali notturni (Gen3, marroni) + Gogle noktowizyjne (Gen3, brązowe) + Óculos de visão noturna (Gen3, marrons) + ПНВ (Gen3, коричневый) + Sistema de visión nocturna (Gen3, marrón) + + + NV Goggles (Gen3, Green) + Noktovizor (Gen3, zelený) + JVN (Gen3, vertes) + NS-Brille (Gen3, Grün) + Occhiali notturni (Gen3, verdi) + Gogle noktowizyjne (Gen3, zielone) + Óculos de visão noturna (Gen3, verdes) + ПНВ (Gen3, зеленый) + Sistema de visión nocturna (Gen3, verde) + + + NV Goggles (Gen3, Black) + Noktovizor (Gen3, černý) + JVN (Gen3, noires) + NS-Brille (Gen3, Schwarz) + Occhiali notturni (Gen3, neri) + Gogle noktowizyjne (Gen3, czarne) + Óculos de visão noturna (Gen3, pretos) + ПНВ (Gen3, черный) + Sistema de visión nocturna (Gen3, negro) + + + NV Goggles (Gen4) + Noktovizor (Gen4) + JVN (Gen4) + NS-Brille (Gen4) + Occhiali notturni (Gen4) + Gogle noktowizyjne (Gen4) + Óculos de visão noturna (Gen4) + ПНВ (Gen4) + Sistema de visión nocturna (Gen4) + + + NV Goggles (Wide) + NS-Brille (Weitwinkel) + Sistema de visión nocturna (Panorámicas) + Gogle noktowizyjne (panoramiczne) + Noktovizor (Široký) + ПНВ (Широкий) + Óculos de visão noturna (Panorâmico) + + + Brightness: %1 + Helligkeit: %1 + Brillo: %1 + Czułość: %1 + Zvýšení: %1 + Luminosité : %1 + Контраст: + Fényerő: %1 + Luminosidade: %1 + Luminosità: %1 + + + Increase NVG Brightness + Nachtsichtgerätshelligkeit erhöhen + Aumentar el brillo de las NVG + Zwiększ czułość noktowizji + Zvýšení jasu noktovizoru + Augmenter la luminosité des JVN + Увеличить яркость ПНВ + Fényerő növelése + Aumentar Luminosidade do EVN + Aumenta la luminosità dell'NVG + + + Decrease NVG Brightness + Nachtsichtgerätshelligkeit verringern + Disminuir el brillo de las NVG + Zmniejsz czułość noktowizji + Snížení jasu noktovizoru + Baisser la luminosité des JVN + Уменьшить яркость ПНВ + Fényerő csökkentése + Diminuir Luminosidade do EVN + Riduci la luminosità dell'NVG + + + \ No newline at end of file diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 76407da435..facc3e8248 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,107 +1,122 @@  - - - ACE Options - ACE Optionen - Opciones ACE - Opcje ACE - ACE Nastavení - ACE Options - ACE Настройки - Opções do ACE - ACE Opciók - Opzioni ACE - - - Fix Animation - - - Reset All - Rücksetzen - - - Colors - Farben - цвета - Colors - - - Options - Optionen - Opciones - Opcje - Nastavení - Options - Настройки - Opções - Opciók - Opzioni - - - Values - - - Yes - Ja - Si - Tak - Ano - Oui - Да - Igen - Sim - Si - - - No - Nein - No - Nie - Ne - Non - Нет - Nem - Não - No - - - Setting: - Nastavení: - Einstellung: - Yстановки: - Ajuste: - - - Export - - - Open Export Menu - - - String input. - - - Array. Seperate elements by using ,. - - - Number - - - Uknown input type - - - Save input - - - Include Client Settings - - - Exclude Client Settings - - - Settings exported to clipboard - - + + + ACE Options + ACE Optionen + Opciones ACE + Opcje ACE + ACE Nastavení + ACE Options + ACE Настройки + Opções do ACE + ACE Opciók + Opzioni ACE + + + Fix Animation + Arrumar Animação + + + Reset All + Rücksetzen + Resetar Tudo + + + Colors + Farben + цвета + Colors + Cores + + + Options + Optionen + Opciones + Opcje + Nastavení + Options + Настройки + Opções + Opciók + Opzioni + + + Values + Valores + + + Yes + Ja + Si + Tak + Ano + Oui + Да + Igen + Sim + Si + + + No + Nein + No + Nie + Ne + Non + Нет + Nem + Não + No + + + Setting: + Nastavení: + Einstellung: + Yстановки: + Ajuste: + Opção: + + + Export + Exportar + + + Open Export Menu + Abrir menu de exportação + + + String input. + Input de String + + + Array. Seperate elements by using ,. + Vetor. Separe elementos usando *,*. + + + Number + Número + + + Uknown input type + Tipo desonhecido de input + + + Save input + Salvar input + + + Include Client Settings + Incluir opções do cliente + + + Exclude Client Settings + Excluir opções do cliente + + + Settings exported to clipboard + Opções exportadas para o clipboard. + + \ No newline at end of file diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 5d2c9595df..dea35406bd 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -1,156 +1,158 @@  - - - Display text on jam - - - Display a notification whenever your weapon gets jammed - - - Spare barrel - Ersatzlauf - Cañón de repuesto - Zapasowa lufa - Náhradní hlaveň - Deuxième canon - Запасной ствол - Tartalék cső - Cano Reserva - Canna di ricambio - - - Use to swap barrel. - Benutzen, um Lauf zu wechseln. - Permite intercambiar el cañón - Umożliwia wymianę lufy - Používané k výměně hlavně - Utilisé pour changer de canon. - Используется для смены ствола. - Cső kicseréléséhez. - Use para trocar o cano/estriamento. - Usata per cambiare la canna. - - - Weapon jammed! - Ladehemmung! - Arma encasquillada! - Broń się zacięła! - Zbraň se zasekla! - Arme enrayée - Оружие заклинило! - Elakadt a fegyver! - Arma travada! - Arma inceppata! - - - Clear jam - Ladehemmung beheben - Desencasquillar el arma - Usuń zacięcie - Uvolnit zbraň - Désenrayer l'arme - Исправить клин оружия. - Hárítsd el az akadályt! - Destravar arma - Ripulisci l'arma - - - Jam cleared - Ladehemmung behoben - Arma desencasquillada - Zacięcie usunięte - Zbraň uvolněna - Arme désenrayée - Оружие исправлено - Akadály elhárítva! - Arma destravada - Arma pronta al fuoco - - - Swap barrel - Lauf wechseln - Cambiar el cañón - Wymień lufę - Vyměnit hlaveň - Changer de canon - Сменить ствол - Cserélj csövet! - Substituir cano - Sostiuisci la canna - - - Swapping barrel... - Lauf wird gewechselt... - Cambiando el cañón... - Wymienianie lufy... - Vyměňuji hlaveň ... - Changement du canon... - Смена ствола... - Cső cserélése... - Substituindo cano... - Sto sostituendo la canna ... - - - Swapped barrel - Lauf gewechselt - Cañón cambiado - Lufa wymieniona - Hlaveň vyměněna - Canon changé - Ствол сменен - Cső kicserélve! - Cano substituído - Canna sostituita - - - Check weapons temperature - Temperatur der Waffe prüfen - Verificar temperatura del arma - Sprawdź temperaturę broni - Vérifier la température de l'arme - Hőmérséklet ellenőrzése - Zjistit teplotu zbraně - Conferir temperatura da arma - Controlla la temperatura della canna - Проверить температуру оружия - - - Check<br/>temperature - Temperatur<br/>prüfen - Verificar<br/>temperatura - Sprawdź<br/>temperaturę - Vérifier la<br/>température - Hőmérséklet<br/>ellenőrzése - Zjistit<br/>teplotu - Conferir<br/>temperatura - Controlla la<br/>temperatura - Проверить<br/>температуру - - - Checking temperature ... - Prüfe Temperatur ... - Verificando temperatura ... - Sprawdzanie temperatury ... - Vérification de la température ... - Hőmérséklet ellenőrzése... - Zjišťuju teplotu ... - Conferindo temperatura ... - Sto controllando la temperatura ... - Проверка температуры ... - - - Temperature - Temperatur - Temperatura - Temperatura - Température - Hőmérséklet - Teplota - Temperatura - Temperatura - Температура - - + + + Display text on jam + Mostrar texto quando trava acontecer + + + Display a notification whenever your weapon gets jammed + Mostra uma notificação quando sua arma sofre um travamento. + + + Spare barrel + Ersatzlauf + Cañón de repuesto + Zapasowa lufa + Náhradní hlaveň + Deuxième canon + Запасной ствол + Tartalék cső + Cano Reserva + Canna di ricambio + + + Use to swap barrel. + Benutzen, um Lauf zu wechseln. + Permite intercambiar el cañón + Umożliwia wymianę lufy + Používané k výměně hlavně + Utilisé pour changer de canon. + Используется для смены ствола. + Cső kicseréléséhez. + Use para trocar o cano/estriamento. + Usata per cambiare la canna. + + + Weapon jammed! + Ladehemmung! + Arma encasquillada! + Broń się zacięła! + Zbraň se zasekla! + Arme enrayée + Оружие заклинило! + Elakadt a fegyver! + Arma travada! + Arma inceppata! + + + Clear jam + Ladehemmung beheben + Desencasquillar el arma + Usuń zacięcie + Uvolnit zbraň + Désenrayer l'arme + Исправить клин оружия. + Hárítsd el az akadályt! + Destravar arma + Ripulisci l'arma + + + Jam cleared + Ladehemmung behoben + Arma desencasquillada + Zacięcie usunięte + Zbraň uvolněna + Arme désenrayée + Оружие исправлено + Akadály elhárítva! + Arma destravada + Arma pronta al fuoco + + + Swap barrel + Lauf wechseln + Cambiar el cañón + Wymień lufę + Vyměnit hlaveň + Changer de canon + Сменить ствол + Cserélj csövet! + Substituir cano + Sostiuisci la canna + + + Swapping barrel... + Lauf wird gewechselt... + Cambiando el cañón... + Wymienianie lufy... + Vyměňuji hlaveň ... + Changement du canon... + Смена ствола... + Cső cserélése... + Substituindo cano... + Sto sostituendo la canna ... + + + Swapped barrel + Lauf gewechselt + Cañón cambiado + Lufa wymieniona + Hlaveň vyměněna + Canon changé + Ствол сменен + Cső kicserélve! + Cano substituído + Canna sostituita + + + Check weapons temperature + Temperatur der Waffe prüfen + Verificar temperatura del arma + Sprawdź temperaturę broni + Vérifier la température de l'arme + Hőmérséklet ellenőrzése + Zjistit teplotu zbraně + Conferir temperatura da arma + Controlla la temperatura della canna + Проверить температуру оружия + + + Check<br/>temperature + Temperatur<br/>prüfen + Verificar<br/>temperatura + Sprawdź<br/>temperaturę + Vérifier la<br/>température + Hőmérséklet<br/>ellenőrzése + Zjistit<br/>teplotu + Conferir<br/>temperatura + Controlla la<br/>temperatura + Проверить<br/>температуру + + + Checking temperature ... + Prüfe Temperatur ... + Verificando temperatura ... + Sprawdzanie temperatury ... + Vérification de la température ... + Hőmérséklet ellenőrzése... + Zjišťuju teplotu ... + Conferindo temperatura ... + Sto controllando la temperatura ... + Проверка температуры ... + + + Temperature + Temperatur + Temperatura + Temperatura + Température + Hőmérséklet + Teplota + Temperatura + Temperatura + Температура + + \ No newline at end of file diff --git a/addons/parachute/stringtable.xml b/addons/parachute/stringtable.xml index f97b389eeb..7d3c278fd8 100644 --- a/addons/parachute/stringtable.xml +++ b/addons/parachute/stringtable.xml @@ -1,46 +1,50 @@  - - - Altimeter - Altimètre - Höhenmesser - Výškoměr - Wysokościomierz - Altímetro - Magasságmérő - Высотомер - - - Altimeter Watch - Montre altimètre - Höhenmesser - Hodinky s výškoměrem - Zegarek z wysokościomierzem - Reloj altímetro - Magasságmérő - Часы с высотомером - - - Used to show height, descent rate and the time. - Affiche la hauteur, le taux de descente et l'heure. - Zeigt Höhe, Fallgeschwindigkeit und Uhrzeit. - Používané k zjištění výšky, rychlosti sestupu a času. - Używany przez spadochroniarzy, pokazuje wysokość, prędkość opadania oraz czas. - Utilizado para mostrar altura, tasa de descenso y hora. - Mutatja a magasságot, zuhanás sebességét és az időt. - Используется для определения высоты, скорости снижения и времени. - - - Non-Steerable Parachute - Ungelenkter Fallschirm - Paracaídas no dirigible - Parachute non manœuvrable - Niesterowalny spadochron - Neříditelný padák - Irányithatatlan ejtőernyő - Неуправляемый парашют - - + + + Altimeter + Altimètre + Höhenmesser + Výškoměr + Wysokościomierz + Altímetro + Magasságmérő + Высотомер + Altímetro + + + Altimeter Watch + Montre altimètre + Höhenmesser + Hodinky s výškoměrem + Zegarek z wysokościomierzem + Reloj altímetro + Magasságmérő + Часы с высотомером + Relógio Altímetro + + + Used to show height, descent rate and the time. + Affiche la hauteur, le taux de descente et l'heure. + Zeigt Höhe, Fallgeschwindigkeit und Uhrzeit. + Používané k zjištění výšky, rychlosti sestupu a času. + Używany przez spadochroniarzy, pokazuje wysokość, prędkość opadania oraz czas. + Utilizado para mostrar altura, tasa de descenso y hora. + Mutatja a magasságot, zuhanás sebességét és az időt. + Используется для определения высоты, скорости снижения и времени. + Usado para mostrar altura, taxa de descida e o tempo. + + + Non-Steerable Parachute + Ungelenkter Fallschirm + Paracaídas no dirigible + Parachute non manœuvrable + Niesterowalny spadochron + Neříditelný padák + Irányithatatlan ejtőernyő + Неуправляемый парашют + Para-querdas não controlável + + \ No newline at end of file diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 9ccd7752d2..93c2050661 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -725,6 +725,7 @@ CH-47I Chinook (nieuzbrojony) CH-47I Chinook (невооруженный) CH-47I Chinook (Neozbrojený) + CH-47I Chinook (Desarmado) A-10D Thunderbolt II @@ -878,7 +879,7 @@ M183 Demoliční nálož M183 Charge de Démolition M183 Комплектный подрывной заряд - M183 Sacola de Demolição + Sacola de Demolição M183 M183 romboló töltet M183 Demolition Charge Assembly @@ -890,7 +891,7 @@ M112 Výbušná nálož Pétard M112 M112 подрывной заряд - M112 Carga de Demolição + Carga de Demolição M112 M112 romboló töltet M112 Demolition Block @@ -902,7 +903,7 @@ M67 Granát M67 Grenade à fragmentation M67 ручная осколочная граната - M67 Granada de fragmentação + Granada de fragmentação M67 M67 repeszgránát M67 Granata a frammentazione @@ -914,7 +915,7 @@ M83 Kouřový Granát (Bílý) M83 Grenade fumigène (Blanche) M83 дымовой гранаты (Белый) - M83 Granada de fumaça (Branca) + Granada de fumaça (Branca) M83 M83 füstgránát (Fehér) M83 Granata fumogena (Bianco) @@ -926,7 +927,7 @@ M18 Kouřový Granát (Modrý) M18 Grenade fumigène (Bleue) M18 дымовой гранаты (Синий) - M18 Granada de fumaça (Azul) + Granada de fumaça (Azul) M18 M18 füstgránát (Kék) M18 Granata fumogena (Blu) @@ -938,7 +939,7 @@ M18 Kouřový Granát (Zelený) M18 Grenade fumigène (Verte) M18 дымовой гранаты (Зелёный) - M18 Granada de fumaça (Verde) + Granada de fumaça (Verde) M18 M18 füstgránát (Zöld) M18 Granata fumogena (Verde) @@ -950,7 +951,7 @@ M18 Kouřový Granát (Oranžový) M18 Grenade fumigène (Orange) M18 дымовой гранаты (Оранжевый) - M18 Granada de fumaça (Laranja) + Granada de fumaça (Laranja) M18 M18 füstgránát (Narancssárga) M18 Granata fumogena (Arancione) @@ -962,7 +963,7 @@ M18 Kouřový Granát (Fialový) M18 Grenade fumigène (Pourpre) M18 дымовой гранаты (Пурпурный) - M18 Granada de fumaça (Roxa) + Granada de fumaça (Roxa) M18 M18 füstgránát (Lila) M18 Granata fumogena (Viola) @@ -974,7 +975,7 @@ M18 Kouřový Granát (Červený) M18 Grenade fumigène (Rouge) M18 дымовой гранаты (Красный) - M18 Granada de fumaça (Vermelha) + Granada de fumaça (Vermelha) M18 M18 füstgránát (Piros) M18 Granata fumogena (Rosso) @@ -986,7 +987,7 @@ M18 Kouřový Granát (Žlutý) M18 Grenade fumigène (Jaune) M183 дымовой гранаты (Жёлтые) - M18 Granada de fumaça (Amarela) + Granada de fumaça (Amarela) M18 M18 füstgránát (Sárga) M18 Granata fumogena (Giallo) @@ -998,7 +999,7 @@ M15 Protitanková Mina M15 Mine antichar M15 противотанковая мина - M15 Mina anticarro + Mina anti-tanqueM15 M15 harckocsiakna M15 Mine anticarro @@ -1010,7 +1011,7 @@ VS-50 Protipěchotní Mina VS-50 Mine antipersonnel à pression VS-50 Противопехотная мина - VS-50 Mina antipessoal + Mina antipessoal VS-50 VS-50 gyalogsági taposóakna VS-50 Mine antiuomo @@ -1022,7 +1023,7 @@ M26 Šrapnelová Mina M26 Mine antipersonnel bondissante M26 Противопехотная мина - M26 Mina saltadora antipessoal + Mina saltadora antipessoal M26 M26 gyalogsági ugróakna M26 Mine saltanti antiuomo @@ -1034,187 +1035,230 @@ PMR-3 Nástražná Mina PMR-3 Mine antipersonnel à traction PMR-3 Противопехотная мина - PMR-3 Mina antipessoal (armadilha) + Mina antipessoal (armadilha) PMR-3 PMR-3 botlódrótos gyalogsági akna PMR-3 Mine antiuomo P99 P99 + P99 MP-443 Grach MP-443 Grach + MP-443 Grach ACP-C2 ACP-C2 + ACP-C2 FNX-45 Tactical FNX-45 Tactical + FNX-45 Tactical Chiappa Rhino 60DS Chiappa Rhino 60DS + Chiappa Rhino 60DS Taurus Judge Taurus Judge + Taurus Judge NLAW NLAW + NLAW RPG-32 RPG-32 + RPG-32 Mini-Spike (AA) Mini-Spike (AA) + Mini-Spike (AA) Mini-Spike (AT) Mini-Spike (AT) + Mini-Spike (AT) MX MX + MX MX (Black) MX (Black) + MX (Preto) MXC MXC + MXC MXC (Black) MXC (Black) + MXC (Preto) MX 3GL MX 3GL + MX 3GL MX 3GL (Black) MX 3GL (Black) + MX 3GL (Preto) MX LSW MX LSW + MX LSW MX LSW (Black) MX LSW (Black) + MX LSW (Preto) MXM MXM + MXM MXM (Black) MXM (Black) + MXM (Preto) KT2002 Katiba KT2002 Katiba + KT2002 Katiba KT2002C Katiba KT2002C Katiba + KT2002C Katiba KT2002 Katiba KGL KT2002 Katiba KGL + KT2002 Katiba KGL F2000 (Camo) F2000 (Camo) + F2000 (Camo) F2000 F2000 + F2000 F2000 Tactical (Camo) F2000 Tactical (Camo) + F2000 Tactical (Camo) F2000 Tactical F2000 Tactical + F2000 Tactical F2000 EGLM (Camo) F2000 EGLM (Camo) + F2000 EGLM (Camo) F2000 EGLM F2000 EGLM + F2000 EGLM TAR-21 TAR-21 + TAR-21 CTAR-21 CTAR-21 + CTAR-21 TAR-21 EGLM TAR-21 EGLM + TAR-21 EGLM Vector SMG Vector SMG + Vector SMG Scorpion Evo 3 A1 Scorpion Evo 3 A1 + Scorpion Evo 3 A1 CPW CPW + CPW RFB SDAR RFB SDAR + RFB SDAR Stoner 99 LMG Stoner 99 LMG + Stoner 99 LMG Negev NG7 Negev NG7 + Negev NG7 Mk14 Mod 1 EBR Mk14 Mod 1 EBR + Mk14 Mod 1 EBR GM6 Lynx GM6 Lynx + GM6 Lynx GM6 Lynx (Camo) GM6 Lynx (Camo) + GM6 Lynx (Camo) M200 Intervention M200 Intervention + M200 Intervention M200 Intervention (Camo) M200 Intervention (Camo) + M200 Intervention (Camo) VS-121 VS-121 + VS-121 - TODO: MAR-10 .338 @@ -1227,7 +1271,6 @@ TODO: MAR-10 .338 (Sand) - TODO: Mk-I EMR 7.62 mm @@ -1249,7 +1292,6 @@ TODO: NATO DMR (provisional) spotter - TODO: ASP-1 Kir 12.7 mm @@ -1259,7 +1301,6 @@ TODO: ASP-1 Kir 12.7 mm (Tan) - TODO: Cyrus 9.3 mm @@ -1272,7 +1313,6 @@ TODO: Cyrus 9.3 mm (Tan) - TODO: Mk14 7.62 mm @@ -1282,7 +1322,6 @@ TODO: Mk14 7.62 mm (Olive) - TODO: Navid 9.3 mm @@ -1292,7 +1331,6 @@ TODO: Navid 9.3 mm (Tan) - TODO: SPMG .338 @@ -1305,6 +1343,5 @@ TODO: SPMG .338 (Sand) - - + \ No newline at end of file diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index 40f36c6549..a1deb3d5d3 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -1,42 +1,46 @@ - + - - - Check ammo on weapon reload - - - Check the ammo in your new magazine on magazine reload. - - - Check Ammo - Munition prüfen - Verificar munición - Sprawdź amunicję - Vérifier Munitions - Lőszerellenőrzés - Zkontrolovat Munici - Controlla le munizioni - Conferir munições - Kонтроль Боеприпасы - - - Ammo - Munition - Munición - Amunicja - Munitions - Lőszer - Munice - Munizioni - Munições - Боеприпасы - - - Link belt - - - Linking belt... - - - + + + Check ammo on weapon reload + Conferir munição ao recarregar a arma + + + Check the ammo in your new magazine on magazine reload. + Confere a munição no seu novo carregador ao recarregar a arma + + + Check Ammo + Munition prüfen + Verificar munición + Sprawdź amunicję + Vérifier Munitions + Lőszerellenőrzés + Zkontrolovat Munici + Controlla le munizioni + Conferir munições + Kонтроль Боеприпасы + + + Ammo + Munition + Munición + Amunicja + Munitions + Lőszer + Munice + Munizioni + Munições + Боеприпасы + + + Link belt + Ligar cintos de munição + + + Linking belt... + Ligando cintos... + + + \ No newline at end of file diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml index 6677153419..ba241c0a63 100644 --- a/addons/reloadlaunchers/stringtable.xml +++ b/addons/reloadlaunchers/stringtable.xml @@ -5,20 +5,22 @@ Load launcher Panzerabwehr laden + Recarregar lançador Loading launcher ... Panzerabwehr wird geladen ... + Recarregando lançador... Launcher loaded Panzerabwehr geladen + Lançador Carregado - Load %1 Lade %1 + Recarregar %1 - - + \ No newline at end of file diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 59a9b2b31c..aa823960f0 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,21 +1,25 @@  - - - Deploy in 5 seconds ... - Wird in 5 Sekunden errichtet ... - - - Rallypoint deployed - Rallypoint errichtet - - - Teleported to Base - Zur Basis teleportiert - - - Teleported to Rallypoint - Zum Rallypoint teleportiert - - - + + + Deploy in 5 seconds ... + Wird in 5 Sekunden errichtet ... + Será posicionado em 5 segundos ... + + + Rallypoint deployed + Rallypoint errichtet + Rallypoints posicionado + + + Teleported to Base + Zur Basis teleportiert + Teletransportado para a Base + + + Teleported to Rallypoint + Zum Rallypoint teleportiert + Teletransportado para o Rallypoints + + + \ No newline at end of file diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index 9684babfdf..1697a7a5bc 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -1,42 +1,46 @@  - - - Safe Mode - Waffe sichern - Seguro puesto - Bezpiecznik - Pojistka - Veszélytelenités - Предохранитель - - - Take off Safety - Waffe entsichern - Quitar seguro - Zwolnij bezpiecznik - Uvolnit pojistku - Veszélyesités - Снять с предохранителя - - - Put on Safety - Waffe gesichert - Poner seguro - Zabezpiecz broń - Přepnout pojistku - Veszélytelenitve - Поставить на предохранитель - - - Took off Safety - Waffe entsichert - Seguro quitado - Odbezpieczono broń - Odstranit pojistku - veszélyes - Снят с предохранителя - - + + + Safe Mode + Waffe sichern + Seguro puesto + Bezpiecznik + Pojistka + Veszélytelenités + Предохранитель + Modo de segurança + + + Take off Safety + Waffe entsichern + Quitar seguro + Zwolnij bezpiecznik + Uvolnit pojistku + Veszélyesités + Снять с предохранителя + Tirar segurança + + + Put on Safety + Waffe gesichert + Poner seguro + Zabezpiecz broń + Přepnout pojistku + Veszélytelenitve + Поставить на предохранитель + Colocar Segurança + + + Took off Safety + Waffe entsichert + Seguro quitado + Odbezpieczono broń + Odstranit pojistku + veszélyes + Снят с предохранителя + Tirou Segurança + + \ No newline at end of file diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index 842bf89127..c4a12ac744 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -1,21 +1,23 @@  - - - Switched unit - Einheit gewechselt - Юнит переключен - Prohozená jednotka - Przełącz jednostkę - Cambiado de unidad - - - This unit is too close to the enemy. - Diese Einheit ist zu nah am Feind. - Юнит слишком близок к противнику - Tato jednotka je moc blízko k nepříteli. - Ta jednostka jest zbyt blisko przeciwnika. - Esta unidad está demasiado cerca del enemigo. - - - + + + Switched unit + Einheit gewechselt + Юнит переключен + Prohozená jednotka + Przełącz jednostkę + Cambiado de unidad + Trocado de unidade + + + This unit is too close to the enemy. + Diese Einheit ist zu nah am Feind. + Юнит слишком близок к противнику + Tato jednotka je moc blízko k nepříteli. + Ta jednostka jest zbyt blisko przeciwnika. + Esta unidad está demasiado cerca del enemigo. + Essa unidade está muito perta do inimigo. + + + \ No newline at end of file diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index 580283dcab..20d17bd79b 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -1,116 +1,127 @@  - - - Unlock Vehicle - Fahrzeug aufschließen - Vehículo abierto - Déverrouiller le véhicule - Odblokuj pojazd - Odemknout vozidlo - Jármű nyitása - Открыть машину - - - Lock Vehicle - Fahrzeug abschließen - Vehículo cerrado - Verrouiller le véhicule - Zablokuj pojazd - Zamknout vozidlo - Jármű zárása - Закрыть машину - - - Lockpick Vehicle - Fahrzeug knacken - Forzar vehículo - Crocheter le véhicule - Otwórz zamek - Vypáčit vozidlo - Jármű feltörése - Взломать замок - - - Picking Lock.... - Schloss knacken... - Forzando cierre... - Crochetage... - Otwieranie zamka... - Páčim vozidlo... - Feltörés... - Взламываем замок... - - - A custom key that will open a specific vehicle. - Ein Schlüssel der ein bestimmtes Fahrzeug aufschließt. - Una llave concreta abrirá un vehículo concreto. - Une clé propre à un seul véhicule. - Unikatowy klucz który otworzy konkretny pojazd. - Vlastní klíč, který otevře konkrétní vozidlo. - Kulcs egy járműhez - Ключ от конкретной машины. - - - A Master Key will open any lock, no matter what! - Ein Generalschlüssel der jedes Schloss öffnet... - Una llave maestra abrirá cualquier cierre, no importa cual! - Un passe-partout qui ouvrira n'importe quelle serrure. - Uniwersalny klucz który otworzy każdy zamek. - Hlavní klíč otevře libovolný zámek, bez vyjímek! - Általános kulcs minden járműhez - Универсальный ключ, открывающий любой замок. - - - A lockpick set that can pick the locks of most vehicles. - Ein Dietrich der die meisten Fahrzeugschlösser knacken kann... - Un set de ganzúas puede abrir la mayoría de cerraduras de vehículos. - Un crochet qui ouvrira la plupart des véhicules. - Zestaw wytrychów dzięki któremu można otworzyć zamki w większości pojazdów. - Sada paklíčů, která dokáže odemknout zámky u většiny vozidel. - Álkulcs melyik minden járműt nyitni tud - Набор отмычек, которым можно взломать почти любую машину. - - - A key that should open most WEST vehicles. - Ein Schlüssel der die meisten westlichen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos occidentales. - Une clé qui ouvrira la plupart des véhicules WEST. - Klucz który powinien otworzyć większość pojazdów ZACHODU. - Klíč který by měl otevřít většinou Západních vozidel. - Általános kulcs WEST járművekhez - Ключ для открытия большинства машин Запада. - - - A key that should open most EAST vehicle. - Ein Schlüssel der die meisten östlichen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos orientales. - Une clé qui ouvrira la plupart des véhicules EAST. - Klucz który powinien otworzyć większość pojazdów WSCHODU. - Általános kulcs EAST járművekhez - Klíč který by měl otevřít vetšinu Východních vozidel. - Ключ для открытия большинства машин Востока. - - - A key that should open most INDEP vehicle. - Ein Schlüssel der die meisten Fahrzeuge der Aufständischen öffnen sollte... - Una llave que puede abrir la mayoría de vehículos independientes. - Une clé qui ouvrira la plupart des véhicules INDEP. - Klucz który powinien otworzyć większość pojazdów INDFOR. - Általános kulcs INDEPENDENT járművekhez - Klíč který by měl otevřít většinu Nezávislých vozidel. - Ключ для открытия большинства машин Независимых. - - - A key that should open most CIV vehicle. - Ein Schlüssel der die meisten zivilen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos civiles. - Une clé qui ouvrira la plupart des véhicules CIV. - Klucz który powinien otworzyć większość pojazdów CYWILNYCH. - Klíč který by měl otevřít většinu Civilních vozidel. - Általános kulcs CIVILIAN járművekhez - Ключ для открытия большинства машин Гражданских. - - + + + Unlock Vehicle + Fahrzeug aufschließen + Vehículo abierto + Déverrouiller le véhicule + Odblokuj pojazd + Odemknout vozidlo + Jármű nyitása + Открыть машину + Destravar veículo + + + Lock Vehicle + Fahrzeug abschließen + Vehículo cerrado + Verrouiller le véhicule + Zablokuj pojazd + Zamknout vozidlo + Jármű zárása + Закрыть машину + Travar Veículo + + + Lockpick Vehicle + Fahrzeug knacken + Forzar vehículo + Crocheter le véhicule + Otwórz zamek + Vypáčit vozidlo + Jármű feltörése + Взломать замок + Usar mixa no Veículo + + + Picking Lock.... + Schloss knacken... + Forzando cierre... + Crochetage... + Otwieranie zamka... + Páčim vozidlo... + Feltörés... + Взламываем замок... + Usando Mixa... + + + A custom key that will open a specific vehicle. + Ein Schlüssel der ein bestimmtes Fahrzeug aufschließt. + Una llave concreta abrirá un vehículo concreto. + Une clé propre à un seul véhicule. + Unikatowy klucz który otworzy konkretny pojazd. + Vlastní klíč, který otevře konkrétní vozidlo. + Kulcs egy járműhez + Ключ от конкретной машины. + Uma chave específica que abre um veículo específico. + + + A Master Key will open any lock, no matter what! + Ein Generalschlüssel der jedes Schloss öffnet... + Una llave maestra abrirá cualquier cierre, no importa cual! + Un passe-partout qui ouvrira n'importe quelle serrure. + Uniwersalny klucz który otworzy każdy zamek. + Hlavní klíč otevře libovolný zámek, bez vyjímek! + Általános kulcs minden járműhez + Универсальный ключ, открывающий любой замок. + Uma chave mestre irá abrir qualquer fechadura, não importa qual! + + + A lockpick set that can pick the locks of most vehicles. + Ein Dietrich der die meisten Fahrzeugschlösser knacken kann... + Un set de ganzúas puede abrir la mayoría de cerraduras de vehículos. + Un crochet qui ouvrira la plupart des véhicules. + Zestaw wytrychów dzięki któremu można otworzyć zamki w większości pojazdów. + Sada paklíčů, která dokáže odemknout zámky u většiny vozidel. + Álkulcs melyik minden járműt nyitni tud + Набор отмычек, которым можно взломать почти любую машину. + Um set de chave mixas que pode abrir a maioria dos veículos. + + + A key that should open most WEST vehicles. + Ein Schlüssel der die meisten westlichen Fahrzeuge öffnen sollte... + Una llave que puede abrir la mayoría de vehículos occidentales. + Une clé qui ouvrira la plupart des véhicules WEST. + Klucz który powinien otworzyć większość pojazdów ZACHODU. + Klíč který by měl otevřít většinou Západních vozidel. + Általános kulcs WEST járművekhez + Ключ для открытия большинства машин Запада. + Uma chave que abre a maioria dos veículos ocidentais + + + A key that should open most EAST vehicle. + Ein Schlüssel der die meisten östlichen Fahrzeuge öffnen sollte... + Una llave que puede abrir la mayoría de vehículos orientales. + Une clé qui ouvrira la plupart des véhicules EAST. + Klucz który powinien otworzyć większość pojazdów WSCHODU. + Általános kulcs EAST járművekhez + Klíč který by měl otevřít vetšinu Východních vozidel. + Ключ для открытия большинства машин Востока. + Uma chave que abre a maioria dos veículos orientais + + + A key that should open most INDEP vehicle. + Ein Schlüssel der die meisten Fahrzeuge der Aufständischen öffnen sollte... + Una llave que puede abrir la mayoría de vehículos independientes. + Une clé qui ouvrira la plupart des véhicules INDEP. + Klucz który powinien otworzyć większość pojazdów INDFOR. + Általános kulcs INDEPENDENT járművekhez + Klíč který by měl otevřít většinu Nezávislých vozidel. + Ключ для открытия большинства машин Независимых. + Uma chave que abre a maioria dos veículos independentes + + + A key that should open most CIV vehicle. + Ein Schlüssel der die meisten zivilen Fahrzeuge öffnen sollte... + Una llave que puede abrir la mayoría de vehículos civiles. + Une clé qui ouvrira la plupart des véhicules CIV. + Klucz który powinien otworzyć większość pojazdów CYWILNYCH. + Klíč který by měl otevřít většinu Civilních vozidel. + Általános kulcs CIVILIAN járművekhez + Ключ для открытия большинства машин Гражданских. + Uma chave que abre a maioria dos veículos civis. + + \ No newline at end of file diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 3a39d59396..684168f2f2 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -1,254 +1,256 @@  - - - Display text on grenade throw - - - Display a hint or text on grenade throw. - - - Select Pistol - Pistole auswählen - Seleccionar pistola - Wybierz pistolet - Zvolit příruční zbraň - Выбрать пистолет - Sélectionner Pistolet - Pisztoly Kiválasztása - Selecionar Pistola - Seleziona la Pistola - - - Select Rifle - Gewehr auswählen - Seleccionar fusil - Wybierz karabin - Zvolit hlavní zbraň - Выбрать автомат - Sélectionner Fusil - Puska Kiválasztása - Selecionar Rifle - Seleziona il Fucile - - - Select Launcher - Raketenwerfer auswählen - Seleccionar lanzador - Wybierz wyrzutnię - Zvolit Raketomet - Выбрать гранатомет - Sélectionner Lanceur - Rakétavető Kiválasztása - Selecionar Lançador - Seleziona il Lanciatore - - - Select Grenade Launcher - Granatwerfer auswählen - Seleccionar lanzador de granadas - Wybierz granatnik - Zvolit Granátomet - Выбрать подствольный гранатомет - Sélectionner Lance-grenades - Gránátvető Kiválasztása - Selecionar Lança-Granadas - Seleziona il Lanciagranate - - - Select Binoculars - Fernglas auswählen - Seleccionar prismáticos - Wybierz lornetkę - Zvolit Dalekohled - Выбрать бинокль - Sélectionner Jumelles - Távcső Kiválasztása - Selecionar Binóculos - Seleziona il Binocolo - - - Holster Weapon - Waffe holstern - Enfundar el arma - Schowaj broń - Schovat zbraň - Убрать оружие - Arme à la bretelle - Fegyvert tokba - Guardar Arma - Nascondi l'arma - - - Engine on - Motor an - Encender motor - Włącz silnik - Moteur allumé - Motor indítása - Zapnout motor - Ligar Motor - Motore acceso - Включить двигатель - - - Engine off - Motor aus - Apagar motor - Wyłącz silnik - Moteur éteint - Motor leállítása - Vypnout motor - Desligar Motor - Motore spento - Выключить двигатель - - - Select Main Gun - Hauptgeschütz auswählen - Seleccionar arma principal - Wybierz główną broń - Sélectionner l'Arme Principale - Elsődleges Fegyver Kiválasztása - Zvolit Hlavní Zbraň - Selecionar Arma Principal - Seleziona Arma Primaria - Выбрать основное оружие - - - Select Machine Gun - Maschinengewehr auswählen - Seleccionar ametralladora - Wybierz karabin maszynowy - Sélectionner Mitrailleuse - Géppuska Kiválasztása - Zvolit Kulomet - Selecionar Metralhadora - Seleziona Mitragliatrice - Выбрать пулемёт - - - Select Missiles - Raketen auswählen - Seleccionar misiles - Wybierz rakiety - Sélectionner Missiles - Rakéták Kiválasztása - Zvolit Rakety - Selecionar Mísseis - Seleziona Missili - Выбрать ракеты - - - Grenade %1 - Granate %1 - Granada %1 - Granat %1 - Granát %1 - Gránát Kiválasztása - Граната %1 - - - Ready Grenade - Granate nehmen - Granada lista - Przygotuj granat - Odjistit granát - Kész Gránát - Подготовить гранату - - - Select Frag Grenade - Explosive Granate auswählen - Seleccionar granada de fragmenación - Wybierz granat odłamkowy - Sélectionner grenade à fragmentation - Repeszgránát Kiválasztása - Zvolit Výbušný Granát - Selecionar Granada de Fragmentação - Seleziona Granata a Frammentazione - Выбрать осколочную гранату - - - Select Non-Frag Grenade - Nichtexplosive Granate auswählen - Seleccionar granada de no fragmentación - Wybierz granat nieodłamkowy - Sélectionner grenade non-léthale - Nem Robbanó Gránát Kiválasztása - Zvolit Ne-Výbušný Granát - Selecionar Granada - Seleziona Altre Granate - Выбрать гранату - - - Throw Selected Grenade - Gewählte Granate werfen - Arrojar granada seleccionada - Rzuć wybrany granat - Lancer la grenade sélectionnée - Kiválasztott Gránát Eldobása - Hodit Zvolený Granát - Lançar Granada Selecionada - Lancia la Granata Selezionata - Бросить выбранную гранату - - - No grenades left - Keine Granaten übrig - No quedan granadas - Plus de grenades - Brak granatów - Žádné granáty - Nincs több gránát - Гранат не осталось - - - No frags left - Keine explosiven Granaten übrig - Sin granadas de fragmentación - Brak granatów odłamkowych - Plus de grenades à fragmentation - Nincs több repeszgránát - Už nejsou granáty - Não há granadas de fragmentação restantes - Nessuna granata a frammentazione rimanente - Осколочныких гранат нет - - - No misc. grenades left - Keine nichtexplosiven Granaten übrig - Sin granadas de varias - Brak granatów nieodłamkowych - Plus de grenades non-léthales - Nincs több egyéb gránát - Už nejsou žádné ostatní granáty - Não há outras granadas restantes - Nessun'altra granata rimanente. - Невзрывоопасные гранаты закончились - - - No grenade selected - Keine Granate ausgewählt - Granada no seleccionada - Nie wybrano żadnego granatu - Aucune grenade sélectionnée - Nincs kiválasztva gránát - Není zvolen žádný granát - Nenhuma granada selecionada - Nessuna granata selezionata - Нет выбранной гранаты - - - Fire Smoke Launcher - Rauchwand abfeuern - Disparar lanzador de humo - Kouřový odpalovač - Tirer le lance-pots fumigènes - Wystrzel granat dymny - Füst kilövése - Запустить дымовую завесу - - + + + Display text on grenade throw + Mostrat texto ao lançar granada + + + Display a hint or text on grenade throw. + Mostra um hint ou texto ao lançar uma granada + + + Select Pistol + Pistole auswählen + Seleccionar pistola + Wybierz pistolet + Zvolit příruční zbraň + Выбрать пистолет + Sélectionner Pistolet + Pisztoly Kiválasztása + Selecionar Pistola + Seleziona la Pistola + + + Select Rifle + Gewehr auswählen + Seleccionar fusil + Wybierz karabin + Zvolit hlavní zbraň + Выбрать автомат + Sélectionner Fusil + Puska Kiválasztása + Selecionar Rifle + Seleziona il Fucile + + + Select Launcher + Raketenwerfer auswählen + Seleccionar lanzador + Wybierz wyrzutnię + Zvolit Raketomet + Выбрать гранатомет + Sélectionner Lanceur + Rakétavető Kiválasztása + Selecionar Lançador + Seleziona il Lanciatore + + + Select Grenade Launcher + Granatwerfer auswählen + Seleccionar lanzador de granadas + Wybierz granatnik + Zvolit Granátomet + Выбрать подствольный гранатомет + Sélectionner Lance-grenades + Gránátvető Kiválasztása + Selecionar Lança-Granadas + Seleziona il Lanciagranate + + + Select Binoculars + Fernglas auswählen + Seleccionar prismáticos + Wybierz lornetkę + Zvolit Dalekohled + Выбрать бинокль + Sélectionner Jumelles + Távcső Kiválasztása + Selecionar Binóculos + Seleziona il Binocolo + + + Holster Weapon + Waffe holstern + Enfundar el arma + Schowaj broń + Schovat zbraň + Убрать оружие + Arme à la bretelle + Fegyvert tokba + Guardar Arma + Nascondi l'arma + + + Engine on + Motor an + Encender motor + Włącz silnik + Moteur allumé + Motor indítása + Zapnout motor + Ligar Motor + Motore acceso + Включить двигатель + + + Engine off + Motor aus + Apagar motor + Wyłącz silnik + Moteur éteint + Motor leállítása + Vypnout motor + Desligar Motor + Motore spento + Выключить двигатель + + + Select Main Gun + Hauptgeschütz auswählen + Seleccionar arma principal + Wybierz główną broń + Sélectionner l'Arme Principale + Elsődleges Fegyver Kiválasztása + Zvolit Hlavní Zbraň + Selecionar Arma Principal + Seleziona Arma Primaria + Выбрать основное оружие + + + Select Machine Gun + Maschinengewehr auswählen + Seleccionar ametralladora + Wybierz karabin maszynowy + Sélectionner Mitrailleuse + Géppuska Kiválasztása + Zvolit Kulomet + Selecionar Metralhadora + Seleziona Mitragliatrice + Выбрать пулемёт + + + Select Missiles + Raketen auswählen + Seleccionar misiles + Wybierz rakiety + Sélectionner Missiles + Rakéták Kiválasztása + Zvolit Rakety + Selecionar Mísseis + Seleziona Missili + Выбрать ракеты + + + Grenade %1 + Granate %1 + Granada %1 + Granat %1 + Granát %1 + Gránát Kiválasztása + Граната %1 + + + Ready Grenade + Granate nehmen + Granada lista + Przygotuj granat + Odjistit granát + Kész Gránát + Подготовить гранату + + + Select Frag Grenade + Explosive Granate auswählen + Seleccionar granada de fragmenación + Wybierz granat odłamkowy + Sélectionner grenade à fragmentation + Repeszgránát Kiválasztása + Zvolit Výbušný Granát + Selecionar Granada de Fragmentação + Seleziona Granata a Frammentazione + Выбрать осколочную гранату + + + Select Non-Frag Grenade + Nichtexplosive Granate auswählen + Seleccionar granada de no fragmentación + Wybierz granat nieodłamkowy + Sélectionner grenade non-léthale + Nem Robbanó Gránát Kiválasztása + Zvolit Ne-Výbušný Granát + Selecionar Granada + Seleziona Altre Granate + Выбрать гранату + + + Throw Selected Grenade + Gewählte Granate werfen + Arrojar granada seleccionada + Rzuć wybrany granat + Lancer la grenade sélectionnée + Kiválasztott Gránát Eldobása + Hodit Zvolený Granát + Lançar Granada Selecionada + Lancia la Granata Selezionata + Бросить выбранную гранату + + + No grenades left + Keine Granaten übrig + No quedan granadas + Plus de grenades + Brak granatów + Žádné granáty + Nincs több gránát + Гранат не осталось + + + No frags left + Keine explosiven Granaten übrig + Sin granadas de fragmentación + Brak granatów odłamkowych + Plus de grenades à fragmentation + Nincs több repeszgránát + Už nejsou granáty + Não há granadas de fragmentação restantes + Nessuna granata a frammentazione rimanente + Осколочныких гранат нет + + + No misc. grenades left + Keine nichtexplosiven Granaten übrig + Sin granadas de varias + Brak granatów nieodłamkowych + Plus de grenades non-léthales + Nincs több egyéb gránát + Už nejsou žádné ostatní granáty + Não há outras granadas restantes + Nessun'altra granata rimanente. + Невзрывоопасные гранаты закончились + + + No grenade selected + Keine Granate ausgewählt + Granada no seleccionada + Nie wybrano żadnego granatu + Aucune grenade sélectionnée + Nincs kiválasztva gránát + Není zvolen žádný granát + Nenhuma granada selecionada + Nessuna granata selezionata + Нет выбранной гранаты + + + Fire Smoke Launcher + Rauchwand abfeuern + Disparar lanzador de humo + Kouřový odpalovač + Tirer le lance-pots fumigènes + Wystrzel granat dymny + Füst kilövése + Запустить дымовую завесу + + \ No newline at end of file diff --git a/addons/wep_javelin/stringtable.xml b/addons/wep_javelin/stringtable.xml index 4068d6f0a6..9e35165cb2 100644 --- a/addons/wep_javelin/stringtable.xml +++ b/addons/wep_javelin/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -10,8 +10,9 @@ Lock Target (Hold) Lock Target (Hold) Lock Target (Hold) + Travar Alvo(Segurar) - + Cycle Fire Mode Cycle Fire Mode Cycle Fire Mode @@ -19,6 +20,7 @@ Cycle Fire Mode Cycle Fire Mode Cycle Fire Mode + Alterar Modo de Disparo - + \ No newline at end of file diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index b52100046f..85470214c5 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -1,32 +1,37 @@ - - - - - - Wind Information - Informacje o wietrze - Información del viento - - - Direction: %1 - Kierunek: %1 - Dirección: %1 - - - Speed: %1 m/s - Prędkość: %1 - Velocidad: %1 m/s - - - Weather Information - Informacje o pogodzie - Información Meteorológica - - - Humidity: %1% - Wilgotność: %1 - Humedad: %1% - - - - + + + + + + Wind Information + Informacje o wietrze + Información del viento + Informação do vento + + + Direction: %1 + Kierunek: %1 + Dirección: %1 + Direção: %1 + + + Speed: %1 m/s + Prędkość: %1 + Velocidad: %1 m/s + Velocidade: %1 m/s + + + Weather Information + Informacje o pogodzie + Información Meteorológica + Informação Meteorológica + + + Humidity: %1% + Wilgotność: %1 + Humedad: %1% + Humidade: %1% + + + + \ No newline at end of file From ba89bc8faa2ef596cc881aeba3350ec7a19acd3c Mon Sep 17 00:00:00 2001 From: VyMajoris Date: Sun, 26 Apr 2015 03:15:25 -0300 Subject: [PATCH 041/478] Added - Myself to AUTHORS.txt --- AUTHORS.txt | 1 + addons/common/stringtable.xml | 728 +++++++++++++++++----------------- 2 files changed, 365 insertions(+), 364 deletions(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index b931d774ac..1241015ae9 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -65,3 +65,4 @@ simon84 Tonic Tourorist Valentin Torikian +VyMajoris(W-Cephei) diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index f8a25c6269..28de0b430e 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -1,366 +1,366 @@ - + - - - ACE-Team - ACE-Team - ACE-Team - ACE-Team - ACE-Team - ACE-Team - Команда ACE - ACE-Team - ACE-Team - ACE-Team - - - Save - Speichern - Guardar - Zapisz - Uložit - Sauvegarder - Сохранить - Salvar - Mentés - Salva - - - Cancel - Abbrechen - Cancelar - Anuluj - Zrušit - Annuler - Отмена - Cancelar - Mégse - Annulla - - - ACE Options - ACE Optionen - Opciones ACE - Opcje ACE - ACE Nastavení - ACE Options - ACE Настройки - Opções do ACE - ACE Opciók - Opzioni ACE - - - - N - N - N - N - S - N - С - N - É - N - - - NNE - NNO - NNE - NNE - SSV - NNE - ССВ - NNE - ÉÉK - NNE - - - NE - NO - NE - NE - SV - NE - СВ - NE - ÉK - NE - - - ENE - ONO - ENE - ENE - VSV - ENE - ВСВ - LNE - KÉK - ENE - - - E - O - E - E - V - E - В - L - K - E - - - ESE - OSO - ESE - ESE - VJV - ESE - ВЮВ - LSE - KDK - ESE - - - SE - SO - SE - SE - JV - SE - ЮВ - SE - DK - SE - - - SSE - SSO - SSE - SSE - JJV - SSE - ЮЮВ - SSE - DDK - SSE - - - S - S - S - S - J - S - Ю - S - D - S - - - SSW - SSW - SSO - SSW - JJZ - SSO - ЮЮЗ - SSO - DDNy - SSO - - - SW - SW - SO - SW - JZ - SO - ЮЗ - SO - DNy - SO - - - WSW - WSW - OSO - WSW - ZJZ - OSO - ЗЮЗ - OSO - NyDNy - OSO - - - W - W - O - W - Z - O - З - O - Ny - O - - - WNW - WNW - ONO - WNW - ZSZ - ONO - ЗСЗ - ONO - NyÉNy - ONO - - - NW - NW - NO - NW - SZ - NO - СЗ - NO - ÉNy - NO - - - NNW - NNW - NNO - NNW - SSZ - NNO - ССЗ - NNO - ÉÉNy - NNO - - - Action cancelled. - Aktion abgebrochen. - Acción cancelada. - Przerwano czynność - Akce přerušena - Action annulée. - Действие отменено. - Ação cancelada. - Művelet megszakítva. - Azione cancellata. - - - [ACE] Miscellaneous Items - [ACE] Verschiedenes - [ACE] Objetos varios - [ACE] Różne przedmioty - [ACE] Ostatní předměty - [ACE] Objets divers - [ACE] Различные предметы - [ACE] Itens diversos - [ACE] Egyéb tárgyak - [ACE] Oggetti vari - - - Disable Command Menu - Befehlsmenü ausschalten - Desactivar menú de mando - Wyłącz menu dowodzenia - Vypnout velící menu - Désactiver Menu Commande - Выключить командное меню - Parancsnoki menü kikapcsolása - Desabilitar menu de comando - - - Unknown - Unbekannt - Desconocido - Nieznany - Neznámý - Неизвестно - Ismeretlen - Desconhecido - - - No Voice - Keine Stimme - Sin voz - Brak głosu - Žádný hlas - Без голоса - Nincs hang - Sem voz - - - Akceptuj prośby - Aceptar Peticiones - Accept Requests - Aceitar Pedido - - - Ignoruj prośby - Rechazar Peticiones - Decline Requests - Rejeitar pedido - - - Akceptuj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. - Acepta Peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. - Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. - Aceitar pedidos enviados por outros jogadores. Podem ser pedidos para usar/ compartilhar equipamento, realizar certas ações. - - - Ignoruj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. - Rechazar Peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. - Decline Requests send by other players. These can be requests to use / share equipment, perform certain actions. - Rejeita pedidos enviados por outros jogadores. Podem ser pedidos para usar/ compartilhar equipamento, realizar certas ações. - - - Feedback icons - Ícones de Feedback - - - Select the position of or disable the feedback icons on your screen. These icons will show to provide extra feedback on your character status and actions performed. - Selecione a posição ou disabilite a posição dos ícones de feedback na sua tela. Esses ícones irão aparecer para mostrar feedback extra do status do seu personagem e ações realizadas. - - - Progress bar location - Local da barra de progresso - - - Set the desired location of the progress bar on your screen. - Define o local desejado da barra de progresso na sua tela. - - - Hint Background color - Cor do fundo da hint - - - The color of the background from the ACE hints. - A cor de fundo das hints do ACE. - - - Hint text font color - Cor do do texto da hint - - - The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified. - A cor do texto das hints do ACE. Essa cor é a cor default para todos os texos exibidos pelo sistema de hints do ACE , caso o texto da hint não tem outra cor especificada. - - - Banana - Banana - - - A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. - A banana é uma fruta comestível, botanicamente uma baga, produzida por vários tipos de plantas herbáceas grandes do genero Musa. - - - + + + ACE-Team + ACE-Team + ACE-Team + ACE-Team + ACE-Team + ACE-Team + Команда ACE + ACE-Team + ACE-Team + ACE-Team + + + Save + Speichern + Guardar + Zapisz + Uložit + Sauvegarder + Сохранить + Salvar + Mentés + Salva + + + Cancel + Abbrechen + Cancelar + Anuluj + Zrušit + Annuler + Отмена + Cancelar + Mégse + Annulla + + + ACE Options + ACE Optionen + Opciones ACE + Opcje ACE + ACE Nastavení + ACE Options + ACE Настройки + Opções do ACE + ACE Opciók + Opzioni ACE + + + + N + N + N + N + S + N + С + N + É + N + + + NNE + NNO + NNE + NNE + SSV + NNE + ССВ + NNE + ÉÉK + NNE + + + NE + NO + NE + NE + SV + NE + СВ + NE + ÉK + NE + + + ENE + ONO + ENE + ENE + VSV + ENE + ВСВ + LNE + KÉK + ENE + + + E + O + E + E + V + E + В + L + K + E + + + ESE + OSO + ESE + ESE + VJV + ESE + ВЮВ + LSE + KDK + ESE + + + SE + SO + SE + SE + JV + SE + ЮВ + SE + DK + SE + + + SSE + SSO + SSE + SSE + JJV + SSE + ЮЮВ + SSE + DDK + SSE + + + S + S + S + S + J + S + Ю + S + D + S + + + SSW + SSW + SSO + SSW + JJZ + SSO + ЮЮЗ + SSO + DDNy + SSO + + + SW + SW + SO + SW + JZ + SO + ЮЗ + SO + DNy + SO + + + WSW + WSW + OSO + WSW + ZJZ + OSO + ЗЮЗ + OSO + NyDNy + OSO + + + W + W + O + W + Z + O + З + O + Ny + O + + + WNW + WNW + ONO + WNW + ZSZ + ONO + ЗСЗ + ONO + NyÉNy + ONO + + + NW + NW + NO + NW + SZ + NO + СЗ + NO + ÉNy + NO + + + NNW + NNW + NNO + NNW + SSZ + NNO + ССЗ + NNO + ÉÉNy + NNO + + + Action cancelled. + Aktion abgebrochen. + Acción cancelada. + Przerwano czynność + Akce přerušena + Action annulée. + Действие отменено. + Ação cancelada. + Művelet megszakítva. + Azione cancellata. + + + [ACE] Miscellaneous Items + [ACE] Verschiedenes + [ACE] Objetos varios + [ACE] Różne przedmioty + [ACE] Ostatní předměty + [ACE] Objets divers + [ACE] Различные предметы + [ACE] Itens diversos + [ACE] Egyéb tárgyak + [ACE] Oggetti vari + + + Disable Command Menu + Befehlsmenü ausschalten + Desactivar menú de mando + Wyłącz menu dowodzenia + Vypnout velící menu + Désactiver Menu Commande + Выключить командное меню + Parancsnoki menü kikapcsolása + Desabilitar menu de comando + + + Unknown + Unbekannt + Desconocido + Nieznany + Neznámý + Неизвестно + Ismeretlen + Desconhecido + + + No Voice + Keine Stimme + Sin voz + Brak głosu + Žádný hlas + Без голоса + Nincs hang + Sem voz + + + Akceptuj prośby + Aceptar Peticiones + Accept Requests + Aceitar Pedido + + + Ignoruj prośby + Rechazar Peticiones + Decline Requests + Rejeitar pedido + + + Akceptuj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. + Acepta Peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. + Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. + Aceitar pedidos enviados por outros jogadores. Podem ser pedidos para usar/ compartilhar equipamento, realizar certas ações. + + + Ignoruj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. + Rechazar Peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. + Decline Requests send by other players. These can be requests to use / share equipment, perform certain actions. + Rejeita pedidos enviados por outros jogadores. Podem ser pedidos para usar/ compartilhar equipamento, realizar certas ações. + + + Feedback icons + Ícones de Feedback + + + Select the position of or disable the feedback icons on your screen. These icons will show to provide extra feedback on your character status and actions performed. + Selecione a posição ou disabilite a posição dos ícones de feedback na sua tela. Esses ícones irão aparecer para mostrar feedback extra do status do seu personagem e ações realizadas. + + + Progress bar location + Local da barra de progresso + + + Set the desired location of the progress bar on your screen. + Define o local desejado da barra de progresso na sua tela. + + + Hint Background color + Cor do fundo da hint + + + The color of the background from the ACE hints. + A cor de fundo das hints do ACE. + + + Hint text font color + Cor do do texto da hint + + + The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified. + A cor do texto das hints do ACE. Essa cor é a cor default para todos os texos exibidos pelo sistema de hints do ACE, caso o texto da hint não tem outra cor especificada. + + + Banana + Banana + + + A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. + A banana é uma fruta comestível, botanicamente uma baga, produzida por vários tipos de plantas herbáceas grandes do genero Musa. + + + \ No newline at end of file From fc08ebb0a5ac482fe684b8e634d8e1d5015d6bf3 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Sun, 26 Apr 2015 11:19:25 +0200 Subject: [PATCH 042/478] added "isNotInside" exception to unload --- addons/medical/CfgVehicles.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 2de90e77d0..339abe5a42 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -467,7 +467,7 @@ class CfgVehicles { showDisabled = 0; priority = 2; icon = PATHTOF(UI\icons\medical_cross.paa); - exceptions[] = {"isNotDragging", "isNotCarrying"}; + exceptions[] = {"isNotDragging", "isNotCarrying", "isNotInside"}; }; }; }; From 0f47d8bfb2bf26d76cae710aed2f1ceb600ddd71 Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Wed, 22 Apr 2015 13:17:43 +0200 Subject: [PATCH 043/478] PL translation --- addons/ballistics/stringtable.xml | 1 + addons/interact_menu/stringtable.xml | 1 + addons/realisticnames/stringtable.xml | 1 + 3 files changed, 3 insertions(+) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 4dc27fd2fc..cc1861e420 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1,4 +1,5 @@  + diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 1335432f28..94c31a1814 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,4 +1,5 @@  + diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 02995def8c..8f8d793568 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1,4 +1,5 @@  + From a272258500b93ce183a343f1917ba59a49a1a170 Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Sun, 26 Apr 2015 22:59:20 +0200 Subject: [PATCH 044/478] PL translation --- addons/medical/stringtable.xml | 70 +++++++++++++++++++++++++----- addons/mk6mortar/stringtable.xml | 33 ++++++++------ addons/overheating/stringtable.xml | 1 - 3 files changed, 79 insertions(+), 25 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index e930016187..ee014c5dc3 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,13 +1,16 @@  + INJURIES VERLETZUNGEN + OBRAŻENIA No injuries on this bodypart ... Körperteil nicht verletzt ... + Brak obrażeń na tej części ciała ... Litter Simulation Detail @@ -367,6 +370,7 @@ No entries on this triage card. Keine Einträge auf der Triagekarte + Brak wpisów na tej karcie segregacyjnej. Tourniquet @@ -393,18 +397,22 @@ Diagnose Diagnose + Diagnoza Diagnosing ... Diagnostizieren ... + Diagnozowanie ... CPR HLW + RKO Performing CPR ... HLW durchführen ... + Wykonywanie RKO... Give Blood IV (1000ml) @@ -1080,6 +1088,7 @@ Use Personal Aid Kit Verbandpäckchen benutzen + Użyj apteczki osobistej Surgical Kit @@ -1114,6 +1123,7 @@ Use Surgical Kit Operationsset benutzen + Zszyj rany Bodybag @@ -1168,6 +1178,7 @@ %1 checked Blood Pressure: %2 %1 kontrollierte Blutdruck: %2 + %1 zbadał ciśnienie krwi: %2 You checked %1 @@ -1242,18 +1253,22 @@ Low Niedrig + Niskie Normal Normal + Normalne High Hoch + Wysokie No Blood Pressure Kein Blutdruck + Brak ciśnienia krwi Pulse @@ -1288,18 +1303,22 @@ %1 checked Heart Rate: %2 %1 kontrollierte Herzfrequenz: %2 + %1 zbadał tętno: %2 Weak Schwach + Słabe Normal Normal + Normalne Strong Stark + Silne You find a Heart Rate of %2 @@ -1403,26 +1422,32 @@ Patient %1<br/>is %2.<br/>%3.<br/>%4 + Pacjent %1<br/>jest %2.<br/>%3.<br/>%4 alive + żywy dead + martwy He's lost some blood + Stracił trochę krwi He hasn't lost blood + Nie krwawił He is in pain + Jest w bólu He is not in pain + Nie jest w bólu - Bandaged Bandé @@ -1754,142 +1779,167 @@ Scrape Kratzer + Draśnięcie Minor Scrape Kleiner Kratzer + Pomniejsze draśnięcie Medium Scrape Mittlerer Kratzer + Średnie draśnięcie Large Scrape Großer Kratzer + Duże draśnięcie - Avulsion Avulsion + Rana płatowa Minor Avulsion Kleine Avulsion + Pomniejsza rana płatowa Medium Avulsion Mittlere Avulsion + Średnia rana płatowa Large Avulsion Große Avulsion + Duża rana płatowa - Bruise Prellung + Stłuczenie Minor Bruise Kleine Prellung + Pomniejsze stłuczenie Medium Bruise Mittlere Prellung + Średnie stłuczenie Large Bruise Große Prellung + Duże stłuczenie - Crushed tissue Quetschverletzung + Zgniecienie tkanek miękkich Minor crushed tissue Kleine Quetschverletzung + Pomniejsze zgniecienie tkanek miękkich Medium crushed tissue Mittlere Quetschverletzung + Średnie zgniecienie tkanek miękkich Large crushed tissue Große Quetschverletzung + Duże zgniecienie tkanek miękkich - Cut Schnittwunde + Rana cięta Small Cut Kleine Schnittwunde + Pomniejsza rana cięta Medium Cut Mittlere Schnittwunde + Średnia rana cięta Large Cut Große Schnittwunde + Duża rana cięta - Tear Riss + Rozerwanie skóry Small Tear Kleiner Riss + Pomniejsze rozerwanie skóry Medium Tear Mittlerer Riss + Średnie rozerwanie skóry Large Tear Großer Riss + Duże rozerwanie skóry - Velocity Wound Ballistisches Trauma + Rana postrzałowa Smal Velocity Wound Kleines Ballistisches Trauma + Pomniejsza rana postrzałowa Medium Velocity Wound Mittleres Ballistisches Trauma + Średnia rana postrzałowa Large Velocity Wound Großes Ballistisches Trauma + Duża rana postrzałowa - Puncture Wound Stichwunde + Rana kłuta Minor Puncture Wound Kleine Stichwunde + Pomniejsza rana kłuta Medium Puncture Wound Mittlere Stichwunde + Średnia rana kłuta Large Puncture Wound Große Stichwunde + Duża rana kłuta - Broken Femur Gebrochener Oberschenkelknochen + Zkłamana kość udowa - + \ No newline at end of file diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 19d68d8eb1..978a2de9e5 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -1,17 +1,22 @@  + - - - 82mm Rangetable - - - Range Table for the MK6 82mm Mortar - - - Open 82mm Rangetable - - - Charge - - + + + 82mm Rangetable + Tabela strzelnicza 82mm + + + Range Table for the MK6 82mm Mortar + Tabela strzelnicza dla moździerza 82mm MK6 + + + Open 82mm Rangetable + Otwórz tabelę strzelniczą 82mm + + + Charge + Ładunek + + \ No newline at end of file diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 865b7a8242..a92f88cf44 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -130,7 +130,6 @@ Проверить температуру оружия - Waffentemperatur<br/>prüfen Check weapon temperature Verificar temperatura del arma Sprawdź temperaturę broni From cfd9c6b3e9e57f4a956cfc96e2b772fca75ce903 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Sun, 26 Apr 2015 23:01:02 +0200 Subject: [PATCH 045/478] Update stringtable.xml --- addons/ballistics/stringtable.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index cc1861e420..4dc27fd2fc 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1,5 +1,4 @@  - From 5add444026ef9651e8abd5289b6592074145de7f Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Sun, 26 Apr 2015 23:01:10 +0200 Subject: [PATCH 046/478] Update stringtable.xml --- addons/interact_menu/stringtable.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 94c31a1814..1335432f28 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,5 +1,4 @@  - From 78329110a146c6d0ceea75dd73aa91278734c290 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Sun, 26 Apr 2015 23:01:18 +0200 Subject: [PATCH 047/478] Update stringtable.xml --- addons/medical/stringtable.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index ee014c5dc3..0deb282cd8 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,5 +1,4 @@  - @@ -1942,4 +1941,4 @@ Zkłamana kość udowa - \ No newline at end of file + From 3d5f7b1bf0b5261def26636059cfec7977557868 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Sun, 26 Apr 2015 23:01:31 +0200 Subject: [PATCH 048/478] Update stringtable.xml --- addons/mk6mortar/stringtable.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 978a2de9e5..189b5054d3 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -1,5 +1,4 @@  - @@ -19,4 +18,4 @@ Ładunek - \ No newline at end of file + From 3b9019e363ba86e2d1c6c680fa6ac1c8501886cd Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Sun, 26 Apr 2015 23:01:42 +0200 Subject: [PATCH 049/478] Update stringtable.xml --- addons/realisticnames/stringtable.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 8f8d793568..02995def8c 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1,5 +1,4 @@  - From 6170ef0d5033fb24b81225b5622e78dd56b41a11 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 26 Apr 2015 23:05:58 +0200 Subject: [PATCH 050/478] Code cleanup --- addons/frag/CfgVehicles.hpp | 0 addons/frag/XEH_post_init.sqf | 17 ++--------- addons/frag/XEH_pre_Init.sqf | 29 ++++++------------- addons/frag/config.cpp | 4 +-- .../frag/functions/fnc_BIS_ARTY_WRAPPER.sqf | 13 --------- addons/frag/functions/fnc_addBlackList.sqf | 4 --- addons/frag/functions/fnc_addManualTrack.sqf | 7 ----- addons/frag/functions/fnc_clearTraces.sqf | 2 -- addons/frag/functions/fnc_denyFrag.sqf | 7 ----- addons/frag/functions/fnc_frag_trace.sqf | 10 ------- addons/frag/functions/fnc_vectorDiffFast.sqf | 15 ---------- 11 files changed, 12 insertions(+), 96 deletions(-) delete mode 100644 addons/frag/CfgVehicles.hpp delete mode 100644 addons/frag/functions/fnc_BIS_ARTY_WRAPPER.sqf delete mode 100644 addons/frag/functions/fnc_addBlackList.sqf delete mode 100644 addons/frag/functions/fnc_addManualTrack.sqf delete mode 100644 addons/frag/functions/fnc_clearTraces.sqf delete mode 100644 addons/frag/functions/fnc_denyFrag.sqf delete mode 100644 addons/frag/functions/fnc_frag_trace.sqf delete mode 100644 addons/frag/functions/fnc_vectorDiffFast.sqf diff --git a/addons/frag/CfgVehicles.hpp b/addons/frag/CfgVehicles.hpp deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/addons/frag/XEH_post_init.sqf b/addons/frag/XEH_post_init.sqf index 9769148871..6c8d64d1fb 100644 --- a/addons/frag/XEH_post_init.sqf +++ b/addons/frag/XEH_post_init.sqf @@ -1,18 +1,5 @@ #include "script_component.hpp" + if(isServer) then { [QGVAR(frag_eh), { _this call FUNC(frago); }] call ace_common_fnc_addEventHandler; -}; -/* -GVAR(replacedBisArtyWrapper) = false; -[] spawn { - waitUntil { - if(!(isNil "BIS_ARTY_F_ShellFlight")) then { - ACE_WRAPPER_BIS_ARTY_F_ShellFlight = BIS_ARTY_F_ShellFlight; - BIS_ARTY_F_ShellFlight = FUNC(BIS_ARTY_WRAPPER); - GVAR(replacedBisArtyWrapper) = true; - }; - sleep 4; - GVAR(replacedBisArtyWrapper) - }; -}; -*/ \ No newline at end of file +}; \ No newline at end of file diff --git a/addons/frag/XEH_pre_Init.sqf b/addons/frag/XEH_pre_Init.sqf index 5fb261cc05..cefd77d921 100644 --- a/addons/frag/XEH_pre_Init.sqf +++ b/addons/frag/XEH_pre_Init.sqf @@ -1,48 +1,37 @@ #include "script_component.hpp" - ADDON = false; +PREP(doSpall); PREP(fired); PREP(frago); -PREP(trackFragRound); PREP(spallTrack); -PREP(doSpall); -PREP(vectorDiffFast); +PREP(trackFragRound); -GVAR(trackedObjects) = []; GVAR(blackList) = []; GVAR(traceFrags) = false; - -GVAR(replacedBisArtyWrapper) = true; +GVAR(trackedObjects) = []; GVAR(TOTALFRAGS) = 0; -GVAR(spallIsTrackingCount) = 0; GVAR(spallHPData) = []; +GVAR(spallIsTrackingCount) = 0; +GVAR(autoTrace) = true; +GVAR(traceID) = -1; GVAR(traces) = []; GVAR(tracesStarted) = false; -GVAR(traceID) = -1; -GVAR(autoTrace) = true; // TODO setting GVAR(enabled) = true; - // * Other Shit */ -PREP(frag_trace); -PREP(denyFrag); -PREP(BIS_ARTY_WRAPPER); -PREP(startTracing); -PREP(stopTracing); -PREP(clearTraces); -PREP(trackTrace); PREP(addTrack); PREP(drawTraces); PREP(removeTrack); PREP(spallHP); -PREP(addBlackList); -PREP(addManualTrack); +PREP(startTracing); +PREP(stopTracing); +PREP(trackTrace); ADDON = true; diff --git a/addons/frag/config.cpp b/addons/frag/config.cpp index 4c1fb71e15..c9dff6bac6 100644 --- a/addons/frag/config.cpp +++ b/addons/frag/config.cpp @@ -10,7 +10,5 @@ class CfgPatches { }; }; -//PRELOAD_ADDONS; - #include "CfgEventhandlers.hpp" -#include "CfgAmmo.hpp" +#include "CfgAmmo.hpp" \ No newline at end of file diff --git a/addons/frag/functions/fnc_BIS_ARTY_WRAPPER.sqf b/addons/frag/functions/fnc_BIS_ARTY_WRAPPER.sqf deleted file mode 100644 index 0d71cf58ac..0000000000 --- a/addons/frag/functions/fnc_BIS_ARTY_WRAPPER.sqf +++ /dev/null @@ -1,13 +0,0 @@ -#include "script_component.hpp" -_ret = [(_this select 6)] call FUNC(removeTrack); -if(!_ret) then { - [(_this select 6)] call FUNC(addBlackList); -}; -_this call ACE_WRAPPER_BIS_ARTY_F_ShellFlight; -_catEntry = BIS_ARTY_SHELLCAT select ((count BIS_ARTY_SHELLCAT) - 1); -_shell = _catEntry select 0; -_ARTY_DeployOnImpact = getText (configFile >> "CfgAmmo" >> "ARTY_DeployOnImpact"); -if(_ARTY_DeployOnImpact == "") then { - _this set[6, _shell]; - _this call FUNC(fired); -}; \ No newline at end of file diff --git a/addons/frag/functions/fnc_addBlackList.sqf b/addons/frag/functions/fnc_addBlackList.sqf deleted file mode 100644 index f7b3faf902..0000000000 --- a/addons/frag/functions/fnc_addBlackList.sqf +++ /dev/null @@ -1,4 +0,0 @@ -#include "script_component.hpp" -private ["_round"]; -_round = _this select 0; -GVAR(blackList) set[(count GVAR(blackList)), _round]; \ No newline at end of file diff --git a/addons/frag/functions/fnc_addManualTrack.sqf b/addons/frag/functions/fnc_addManualTrack.sqf deleted file mode 100644 index 3dc14cc748..0000000000 --- a/addons/frag/functions/fnc_addManualTrack.sqf +++ /dev/null @@ -1,7 +0,0 @@ -#include "script_component.hpp" -private ["_round"]; -_round = _this select 0; -if(alive _round) then { - GVAR(trackedObjects) set[(count GVAR(trackedObjects)), _round]; - [DFUNC(trackFragRound), 0, [_round, (getPosASL _round), (velocity _round), (typeOf _round), time, objNull, false, 0, 0]] call cba_fnc_addPerFrameHandler; -}; \ No newline at end of file diff --git a/addons/frag/functions/fnc_clearTraces.sqf b/addons/frag/functions/fnc_clearTraces.sqf deleted file mode 100644 index b301094044..0000000000 --- a/addons/frag/functions/fnc_clearTraces.sqf +++ /dev/null @@ -1,2 +0,0 @@ -#include "script_component.hpp" -GVAR(traces) = []; \ No newline at end of file diff --git a/addons/frag/functions/fnc_denyFrag.sqf b/addons/frag/functions/fnc_denyFrag.sqf deleted file mode 100644 index 6c4aa9bf8d..0000000000 --- a/addons/frag/functions/fnc_denyFrag.sqf +++ /dev/null @@ -1,7 +0,0 @@ -#include "script_component.hpp" - -private ["_ret"]; -_ret = [(_this select 0)] call FUNC(removeTrack); -if(!_ret) then { - [(_this select 0)] call FUNC(addBlackList); -}; \ No newline at end of file diff --git a/addons/frag/functions/fnc_frag_trace.sqf b/addons/frag/functions/fnc_frag_trace.sqf deleted file mode 100644 index 664e117793..0000000000 --- a/addons/frag/functions/fnc_frag_trace.sqf +++ /dev/null @@ -1,10 +0,0 @@ -#include "script_component.hpp" - -private ["_params", "_shell"]; -_params = _this select 0; -_shell = _params select 0; -if(alive _shell) then { - drop ["\Ca\Data\Cl_basic","","Billboard",1,30,(getPos _shell),[0,0,0],1,1.275,1.0,0.0,[0.5],[[0,1,0,1]],[0],0.0,2.0,"","",""]; -} else { - [_this select 1] call cba_fnc_removePerFrameHandler; -}; \ No newline at end of file diff --git a/addons/frag/functions/fnc_vectorDiffFast.sqf b/addons/frag/functions/fnc_vectorDiffFast.sqf deleted file mode 100644 index 0a41860727..0000000000 --- a/addons/frag/functions/fnc_vectorDiffFast.sqf +++ /dev/null @@ -1,15 +0,0 @@ -#include "script_component.hpp" -private["_p1","_p2","_return"]; - -_p1 = _this select 0; -_p2 = _this select 1; - -if ((count _p1) != (count _p2)) then {textLogFormat ["BIS_FNC Error: vectors not of same size"]}; - -_return = []; - -{ - _return set[_forEachIndex, (_p2 select _forEachIndex) - _x]; -} forEach _p1; - -_return From 1fc044dfa9e9954574942fd172462fe5f3dc136a Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 26 Apr 2015 23:14:54 +0200 Subject: [PATCH 051/478] Cleanup++: *Moved GVAR(enabled) into ACE_Settings.hpp *Replaced BIS_fnc_magnitude with vectorMagnitude *Renamed Nou_GBU12 *Added G_40mm_HE config data --- addons/frag/ACE_Settings.hpp | 8 ++++++++ addons/frag/CfgAmmo.hpp | 9 ++++++--- addons/frag/XEH_pre_Init.sqf | 3 --- addons/frag/config.cpp | 3 ++- addons/frag/functions/fnc_doSpall.sqf | 4 ++-- addons/frag/functions/fnc_fired.sqf | 4 +++- 6 files changed, 21 insertions(+), 10 deletions(-) create mode 100644 addons/frag/ACE_Settings.hpp diff --git a/addons/frag/ACE_Settings.hpp b/addons/frag/ACE_Settings.hpp new file mode 100644 index 0000000000..b160a127f3 --- /dev/null +++ b/addons/frag/ACE_Settings.hpp @@ -0,0 +1,8 @@ +class ACE_Settings { + class GVAR(enabled) { + displayName = "Frag System"; + description = "Enables the shrapnel system for explosives"; + typeName = "BOOL"; + value = 1; + }; +}; diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index 3cfb27dfaf..6490c94f22 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -9,7 +9,7 @@ class CfgAmmo { // GVAR(skip) = 1; //}; class Bo_GBU12_LGB; - class Nou_GBU12 : Bo_GBU12_LGB { + class ACE_GBU12 : Bo_GBU12_LGB { GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 140000; GVAR(charge) = 87000; @@ -71,8 +71,11 @@ class CfgAmmo { class G_40mm_HE: GrenadeBase { - GVAR(skip) = 0; - GVAR(force) = 1; + GVAR(classes)[] = {"ACE_frag_tiny_HD"}; + GVAR(metal) = 200; + GVAR(charge) = 45; + GVAR(gurney_c) = 2830; + GVAR(gurney_k) = 3/5; }; class ACE_G_40mm_HEDP: G_40mm_HE { diff --git a/addons/frag/XEH_pre_Init.sqf b/addons/frag/XEH_pre_Init.sqf index cefd77d921..beede543dd 100644 --- a/addons/frag/XEH_pre_Init.sqf +++ b/addons/frag/XEH_pre_Init.sqf @@ -22,9 +22,6 @@ GVAR(traceID) = -1; GVAR(traces) = []; GVAR(tracesStarted) = false; -// TODO setting -GVAR(enabled) = true; - // * Other Shit */ PREP(addTrack); PREP(drawTraces); diff --git a/addons/frag/config.cpp b/addons/frag/config.cpp index c9dff6bac6..16af88bfc4 100644 --- a/addons/frag/config.cpp +++ b/addons/frag/config.cpp @@ -11,4 +11,5 @@ class CfgPatches { }; #include "CfgEventhandlers.hpp" -#include "CfgAmmo.hpp" \ No newline at end of file +#include "CfgAmmo.hpp" +#include "ACE_Settings.hpp" \ No newline at end of file diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index cb54cb776b..c033210325 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -45,8 +45,8 @@ if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { _vm = 1; _velocity = _initialData select 5; - _oldVelocity = _velocity call BIS_fnc_magnitude; - _curVelocity = (velocity _round) call BIS_fnc_magnitude; + _oldVelocity = vectorMagnitude _velocity; + _curVelocity = vectorMagnitude (velocity _round); if(alive _round) then { _diff = _velocity vectorDiff (velocity _round); diff --git a/addons/frag/functions/fnc_fired.sqf b/addons/frag/functions/fnc_fired.sqf index 85f5f45c0a..0ead1a17f8 100644 --- a/addons/frag/functions/fnc_fired.sqf +++ b/addons/frag/functions/fnc_fired.sqf @@ -1,6 +1,8 @@ #include "script_component.hpp" + private ["_gun", "_type", "_round", "_doFragTrack", "_doSpall"]; -if !(!isNil QGVAR(enabled) && {GVAR(enabled)}) exitWith {}; + +if (!GVAR(enabled)) exitWith {}; _gun = _this select 0; _type = _this select 4; From a13cc6b886c923b65bf6282bf0d21b40cc79fb16 Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 27 Apr 2015 12:58:55 +0200 Subject: [PATCH 052/478] Added weather module setting documentation --- documentation/missionmaker/modules.md | 28 ++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 239f1db789..186e99ece4 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -236,7 +236,33 @@ The safe zone around players from a different team (in meters)
### 1.13 LSD Vehicles *Part of: ace_core* -### 1.14 Wind Deflection +### 1.14 Weather +*Part of: ace_weather* + +This module allows you to customize the weather settings. + +**Settings:** + +1. **Weather propagation (Boolean)
** +Enables sever side weather propagation.
+`Default value: Yes` +2. **ACE Weather (Boolean)
** +Overrides the default weather (editor, mission settings) with ACE weather (map based).
+`Default value: Yes` +3. **Sync Rain (Boolean)
** +Synchronizes rain.
+`Default value: Yes` +3. **Sync Wind (Boolean)
** +Synchronizes wind.
+`Default value: Yes` +3. **Sync Misc (Boolean)
** +Synchronizes lightnings, rainbow, fog, ...
+`Default value: Yes` +4. **Update Interval (Number)
** +Defines the interval (seconds) between weather updates.
+`Default value: 60` + +### 1.15 Wind Deflection *Part of: ace_winddeflection* This module allows you to define when wind deflection is active. From f54f0cd1faa7b5b7c929ba5ce364f92a72d82afd Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 27 Apr 2015 13:58:18 +0200 Subject: [PATCH 053/478] Renamed init functions --- addons/frag/CfgEventhandlers.hpp | 6 +++--- addons/frag/{XEH_post_init.sqf => XEH_postInit.sqf} | 0 addons/frag/{XEH_pre_Init.sqf => XEH_preInit.sqf} | 0 3 files changed, 3 insertions(+), 3 deletions(-) rename addons/frag/{XEH_post_init.sqf => XEH_postInit.sqf} (100%) rename addons/frag/{XEH_pre_Init.sqf => XEH_preInit.sqf} (100%) diff --git a/addons/frag/CfgEventhandlers.hpp b/addons/frag/CfgEventhandlers.hpp index 1e631e07eb..df7eaeacd1 100644 --- a/addons/frag/CfgEventhandlers.hpp +++ b/addons/frag/CfgEventhandlers.hpp @@ -1,12 +1,12 @@ class Extended_PreInit_EventHandlers { class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_pre_init)); + init = QUOTE(call COMPILE_FILE(XEH_preInit)); }; }; class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_post_init)); + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); }; }; diff --git a/addons/frag/XEH_post_init.sqf b/addons/frag/XEH_postInit.sqf similarity index 100% rename from addons/frag/XEH_post_init.sqf rename to addons/frag/XEH_postInit.sqf diff --git a/addons/frag/XEH_pre_Init.sqf b/addons/frag/XEH_preInit.sqf similarity index 100% rename from addons/frag/XEH_pre_Init.sqf rename to addons/frag/XEH_preInit.sqf From 3c92cab7aff9b17cd1105b843d5941e9bdd74f4f Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 27 Apr 2015 14:02:59 +0200 Subject: [PATCH 054/478] Reverted the addBlackList function --- addons/frag/XEH_preInit.sqf | 1 + addons/frag/functions/fnc_addBlackList.sqf | 4 ++++ 2 files changed, 5 insertions(+) create mode 100644 addons/frag/functions/fnc_addBlackList.sqf diff --git a/addons/frag/XEH_preInit.sqf b/addons/frag/XEH_preInit.sqf index beede543dd..906a696ebf 100644 --- a/addons/frag/XEH_preInit.sqf +++ b/addons/frag/XEH_preInit.sqf @@ -23,6 +23,7 @@ GVAR(traces) = []; GVAR(tracesStarted) = false; // * Other Shit */ +PREP(addBlackList); PREP(addTrack); PREP(drawTraces); PREP(removeTrack); diff --git a/addons/frag/functions/fnc_addBlackList.sqf b/addons/frag/functions/fnc_addBlackList.sqf new file mode 100644 index 0000000000..95edcd1590 --- /dev/null +++ b/addons/frag/functions/fnc_addBlackList.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" +private ["_round"]; +_round = _this select 0; +GVAR(blackList) set[(count GVAR(blackList)), _round]; \ No newline at end of file From e4db44d73c46a15cfb8e882d593035c0094349d8 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Mon, 27 Apr 2015 16:36:00 +0200 Subject: [PATCH 055/478] adjusted damage parsing --- addons/medical/functions/fnc_handleDamage.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index 956b4f95aa..70b219a8a4 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -63,14 +63,14 @@ if (GVAR(level) >= 2) then { }; }; - if ((_minLethalDamage <= _newDamage) && {[_unit, [_selection] call FUNC(selectionNameToNumber), _newDamage] call FUNC(determineIfFatal)} && {_selection in ["", "head", "body"]}) then { + if ([_unit, [_selection] call FUNC(selectionNameToNumber), _newDamage] call FUNC(determineIfFatal)) then { if ([_unit] call FUNC(setDead)) then { _damageReturn = 1; } else { - _damageReturn = 0.89; + _damageReturn = _damageReturn min 0.89; }; } else { - _damageReturn = 0.89; + _damageReturn = _damageReturn min 0.89; }; }; }; From 450e324f7b27adbe8475fc882dd6c5b32f93c164 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Mon, 27 Apr 2015 16:42:12 +0200 Subject: [PATCH 056/478] adjusted damage handling (adv medical) --- addons/medical/functions/fnc_handleDamage.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index 70b219a8a4..a8dddcadc8 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -47,7 +47,7 @@ if (GVAR(level) >= 2) then { }; _newDamage = _this call FUNC(handleDamage_caching); - if (_damageReturn > 0.9) then { + //if (_damageReturn > 0.9) then { _typeOfDamage = [_projectile] call FUNC(getTypeOfDamage); @@ -63,7 +63,7 @@ if (GVAR(level) >= 2) then { }; }; - if ([_unit, [_selection] call FUNC(selectionNameToNumber), _newDamage] call FUNC(determineIfFatal)) then { + if ((_minLethalDamage <= _newDamage) && {[_unit, [_selection] call FUNC(selectionNameToNumber), _newDamage] call FUNC(determineIfFatal)}) then { if ([_unit] call FUNC(setDead)) then { _damageReturn = 1; } else { @@ -72,7 +72,7 @@ if (GVAR(level) >= 2) then { } else { _damageReturn = _damageReturn min 0.89; }; - }; + //}; }; [_unit] call FUNC(addToInjuredCollection); From 0d6d96e76c6ee3c51552be1b239c4a75f6776676 Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 27 Apr 2015 22:04:35 +0200 Subject: [PATCH 057/478] Cleanup++: * Added missing privates * Removed unused privates * Replaced some old vector calculations with new vector commands --- addons/frag/functions/fnc_addTrack.sqf | 8 +++++-- addons/frag/functions/fnc_doSpall.sqf | 5 ++-- addons/frag/functions/fnc_drawTraces.sqf | 5 +++- addons/frag/functions/fnc_fired.sqf | 2 +- addons/frag/functions/fnc_frago.sqf | 2 +- addons/frag/functions/fnc_spallHP.sqf | 12 +++++----- addons/frag/functions/fnc_spallTrack.sqf | 24 +++++++------------- addons/frag/functions/fnc_trackFragRound.sqf | 2 +- addons/frag/functions/fnc_trackTrace.sqf | 10 ++++---- 9 files changed, 34 insertions(+), 36 deletions(-) diff --git a/addons/frag/functions/fnc_addTrack.sqf b/addons/frag/functions/fnc_addTrack.sqf index 2beea1dd56..1ce25b6bf9 100644 --- a/addons/frag/functions/fnc_addTrack.sqf +++ b/addons/frag/functions/fnc_addTrack.sqf @@ -1,5 +1,8 @@ #include "script_component.hpp" -if(GVAR(autoTrace)) then { + +private ["_color", "_data", "_index", "_obj", "_objTVel", "_objVel", "_origin", "_positions"]; + +if (GVAR(autoTrace)) then { [] call FUNC(startTracing); }; @@ -16,5 +19,6 @@ _objVel = velocity _obj; _objTVel = sqrt((_objVel select 0)^2 + (_objVel select 1)^2 + (_objVel select 2)^2); _positions set[(count _positions), [(getPos _obj), _objTVel]]; _data = [_origin, typeOf _origin, typeOf _obj, _objTVel, _positions, _color]; + GVAR(traces) set[_index, _data]; -[DFUNC(trackTrace), 0, [_obj, _index, time]] call cba_fnc_addPerFrameHandler; \ No newline at end of file +[DFUNC(trackTrace), 0, [_obj, _index, time]] call cba_fnc_addPerFrameHandler; diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index c033210325..808b027690 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -3,13 +3,12 @@ #ifdef DEBUG_MODE_FULL GVAR(traceFrags) = true; #endif -// ACE_player sideChat "WAAAAAAAAAAAAAAAAAAAAA"; +// ACE_player sideChat "WAAAAAAAAAAAAAAAAAAAAA"; private ["_params", "_initialData", "_hpData", "_roundType", "_round", "_object", "_caliber", "_explosive", "_idh", "_alive", "_exit", "_vm", "_velocity", "_unitDir", "_oldVelocity", "_curVelocity", "_diff", "_polar", "_pos", "_spallPos", "_i", "_pos1", "_pos2", "_blah", "_data", "_spallPolar", "_c", "_warn", "_m", "_k", "_gC", "_shellType", "_fragPower", "_spread", "_spallCount", "_elev", "_dir", "_vel", "_spallFragVect", - "_fragment"]; - + "_fragment", "_index", "_hitData", "_fragTypes", "_fragType", "_foundObjects"]; _params = _this select 0; [(_this select 1)] call cba_fnc_removePerFrameHandler; diff --git a/addons/frag/functions/fnc_drawTraces.sqf b/addons/frag/functions/fnc_drawTraces.sqf index b9645bab97..9dfaa3e46d 100644 --- a/addons/frag/functions/fnc_drawTraces.sqf +++ b/addons/frag/functions/fnc_drawTraces.sqf @@ -1,4 +1,7 @@ #include "script_component.hpp" + +private ["_color", "_index", "_lastPos", "_lastSpd", "_max", "_positions", "_startSpeed"]; + { _positions = _x select 4; _color = _x select 5; @@ -29,4 +32,4 @@ _lastSpd = _data1 select 1; }; // drawIcon3D ["", [1,0,0,1], _lastPos, 0, 0, 0, format["%1m/s", _lastSpd], 1, 0.05, "PuristaMedium"]; -} forEach GVAR(traces); \ No newline at end of file +} forEach GVAR(traces); diff --git a/addons/frag/functions/fnc_fired.sqf b/addons/frag/functions/fnc_fired.sqf index 0ead1a17f8..7ed717c2b8 100644 --- a/addons/frag/functions/fnc_fired.sqf +++ b/addons/frag/functions/fnc_fired.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -private ["_gun", "_type", "_round", "_doFragTrack", "_doSpall"]; +private ["_gun", "_type", "_round", "_doFragTrack", "_doSpall", "_spallTrack", "_spallTrackID"]; if (!GVAR(enabled)) exitWith {}; diff --git a/addons/frag/functions/fnc_frago.sqf b/addons/frag/functions/fnc_frago.sqf index a396de04e8..4c3408db6d 100644 --- a/addons/frag/functions/fnc_frago.sqf +++ b/addons/frag/functions/fnc_frago.sqf @@ -14,7 +14,7 @@ private ["_round", "_lastPos", "_lastVel", "_shellType", "_gun", "_fragTypes", " "_manObjects", "_objects", "_crew", "_fragCount", "_fragArcs", "_doRandom", "_target", "_boundingBox", "_targetPos", "_distance", "_add", "_bbX", "_bbY", "_bbZ", "_cubic", "_targetVel", "_baseVec", "_dir", "_currentCount", "_count", "_vecVar", "_i", "_vec", "_fp", "_vel", "_fragType", "_fragObj", "_randomCount", - "_sectorSize", "_sectorOffset", "_randomDir"]; + "_sectorSize", "_sectorOffset", "_randomDir", "_endTime"]; _round = _this select 0; diff --git a/addons/frag/functions/fnc_spallHP.sqf b/addons/frag/functions/fnc_spallHP.sqf index fb894be499..5e3719cb47 100644 --- a/addons/frag/functions/fnc_spallHP.sqf +++ b/addons/frag/functions/fnc_spallHP.sqf @@ -1,15 +1,15 @@ #include "script_component.hpp" -private ["_initialData", "_currentCount", "_hpData", "_round", "_hpRound"]; +private ["_initialData", "_hpData", "_round", "_hpRound", "_hpDirect"]; //player sideChat format["f: %1 c: %2", (_this select 0), (count GVAR(spallHPData))]; -if((_this select 0) <= (count GVAR(spallHPData))) then { + +if ((_this select 0) <= (count GVAR(spallHPData))) then { _initialData = GVAR(spallHPData) select (_this select 0); - if(!isNil "_initialData") then { + if (!isNil "_initialData") then { _hpRound = ((_this select 1) select 0) select 2; _round = _initialData select 3; _hpDirect = ((_this select 1) select 0) select 10; - if(_hpDirect && {_round == _hpRound}) then { - + if (_hpDirect && {_round == _hpRound}) then { { _hpData = _x; _round = _initialData select 3; @@ -26,4 +26,4 @@ if((_this select 0) <= (count GVAR(spallHPData))) then { } forEach (_this select 1); }; }; -}; \ No newline at end of file +}; diff --git a/addons/frag/functions/fnc_spallTrack.sqf b/addons/frag/functions/fnc_spallTrack.sqf index a264e1ded9..4b7a06bc65 100644 --- a/addons/frag/functions/fnc_spallTrack.sqf +++ b/addons/frag/functions/fnc_spallTrack.sqf @@ -1,30 +1,22 @@ //fnc_spallTrack.sqf #include "script_component.hpp" -private ["_params", "_round", "_multiplier", "_delta", "_curPos", "_velocity", "_velocityStep", "_forwardPos", "_intersectsWith", "_index", "_i", "_test", "_hpId", "_data"]; -// setAccTime 0; + +private ["_round", "_multiplier", "_foundObjects", "_foundObjectHPIds", "_delta", "_curPos", "_velocity", "_velocityStep", "_forwardPos", "_intersectsWith", "_index", "_hpId", "_data"]; _round = _this select 0; _multiplier = _this select 1; _foundObjects = _this select 2; _foundObjectHPIds = _this select 3; -_delta = (1/diag_fps)*_multiplier; +_delta = (1/diag_fps) * _multiplier; _curPos = getPosASL _round; _velocity = velocity _round; -_velocityStep = [ - (_velocity select 0)*_delta, - (_velocity select 1)*_delta, - (_velocity select 2)*_delta - ]; -_forwardPos = [ - (_curPos select 0) + (_velocityStep select 0), - (_curPos select 1) + (_velocityStep select 1), - (_curPos select 2) + (_velocityStep select 2) - ]; - +_velocityStep = _velocity vectorMultiply _delta; +_forwardPos = _curPos vectorAdd _velocityStep; + _intersectsWith = lineIntersectsWith [_curPos, _forwardPos]; -if(count _intersectsWith > 0) then { +if (count _intersectsWith > 0) then { // player sideChat format["inter: %1", _intersectsWith]; { if(!(_x in _foundObjects)) then { @@ -37,4 +29,4 @@ if(count _intersectsWith > 0) then { GVAR(spallHPData) set[_index, _data]; }; } forEach _intersectsWith; -}; \ No newline at end of file +}; diff --git a/addons/frag/functions/fnc_trackFragRound.sqf b/addons/frag/functions/fnc_trackFragRound.sqf index 4358448188..8db68c99e8 100644 --- a/addons/frag/functions/fnc_trackFragRound.sqf +++ b/addons/frag/functions/fnc_trackFragRound.sqf @@ -1,6 +1,6 @@ //fnc_trackFragRound.sqf #include "script_component.hpp" -private ["_params", "_round", "_lastPos", "_lastVel", "_type", "_time", "_doSpall", "_skip", "_explosive", "_indirectRange", "_force", "_fragPower"]; +private ["_params", "_round", "_lastPos", "_lastVel", "_type", "_time", "_doSpall", "_spallTrack", "_foundObjectHPIds", "_skip", "_explosive", "_indirectRange", "_force", "_fragPower"]; _params = _this select 0; _round = _params select 0; _lastPos = _params select 1; diff --git a/addons/frag/functions/fnc_trackTrace.sqf b/addons/frag/functions/fnc_trackTrace.sqf index b0f3f06633..205292a820 100644 --- a/addons/frag/functions/fnc_trackTrace.sqf +++ b/addons/frag/functions/fnc_trackTrace.sqf @@ -1,14 +1,14 @@ #include "script_component.hpp" + +private ["_params", "_tracerObj", "_index", "_positions"]; _params = _this select 0; _tracerObj = _params select 0; _index = _params select 1; -if(alive _tracerObj && (count GVAR(traces)) > 0) then { +if (alive _tracerObj && (count GVAR(traces)) > 0) then { _data = GVAR(traces) select _index; _positions = _data select 4; - _objVel = velocity _tracerObj; - _objTVel = sqrt((_objVel select 0)^2 + (_objVel select 1)^2 + (_objVel select 2)^2); - _positions set[(count _positions), [(getPos _tracerObj), _objTVel]]; + _positions set[(count _positions), [(getPos _tracerObj), vectorMagnitude (velocity _tracerObj)]]; } else { [(_this select 1)] call cba_fnc_removePerFrameHandler; -}; \ No newline at end of file +}; From 416a914253326c3ed5dc5dd3555f819f3a8e500c Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 27 Apr 2015 22:14:08 +0200 Subject: [PATCH 058/478] More vector math replacements --- addons/frag/functions/fnc_addTrack.sqf | 9 ++++----- addons/frag/functions/fnc_doSpall.sqf | 12 ++---------- addons/frag/functions/fnc_drawTraces.sqf | 5 +---- addons/frag/functions/fnc_frago.sqf | 16 ++++------------ 4 files changed, 11 insertions(+), 31 deletions(-) diff --git a/addons/frag/functions/fnc_addTrack.sqf b/addons/frag/functions/fnc_addTrack.sqf index 1ce25b6bf9..d4a4272a9c 100644 --- a/addons/frag/functions/fnc_addTrack.sqf +++ b/addons/frag/functions/fnc_addTrack.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -private ["_color", "_data", "_index", "_obj", "_objTVel", "_objVel", "_origin", "_positions"]; +private ["_color", "_data", "_index", "_obj", "_objSpd", "_origin", "_positions"]; if (GVAR(autoTrace)) then { [] call FUNC(startTracing); @@ -15,10 +15,9 @@ if((count _this) > 2) then { _color = _this select 2; }; _positions = []; -_objVel = velocity _obj; -_objTVel = sqrt((_objVel select 0)^2 + (_objVel select 1)^2 + (_objVel select 2)^2); -_positions set[(count _positions), [(getPos _obj), _objTVel]]; -_data = [_origin, typeOf _origin, typeOf _obj, _objTVel, _positions, _color]; +_objSpd = vectorMagnitude (velocity _obj); +_positions set[(count _positions), [(getPos _obj), _objSpd]]; +_data = [_origin, typeOf _origin, typeOf _obj, _objSpd, _positions, _color]; GVAR(traces) set[_index, _data]; [DFUNC(trackTrace), 0, [_obj, _index, time]] call cba_fnc_addPerFrameHandler; diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index 808b027690..990fb80f8d 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -65,16 +65,8 @@ if(_alive || {_caliber >= 2.5} || {(_explosive > 0 && {_idh >= 1})}) then { _pos = _hpData select 3; _spallPos = nil; for "_i" from 0 to 100 do { - _pos1 = [ - (_pos select 0) + (((_unitDir select 0)*0.01)*_i), - (_pos select 1) + (((_unitDir select 1)*0.01)*_i), - (_pos select 2) + (((_unitDir select 2)*0.01)*_i) - ]; - _pos2 = [ - (_pos select 0) + (((_unitDir select 0)*0.01)*(_i+1)), - (_pos select 1) + (((_unitDir select 1)*0.01)*(_i+1)), - (_pos select 2) + (((_unitDir select 2)*0.01)*(_i+1)) - ]; + _pos1 = _pos vectorAdd (_unitDir vectorMultiply (0.01 * _i)); + _pos2 = _pos vectorAdd (_unitDir vectorMultiply (0.01 * (_i + 1))); // _blah = [_object, "FIRE"] intersect [_object worldToModel (ASLtoATL _pos1), _object worldToModel (ASLtoATL _pos2)]; // diag_log text format["b: %1", _blah]; diff --git a/addons/frag/functions/fnc_drawTraces.sqf b/addons/frag/functions/fnc_drawTraces.sqf index 9dfaa3e46d..e61fc9b5ba 100644 --- a/addons/frag/functions/fnc_drawTraces.sqf +++ b/addons/frag/functions/fnc_drawTraces.sqf @@ -7,10 +7,7 @@ private ["_color", "_index", "_lastPos", "_lastSpd", "_max", "_positions", "_sta _color = _x select 5; _index = 0; _max = count _positions; - _startSpeed = (_positions select 0) select 1; - if(_startSpeed <= 0) then { - _startSpeed = 0.01; - }; + _startSpeed = 0.01 max ((_positions select 0) select 1); _lastSpd = []; _lastPos = []; while {_index < _max} do { diff --git a/addons/frag/functions/fnc_frago.sqf b/addons/frag/functions/fnc_frago.sqf index 4c3408db6d..de7c6986d9 100644 --- a/addons/frag/functions/fnc_frago.sqf +++ b/addons/frag/functions/fnc_frago.sqf @@ -159,11 +159,7 @@ if(_isArmed && (count _objects) > 0) then { _vec set[2, (_vec select 2)-(_vecVar/2)+(random _vecVar)]; _fp = (_fragPower-(random (_fragPowerRandom))); - _vel = [ - (_vec select 0)*_fp, - (_vec select 1)*_fp, - (_vec select 2)*_fp - ]; + _vel = _vec vectorMultiply _fp; _fragType = round (random ((count _fragTypes)-1)); _fragObj = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; @@ -198,14 +194,10 @@ if(_isArmed && (count _objects) > 0) then { _sectorOffset = 360 * (_i - 1) / (_randomCount max 1); _randomDir = random(_sectorSize); _vec = [cos(_sectorOffset + _randomDir), sin(_sectorOffset + _randomDir), sin(30 - (random 45))]; - + _fp = (_fragPower-(random (_fragPowerRandom))); - - _vel = [ - (_vec select 0)*_fp, - (_vec select 1)*_fp, - (_vec select 2)*_fp - ]; + + _vel = _vec vectorMultiply _fp; _fragType = round (random ((count _fragTypes)-1)); _fragObj = (_fragTypes select _fragType) createVehicleLocal [0,0,10000]; From 22d569e5ab6a60459a4cb1fc4311f3a4d913e4a5 Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Tue, 28 Apr 2015 00:29:48 +0200 Subject: [PATCH 059/478] README PL --- documentation/README_PL.md | 84 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 documentation/README_PL.md diff --git a/documentation/README_PL.md b/documentation/README_PL.md new file mode 100644 index 0000000000..6d3dc203cd --- /dev/null +++ b/documentation/README_PL.md @@ -0,0 +1,84 @@ +

+ +

+

+ + ACE version + + + ACE download + + + ACE issues + + + BIF thread + + + ACE license + +

+

Wymaga najnowszej wersji CBA A3. Odwied nas na Facebook | YouTube | Twitter | Reddit

+ + +**ACE3** to efekt wsplnego wysiku grup moderw odpowiedzialnych za **ACE2**, **AGM** oraz **CSE** w celu zwikszenia realizmu i autentycznoci Arma 3. + +Projekt ten jest cakowicie **otwarty rdowo** i wszelki wkad w rozwj jest mile widziany. Moesz bez przeszkd prowadzi swoj wasn dostosowan wersj, o ile zmiany jakie wprowadzisz bd otwarte dla publiki zgodnie z GNU General Public License ([GPLv2](https://github.com/acemod/ACE3/blob/master/LICENSE)). + +Modyfikacja ta jest **budowana moduowo**, dziki temu prawie kady dostarczony plik PBO moe zosta atwo usunity z konfiguracji. Dziki temu, grupa moe prowadzi wasn, dostosowan do siebie, wersj ACE wyczajc elementy, ktrych nie potrzebuj, lub ktre po prostu nie dziaaj z innymi addonami. Moduy same w sobie np. system medyczny, posiadaj wiele moliwoci konfiguracji, pozwalajc mission designerom dostosowa oglne dowiadczenie z gry. + +### Gwne cechy +* Cakowicie nowy system akcji/interakcji 3D +* Wydajna i niezawodna struktura +* Skupienie na moduowoci i customizacji +* Elastyczny system ustawie i konfiguracji opcji u klienta i serwera +* Ulepszony system medyczny z rnymi stopniami zaawansowania (podstawowy/rozszerzony) skupiony na grywalnoci i realizmowi +* Prawidowa i spjna synchronizowana pogoda +* Balistyka oparta na warunkach pogodowych i wietrze +* Moliwo brania jecw +* Rozszerzony system adunkw wybuchowych, wczajc w to uycie rnego rodzaju zapalnikw +* Ulepszenia mapy - stawianie markerw i przybory mapy +* Zaawansowane naprowadzanie rakiet i wskazywanie laserem + +#### Dodatkowe cechy +* Przeciganie i przenoszenie +* Realistyczne nazwy pojazdw i broni +* System kontroli ognia (SKO) dla pojazdw opancerzonych oraz migowcw +* Realistyczna balistyka/SKO obliczana w rozszerzeniach C/C++ +* Symulacja strefy backblastu i podcinienia +* Jednorazowe wyrzutnie +* Realistyczne siy G +* Zamykanie pojazdw na kluczyk +* Realistyczne tryby termowizji oraz noktowizji +* Przepakowywanie magazynkw +* Realistyczna mechanika przegrzewania broni +* Symulacja guchoty bitewnej (tymczasowej utraty suchu) +* Ulepszona fizyka ragdoll +* Ulepszona interakcja dla asystentw i amunicyjnych +* Regulowane celowniki snajperskie +* Usunite animacje bezczynnoci z opuszczon broni +* Usunite gosy awatara gracza +* Skakanie przez przeszkody, wspinanie si na ciany i przecinanie potw +* Urzdzenia Vector, MicroDAGR, Kestrel
+***i wiele wiele wicej...*** + +### Poradniki i instrukcje +Jeeli zainstalowae ACE3 lecz masz problem ze zrozumieniem jak to wszystko dziaa, lub gdzie zacz, zacznij od przeczytania tego: +* [Wprowadzenie](http://ace3mod.com/wiki/user/getting-started.html) + +#### Wsppraca +Moesz pomc w rozwoju addonu szukajc potencjalnych bugw w naszym kodzie, lub zgaszajc nowe funkcje. Aby wnie swj wkad do ACE, po prostu zforkuj to repozytorium na swoje konto GitHub i zgo swoje pull requesty do przegldu przez innych wsppracownikw. Pamitaj, aby doda siebie do listy autorw kadego PBO jakie edytujesz oraz do pliku ['AUTHORS.txt'](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt) dodajc take swj adres e-mail. + +Uywaj naszego [Issue Tracker-a](https://github.com/acemod/ACE3/issues) aby zgasza bugi, proponowa nowe funkcje lub sugerowa zmiany do aktualnie istniejcych. Zobacz take: +* [Jak zgosi bug-a](http://ace3mod.com/wiki/user/how-to-report-an-issue.html) +* [Jak zgosi feature request-a](http://ace3mod.com/wiki/user/how-to-make-a-feature-request.html) + +#### Testowanie i budowanie +Aby pomc nam w testowaniu najnowszych zmian rozwojowych, pobierz nasz master branch ([bezporednio](https://github.com/acemod/ACE3/archive/master.zip), lub [korzystajc z git](https://help.github.com/articles/fetching-a-remote/)), a nastpnie z testowego build-a: +* [Konfiguracja rodowiska do testw](http://ace3mod.com/wiki/development/setting-up-the-development-environment.html) intrukcja krok-po-kroku jak poprawnie ustawi i zbudowa wersj ACE do celw testowych. \ No newline at end of file From e874e4329f054eb57353f5488fd79457410df748 Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Tue, 28 Apr 2015 00:32:03 +0200 Subject: [PATCH 060/478] PL readme --- documentation/README_PL.md | 70 +++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/documentation/README_PL.md b/documentation/README_PL.md index 6d3dc203cd..d156185908 100644 --- a/documentation/README_PL.md +++ b/documentation/README_PL.md @@ -24,61 +24,61 @@ alt="ACE license">

-

Wymaga najnowszej wersji CBA A3. Odwied nas na Facebook | YouTube | Twitter | Reddit

+

Wymaga najnowszej wersji CBA A3. Odwiedź nas na Facebook | YouTube | Twitter | Reddit

-**ACE3** to efekt wsplnego wysiku grup moderw odpowiedzialnych za **ACE2**, **AGM** oraz **CSE** w celu zwikszenia realizmu i autentycznoci Arma 3. +**ACE3** to efekt wspólnego wysiłku grup moderów odpowiedzialnych za **ACE2**, **AGM** oraz **CSE** w celu zwiększenia realizmu i autentyczności Arma 3. -Projekt ten jest cakowicie **otwarty rdowo** i wszelki wkad w rozwj jest mile widziany. Moesz bez przeszkd prowadzi swoj wasn dostosowan wersj, o ile zmiany jakie wprowadzisz bd otwarte dla publiki zgodnie z GNU General Public License ([GPLv2](https://github.com/acemod/ACE3/blob/master/LICENSE)). +Projekt ten jest całkowicie **otwarty źródłowo** i wszelki wkład w rozwój jest mile widziany. Możesz bez przeszkód prowadzić swoją własną dostosowaną wersję, o ile zmiany jakie wprowadzisz będą otwarte dla publiki zgodnie z GNU General Public License ([GPLv2](https://github.com/acemod/ACE3/blob/master/LICENSE)). -Modyfikacja ta jest **budowana moduowo**, dziki temu prawie kady dostarczony plik PBO moe zosta atwo usunity z konfiguracji. Dziki temu, grupa moe prowadzi wasn, dostosowan do siebie, wersj ACE wyczajc elementy, ktrych nie potrzebuj, lub ktre po prostu nie dziaaj z innymi addonami. Moduy same w sobie np. system medyczny, posiadaj wiele moliwoci konfiguracji, pozwalajc mission designerom dostosowa oglne dowiadczenie z gry. +Modyfikacja ta jest **budowana modułowo**, dzięki temu prawie każdy dostarczony plik PBO może zostać łatwo usunięty z konfiguracji. Dzięki temu, grupa może prowadzić własną, dostosowaną do siebie, wersję ACE wyłączając elementy, których nie potrzebują, lub które po prostu nie działają z innymi addonami. Moduły same w sobie np. system medyczny, posiadają wiele możliwości konfiguracji, pozwalając mission designerom dostosować ogólne doświadczenie z gry. -### Gwne cechy -* Cakowicie nowy system akcji/interakcji 3D +### Główne cechy +* Całkowicie nowy system akcji/interakcji 3D * Wydajna i niezawodna struktura -* Skupienie na moduowoci i customizacji -* Elastyczny system ustawie i konfiguracji opcji u klienta i serwera -* Ulepszony system medyczny z rnymi stopniami zaawansowania (podstawowy/rozszerzony) skupiony na grywalnoci i realizmowi -* Prawidowa i spjna synchronizowana pogoda +* Skupienie na modułowości i customizacji +* Elastyczny system ustawień i konfiguracji opcji u klienta i serwera +* Ulepszony system medyczny z różnymi stopniami zaawansowania (podstawowy/rozszerzony) skupiony na grywalności i realizmowi +* Prawidłowa i spójna synchronizowana pogoda * Balistyka oparta na warunkach pogodowych i wietrze -* Moliwo brania jecw -* Rozszerzony system adunkw wybuchowych, wczajc w to uycie rnego rodzaju zapalnikw -* Ulepszenia mapy - stawianie markerw i przybory mapy +* Możliwość brania jeńców +* Rozszerzony system ładunków wybuchowych, włączając w to użycie różnego rodzaju zapalników +* Ulepszenia mapy - stawianie markerów i przybory mapy * Zaawansowane naprowadzanie rakiet i wskazywanie laserem #### Dodatkowe cechy -* Przeciganie i przenoszenie -* Realistyczne nazwy pojazdw i broni -* System kontroli ognia (SKO) dla pojazdw opancerzonych oraz migowcw +* Przeciąganie i przenoszenie +* Realistyczne nazwy pojazdów i broni +* System kontroli ognia (SKO) dla pojazdów opancerzonych oraz śmigłowców * Realistyczna balistyka/SKO obliczana w rozszerzeniach C/C++ -* Symulacja strefy backblastu i podcinienia +* Symulacja strefy backblastu i podciśnienia * Jednorazowe wyrzutnie -* Realistyczne siy G -* Zamykanie pojazdw na kluczyk +* Realistyczne siły G +* Zamykanie pojazdów na kluczyk * Realistyczne tryby termowizji oraz noktowizji -* Przepakowywanie magazynkw +* Przepakowywanie magazynków * Realistyczna mechanika przegrzewania broni -* Symulacja guchoty bitewnej (tymczasowej utraty suchu) +* Symulacja głuchoty bitewnej (tymczasowej utraty słuchu) * Ulepszona fizyka ragdoll -* Ulepszona interakcja dla asystentw i amunicyjnych +* Ulepszona interakcja dla asystentów i amunicyjnych * Regulowane celowniki snajperskie -* Usunite animacje bezczynnoci z opuszczon broni -* Usunite gosy awatara gracza -* Skakanie przez przeszkody, wspinanie si na ciany i przecinanie potw -* Urzdzenia Vector, MicroDAGR, Kestrel
-***i wiele wiele wicej...*** +* Usunięte animacje bezczynności z opuszczoną bronią +* Usunięte głosy awatara gracza +* Skakanie przez przeszkody, wspinanie się na ściany i przecinanie płotów +* Urządzenia Vector, MicroDAGR, Kestrel
+***i wiele wiele więcej...*** ### Poradniki i instrukcje -Jeeli zainstalowae ACE3 lecz masz problem ze zrozumieniem jak to wszystko dziaa, lub gdzie zacz, zacznij od przeczytania tego: +Jeżeli zainstalowałeś ACE3 lecz masz problem ze zrozumieniem jak to wszystko działa, lub gdzie zacząć, zacznij od przeczytania tego: * [Wprowadzenie](http://ace3mod.com/wiki/user/getting-started.html) -#### Wsppraca -Moesz pomc w rozwoju addonu szukajc potencjalnych bugw w naszym kodzie, lub zgaszajc nowe funkcje. Aby wnie swj wkad do ACE, po prostu zforkuj to repozytorium na swoje konto GitHub i zgo swoje pull requesty do przegldu przez innych wsppracownikw. Pamitaj, aby doda siebie do listy autorw kadego PBO jakie edytujesz oraz do pliku ['AUTHORS.txt'](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt) dodajc take swj adres e-mail. +#### Współpraca +Możesz pomóc w rozwoju addonu szukając potencjalnych bugów w naszym kodzie, lub zgłaszając nowe funkcje. Aby wnieść swój wkład do ACE, po prostu zforkuj to repozytorium na swoje konto GitHub i zgłoś swoje pull requesty do przeglądu przez innych współpracowników. Pamiętaj, aby dodać siebie do listy autorów każdego PBO jakie edytujesz oraz do pliku ['AUTHORS.txt'](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt) dodając także swój adres e-mail. -Uywaj naszego [Issue Tracker-a](https://github.com/acemod/ACE3/issues) aby zgasza bugi, proponowa nowe funkcje lub sugerowa zmiany do aktualnie istniejcych. Zobacz take: -* [Jak zgosi bug-a](http://ace3mod.com/wiki/user/how-to-report-an-issue.html) -* [Jak zgosi feature request-a](http://ace3mod.com/wiki/user/how-to-make-a-feature-request.html) +Używaj naszego [Issue Tracker-a](https://github.com/acemod/ACE3/issues) aby zgłaszać bugi, proponować nowe funkcje lub sugerować zmiany do aktualnie istniejących. Zobacz także: +* [Jak zgłosić bug-a](http://ace3mod.com/wiki/user/how-to-report-an-issue.html) +* [Jak zgłosić feature request-a](http://ace3mod.com/wiki/user/how-to-make-a-feature-request.html) #### Testowanie i budowanie -Aby pomc nam w testowaniu najnowszych zmian rozwojowych, pobierz nasz master branch ([bezporednio](https://github.com/acemod/ACE3/archive/master.zip), lub [korzystajc z git](https://help.github.com/articles/fetching-a-remote/)), a nastpnie z testowego build-a: -* [Konfiguracja rodowiska do testw](http://ace3mod.com/wiki/development/setting-up-the-development-environment.html) intrukcja krok-po-kroku jak poprawnie ustawi i zbudowa wersj ACE do celw testowych. \ No newline at end of file +Aby pomóc nam w testowaniu najnowszych zmian rozwojowych, pobierz nasz master branch ([bezpośrednio](https://github.com/acemod/ACE3/archive/master.zip), lub [korzystając z git](https://help.github.com/articles/fetching-a-remote/)), a następnie złóż testowego build-a: +* [Konfiguracja środowiska do testów](http://ace3mod.com/wiki/development/setting-up-the-development-environment.html) – intrukcja krok-po-kroku jak poprawnie ustawić i zbudować wersję ACE do celów testowych. \ No newline at end of file From 8ac6f61fcf6cf863f034373a5e205f155edcd595 Mon Sep 17 00:00:00 2001 From: simon84 Date: Tue, 28 Apr 2015 00:36:37 +0200 Subject: [PATCH 061/478] added some translations added some translations --- addons/ballistics/stringtable.xml | 82 +++++++++++++++++++++++++- addons/interact_menu/stringtable.xml | 5 ++ addons/medical/stringtable.xml | 10 +++- addons/missileguidance/stringtable.xml | 1 + addons/mk6mortar/stringtable.xml | 32 +++++----- addons/optionsmenu/stringtable.xml | 3 +- addons/realisticnames/stringtable.xml | 30 +++++++++- 7 files changed, 144 insertions(+), 19 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 4dc27fd2fc..0cd0ea0df2 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -574,6 +574,7 @@ Chargeur 9x19mm 16Cps Cargador de 16 balas de 9x19mm Магазин из 16-ти 9х19 мм + 9x19mm 20-Schuss-Magazin
9x19mm @@ -581,6 +582,7 @@ 9x19mm 9x19mm 9х19 мм + 9x19mm 9x19mm 30Rnd Mag @@ -588,6 +590,7 @@ 9x19mm 30Cps Cargador de 16 balas de 9x19mm Магазин из 16-ти 9х19 мм + 9x19mm 30-Schuss-Magazin 9x19mm 30Rnd Mag @@ -595,6 +598,7 @@ 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм + 9x19mm 30-Schuss-Magazin 9x19mm @@ -602,6 +606,7 @@ 9x19mm 9x19mm 9х19 мм + 9x19mm 9x19mm 30Rnd Mag @@ -609,6 +614,7 @@ 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм + 9x19mm 30-Schuss-Magazin 7.62x54mm 10Rnd Tracer IR-DIM Mag @@ -616,6 +622,7 @@ Chargeur 7.62x54mm 10Rnd Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих + 7,62x54 10-Schuss-Magazin IR-DIM Leuchtspur 7.62mm IR-DIM @@ -623,6 +630,7 @@ 7.62mm IR-DIM 7.62mm IR-DIM 7,62 мм ИК-трассирующие + 7,62x54 IR-DIM 7.62x54mm 10Rnd Tracer IR-DIM Mag @@ -630,6 +638,7 @@ Chargeur 7.62x54mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих + 7,62x54 10-Schuss-Magazin IR-DIM Leuchtspur 6.5mm 100Rnd Tracer IR-DIM Mag @@ -637,6 +646,7 @@ Chargeur 6.5mm 100Rnd Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих + 6,5mm 100-Schuss-Magazin IR-DIM Leuchtspur 6.5mm IR-DIM @@ -644,6 +654,7 @@ 6.5mm IR-DIM 6.5mm IR-DIM 6,5 мм ИК-трассирующие + 6,5mm IR-DIM 6.5mm 100Rnd Tracer IR-DIM Mag<br />Rounds: 100<br />Used in: MX LSW @@ -651,6 +662,7 @@ Chargeur 6.5mm 100Rnd Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих + 6,5mm 100-Schuss-Magazin IR-DIM Leuchtspur<br />Schuss: 100<br />Verwendet für: MXLSW 6.5mm 200Rnd Tracer IR-DIM Belt @@ -658,6 +670,7 @@ Bande 6.5mm 200Rnd Traçante IR-DIM Cinta de 200 balas trazadoras IR-DIM de 6.5mm Магазин из 200-т 6,5 мм ИК-трассирующих + 6,5mm 200-Schuss-Gurt IR-DIM Leuchtspur 6.5mm IR-DIM @@ -665,6 +678,7 @@ 6.5mm IR-DIM 6.5mm IR-DIM 6,5 мм ИК-трассирующие + 6,5mm IR-DIM 6.5mm 200Rnd Tracer IR-DIM Belt<br />Rounds: 200<br />Used in: Stoner 99 LMG @@ -672,6 +686,7 @@ Bande 6.5mm 200Cps Traçante IR-DIM Cinta de 200 balas trazadoras IR-DIM de 6.5mm Магазин из 200-т 6,5 мм ИК-трассирующих + 6,5mm 200-Schuss-Gurt IR-DIM Leuchtspur<br />Schuss: 200<br />Verwendet für: Stoner 99 LMG 5.56mm 30Rnd Mag (Mk262) @@ -679,6 +694,7 @@ 5.56mm 30Cps (Mk262) Cargador de 30 balas de 5.56mm (Mk262) Магазин из 30-ти 5.56 мм Mk262 + 5,56mm 30-Schuss-Magazin (Mk262) 5.56mm Mk262 @@ -686,6 +702,7 @@ 5.56mm Mk262 5.56mm Mk262 5,56 мм Mk262 + 5,56mm Mk262 Caliber: 5.56x45 mm NATO (Mk262)<br />Rounds: 30 @@ -693,6 +710,7 @@ Calibre: 5.56x45 mm NATO (Mk262)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (Mk262)<br />Balas: 30 Калибр: 5,56x45 мм NATO (Mk262)<br />Патронов: 30 + Kaliber: 5,56x45mm NATO (Mk262)<br />Schuss: 30 5.56mm 30Rnd Mag (Mk318) @@ -700,6 +718,7 @@ 5.56mm 30Cps (Mk318) Cargador de 30 balas de 5.56mm (Mk318) Магазин из 30-ти 5.56 мм (Mk318) + 5,56mm 30-Schuss-Magazin (Mk318) 5.56mm Mk318 @@ -707,6 +726,7 @@ 5.56mm Mk318 5.56mm Mk318 5.56 мм Mk318 + 5,56mm Mk318 Caliber: 5.56x45 mm NATO (Mk318)<br />Rounds: 30 @@ -714,6 +734,7 @@ Calibre: 5.56x45 mm NATO (Mk318)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (Mk318)<br />Balas: 30 Калибр: 5,56x45 мм NATO (Mk318)<br />Патронов: 30 + Kaliber: 5,56x45mm NATO (Mk318)<br />Schuss: 30 5.56mm 30Rnd Mag (M995 AP) @@ -721,6 +742,7 @@ 5.56mm 30Cps (M995 AP) Cargador de 30 balas de 5.56mm (M995 AP) Магазин из 30-ти 5.56 мм (M995 AP) + 5,56mm 30-Schuss-Magazin (M995AP) 5.56mm AP @@ -728,6 +750,7 @@ 5.56mm AP 5.56mm AP 5.56 мм AP + 5,56mm AP Caliber: 5.56x45 mm NATO (M995 AP)<br />Rounds: 30 @@ -735,6 +758,7 @@ Calibre: 5.56x45 mm NATO (M995 AP)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (M995 AP)<br />Balas: 30 Калибр: 5,56x45 мм NATO (M995 AP)<br />Патронов: 30 + Kaliber: 5,56x45mm NATO (M995 AP)<br />Schuss: 30 7.62mm 10Rnd Mag (M118LR) @@ -742,6 +766,7 @@ 7.62mm 10Cps (M118LR) Cargador de 10 balas de 7.62mm (M118LR) Магазин из 10-ти 7,62 мм (M118LR) + 7,62mm 10-Schuss-Magazin (M118LR) 7.62mm M118LR @@ -749,6 +774,7 @@ 7.62mm M118LR 7.62mm (M118LR) 7,62 мм M118LR + 7,62mm M118LR Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 10 @@ -756,6 +782,7 @@ Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 10 Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 10 + Kaliber: 7,62x51mm NATO (M118LR)<br />Schuss: 10 7.62mm 20Rnd Mag (M118LR) @@ -763,6 +790,7 @@ 7.62mm 20Cps (M118LR) Cargador de 20 balas de 7.62mm (M118LR) Магазин из 20-ти 7,62 мм (M118LR) + 7,62mm 20-Schuss-Magazin (M118LR) 7.62mm M118LR @@ -770,6 +798,7 @@ 7.62mm M118LR 7.62mm (M118LR) 7,62 мм M118LR + 7,62mm M118LR Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 20 @@ -777,6 +806,7 @@ Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 20 + Kaliber: 7,62x51mm NATO (M118LR)<br />Schuss: 20 7.62mm 10Rnd Mag (Mk316 Mod 0) @@ -784,6 +814,7 @@ 7.62mm 10Cps (Mk316 Mod 0) Cargador de 10 balas de 7.62mm (Mk316 Mod 0) Магазин из 10-ти 7,62 мм (Mk316 Mod 0) + 7,62mm 10-Schuss-Magazin (Mk316 Mod 0) 7.62mm Mk316 @@ -791,6 +822,7 @@ 7.62mm Mk316 7.62mm Mk316 7,62 мм Mk316 + 7.62mm Mk316 Caliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Rounds: 10 @@ -798,6 +830,7 @@ Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Balas: 10 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 10 + Kaliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Schuss: 10 7.62mm 20Rnd Mag (Mk316 Mod 0) @@ -805,6 +838,7 @@ 7.62mm 20Cps (Mk316 Mod 0) Cargador de 20 balas de 7.62mm (Mk316 Mod 0) Магазин из 20-ти 7,62 мм (Mk316 Mod 0) + 7.62mm 20-Schuss-Magazin (Mk316 Mod 0) 7.62mm Mk316 @@ -812,6 +846,7 @@ 7.62mm Mk316 7.62mm Mk316 7,62 мм Mk316 + 7.62mm Mk316 Caliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Rounds: 20 @@ -819,6 +854,7 @@ Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Balas: 20 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 20 + Kaliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Schuss: 20 7.62mm 10Rnd Mag (Mk319 Mod 0) @@ -826,6 +862,7 @@ 7.62mm 10Cps (Mk319 Mod 0) Cargador de 10 balas de 7.62mm (Mk319 Mod 0) Магазин из 10-ти 7,62 мм (Mk319 Mod 0) + 7,62mm 10-Schuss-Magazin (Mk319 Mod 0) 7.62mm Mk319 @@ -833,6 +870,7 @@ 7.62mm Mk319 7.62mm Mk319 7,62mm Mk319 + 7.62mm Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 10 @@ -840,6 +878,7 @@ Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 10 Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 10 + Kaliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Schuss: 10 7.62mm 20Rnd Mag (Mk319 Mod 0) @@ -847,6 +886,7 @@ 7.62mm 20Cps (Mk319 Mod 0) Cargador de 20 balas de 7.62mm (Mk319 Mod 0) Магазин из 20-ти 7,62 мм (Mk319 Mod 0) + 7,62mm 20-Schuss-Magazin (Mk319 Mod 0) 7.62mm Mk319 @@ -854,6 +894,7 @@ 7.62mm Mk319 7.62mm Mk319 7,62 мм Mk319 + 7.62mm Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 20 @@ -861,6 +902,7 @@ Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 20 Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 20 + Kaliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Schuss: 20 7.62mm 10Rnd Mag (M993 AP) @@ -868,6 +910,7 @@ 7.62mm 10Cps (M993 AP) Cargador de 10 balas de 7.62mm (M993 AP) Магазин из 10-ти 7,62 мм (M993 AP) + 7,62mm 10-Schuss-Magazin (M993 AP) 7.62mm AP @@ -875,6 +918,7 @@ 7.62mm AP 7.62mm AP 7,62mm AP + 7,62mm AP Caliber: 7.62x51 mm NATO (M993 AP)<br />Rounds: 10 @@ -882,6 +926,7 @@ Calibre: 7.62x51 mm NATO (M993 AP)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 10 Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 10 + Kaliber: 7.62x51 mm NATO (M993 AP)<br />Schuss: 10 7.62mm 20Rnd Mag (M993 AP) @@ -889,6 +934,7 @@ 7.62mm 20Cps (M993 AP) Cargador de 20 balas de 7.62mm (M993 AP) Магазин из 20-ти 7,62 мм (M993 AP) + 7,62mm 20-Schuss-Magazin (M993 AP) 7.62mm AP @@ -896,6 +942,7 @@ 7.62mm AP 7.62mm AP 7,62 мм AP + 7,62mm AP Caliber: 7.62x51 mm NATO (M993 AP)<br />Rounds: 20 @@ -903,13 +950,15 @@ Calibre: 7.62x51 mm NATO (M993 AP)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 20 - + Kaliber: 7.62x51 mm NATO (M993 AP)<br />Schuss: 20 +
7.62mm 20Rnd Mag (Mk248 Mod 0) Magazynek 7,62mm 20rd (Mk248 Mod 0) 7.62mm 20Cps (Mk248 Mod 0) Cargador de 20 balas de 7.62mm (Mk248 Mod 0) Магазин из 20-ти 7,62 мм (Mk248 Mod 0) + 7,62mm 20-Schuss-Magazin (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) @@ -917,6 +966,7 @@ 7.62mm (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) 7,62 мм (Mk248 Mod 0) + 7,62mm (Mk248 Mod 0) Caliber: 7.62x67 mm NATO (Mk248 Mod 0)<br />Rounds: 20 @@ -924,6 +974,7 @@ Calibre: 7.62x67mm NATO (Mk248 Mod 0)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Mk248 Mod 0)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Mk248 Mod 0)<br />Патронов: 20 + Kaliber: 7.62x51 mm NATO (Mk248 Mod 0)<br />Schuss: 20 7.62mm 20Rnd Mag (Mk248 Mod 1) @@ -931,6 +982,7 @@ 7.62mm 20Cps (Mk248 Mod 1) Cargador de 20 balas de 7.62mm (Mk248 Mod 1) Магазин из 20-ти 7,62 мм (Mk248 Mod 1) + 7,62mm 20-Schuss-Magazin (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) @@ -938,6 +990,7 @@ 7.62mm (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) 7,62 мм (Mk248 Mod 1) + 7,62mm (Mk248 Mod 1) Caliber: 7.62x67 mm NATO (Mk248 Mod 1)<br />Rounds: 20 @@ -945,6 +998,7 @@ Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Mk248 Mod 1)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Mk248 Mod 1)<br />Патронов: 20 + Kaliber: 7.62x51 mm NATO (Mk248 Mod 1)<br />Schuss: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) @@ -952,6 +1006,7 @@ 7.62 20Cps (Berger Hybrid OTM) Cargador de 20 balas de 7.62mm (Berger Hybrid OTM) Магазин из 20-ти 7,62 мм (Berger Hybrid OTM) + 7,62mm 20-Schuss-Magazin (Berger Hybrid OTM) 7.62mm (OTM) @@ -959,6 +1014,7 @@ 7.62mm (OTM) 7.62mm (OTM) 7,62 мм (OTM) + 7,62mm (OTM) Caliber: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Rounds: 20 @@ -966,6 +1022,7 @@ Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Berger Hybrid OTM)<br />Патронов: 20 + Kaliber: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Schuss: 20 6.5x47mm 30Rnd Mag (HPBT Scenar) @@ -973,6 +1030,7 @@ Cargador de 30 balas de 6.5x47mm (HPBT Scenar) Magazynek 6,5x47 mm 30rd (HPBT Scenar) Магазин из 30-ти 6,5x47 мм (HPBT Scenar) + 6,5x47mm 30-Schuss-Magazin (HPBT Scenar) 6.5mm Lapua @@ -980,6 +1038,7 @@ 6.5mm Lapua 6,5mm Lapua 6,5 мм Lapua + 6,5 Lapua Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM @@ -987,10 +1046,12 @@ Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30 Kaliber: 6,5x47 mm (HPBT Scenar)<br />Pociski: 30 Калибр: 6,5x47 мм (HPBT Scenar)<br />Патронов: 30 + Kaliber: 6,5x47 mm (HPBT Scenar)<br />Schuss: 30<br />Verwendet für: MXM 6.5mm Creedmor 30Rnd Mag Magazynek 6,5mm Creedmor 30rd + 6,5mm Creedmor 30-Schuss-Magazin 6.5mm CM @@ -998,10 +1059,12 @@ 6.5mm CM 6,5mm CM 6,5 мм CM + 6,5mm CM Caliber: 6.5mm Creedmor<br />Rounds: 30<br />Used in: MXM Kaliber: 6,5mm Creedmor<br />Pociski: 30<br />Używany w: MXM + Kaliber: 6,5x47 mm Creedmor<br />Schuss: 30<br />Verwendet für: MXM .338 10Rnd Mag (300gr Sierra MatchKing HPBT) @@ -1009,6 +1072,7 @@ Cargador de 10 balas de 8.6x70mm (300gr Sierra MatchKing HPBT) Magazynek .338 10rd (300gr Sierra MatchKing HPBT) Магазин из 10-ти .338 (300 гран Sierra MatchKing HPBT) + .338 10-Schuss-Magazin (300gr Sierra MatchKing HPBT) .338 (HPBT) @@ -1016,6 +1080,7 @@ .338 (HPBT) .338 (HPBT) .338 (HPBT) + .338 (HPBT) Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 @@ -1023,6 +1088,7 @@ Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Balas: 10 Kaliber: 8,6x70 mm (300gr Sierra MatchKing HPBT)<br />Pociski: 10 Калибр: .338 (300 гран Sierra MatchKing HPBT)<br />Патронов: 10 + Kaliber: 8,6x70 mm (300gr Sierra MatchKing HPBT)<br />Schuss: 10 .338 10Rnd Mag (API526) @@ -1030,6 +1096,7 @@ Cargador de 10 balas de .338 (API526) Magazynek .338 10rd (API526) Магазин из 10-ти .338 (API526) + .338 10-Schuss-Magazin (API526) .338 AP @@ -1037,6 +1104,7 @@ .338 AP .338 AP .338 бронебойные + .338 (AP) Caliber: 8.6x70mm (API526)<br />Rounds: 10 @@ -1044,6 +1112,7 @@ Calibre: 8.6x70mm (API526)<br />Balas: 10 Kaliber: 8,6x70 mm (API526)<br />Pociski: 10 Калибр: .338 (API526)<br />Патронов: 10 + Kaliber: 8,6x70 mm (API526)<br />Schuss: 10 12.7x99mm 5Rnd Mag @@ -1051,6 +1120,7 @@ Cargador de 5 balas de 12.7x99mm Magazynek 12,7x99 mm 5rd Магазин из 5-ти 12,7x99 мм + 12,7x99mm 5-Schuss-Magazin 12.7mm @@ -1058,6 +1128,7 @@ 12.7mm 12,7mm 12,7 мм + 12,7mm Caliber: 12.7x99mm<br />Rounds: 5 @@ -1065,24 +1136,28 @@ Calibre: 12.7x99mm<br />Balas: 5 Kaliber: 12,7x99 mm<br />Pociski: 5 Калибр: 12,7x99 мм<br />Патронов: 5 + Kaliber: 12,7x99mm<br />Schuss: 5 12.7x99mm API 5Rnd Mag 12.7x99mm API 5Cps Cargador de 5 balas de 12.7x99mm API Magazynek 12,7x99mm API 5rd + 12,7x99mm 5-Schuss-Magazin (API) 12.7mm API 12.7mm API 12.7mm API 12,7mm API + 12,7mm API Caliber: 12.7x99mm API<br />Rounds: 5 Calibre: 12.7x99mm API<br />Cartouches: 5 Calibre: 12.7x99mm API<br />Balas: 5 Kaliber: 12,7x99 mm API<br />Pociski: 5 + Kaliber:12,7x99mm API<br />Schuss: 5 12.7x99mm 5Rnd Mag (AMAX) @@ -1090,6 +1165,7 @@ Cargador de 5 balas de 12.7x99mm (AMAX) Magazynek 12,7x99 mm 5rd (AMAX) Магазин из 5-ти 12,7x99 мм (A-MAX) + 12,7x99mm 5-Schuss-Magazin (AMAX) 12.7mm @@ -1097,6 +1173,7 @@ 12.7mm 12,7mm 12,7 мм + 12,7mm Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 @@ -1104,6 +1181,7 @@ Calibre: 12.7x99mm (AMAX)<br />Balas: 5 Kaliber: 12,7x99 mm (AMAX)<br />Pociski: 5 Калибр: 12,7x99 мм (A-MAX)<br />Патронов: 5 + Kaliber:12,7x99mm (AMAX)<br />Schuss: 5
-
+
\ No newline at end of file diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 48ee00f475..8b4a594026 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -18,6 +18,7 @@ Toujours afficher le curseur pour les interactions Mostra sempre il cursore per le interazioni Zawsze wyświetlaj kursor dla interakcji + Immer den Cursor für Fremd-Interaktionen anzeigen
Display interaction menus as lists @@ -76,21 +77,25 @@ Interaction - Text Max Interakcja - Tekst max Interaction -Texte Max + Interaktionstextfarbe Max Interaction - Text Min Interakcja - Tekst min Interaction - Texte Min + Interaktionstextfarbe Min Interaction - Shadow Max Interakcja - Cień max Interaction - Ombre Max + Interaktionstextschatten Max Interaction - Shadow Min Interakcja - Cień min Interaction - Ombre Min + Interaktionstextschatten Min \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index ec6b3aa374..491511092e 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1084,6 +1084,7 @@ Personal Aid Kit for in field stitching or advanced treatment W znacznym stopniu poprawia stan pacjenta Полевая аптчека для продвинутого лечения и зашивания ран + Persönliches Verbandspäckchen zum ambulanten Nähen und fortgeschrittener Behandlung.
Use Personal Aid Kit @@ -1423,30 +1424,37 @@ Patient %1<br/>is %2.<br/>%3.<br/>%4 Пациент %1<br/>%2.<br/>%3.<br/>%4 + Patient %1<br/>ist %2.<br/>%3.<br/>%4 alive жив + lebendig dead мертв + tot He's lost some blood Есть кровопотеря + Er hat etwas Blut verloren He hasn't lost blood Нет кровопотери + Er hat kein Blut verloren He is in pain Испытывает боль + Er hat Schmerzen He is not in pain Не испытывает боли + Er hat keine Schmerzen Bandaged @@ -1942,4 +1950,4 @@ Перелом - + \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index e0923981f3..791e7c1c30 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -17,6 +17,7 @@ Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types. Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych. Guía de misiles avanzada, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un framework requerido para armas de tipo misil. + Das Erweiterte Raketenlenksystem, auch AMG genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. Hydra-70 DAGR Missile diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 19d68d8eb1..465585b9f0 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -1,17 +1,21 @@  - - - 82mm Rangetable - - - Range Table for the MK6 82mm Mortar - - - Open 82mm Rangetable - - - Charge - - + + + 82mm Rangetable + 82mm Distanztabelle + + + Range Table for the MK6 82mm Mortar + Distanztabelle für den Mk6 82mm Mortar + + + Open 82mm Rangetable + Öffne 82mm Distanztabelle + + + Charge + Ladung + + \ No newline at end of file diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index cdbdcf72a0..8a86563690 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -218,6 +218,7 @@ Menu option: taille de l'UI Skalowanie UI menu ustawień Opción de escalado del menú UI + UI Skalierung - + \ No newline at end of file diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 5e9aaa701d..2d189568f8 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1487,6 +1487,7 @@ Noreen "Bad News" ULR Noreen "Bad News" ULR Noreen "Bad News" ULR + Noreen "Bad News" ULR
Noreen "Bad News" ULR (Black) @@ -1494,6 +1495,7 @@ Noreen "Bad News" ULR (Noir) Noreen "Bad News" ULR (Negro) Noreen "Bad News" ULR (черный) + Noreen "Bad News" ULR (Schwarz) Noreen "Bad News" ULR (Camo) @@ -1501,6 +1503,7 @@ Noreen "Bad News" ULR (Camo) Noreen "Bad News" ULR (Camuflaje) Noreen "Bad News" ULR (камо) + Noreen "Bad News" ULR (Camo) Noreen "Bad News" ULR (Sand) @@ -1508,6 +1511,7 @@ Noreen "Bad News" ULR (Beige) Noreen "Bad News" ULR (Arena) Noreen "Bad News" ULR (песочный) + Noreen "Bad News" ULR (Sand) SIG 556 @@ -1516,6 +1520,7 @@ SIG 556 SIG 556 SIG 556 + SIG 556 SIG 556 (Black) @@ -1524,6 +1529,7 @@ SIG 556 (Negro) SIG 556 (черный) SIG 556 (czarny) + SIG 556 (Schwarz) SIG 556 (Khaki) @@ -1532,6 +1538,7 @@ SIG 556 (Caqui) SIG 556 (хаки) SIG 556 (khaki) + SIG 556 (Khaki) SIG 556 (Sand) @@ -1540,6 +1547,7 @@ SIG 556 (Arena) SIG 556 (песочный) SIG 556 (piaskowy) + SIG 556 (Sand) SIG 556 (Camo) @@ -1548,6 +1556,7 @@ SIG 556 (Camuflaje) SIG 556 (камо) SIG 556 (kamuflaż) + SIG 556 (Camo) SIG 556 (Woodland) @@ -1556,6 +1565,7 @@ SIG 556 (Bosque) SIG 556 (лесной) SIG 556 (leśny) + SIG 556 (Woodland) SIG 556 (provisional) spotter @@ -1564,6 +1574,7 @@ SIG 556 (provisional) observador SIG 556 (provisional) корректировщик SIG 556 (prowizoryczny) obserwator + SIG 556 (provisorisch) Beobachter ASP-1 Kir @@ -1571,6 +1582,7 @@ ASP-1 Kir ASP-1 Kir ASP-1 Kir + ASP-1 Kir ASP-1 Kir (Black) @@ -1578,6 +1590,7 @@ ASP-1 Kir (Noir) ASP-1 Kir (Negro) ASP-1 Kir (черный) + ASP-1 Kir (Schwarz) ASP-1 Kir (Tan) @@ -1585,6 +1598,7 @@ ASP-1 Kir (Tan) ASP-1 Kir (Tan) ASP-1 Kir (бронзовый) + ASP-1 Kir (Hellbraun) Cyrus @@ -1592,6 +1606,7 @@ Cyrus Cyrus Cyrus + Cyrus Cyrus (Black) @@ -1599,6 +1614,7 @@ Cyrus (Noir) Cyrus (Negro) Cyrus (черный) + Cyrus (Schwarz) Cyrus (Hex) @@ -1606,6 +1622,7 @@ Cyrus (Hex) Cyrus (Hex) Cyrus (гекс) + Cyrus (Hex) Cyrus (Tan) @@ -1613,6 +1630,7 @@ Cyrus (Tan) Cyrus (Tan) Cyrus (бронза) + Cyrus (Hellbraun) M14 @@ -1621,6 +1639,7 @@ M14 M14 M14 + M14 M14 (Camo) @@ -1629,6 +1648,7 @@ M14 (Camuflaje) M14 (Камо) M14 (kamuflaż) + M14 (Camo) M14 (Olive) @@ -1637,6 +1657,7 @@ M14 (Oliva) M14 (Олива) M14 (oliwkowy) + M14 (Olive) HK121 @@ -1644,6 +1665,7 @@ HK121 HK121 HK121 + HK121 HK121 (Hex) @@ -1651,6 +1673,7 @@ HK121 (Hex) HK121 (Hex) HK121 (гекс) + HK121 (Hex) HK121 (Tan) @@ -1658,6 +1681,7 @@ HK121 (Tan) HK121 (Tan) HK121 (бронза) + HK121 (Hellbraun) LWMMG @@ -1666,6 +1690,7 @@ LWMMG LWMMG LWMMG + LWMMG LWMMG (MTP) @@ -1674,6 +1699,7 @@ LWMMG (MTP) LWMMG (MTP) LWMMG (MTP) + LWMMG (MTP) LWMMG (Black) @@ -1682,6 +1708,7 @@ LWMMG (Negro) LWMMG (Черный) LWMMG (czarny) + LWMMG (Schwarz) LWMMG (Sand) @@ -1690,6 +1717,7 @@ LWMMG (Arena) LWMMG (Песочный) LWMMG (piaskowy) + LWMMG (Sand) - + \ No newline at end of file From f8b8d7dd165eae627550c949e4b78def6af1bf99 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 28 Apr 2015 00:08:28 -0500 Subject: [PATCH 062/478] Set Lock on postInit so spawned vehicles are set --- addons/vehiclelock/CfgEventHandlers.hpp | 23 ++++++++ addons/vehiclelock/CfgVehicles.hpp | 57 ++++++++++++------- addons/vehiclelock/XEH_preInit.sqf | 1 + addons/vehiclelock/config.cpp | 4 ++ .../functions/fnc_handleVehicleInitPost.sqf | 39 +++++++++++++ .../vehiclelock/functions/fnc_moduleInit.sqf | 23 +------- .../functions/fnc_onOpenInventory.sqf | 2 +- 7 files changed, 105 insertions(+), 44 deletions(-) create mode 100644 addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf diff --git a/addons/vehiclelock/CfgEventHandlers.hpp b/addons/vehiclelock/CfgEventHandlers.hpp index cf704d000c..85db25d4a0 100644 --- a/addons/vehiclelock/CfgEventHandlers.hpp +++ b/addons/vehiclelock/CfgEventHandlers.hpp @@ -15,3 +15,26 @@ class Extended_InventoryOpened_EventHandlers { }; }; }; +class Extended_InitPost_EventHandlers { + class CAManBase { + class ADDON { + serverInit = QUOTE(_this call FUNC(handleUnitInitPost)); + }; + }; + class Car { + class ADDON { + serverInit = QUOTE(_this call FUNC(handleVehicleInitPost)); + }; + }; + class Tank { + class ADDON { + serverInit = QUOTE(_this call FUNC(handleVehicleInitPost)); + }; + }; + class Helicopter { + class ADDON { + serverInit = QUOTE(_this call FUNC(handleVehicleInitPost)); + }; + }; +}; + diff --git a/addons/vehiclelock/CfgVehicles.hpp b/addons/vehiclelock/CfgVehicles.hpp index 65ad0568d6..94bcf34317 100644 --- a/addons/vehiclelock/CfgVehicles.hpp +++ b/addons/vehiclelock/CfgVehicles.hpp @@ -1,50 +1,65 @@ #define MACRO_LOCK_ACTIONS \ - class ACE_MainActions { \ + class ACE_SelfActions { \ class ACE_unlockVehicle { \ displayName = "$STR_ACE_Vehicle_Action_UnLock"; \ - distance = 4; \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,false)])] call EFUNC(common,targetEvent)); \ - showDisabled = 0; \ priority = 0.3; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ class ACE_lockVehicle { \ displayName = "$STR_ACE_Vehicle_Action_Lock"; \ - distance = 4; \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,true)])] call EFUNC(common,targetEvent)); \ - showDisabled = 0; \ priority = 0.2; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ class ACE_lockpickVehicle { \ displayName = "$STR_ACE_Vehicle_Action_Lockpick"; \ - distance = 4; \ condition = QUOTE([ARR_3(_player, _target, 'canLockpick')] call FUNC(lockpick)); \ statement = QUOTE([ARR_3(_player, _target, 'startLockpick')] call FUNC(lockpick)); \ - showDisabled = 0; \ priority = 0.1; \ }; \ + }; \ + class ACE_Actions { \ + class ACE_MainActions { \ + class ACE_unlockVehicle { \ + displayName = "$STR_ACE_Vehicle_Action_UnLock"; \ + distance = 4; \ + condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ + statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,false)])] call EFUNC(common,targetEvent)); \ + priority = 0.3; \ + icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ + }; \ + class ACE_lockVehicle { \ + displayName = "$STR_ACE_Vehicle_Action_Lock"; \ + distance = 4; \ + condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ + statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,true)])] call EFUNC(common,targetEvent)); \ + priority = 0.2; \ + icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ + }; \ + class ACE_lockpickVehicle { \ + displayName = "$STR_ACE_Vehicle_Action_Lockpick"; \ + distance = 4; \ + condition = QUOTE([ARR_3(_player, _target, 'canLockpick')] call FUNC(lockpick)); \ + statement = QUOTE([ARR_3(_player, _target, 'startLockpick')] call FUNC(lockpick)); \ + priority = 0.1; \ + }; \ + }; \ }; class CfgVehicles { class LandVehicle; class Car: LandVehicle { - class ACE_Actions { - MACRO_LOCK_ACTIONS - }; + MACRO_LOCK_ACTIONS }; class Tank: LandVehicle { - class ACE_Actions { - MACRO_LOCK_ACTIONS - }; + MACRO_LOCK_ACTIONS }; class Air; class Helicopter: Air { - class ACE_Actions { - MACRO_LOCK_ACTIONS - }; + MACRO_LOCK_ACTIONS }; class Logic; @@ -55,7 +70,7 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; displayName = "Vehicle Lock Setup"; - function = QUOTE(DFUNC(moduleInit)); + function = QFUNC(moduleInit); scope = 2; isGlobal = 0; icon = QUOTE(PATHTOF(UI\Icon_Module_VehicleLock_ca.paa)); @@ -67,9 +82,9 @@ class CfgVehicles { typeName = "BOOL"; defaultValue = 0; }; - class SetLockState { - displayName = "Set Lock State"; // Argument label - description = "Set lock state for all vehicles on map at start"; // Tooltip description + class VehicleStartingLockState { + displayName = "Vehicle Starting Lock State"; // Argument label + description = "Set lock state for all vehicles (removes ambiguous lock states)"; // Tooltip description typeName = "NUMBER"; // Value type, can be "NUMBER", "STRING" or "BOOL" class values { class None {name = "As Is"; value = 0; default = 1;}; @@ -93,7 +108,7 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; displayName = "Vehicle Key Assign"; - function = QUOTE(DFUNC(moduleSync)); + function = QFUNC(moduleSync); scope = 2; isGlobal = 0; icon = QUOTE(PATHTOF(UI\Icon_Module_VehicleKey_ca.paa)); diff --git a/addons/vehiclelock/XEH_preInit.sqf b/addons/vehiclelock/XEH_preInit.sqf index bdab28fc75..18a7062c24 100644 --- a/addons/vehiclelock/XEH_preInit.sqf +++ b/addons/vehiclelock/XEH_preInit.sqf @@ -4,6 +4,7 @@ ADDON = false; PREP(addKeyForVehicle); PREP(getVehicleSideKey); +PREP(handleVehicleInitPost); PREP(hasKeyForVehicle); PREP(lockpick); PREP(moduleInit); diff --git a/addons/vehiclelock/config.cpp b/addons/vehiclelock/config.cpp index 248a1e7ca0..608a892b45 100644 --- a/addons/vehiclelock/config.cpp +++ b/addons/vehiclelock/config.cpp @@ -20,6 +20,10 @@ class ACE_Settings { class GVAR(LockVehicleInventory) { value = 0; typeName = "BOOL"; + }; + class GVAR(VehicleStartingLockState) { + value = -1; + typeName = "SCALAR"; }; }; diff --git a/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf b/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf new file mode 100644 index 0000000000..df875b1859 --- /dev/null +++ b/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf @@ -0,0 +1,39 @@ +/* + * Author: PabstMirror + * Function for sync module. Assigns keys for all synced vehicles to any players that are synced. + * + * Arguments: + * 0: Vehicle + * + * Return Value: + * None + * + * Example: + * [car] call ACE_VehicleLock_fnc_handleVehicleInitPost + * + * Public: No + */ +#include "script_component.hpp" + +PARAMS_1(_vehicle); + +if (!isServer) exitWith {}; +if (GVAR(VehicleStartingLockState) == -1) exitWith {}; + +[{ + private ["_lock"]; + PARAMS_1(_vehicle); + if ((_vehicle isKindOf "Car") || {_vehicle isKindOf "Tank"} || {_vehicle isKindOf "Helicopter"}) then { + //set lock state (eliminates the ambigious 1-"Default" and 3-"Locked for Player" states) + _lock = switch (GVAR(VehicleStartingLockState)) do { + case (0): {(locked _vehicle) in [2, 3]}; + case (1):{true}; + case (2):{false}; + }; + if (((_lock) && {(locked _vehicle) != 2}) || {(!_lock) && {(locked _vehicle) != 0}}) then { + TRACE_3("Setting Lock State",_lock,(typeOf _vehicle),_vehicle); + ["VehicleLock_SetVehicleLock", [_vehicle], [_vehicle, _lock]] call EFUNC(common,targetEvent); + }; + }; + //Delay call until mission start (so everyone has the eventHandler's installed) +}, [_vehicle], 0.25, 0.25] call EFUNC(common,waitAndExecute); \ No newline at end of file diff --git a/addons/vehiclelock/functions/fnc_moduleInit.sqf b/addons/vehiclelock/functions/fnc_moduleInit.sqf index c26e8aacbd..510b8ec7be 100644 --- a/addons/vehiclelock/functions/fnc_moduleInit.sqf +++ b/addons/vehiclelock/functions/fnc_moduleInit.sqf @@ -17,8 +17,6 @@ */ #include "script_component.hpp" -private ["_sideKeysAssignment", "_setLockState", "_lock"]; - PARAMS_3(_logic,_syncedUnits,_activated); if (!_activated) exitWith {WARNING("Vehicle Lock Init Module - placed but not active");}; @@ -27,23 +25,4 @@ if (!isServer) exitWith {}; //Set the GVAR for default lockpick strength [_logic, QGVAR(DefaultLockpickStrength), "DefaultLockpickStrength"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(LockVehicleInventory), "LockVehicleInventory"] call EFUNC(common,readSettingFromModule); - -_setLockState = _logic getVariable["SetLockState", 0]; -[{ - PARAMS_1(_setLockState); - { - if ((_x isKindOf "Car") || {_x isKindOf "Tank"} || {_x isKindOf "Helicopter"}) then { - //set lock state (eliminates the ambigious 1-"Default" and 3-"Locked for Player" states) - _lock = switch (_setLockState) do { - case (0): {(locked _x) in [2, 3]}; - case (1):{true}; - case (2):{false}; - }; - if (((_lock) && {(locked _x) != 2}) || {(!_lock) && {(locked _x) != 0}}) then { - TRACE_3("Setting Lock State", _lock, (typeOf _x), _x); - ["VehicleLock_SetVehicleLock", [_x], [_x, _lock]] call EFUNC(common,targetEvent); - }; - }; - } forEach vehicles; - //Delay call until mission start (so everyone has the eventHandler's installed) -}, [_setLockState], 0.25, 0.25] call EFUNC(common,waitAndExecute); +[_logic, QGVAR(VehicleStartingLockState), "VehicleStartingLockState"] call EFUNC(common,readSettingFromModule); diff --git a/addons/vehiclelock/functions/fnc_onOpenInventory.sqf b/addons/vehiclelock/functions/fnc_onOpenInventory.sqf index 65c3068dce..8199f4b850 100644 --- a/addons/vehiclelock/functions/fnc_onOpenInventory.sqf +++ b/addons/vehiclelock/functions/fnc_onOpenInventory.sqf @@ -34,7 +34,7 @@ if (GVAR(LockVehicleInventory) && //if setting not enabled playSound "ACE_Sound_Click"; //don't open the vehicles inventory _handeled = true; - //Just opens a dummy groundContainer + //Just opens a dummy groundContainer (so the player can still see their own inventory) ACE_player action ["Gear", objNull]; }; From 1d434949de5bc25952c725ddeeb90a8f1f1a0a08 Mon Sep 17 00:00:00 2001 From: NukeDev Date: Tue, 28 Apr 2015 17:46:35 +0200 Subject: [PATCH 063/478] Some Italian Translation's Changes --- addons/common/stringtable.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index de10a60893..49cdba1583 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -380,7 +380,7 @@ Set the desired location of the progress bar on your screen. Setze die gewünschte Position der Fortschrittsanzeige fest. Seleccionar la ubicación deseada de la barra de progreso en tu pantalla - Modifica la posizione su schermo della barra di avanzamento. + Modifica la posizione della barra di avanzamernto sullo schermo Установите желаемое положение строки состояния на экране. Ustaw pożądaną lokalizację paska postępu na ekranie Appliquer la position de la barre de progression sur l'écran @@ -391,7 +391,7 @@ Hint Background color Hintergrundfarbe der Hinweise Color de fondo de las notificaciones - Sfondo dei Suggerimenti + Colore di sfondo dei Suggerimenti Цвет фона всплывающих подсказок Kolor tła powiadomień Notification: couleur de l'arrière plan @@ -413,7 +413,7 @@ Hint text font color Textfarbe der Hinweise Color del texto de las notificaciones - Testo dei Suggerimenti + Il colore del Testo dei Suggerimenti Цвет шрифта всплывающих подсказок Kolor tekstu powiadomień Notification: couleur du texte @@ -424,7 +424,7 @@ The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified. Wähle die Textfarbe für ACE-Hinweise. Die gewählte Farbe wird als Standartfarbe der Hinweise angezeigt, wenn der Hinweis selbst keine spezifische Farbe hat. El color del texto de las notificaciones del ACE. Este es el color predeterminado para todo el texto que se muestra a través del sistema de notificaciones del ACE, si el texto de notificación no tiene otro color especificado. - Il colore del testo dei suggerimenti dell'ACE. Questo è il colore standard per tutti i caratteri mostrati dal sistema di suggerimenti dell'ACE, se questo non è altrimenti specificato. + Il colore del testo dei suggerimenti dell'ACE. Questo è il colore standard per tutti i caratteri mostrati dal sistema di suggerimenti dell'ACE, se il colore del testo non è specificato. Цвет шрифта текста всплывающих подсказок АСЕ. Этот цвет является стандартным для всего текста, транслирующегося через систему подсказок АСЕ, если не установлено другого цвета для текста подсказок. Kolor tekstu dla powiadomień ACE. Ten kolor jest domyślnym dla wszystkich tekstów wyświetlanych poprzez System Powiadomień ACE, jeżeli dla powiadomienia nie określono innego koloru. Notification ACE: couleur du texte. C'est la couleur par défaut de tout texte affiché dans les notifications ACE, si aucune couleur n'est spécifiée pour les notifications @@ -447,7 +447,7 @@ Die Bananen (Musa) sind eine Pflanzengattung in der Familie der Bananengewächse (Musaceae) innerhalb der Einkeimblättrigen Pflanzen (Monokotyledonen). Una banana es una fruta comestible, botanicamente una baya, producida por varios tipos de grandes plantas herbáceas del género Musa. Banán je protáhlé ovoce a plod banánovníku (epigeická bobule). - Una banana è un frutto commestibile, nello specifico una bacca cuoiosa, prodotto da un gran numero di grandi pianti erbacee dotate di fiori, della famiglia delle Musaceae. + Una banana è un frutto commestibile, nello specifico una bacca cuoiosa, prodotta da un gran numero di grandi piante erbacee dotate di fiori, della famiglia delle Musaceae. Банан - это съедобный фрукт, ягода с ботанической точки зрения, произрастающий на нескольких видах травянистых растениях рода Банан (Musa). A banán egy ehető gyümölcs, technikai szempontból bogyótermés, melyet több fürtvirágzatú növény termel a Musa rendszertani nemzetségben. Rodzaj roślin z rodziny bananowatych, obejmujący około 80 gatunków.<br />Przedstawiciele są typowymi przedstawicielami flory międzyzwrotnikowej Azji, Afryki i Australii.<br />Część gatunków dostarcza jadalnych owoców. Słowo banan pochodzi prawdopodobnie od arabskiego słowa banan, co oznacza palec, lub afrykańskiego języka wolof, w którym rośliny te określa się mianem banaana. From b5524fb3eee275106a0b85b0638f6fc7a7cc9575 Mon Sep 17 00:00:00 2001 From: Josuan Albin Date: Tue, 28 Apr 2015 18:00:09 +0200 Subject: [PATCH 064/478] French pass MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fixed ramp in /aircraft * added aragmx entry * added multiple medical entries * translated missileguidance * completed mk6mortar * changed Sanitaire to Médical in realisticnames also fixed some typos in there and had to rename some of the explosives (weren't fitting in boxes in game) * added myself to contributors --- AUTHORS.txt | 1 + addons/aircraft/stringtable.xml | 6 +- addons/atragmx/stringtable.xml | 3 +- addons/dragging/stringtable.xml | 4 +- addons/explosives/stringtable.xml | 6 +- addons/medical/stringtable.xml | 79 +++++++++++++++++++++++--- addons/missileguidance/stringtable.xml | 3 +- addons/mk6mortar/stringtable.xml | 7 ++- addons/realisticnames/stringtable.xml | 24 ++++---- 9 files changed, 101 insertions(+), 32 deletions(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index 17ae9dd7c0..415598e188 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -30,6 +30,7 @@ ACCtomeek Adanteh aeroson Aggr094 +Alganthe Anthariel BlackQwar Brakoviejo diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 57fecc2a44..3a67e11449 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -29,7 +29,7 @@ Open Cargo Door Laderampe öffnen Abrir compuerta de carga - Ourvir rampe cargo + Ourvir la rampe Otwórz drzwi ładowni Otevřít nákladní prostor Rakodórámpa nyitása @@ -40,7 +40,7 @@ Close Cargo Door Laderampe schließen Cerrar compuerta de carga - Fermer rampe cargo + Fermer la rampe Zamknij drzwi ładowni Zavřít nákladní prostor Rakodórámpa zárása @@ -48,4 +48,4 @@ Chiudi la porta del cargo - + \ No newline at end of file diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index f3825c405a..f6bafa7762 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -27,6 +27,7 @@ Защищенный КПК с ATragMX PDA rugerizada con ATragMX Robuster PDA mit ATragMX + PDA robuste avec ATragMX Open ATragMX @@ -37,4 +38,4 @@ ATragMX öffnen - + \ No newline at end of file diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 521ab87006..b53816e796 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -7,7 +7,7 @@ Arrastrar Ciągnij Táhnout - Tracter + Trainer Ziehen Arrastar Trascina @@ -50,4 +50,4 @@ Нести - + \ No newline at end of file diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 8e941b1f2a..c6e386468c 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -42,7 +42,7 @@ Sprengstoffcode: %1 Código del explosivo: %1 Kod ładunku: %1 - Code explosif: %1 + Code de l'explosif: %1 Kód výbušniny: %1 Robbanóanyag kódja: %1 Código do explosivo: %1 @@ -222,7 +222,7 @@ Löschen Borrar Usuń - Désamorçé + Effacer Čistý Libera Törlés @@ -502,4 +502,4 @@ Raccogli - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 9f1c9e4b4d..ed8568a717 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -5,23 +5,27 @@ INJURIES VERLETZUNGEN ТРАВМЫ + BLESSURES No injuries on this bodypart ... Körperteil nicht verletzt ... Данная часть тела не повреждена ... + Aucune blessures sur cette partie du corps Litter Simulation Detail Detale zużytych medykamentów Detalle de simulación de basura Количество мусора от медицины + Niveau de simulation des détritus Litter simulation detail level sets the number of litter items which will be locally spawned in the client. Excessive amounts in local areas could cause FPS lag, so this is a client only setting. Opcja ta ustawia liczbę zużytych medykamentów, jakie pojawiają się lokalnie wokół gracza. Ich zbyt duża ilość może spowodować spadki FPS, dlatego jest to ustawienie tylko po stronie klienta. Detalle simulación de basura establece el número de artículos de basura que se generan a nivel local en el cliente. Las cantidades excesivas en áreas locales podrían causar caída de rendimiento, así que esto es un ajuste de cliente únicamente. Устанавливает количество мусора, который появляется после использования мед. препаратов. Большое количество мусора может уменьшить производительность, поэтому данная настройка локальна для клиента. + Le nieau de simulation des détritus règle la quantité de déchets qui vont être créer localement dans le client. Des quantitées excessive dans certaines zones locales aurait pu causer des chutes D'IPS, donc c'est une option client uniquement. Inject Atropine @@ -53,7 +57,7 @@ Wstrzyknij morfinę Aplikovat morfin Ввести морфин - Morphine + Injecter de la morphine Morfium beadása Injetar Morfina Inietta Morfina @@ -340,7 +344,7 @@ Проверить пульс Zkontrolovat pulz Sprawdź tętno - Vérifier les pulsations + Vérifier le pouls Pulzus ellenőrzése Controlla il polso @@ -370,6 +374,7 @@ No entries on this triage card. Keine Einträge auf der Triagekarte Нет записей. + Aucune entrée sur cette carte de triage Tourniquet @@ -378,7 +383,7 @@ Жгут Škrtidlo Staza - Garrot + Tourniquet Érszorító Laccio emostatico @@ -389,7 +394,7 @@ Снять жгут Sundat škrtidlo Zdejmij stazę - Enlever le garrot + Enlever le Tourniquet Érszorító leszedése Rimuovi laccio emostatico @@ -397,21 +402,25 @@ Diagnose Diagnose Диагностика + Diagnostiquer Diagnosing ... Diagnostizieren ... Диагностика ... + Diagnostic en cours CPR HLW Сердечно-легочная реанимация + RPC Performing CPR ... HLW durchführen ... Сердечно-легочная реанимация ... + RPC en cours Give Blood IV (1000ml) @@ -518,7 +527,7 @@ Menor Несрочная помощь Normalny - Léger + Mineur Minimální Enyhe Minore @@ -649,7 +658,7 @@ Tourniquet [CAT] Жгут Torniquete [CAT] - Garrot [CAT] + Tourniquet [CAT] Staza [typ. CAT] Škrtidlo [CAT] Érszorító [CAT] @@ -763,7 +772,7 @@ Tourniquet [CAT] Жгут Torniquete (CAT) - Garrot (CAT) + Tourniquet (CAT) Staza (typ. CAT) Škrtidlo (CAT) Érszorító (CAT) @@ -1064,7 +1073,7 @@ Personal Aid Kit Аптечка Botiquín de primeros auxilios - Équipement de support vital + Trousse de premiers soins Apteczka osobista Persönliches Verbandpäckchen Elsősegélycsomag @@ -1085,11 +1094,13 @@ W znacznym stopniu poprawia stan pacjenta Полевая аптчека для продвинутого лечения и зашивания ран Persönliches Verbandspäckchen zum ambulanten Nähen und fortgeschrittener Behandlung. + Trousse de premiers soins pour coudre sur le terrain et traitements avancés. Use Personal Aid Kit Verbandpäckchen benutzen Использовать аптечку + Utiliser la Trousse de premier soins Surgical Kit @@ -1125,6 +1136,7 @@ Use Surgical Kit Operationsset benutzen Использовать хирургический набор + Utiliser la trousse chirugicale Bodybag @@ -1180,6 +1192,7 @@ %1 checked Blood Pressure: %2 %1 kontrollierte Blutdruck: %2 %1 проверил артериальное давление: %2 + %1 à vérifié la tension: %2 You checked %1 @@ -1255,21 +1268,25 @@ Low Niedrig Низкое + Faible Normal Normal Нормальное + Normale High Hoch Высокое + Haute No Blood Pressure Kein Blutdruck Артериальное давление отсутствует + Aucune tension Pulse @@ -1305,25 +1322,29 @@ %1 checked Heart Rate: %2 %1 kontrollierte Herzfrequenz: %2 %1 проверил пульс: %2 + %1 à vérifié le rythme cardiaque: %2 Weak Schwach Слабый + Faible Normal Normal Нормальный + Normal Strong Stark Сильный + Fort You find a Heart Rate of %2 - Rythme carquiaque de %2 + Rythme cardiaque de %2 Пульс %2 уд./мин. El ritmo cardíaco es de %2 Wyczuwasz tętno o wartości %2 @@ -1425,36 +1446,43 @@ Patient %1<br/>is %2.<br/>%3.<br/>%4 Пациент %1<br/>%2.<br/>%3.<br/>%4 Patient %1<br/>ist %2.<br/>%3.<br/>%4 + Patient %1<br/>est %2.<br/>%3.<br/> alive жив lebendig + vivant dead мертв tot + mort He's lost some blood Есть кровопотеря Er hat etwas Blut verloren + Il à perdu du sang He hasn't lost blood Нет кровопотери Er hat kein Blut verloren + il n'a pas perdu de sang He is in pain Испытывает боль Er hat Schmerzen + il souffre He is not in pain Не испытывает боли Er hat keine Schmerzen + Il ne souffre pas Bandaged @@ -1788,182 +1816,215 @@ Scrape Kratzer Ссадина + Eraflure Minor Scrape Kleiner Kratzer Малая ссадина + Eraflure Mineure Medium Scrape Mittlerer Kratzer Средняя ссадина + Moyenne Eraflure Large Scrape Großer Kratzer Большая ссадина + Large Eraflure Avulsion Avulsion Рваная рана + Avulsion Minor Avulsion Kleine Avulsion Малая рваная рана + Avulsion Mineure Medium Avulsion Mittlere Avulsion Средняя рваная рана + Avulsion Moyenne Large Avulsion Große Avulsion Большая рваная рана + Large Avulsion Bruise Prellung Ушиб + Hématome Minor Bruise Kleine Prellung Малый ушиб + Hématome Mineur Medium Bruise Mittlere Prellung Средний ушиб + Hématome Moyen Large Bruise Große Prellung Большой ушиб + Large Hématome Crushed tissue Quetschverletzung Компресионная травма + Tissu écrasé Minor crushed tissue Kleine Quetschverletzung Малая компрессионная травма + Tissu écrasé Mineur Medium crushed tissue Mittlere Quetschverletzung Средняя компрессионная травма + Tissu écrasé Moyen Large crushed tissue Große Quetschverletzung Большая компрессионная травма + Tissu écrasé Large Cut Schnittwunde Резаная рана + Coupure Small Cut Kleine Schnittwunde Малая резаная рана Pomniejsza rana cięta + Petite Coupure Medium Cut Mittlere Schnittwunde Средняя резаная рана Średnia rana cięta + Moyenne Coupure Large Cut Große Schnittwunde Большая резаная рана Duża rana cięta + Large Coupure Tear Riss Рваная рана Rozerwanie skóry + Déchirure Small Tear Kleiner Riss Малая рваная рана Pomniejsze rozerwanie skóry + Petite Déchirure Medium Tear Mittlerer Riss Средняя рваная рана Średnie rozerwanie skóry + Moyenne Déchirure Large Tear Großer Riss Большая рваная рана Duże rozerwanie skóry + Large Déchirure Velocity Wound Ballistisches Trauma Огнестрельная рана Rana postrzałowa + Blessure de vélocité Smal Velocity Wound Kleines Ballistisches Trauma Малая огнестрельная рана Pomniejsza rana postrzałowa + Petite Bessure de vélocité Medium Velocity Wound Mittleres Ballistisches Trauma Средняя огнестрельная рана Średnia rana postrzałowa + Moyenne Blessure de vélocité Large Velocity Wound Großes Ballistisches Trauma Большая огнестрельная рана Duża rana postrzałowa + Large Blessure de vélocité Puncture Wound Stichwunde Колотая рана Rana kłuta + Blessure de perforation Minor Puncture Wound Kleine Stichwunde Малая колотая рана Pomniejsza rana kłuta + Blessure de perforation Mineure Medium Puncture Wound Mittlere Stichwunde Средняя колотая рана Średnia rana kłuta + Blessure de perforation Moyenne Large Puncture Wound Große Stichwunde Большая колотая рана Duża rana kłuta + Large Blessure de perforation Broken Femur Gebrochener Oberschenkelknochen Перелом Zkłamana kość udowa + Femur Cassé \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 791e7c1c30..6840f11e42 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -18,6 +18,7 @@ Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych. Guía de misiles avanzada, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un framework requerido para armas de tipo misil. Das Erweiterte Raketenlenksystem, auch AMG genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. + Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. Hydra-70 DAGR Missile @@ -46,7 +47,7 @@ Hydra-70 DAGR Laser Guided Missile - Missile à guidage Hydra-70 DAGR + Missile à guidage laser Hydra-70 DAGR Laserowo naprowadzana rakieta Hydra-70 DAGR Hydra-70 DAGR lasergelenkte Rakete Hydra-70 DAGR laserem naváděná střela diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 45e2112562..fb330ff0e3 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -5,20 +5,25 @@ 82mm Rangetable 82mm Distanztabelle Tabela strzelnicza 82mm + table de tir 82mm Range Table for the MK6 82mm Mortar Distanztabelle für den Mk6 82mm Mortar Tabela strzelnicza dla moździerza 82mm MK6 + Table de tir pour le mortier MK6 82mm Open 82mm Rangetable Öffne 82mm Distanztabelle Otwórz tabelę strzelniczą 82mm + ouvrir la table de tir 82mm Charge - Ładunek + Ladung + Charge + Ładunek diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 02f84cbb24..0a072d023e 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -305,7 +305,7 @@ HEMTT médico HEMTT Medyczny HEMTT Zdravotnický - HEMTT Sanitaire + HEMTT Médical HEMTT Медицинский HEMTT Médico HEMTT (egészségügyi) @@ -485,7 +485,7 @@ KamAZ médico KamAZ Medyczny KAMAZ Zdravotnický - KamAZ Sanitaire + KamAZ Médical КамАЗ Медицинский KamAZ Médico KamAZ (egészségügyi) @@ -665,7 +665,7 @@ Typhoon médico Typhoon Medyczny Typhoon zdravotnický - Typhoon Sanitaire + Typhoon Médical Тайфун Медицинский Typhoon Médico Typhoon (egészségügyi) @@ -726,7 +726,7 @@ CH-47I Chinook (nieuzbrojony) CH-47I Chinook (невооруженный) CH-47I Chinook (neozbrojený) - CH-47I Chinook (Neozbrojený) + CH-47I Chinook (non-armé) CH-47I Chinook (fegyvertelen) @@ -867,7 +867,7 @@ M18A1 Claymore Mina kierunkowa M18A1 Claymore Mina Claymore M18A1 - M18A1 Claymore Mine antipersonnel à effet dirigé + M18A1 Claymore M18A1 Клеймор M18A1 Claymore M18A1 Claymore akna @@ -891,7 +891,7 @@ Bloque de demolición M112 Ładunek burzący M112 Výbušná nálož M112 - Pétard M112 + M112 Block de Démolition M112 подрывной заряд M112 Carga de Demolição M112 romboló tömb @@ -1011,7 +1011,7 @@ Mina antipersona VS-50 Mina przeciwpiechotna VS-50 Protipěchotní mina VS-50 - VS-50 Mine antipersonnel à pression + VS-50 Mine AP VS-50 Противопехотная мина VS-50 Mina antipessoal VS-50 gyalogsági taposóakna @@ -1023,7 +1023,7 @@ Mina antipersona M26 Mina przeciwpiechotna M26 Šrapnelová mina M26 - M26 Mine antipersonnel bondissante + M26 Mine AP bondissante M26 Противопехотная мина M26 Mina saltadora antipessoal M26 gyalogsági ugróakna @@ -1035,7 +1035,7 @@ Mina antipersona de alambre PMR-3 Mina przeciwpiechotna PMR-3 Nástražná mina PMR-3 - PMR-3 Mine antipersonnel à traction + PMR-3 Mine AP à traction PMR-3 Противопехотная мина PMR-3 Mina antipessoal (armadilha) PMR-3 botlódrótos gyalogsági akna @@ -1136,7 +1136,7 @@ Mini-Spike (PALR) Mini-Spike (PT) Mini-Spike (AT) - Mini-Spike (AT) + Mini-Spike (AC) Mini-Spike (Tankelhárító) Mini-Spike (AT) Mini-Spike (AT) @@ -1156,7 +1156,7 @@ MX (Schwarz) MX (Czarny) MX (černý) - MX ( Noir) + MX (Noir) MX (Fekete) MX (Negro) MX (черный) @@ -1196,7 +1196,7 @@ MX 3GL (Schwarz) MX 3GL (Czarny) MX 3GL (černý) - MX 3 GL (Noir) + MX 3GL (Noir) MX 3GL (Fekete) MX 3GL (Negro) MX 3GL (черный) From bcda77c5c7882caef9d199995ca5ce99a94dbf9b Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Tue, 28 Apr 2015 18:03:35 +0200 Subject: [PATCH 065/478] PL translation --- addons/medical/stringtable.xml | 43 +++++++++++++++++++++++++++ addons/realisticnames/stringtable.xml | 15 ++++++++++ 2 files changed, 58 insertions(+) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 9f1c9e4b4d..4191c00c2e 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,15 +1,18 @@  + INJURIES VERLETZUNGEN ТРАВМЫ + OBRAŻENIA No injuries on this bodypart ... Körperteil nicht verletzt ... Данная часть тела не повреждена ... + Brak obrażeń na tej części ciała ... Litter Simulation Detail @@ -370,6 +373,7 @@ No entries on this triage card. Keine Einträge auf der Triagekarte Нет записей. + Brak wpisów w tej karcie segregacyjnej. Tourniquet @@ -397,21 +401,25 @@ Diagnose Diagnose Диагностика + Diagnoza Diagnosing ... Diagnostizieren ... Диагностика ... + Diagnozowanie ... CPR HLW Сердечно-легочная реанимация + RKO Performing CPR ... HLW durchführen ... Сердечно-легочная реанимация ... + Przeprowadzanie RKO ... Give Blood IV (1000ml) @@ -1090,6 +1098,7 @@ Use Personal Aid Kit Verbandpäckchen benutzen Использовать аптечку + Użyj apteczki osobistej Surgical Kit @@ -1125,6 +1134,7 @@ Use Surgical Kit Operationsset benutzen Использовать хирургический набор + Zszyj rany Bodybag @@ -1180,6 +1190,7 @@ %1 checked Blood Pressure: %2 %1 kontrollierte Blutdruck: %2 %1 проверил артериальное давление: %2 + %1 sprawdził ciśnienie krwi: %2 You checked %1 @@ -1255,21 +1266,25 @@ Low Niedrig Низкое + Niskie Normal Normal Нормальное + Normalne High Hoch Высокое + Wysokie No Blood Pressure Kein Blutdruck Артериальное давление отсутствует + Brak ciśnienia krwi Pulse @@ -1305,21 +1320,25 @@ %1 checked Heart Rate: %2 %1 kontrollierte Herzfrequenz: %2 %1 проверил пульс: %2 + %1 sprawdził tętno: %2 Weak Schwach Слабый + Słabe Normal Normal Нормальный + Normalne Strong Stark Сильный + Silne You find a Heart Rate of %2 @@ -1425,36 +1444,43 @@ Patient %1<br/>is %2.<br/>%3.<br/>%4 Пациент %1<br/>%2.<br/>%3.<br/>%4 Patient %1<br/>ist %2.<br/>%3.<br/>%4 + Pacjent %1<br/>jest %2.<br/>%3.<br/>%4 alive жив lebendig + żywy dead мертв tot + martwy He's lost some blood Есть кровопотеря Er hat etwas Blut verloren + Stracił trochę krwi He hasn't lost blood Нет кровопотери Er hat kein Blut verloren + Nie stracił krwi He is in pain Испытывает боль Er hat Schmerzen + Odczuwa ból He is not in pain Не испытывает боли Er hat keine Schmerzen + Nie odczuwa bólu Bandaged @@ -1788,86 +1814,103 @@ Scrape Kratzer Ссадина + Draśnięcie Minor Scrape Kleiner Kratzer Малая ссадина + Pomniejsze draśnięcie Medium Scrape Mittlerer Kratzer Средняя ссадина + Średnie draśnięcie Large Scrape Großer Kratzer Большая ссадина + Duże draśnięcie Avulsion Avulsion Рваная рана + Rana płatowa Minor Avulsion Kleine Avulsion Малая рваная рана + Pomniejsza rana płatowa Medium Avulsion Mittlere Avulsion Средняя рваная рана + Średnia rana płatowa Large Avulsion Große Avulsion Большая рваная рана + Duża rana płatowa Bruise Prellung Ушиб + Stłuczenie Minor Bruise Kleine Prellung Малый ушиб + Pomniejsze stłuczenie Medium Bruise Mittlere Prellung Средний ушиб + Średnie stłuczenie Large Bruise Große Prellung Большой ушиб + Duże stłuczenie Crushed tissue Quetschverletzung Компресионная травма + Zgniecienie tkanek miękkich Minor crushed tissue Kleine Quetschverletzung Малая компрессионная травма + Pomniejsze zgniecienie tkanek miękkich Medium crushed tissue Mittlere Quetschverletzung Средняя компрессионная травма + Średnie zgniecienie tkanek miękkich Large crushed tissue Große Quetschverletzung Большая компрессионная травма + Duże zgniecienie tkanek miękkich Cut Schnittwunde Резаная рана + Rana cięta Small Cut diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 02f84cbb24..b3176de9e3 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1,4 +1,5 @@  + @@ -1488,6 +1489,7 @@ Noreen "Bad News" ULR Noreen "Bad News" ULR Noreen "Bad News" ULR + Noreen "Bad News" ULR Noreen "Bad News" ULR (Black) @@ -1496,6 +1498,7 @@ Noreen "Bad News" ULR (Negro) Noreen "Bad News" ULR (черный) Noreen "Bad News" ULR (Schwarz) + Noreen "Bad News" ULR (czarny) Noreen "Bad News" ULR (Camo) @@ -1504,6 +1507,7 @@ Noreen "Bad News" ULR (Camuflaje) Noreen "Bad News" ULR (камо) Noreen "Bad News" ULR (Camo) + Noreen "Bad News" ULR (kamuflaż) Noreen "Bad News" ULR (Sand) @@ -1512,6 +1516,7 @@ Noreen "Bad News" ULR (Arena) Noreen "Bad News" ULR (песочный) Noreen "Bad News" ULR (Sand) + Noreen "Bad News" ULR (piaskowy) SIG 556 @@ -1583,6 +1588,7 @@ ASP-1 Kir ASP-1 Kir ASP-1 Kir + ASP-1 Kir ASP-1 Kir (Black) @@ -1591,6 +1597,7 @@ ASP-1 Kir (Negro) ASP-1 Kir (черный) ASP-1 Kir (Schwarz) + ASP-1 Kir (czarny) ASP-1 Kir (Tan) @@ -1599,6 +1606,7 @@ ASP-1 Kir (Tan) ASP-1 Kir (бронзовый) ASP-1 Kir (Hellbraun) + ASP-1 Kir (Tan) Cyrus @@ -1607,6 +1615,7 @@ Cyrus Cyrus Cyrus + Cyrus Cyrus (Black) @@ -1615,6 +1624,7 @@ Cyrus (Negro) Cyrus (черный) Cyrus (Schwarz) + Cyrus (czarny) Cyrus (Hex) @@ -1623,6 +1633,7 @@ Cyrus (Hex) Cyrus (гекс) Cyrus (Hex) + Cyrus (hex) Cyrus (Tan) @@ -1631,6 +1642,7 @@ Cyrus (Tan) Cyrus (бронза) Cyrus (Hellbraun) + Cyrus (podpalany) M14 @@ -1666,6 +1678,7 @@ HK121 HK121 HK121 + HK121 HK121 (Hex) @@ -1674,6 +1687,7 @@ HK121 (Hex) HK121 (гекс) HK121 (Hex) + HK121 (hex) HK121 (Tan) @@ -1682,6 +1696,7 @@ HK121 (Tan) HK121 (бронза) HK121 (Hellbraun) + HK121 (podpalany) LWMMG From b88618563d90394e8a369fe47738924c322801b3 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Tue, 28 Apr 2015 18:05:27 +0200 Subject: [PATCH 066/478] Update stringtable.xml --- addons/medical/stringtable.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 4191c00c2e..4072521c4c 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,5 +1,4 @@  - @@ -2009,4 +2008,4 @@ Zkłamana kość udowa - \ No newline at end of file + From feeb897fb6d906f44c5fb060760112e6348946e7 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Tue, 28 Apr 2015 18:05:43 +0200 Subject: [PATCH 067/478] Update stringtable.xml --- addons/realisticnames/stringtable.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index b3176de9e3..e448743e8b 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1,5 +1,4 @@  - @@ -1735,4 +1734,4 @@ LWMMG (Sand) - \ No newline at end of file + From db82df62146a9bdc5f2150284a21e0f590287714 Mon Sep 17 00:00:00 2001 From: NukeDev Date: Tue, 28 Apr 2015 18:10:35 +0200 Subject: [PATCH 068/478] Italian's Translation's Changes v2 --- addons/explosives/stringtable.xml | 5 +++-- addons/fcs/stringtable.xml | 3 ++- addons/interact_menu/stringtable.xml | 4 ++++ addons/kestrel4500/stringtable.xml | 1 + addons/laserpointer/stringtable.xml | 2 ++ addons/logistics_wirecutter/stringtable.xml | 4 +++- addons/medical/stringtable.xml | 24 ++++++++++----------- 7 files changed, 27 insertions(+), 16 deletions(-) diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 8e941b1f2a..04b1f1982e 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -478,6 +478,7 @@ Detonador de hombre muerto Dead Man's Switch Кнопка мертвеца + Detonatore a rilascio Used to remotely trigger explosives when released. @@ -488,7 +489,7 @@ Utilizado para detonar explosivos remotamente al soltarlo. Robbanóanyagok távoli robbantásához való, elengedéskor gyújt. Используется для дистанционного подрыва, после смерти оператора. - Usato per attivare esplosivi quando rilasciato + Usato per attivare esplosivi al momento del rilascio Pick up @@ -502,4 +503,4 @@ Raccogli - + \ No newline at end of file diff --git a/addons/fcs/stringtable.xml b/addons/fcs/stringtable.xml index 857f511fca..16ed66e078 100644 --- a/addons/fcs/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -10,6 +10,7 @@ Iluminar objetivo / Medir distancia Подсветить цель / Замерить расстояние Célpont lézerezése / Távolság Bemérése + Misura la distanza Zeroed To @@ -72,4 +73,4 @@ СУО обнулен. - + \ No newline at end of file diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 48ee00f475..8fb98889b1 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -76,21 +76,25 @@ Interaction - Text Max Interakcja - Tekst max Interaction -Texte Max + Interazioni - Testo Massimo Interaction - Text Min Interakcja - Tekst min Interaction - Texte Min + Interazioni - Testo Minimo Interaction - Shadow Max Interakcja - Cień max Interaction - Ombre Max + Interazioni - Ombra Massima Interaction - Shadow Min Interakcja - Cień min Interaction - Ombre Min + Interazioni - Ombra Minima \ No newline at end of file diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index 2703e34e9f..be46058016 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -20,6 +20,7 @@ Station météo portable Kestrel 4500 Kestrel 4500 Pocket Weather Tracker Kestrel 4500 Taschenwettermessgerät + Kestrel 4500 Indicatore Meteorologico Tascabile Open Kestrel 4500 diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index 8fa38e24dd..eb35821ac1 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -53,6 +53,7 @@ Лазер Laser Laser + Laser IR Laser @@ -61,6 +62,7 @@ ИК-лазер Laser IR Laser IR + Laser IR Switch Laser / IR Laser diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index 129075f001..f0149f2454 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -10,6 +10,7 @@ Štípací kleště Nożyce do cięcia drutu Drótvágó + Pinze da Taglio Wirecutter @@ -20,6 +21,7 @@ Służą do cięcia drutu i płotów Pince coupante Drótok, huzalok, és kábelek vágására alkalmas olló. + Pinze da Taglio Cut Fence @@ -58,4 +60,4 @@ Забор разрезан - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index e930016187..8bcd17cef7 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -4,22 +4,26 @@ INJURIES VERLETZUNGEN + LESIONI No injuries on this bodypart ... Körperteil nicht verletzt ... + Non ci sono lesioni in questa parte del corpo ... Litter Simulation Detail Detale zużytych medykamentów Detalle de simulación de basura Количество мусора от медицины + Dettagli Simulazione Rifiuti Litter simulation detail level sets the number of litter items which will be locally spawned in the client. Excessive amounts in local areas could cause FPS lag, so this is a client only setting. Opcja ta ustawia liczbę zużytych medykamentów, jakie pojawiają się lokalnie wokół gracza. Ich zbyt duża ilość może spowodować spadki FPS, dlatego jest to ustawienie tylko po stronie klienta. Detalle simulación de basura establece el número de artículos de basura que se generan a nivel local en el cliente. Las cantidades excesivas en áreas locales podrían causar caída de rendimiento, así que esto es un ajuste de cliente únicamente. Устанавливает количество мусора, который появляется после использования мед. препаратов. Большое количество мусора может уменьшить производительность, поэтому данная настройка локальна для клиента. + Il livello di dettagli della simulazione dei rifiuti indica il numero di rifiuti che verranno creati localmente nel client. La creazione di troppi rifiuti in aree locali potrebbe causare lag e calo di FPS. Questo è un settaggio client. Inject Atropine @@ -367,6 +371,7 @@ No entries on this triage card. Keine Einträge auf der Triagekarte + Nessuna voce sulla Triage Card Tourniquet @@ -393,18 +398,22 @@ Diagnose Diagnose + Diagnosi Diagnosing ... Diagnostizieren ... + Diagnosi in corso... CPR HLW + RCP Performing CPR ... HLW durchführen ... + Eseguendo RCP... Give Blood IV (1000ml) @@ -688,7 +697,7 @@ Bandage fait d'un matériel spécial utilisé pour couvrir une blessure, qui peut etre appliqué dès que le saignement a été stoppé. Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. Egy különleges anyagú kötszer sebek betakarására, amelyet a vérzés elállítása után helyeznek fel. - Una benda apposta, utilizzata per coprire una ferita, la quale è applicato sopra di essa una volta fermata l'emorragia. + Una benda apposita, utilizzata per coprire una ferita, la quale è applicata sopra di essa una volta fermata l'emorragia. Packing Bandage @@ -717,7 +726,7 @@ Bandage servant à recouvrir les blessures pour arrêter les hémmoragies et faciliter la guérisson. Recouvrir une blessure est optionnel dans le cas de blessures polytraumatiques Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran. Egy kötszerfajta, melyet a sebek nyomására használnak a vérzés elállítása és sebgyógyulás érdekében. A nyomókötés egy lehetőség nagyobb polytraumatikus sérülések esetén. - Un bendaggio usato per bendare ferite con emorragie e facilitare la guarigione. Bendare una ferita è una opzione su ferite di vario tipo. + Un bendaggio usato per coprire la ferita, fermare il sanguinamento e facilitarne la guarigione. Questa tecnica è opzionale su ferite multiple. Ein Verband, um die Wunde abzudecken und die Wundheilung zu fördern. Wunden abdecken ist eine Option bei größeren Polytraumen @@ -1422,7 +1431,6 @@ He is not in pain - Bandaged Bandé @@ -1767,7 +1775,6 @@ Large Scrape Großer Kratzer - Avulsion Avulsion @@ -1784,7 +1791,6 @@ Large Avulsion Große Avulsion - Bruise Prellung @@ -1801,7 +1807,6 @@ Large Bruise Große Prellung - Crushed tissue Quetschverletzung @@ -1818,7 +1823,6 @@ Large crushed tissue Große Quetschverletzung - Cut Schnittwunde @@ -1835,7 +1839,6 @@ Large Cut Große Schnittwunde - Tear Riss @@ -1852,7 +1855,6 @@ Large Tear Großer Riss - Velocity Wound Ballistisches Trauma @@ -1869,7 +1871,6 @@ Large Velocity Wound Großes Ballistisches Trauma - Puncture Wound Stichwunde @@ -1886,10 +1887,9 @@ Large Puncture Wound Große Stichwunde - Broken Femur Gebrochener Oberschenkelknochen - + \ No newline at end of file From 67a4b7ea3010bb4bfe60a7832de509f319b96db7 Mon Sep 17 00:00:00 2001 From: NukeDev Date: Tue, 28 Apr 2015 18:12:05 +0200 Subject: [PATCH 069/478] Authors.txt --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 17ae9dd7c0..20528a2381 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -49,6 +49,7 @@ Ghost GieNkoV gpgpgpgp Grzegorz +Gianmarco Varriale (TeamNuke) Hamburger SV Harakhti havena From 908c204893b1435ffdf33b234ecf2da814cb1a9c Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 28 Apr 2015 18:24:24 +0200 Subject: [PATCH 070/478] Replaced Tabs with Spaces --- addons/mk6mortar/stringtable.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index fb330ff0e3..1dfdd1b470 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -5,25 +5,25 @@ 82mm Rangetable 82mm Distanztabelle Tabela strzelnicza 82mm - table de tir 82mm + table de tir 82mm Range Table for the MK6 82mm Mortar Distanztabelle für den Mk6 82mm Mortar Tabela strzelnicza dla moździerza 82mm MK6 - Table de tir pour le mortier MK6 82mm + Table de tir pour le mortier MK6 82mm Open 82mm Rangetable Öffne 82mm Distanztabelle Otwórz tabelę strzelniczą 82mm - ouvrir la table de tir 82mm + ouvrir la table de tir 82mm Charge Ladung - Charge - Ładunek + Charge + Ładunek From d0c7a378411dd26d56f7905615c1871b1a9e3090 Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 28 Apr 2015 18:31:14 +0200 Subject: [PATCH 071/478] Minor stringtable fix --- addons/overheating/stringtable.xml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 4bb91688fa..9699c67ede 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -94,15 +94,15 @@ Sostiuisci la canna - Swapping barrel... - Lauf wird gewechselt... - Cambiando el cañón... - Wymienianie lufy... + Swapping barrel ... + Lauf wird gewechselt ... + Cambiando el cañón ... + Wymienianie lufy ... Vyměňuji hlaveň ... - Changement du canon... + Changement du canon ... Смена ствола ... - Cső kicserélése folyamatban... - Substituindo cano... + Cső kicserélése folyamatban ... + Substituindo cano ... Sto sostituendo la canna ... @@ -118,7 +118,7 @@ Canna sostituita - Check weapons temperature + Check weapon temperature Temperatur der Waffe prüfen Verificar temperatura del arma Sprawdź temperaturę broni @@ -131,6 +131,7 @@ Check weapon temperature + Waffentemperatur prüfen Verificar temperatura del arma Sprawdź temperaturę broni Zkontrolovat teplotu zbraně From a24466093045acb38a77b862927b094bd773d348 Mon Sep 17 00:00:00 2001 From: simon84 Date: Tue, 28 Apr 2015 19:25:45 +0200 Subject: [PATCH 072/478] German translation fixes Unified some translations in "ballistics" e.g. unit mm, Schuss->Patronen, decimal seperator --- addons/ballistics/stringtable.xml | 110 +++++++++++++++--------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 0cd0ea0df2..3c63557f03 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -5,7 +5,7 @@ 6.5mm 30Rnd Tracer IR-DIM Mag 6,5 mm Nyomjelző IR-DIM 30-as Tár - 6,5 mm 30-Schuss-Magazin Leuchtspur IR-DIM + 6,5mm 30-Schuss-Magazin Leuchtspur IR-DIM Cargador de 30 balas trazadoras IR-DIM de 6,5mm Ch. 6,5mm 30Cps Traçantes IR-DIM Magazynek 6,5mm 30rd Smugacz IR-DIM @@ -29,7 +29,7 @@ Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL Kaliber: 6,5x39 mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL + Kaliber: 6,5x39mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL Kaliber: 6,5x39 mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL @@ -41,7 +41,7 @@ 6.5mm 30Rnd SD Mag 6,5 mm Halk 30-as Tár - 6,5 mm 30-Schuss-Magazin SD + 6,5mm 30-Schuss-Magazin SD Cargador de 30 balas SD de 6,5mm Ch. 6,5mm 30Cps SD Magazynek 6,5mm 30rd SD @@ -65,7 +65,7 @@ Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL Kaliber: 6,5x39 mm Halk<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL + Kaliber: 6,5x39mm SD<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL Kaliber: 6,5x39 mm SD<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL @@ -77,7 +77,7 @@ 6.5mm 30Rnd AP Mag 6,5 mm Páncéltörő 30-as Tár - 6,5 mm 30-Schuss-Magazin AP + 6,5mm 30-Schuss-Magazin AP Cargador de 30 balas AP de 6,5mm Ch. 6,5mm 30Cps AP Magazynek 6,5mm 30rd AP @@ -101,7 +101,7 @@ Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL Kaliber: 6,5x39 mm Páncéltörő<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL + Kaliber: 6,5x39mm AP<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL Kaliber: 6,5x39 mm AP<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL @@ -114,7 +114,7 @@ 6.5mm 30Rnd Tracer IR-DIM Mag 6,5mm IR-DIM Nyomjelző 30-as Tár - 6,5 mm 30-Schuss-Magazin Leuchtspur IR-DIM + 6,5mm 30-Schuss-Magazin Leuchtspur IR-DIM Cargador de 30 balas trazadoras IR-DIM de 6,5mm Ch. 6,5mm 30Cps Traçantes IR-DIM Magazynek 6,5mm 30rd Smugacz IR-DIM @@ -138,7 +138,7 @@ Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: Katiba Kaliber: 6,5x39 mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: Katiba - Kaliber: 6,5x39 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: Katiba + Kaliber: 6,5x39mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: Katiba Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: Katiba Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: Katiba Kaliber: 6,5x39 mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: Katiba @@ -150,7 +150,7 @@ 6.5mm 30Rnd SD Mag 6,5 mm Halk 30-as Tár - 6,5 mm 30-Schuss-Magazin SD + 6,5mm 30-Schuss-Magazin SD Cargador de 30 balas SD de 6,5mm Ch. 6,5mm 30Cps SD Magazynek 6,5mm 30rd SD @@ -174,7 +174,7 @@ Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: Katiba Kaliber: 6,5x39 mm Halk<br />Lövedékek: 30<br />Használható: Katiba - Kaliber: 6,5x39 mm SD<br />Patronen: 30<br />Eingesetzt von: Katiba + Kaliber: 6,5x39mm SD<br />Patronen: 30<br />Eingesetzt von: Katiba Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: Katiba Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: Katiba Kaliber: 6,5x39 mm SD<br />Naboje: 30<br />Używane w: Katiba @@ -186,7 +186,7 @@ 6.5mm 30Rnd AP Mag 6,5 mm Páncéltörő 30-as Tár - 6,5 mm 30-Schuss-Magazin AP + 6,5mm 30-Schuss-Magazin AP Cargador de 30 balas AP de 6,5mm Ch. 6,5mm 30Cps AP Magazynek 6,5mm 30rd AP @@ -210,7 +210,7 @@ Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: Katiba Kaliber: 6,5x39 mm Páncéltörő<br />Lövedékek: 30<br />Használható: Katiba - Kaliber: 6,5x39 mm AP<br />Patronen: 30<br />Eingesetzt von: Katiba + Kaliber: 6,5x39mm AP<br />Patronen: 30<br />Eingesetzt von: Katiba Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: Katiba Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: Katiba Kaliber: 6,5x39 mm AP<br />Pociski: 30<br />Używane w: Katiba @@ -223,7 +223,7 @@ 5.56mm 30rnd Tracer IR-DIM Mag 5,56 mm Nyomjelző IR-DIM 30-as Tár - 5,56 mm 30-Schuss-Magazin Leuchtspur IR-DIM + 5,56mm 30-Schuss-Magazin Leuchtspur IR-DIM Cargador de 30 balas trazadoras IR-DIM de 5,56mm Ch. 5,56mm 30Cps Traçantes IR-DIM Magazynek 5,56mm 30rd Smugacz IR-DIM @@ -247,7 +247,7 @@ Caliber: 5.56x45 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Kaliber: 5,56x45 mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Kaliber: 5,56x45 mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR @@ -260,7 +260,7 @@ 7.62mm 20rnd Tracer Mag 7,62 mm Nyomjelző IR-DIM 20-as Tár - 7,62 mm 20-Schuss-Magazin Leuchtspur + 7,62mm 20-Schuss-Magazin Leuchtspur Cargador de 20 balas trazadores de 7,62mm Ch. 7,62mm 20Cps Traçantes Magazynek 7,62mm 20rd Smugacz @@ -284,7 +284,7 @@ Caliber: 7.62x51 mm Tracer<br />Rounds: 20<br />Used in: Mk18 ABR Kaliber: 7,62x51 mm Nyomjelző<br />Lövedékek: 20<br />Használható: Mk18 ABR - Kaliber: 7,62x51 mm Leuchtspur<br />Patronen: 20<br />Eingesetzt von: EBR + Kaliber: 7,62x51mm Leuchtspur<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51 mm Trazadora<br />Balas: 20<br />Se usa en: Mk18 ABR Calibre: 7,62x51 mm Traçantes<br />Cartouches: 20<br />Utilisé dans: EBR Kaliber: 7,62x51 mm Smugacz<br />Pociski: 20<br />Używane w: Mk18 ABR @@ -320,7 +320,7 @@ Caliber: 7.62x51 mm Tracer IR-DIM<br />Rounds: 20<br />Used in: Mk18 ABR Kaliber: 7,62x51 mm Nyomjelző IR-DIM<br />Lövedékek: 20<br />Használható: Mk18 ABR - Kaliber: 7,62x51 mm Leuchtspur IR-DIM<br />Patronen: 20<br />Eingesetzt von: EBR + Kaliber: 7,62x51mm Leuchtspur IR-DIM<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51 mm Trazadoras IR-DIM<br />Balas: 20<br />Se usa en: Mk18 ABR Calibre: 7,62x51 mm Traçantes IR-DIM<br />Cartouches: 20<br />Utilisé dans: EBR Kaliber: 7,62x51 mm Smugacz IR-DIM<br />Pociski: 20<br />Używane w: Mk18 ABR @@ -332,7 +332,7 @@ 7.62mm 20Rnd SD Mag 7,62 mm Halk 20-as Tár - 7,62 mm 20-Schuss-Magazin SD + 7,62mm 20-Schuss-Magazin SD Cargador de 20 balas SD de 7,62mm Ch. 7,62mm 20Cps SD Magazynek 7,62mm 20rd SD @@ -356,7 +356,7 @@ Caliber: 7.62x51 mm SD<br />Rounds: 20<br />Used in: Mk18 ABR Kaliber: 7,62x51 mm Halk<br />Lövedékek: 20<br />Használható: Mk18 ABR - Kaliber: 7,62x51 mm SD<br />Patronen: 20<br />Eingesetzt von: EBR + Kaliber: 7,62x51mm SD<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51 mm SD<br />Balas: 20<br />Se usa en: Mk18 ABR Calibre: 7,62x51 mm SD<br />Cartouches: 20<br />Utilisé dans: EBR Kaliber: 7,62x51 mm SD<br />Pociski: 20<br />Używane w: Mk18 ABR @@ -385,7 +385,7 @@ Caliber: .338 Norma Magnum Tracer<br />Rounds: 130<br />Used in: SPMG - Kaliber: .338 Norma Magnum Leuchtspur<br />Schuss: 130<br />Verwendet für: SPMG + Kaliber: .338 Norma Magnum Leuchtspur<br />Patronen: 130<br />Eingesetzt von: SPMG Kaliber: .338 Norma Magnum Smugacz<br />Pociski: 130<br />Używany w: SPMG Calibre: .338 Norma Magnum Traçante<br />Cartouches: 130<br />Utilisé dans: SPMG Calibre: .338 Norma Magnum trazadora<br />Balas: 130<br />Se usa en: SPMG @@ -410,7 +410,7 @@ Caliber: .338 Norma Magnum Tracer IR-DIM<br />Rounds: 130<br />Used in: SPMG - Kaliber: .338 Norma Magnum Leuchtspur IR-DIM<br />Schuss: 130<br />Verwendet für: SPMG + Kaliber: .338 Norma Magnum Leuchtspur IR-DIM<br />Patronen: 130<br />Eingesetzt von: SPMG Kaliber: .338 Norma Magnum Smugacz IR-DIM<br />Pociski: 130<br />Używany w: SPMG Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartouches: 130<br />Utilisé dans: SPMG Calibre: .338 Norma Magnum trazadora IR-DIM<br />Balas: 130<br />Se usa en: SPMG @@ -435,7 +435,7 @@ Caliber: .338 Norma Magnum AP<br />Rounds: 130<br />Used in: SPMG - Kaliber: .338 Norma Magnum Hartkern<br />Schuss: 130<br />Verwendet für: SPMG + Kaliber: .338 Norma Magnum Hartkern<br />Patronen: 130<br />Eingesetzt von: SPMG Kaliber: .338 Norma Magnum AP<br />Pociski: 130<br />Używane w: SPMG Calibre: .338 Norma Magnum AP<br />Cartouches: 130<br />Utilisé dans: SPMG Calibre: .338 Norma Magnum AP<br />Balas: 130<br />Se usa en: SPMG @@ -461,7 +461,7 @@ Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus - Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 10<br />Verwendet für: Cyrus + Kaliber: 9,3x64mm Leuchtspur<br />Patronen: 10<br />Eingesetzt von: Cyrus Kaliber: 9,3x64 mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus Calibre: 9.3x64mm Traçante<br />Cartouches: 10<br />Utilisé dans: Cyrus Calibre: 9.3x64mm trazadora<br />Balas: 10<br />Se usa en: Cyrus @@ -486,7 +486,7 @@ Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus - Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Schuss: 10<br />Verwendet für: Cyrus + Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Patronen: 10<br />Eingesetzt von: Cyrus Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 10<br />Utilisé dans: Cyrus Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 10<br />Se usa en: Cyrus @@ -512,7 +512,7 @@ Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid - Kaliber: 9,3x64mm Leuchtspur<br />Schuss: 150<br />Verwendet für: Navid + Kaliber: 9,3x64mm Leuchtspur<br />Patronen: 150<br />Eingesetzt von: Navid Kaliber: 9,3x64 mm Smugacz<br />Pociski: 150<br />Używane w: Navid Calibre: 9.3x64mm Traçante<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm trazadora<br />Balas: 150<br />Se usa en: Navid @@ -537,7 +537,7 @@ Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid - Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Schuss: 150<br />Verwendet für: Navid + Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Patronen: 150<br />Eingesetzt von: Navid Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 150<br />Se usa en: Navid @@ -562,7 +562,7 @@ Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid - Kaliber: 9,3x64mm Hartkern<br />Schuss: 150<br />Verwendet für: Navid + Kaliber: 9,3x64mm Hartkern<br />Patronen: 150<br />Eingesetzt von: Navid Kaliber: 9,3x64 mm AP<br />Pociski: 150<br />Używane w: Navid Calibre: 9.3x64mm AP<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm AP<br />Balas: 150<br />Se usa en: Navid @@ -622,7 +622,7 @@ Chargeur 7.62x54mm 10Rnd Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих - 7,62x54 10-Schuss-Magazin IR-DIM Leuchtspur + 7,62x54mm 10-Schuss-Magazin IR-DIM Leuchtspur 7.62mm IR-DIM @@ -630,7 +630,7 @@ 7.62mm IR-DIM 7.62mm IR-DIM 7,62 мм ИК-трассирующие - 7,62x54 IR-DIM + 7,62x54mm IR-DIM 7.62x54mm 10Rnd Tracer IR-DIM Mag @@ -638,7 +638,7 @@ Chargeur 7.62x54mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих - 7,62x54 10-Schuss-Magazin IR-DIM Leuchtspur + 7,62x54mm 10-Schuss-Magazin IR-DIM Leuchtspur 6.5mm 100Rnd Tracer IR-DIM Mag @@ -662,7 +662,7 @@ Chargeur 6.5mm 100Rnd Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих - 6,5mm 100-Schuss-Magazin IR-DIM Leuchtspur<br />Schuss: 100<br />Verwendet für: MXLSW + 6,5mm 100-Schuss-Magazin IR-DIM Leuchtspur<br />Patronen: 100<br />Eingesetzt von: MXLSW 6.5mm 200Rnd Tracer IR-DIM Belt @@ -686,7 +686,7 @@ Bande 6.5mm 200Cps Traçante IR-DIM Cinta de 200 balas trazadoras IR-DIM de 6.5mm Магазин из 200-т 6,5 мм ИК-трассирующих - 6,5mm 200-Schuss-Gurt IR-DIM Leuchtspur<br />Schuss: 200<br />Verwendet für: Stoner 99 LMG + 6,5mm 200-Schuss-Gurt IR-DIM Leuchtspur<br />Patronen: 200<br />Eingesetzt von: Stoner 99 LMG 5.56mm 30Rnd Mag (Mk262) @@ -734,7 +734,7 @@ Calibre: 5.56x45 mm NATO (Mk318)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (Mk318)<br />Balas: 30 Калибр: 5,56x45 мм NATO (Mk318)<br />Патронов: 30 - Kaliber: 5,56x45mm NATO (Mk318)<br />Schuss: 30 + Kaliber: 5,56x45mm NATO (Mk318)<br />Patronen: 30 5.56mm 30Rnd Mag (M995 AP) @@ -758,7 +758,7 @@ Calibre: 5.56x45 mm NATO (M995 AP)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (M995 AP)<br />Balas: 30 Калибр: 5,56x45 мм NATO (M995 AP)<br />Патронов: 30 - Kaliber: 5,56x45mm NATO (M995 AP)<br />Schuss: 30 + Kaliber: 5,56x45mm NATO (M995 AP)<br />Patronen: 30 7.62mm 10Rnd Mag (M118LR) @@ -782,7 +782,7 @@ Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 10 Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 10 - Kaliber: 7,62x51mm NATO (M118LR)<br />Schuss: 10 + Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 10 7.62mm 20Rnd Mag (M118LR) @@ -806,7 +806,7 @@ Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 20 - Kaliber: 7,62x51mm NATO (M118LR)<br />Schuss: 20 + Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 20 7.62mm 10Rnd Mag (Mk316 Mod 0) @@ -830,7 +830,7 @@ Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Balas: 10 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 10 - Kaliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Schuss: 10 + Kaliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Patronen: 10 7.62mm 20Rnd Mag (Mk316 Mod 0) @@ -854,7 +854,7 @@ Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Balas: 20 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 20 - Kaliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Schuss: 20 + Kaliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Patronen: 20 7.62mm 10Rnd Mag (Mk319 Mod 0) @@ -870,7 +870,7 @@ 7.62mm Mk319 7.62mm Mk319 7,62mm Mk319 - 7.62mm Mk319 + 7,62mm Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 10 @@ -878,7 +878,7 @@ Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 10 Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 10 - Kaliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Schuss: 10 + Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 10 7.62mm 20Rnd Mag (Mk319 Mod 0) @@ -894,7 +894,7 @@ 7.62mm Mk319 7.62mm Mk319 7,62 мм Mk319 - 7.62mm Mk319 + 7,62mm Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 20 @@ -902,7 +902,7 @@ Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 20 Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 20 - Kaliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Schuss: 20 + Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 20 7.62mm 10Rnd Mag (M993 AP) @@ -926,7 +926,7 @@ Calibre: 7.62x51 mm NATO (M993 AP)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 10 Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 10 - Kaliber: 7.62x51 mm NATO (M993 AP)<br />Schuss: 10 + Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 10 7.62mm 20Rnd Mag (M993 AP) @@ -950,7 +950,7 @@ Calibre: 7.62x51 mm NATO (M993 AP)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 20 - Kaliber: 7.62x51 mm NATO (M993 AP)<br />Schuss: 20 + Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 20 7.62mm 20Rnd Mag (Mk248 Mod 0) @@ -974,7 +974,7 @@ Calibre: 7.62x67mm NATO (Mk248 Mod 0)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Mk248 Mod 0)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Mk248 Mod 0)<br />Патронов: 20 - Kaliber: 7.62x51 mm NATO (Mk248 Mod 0)<br />Schuss: 20 + Kaliber: 7,62x51mm NATO (Mk248 Mod 0)<br />Patronen: 20 7.62mm 20Rnd Mag (Mk248 Mod 1) @@ -998,7 +998,7 @@ Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Mk248 Mod 1)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Mk248 Mod 1)<br />Патронов: 20 - Kaliber: 7.62x51 mm NATO (Mk248 Mod 1)<br />Schuss: 20 + Kaliber: 7.62x51mm NATO (Mk248 Mod 1)<br />Patronen: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) @@ -1022,7 +1022,7 @@ Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Berger Hybrid OTM)<br />Патронов: 20 - Kaliber: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Schuss: 20 + Kaliber: 7.62x67mm NATO (Berger Hybrid OTM)<br />Patronen: 20 6.5x47mm 30Rnd Mag (HPBT Scenar) @@ -1038,7 +1038,7 @@ 6.5mm Lapua 6,5mm Lapua 6,5 мм Lapua - 6,5 Lapua + 6,5mm Lapua Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM @@ -1046,7 +1046,7 @@ Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30 Kaliber: 6,5x47 mm (HPBT Scenar)<br />Pociski: 30 Калибр: 6,5x47 мм (HPBT Scenar)<br />Патронов: 30 - Kaliber: 6,5x47 mm (HPBT Scenar)<br />Schuss: 30<br />Verwendet für: MXM + Kaliber: 6,5x47mm (HPBT Scenar)<br />Patronen: 30<br />Eingesetzt von: MXM 6.5mm Creedmor 30Rnd Mag @@ -1064,7 +1064,7 @@ Caliber: 6.5mm Creedmor<br />Rounds: 30<br />Used in: MXM Kaliber: 6,5mm Creedmor<br />Pociski: 30<br />Używany w: MXM - Kaliber: 6,5x47 mm Creedmor<br />Schuss: 30<br />Verwendet für: MXM + Kaliber: 6,5x47mm Creedmor<br />Patronen: 30<br />Eingesetzt von: MXM .338 10Rnd Mag (300gr Sierra MatchKing HPBT) @@ -1088,7 +1088,7 @@ Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Balas: 10 Kaliber: 8,6x70 mm (300gr Sierra MatchKing HPBT)<br />Pociski: 10 Калибр: .338 (300 гран Sierra MatchKing HPBT)<br />Патронов: 10 - Kaliber: 8,6x70 mm (300gr Sierra MatchKing HPBT)<br />Schuss: 10 + Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Patronen: 10 .338 10Rnd Mag (API526) @@ -1112,7 +1112,7 @@ Calibre: 8.6x70mm (API526)<br />Balas: 10 Kaliber: 8,6x70 mm (API526)<br />Pociski: 10 Калибр: .338 (API526)<br />Патронов: 10 - Kaliber: 8,6x70 mm (API526)<br />Schuss: 10 + Kaliber: 8,6x70mm (API526)<br />Patronen: 10 12.7x99mm 5Rnd Mag @@ -1136,7 +1136,7 @@ Calibre: 12.7x99mm<br />Balas: 5 Kaliber: 12,7x99 mm<br />Pociski: 5 Калибр: 12,7x99 мм<br />Патронов: 5 - Kaliber: 12,7x99mm<br />Schuss: 5 + Kaliber: 12,7x99mm<br />Patronen: 5 12.7x99mm API 5Rnd Mag @@ -1157,7 +1157,7 @@ Calibre: 12.7x99mm API<br />Cartouches: 5 Calibre: 12.7x99mm API<br />Balas: 5 Kaliber: 12,7x99 mm API<br />Pociski: 5 - Kaliber:12,7x99mm API<br />Schuss: 5 + Kaliber:12,7x99mm API<br />Patronen: 5 12.7x99mm 5Rnd Mag (AMAX) @@ -1181,7 +1181,7 @@ Calibre: 12.7x99mm (AMAX)<br />Balas: 5 Kaliber: 12,7x99 mm (AMAX)<br />Pociski: 5 Калибр: 12,7x99 мм (A-MAX)<br />Патронов: 5 - Kaliber:12,7x99mm (AMAX)<br />Schuss: 5 + Kaliber:12,7x99mm (AMAX)<br />Patronen: 5 \ No newline at end of file From c38fe384e3c53094b98bdf53a51655279a203b9c Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 28 Apr 2015 19:30:35 +0200 Subject: [PATCH 073/478] added default values for getvar's --- addons/medical/functions/fnc_handleUnitVitals.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/medical/functions/fnc_handleUnitVitals.sqf b/addons/medical/functions/fnc_handleUnitVitals.sqf index 411f64b49e..b806d1358f 100644 --- a/addons/medical/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical/functions/fnc_handleUnitVitals.sqf @@ -66,13 +66,13 @@ if (_painStatus > 0) then { if (GVAR(level) == 1) then { // reduce pain - if (_unit getVariable [QGVAR(pain), 0] > 0) then { - _unit setVariable [QGVAR(pain), ((_unit getVariable QGVAR(pain)) - 0.001 * _interval) max 0, _syncValues]; + if (_painStatus > 0) then { + _unit setVariable [QGVAR(pain), (_painStatus - 0.001 * _interval) max 0, _syncValues]; }; // reduce painkillers if (_unit getVariable [QGVAR(morphine), 0] > 0) then { - _unit setVariable [QGVAR(morphine), ((_unit getVariable QGVAR(morphine)) - 0.0015 * _interval) max 0, _syncValues]; + _unit setVariable [QGVAR(morphine), ((_unit getVariable [QGVAR(morphine), 0]) - 0.0015 * _interval) max 0, _syncValues]; }; // bleeding From 76393f31db563c98d1701a4f20d77130bb199802 Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 28 Apr 2015 19:31:38 +0200 Subject: [PATCH 074/478] Fixes: https://github.com/acemod/ACE3/issues/896 --- addons/recoil/functions/fnc_camshake.sqf | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/addons/recoil/functions/fnc_camshake.sqf b/addons/recoil/functions/fnc_camshake.sqf index 737582b1cb..176d761b2b 100644 --- a/addons/recoil/functions/fnc_camshake.sqf +++ b/addons/recoil/functions/fnc_camshake.sqf @@ -33,8 +33,13 @@ _recoil = if (_muzzle == _weapon) then { getText (_config >> _muzzle >> "recoil") }; -_recoil = getArray (configFile >> "CfgRecoils" >> _recoil >> "kickBack"); -if (count _recoil < 2) then { +if (isClass (configFile >> "CfgRecoils" >> _recoil)) then { + _recoil = getArray (configFile >> "CfgRecoils" >> _recoil >> "kickBack"); + if (count _recoil < 2) then { + _recoil = [0, 0]; + }; +} else { + systemChat "noclass"; _recoil = [0, 0]; }; From e759989d33e8ae6fe0792b05cbf458e07b9bc36d Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 28 Apr 2015 19:33:00 +0200 Subject: [PATCH 075/478] Removed debug output --- addons/recoil/functions/fnc_camshake.sqf | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/recoil/functions/fnc_camshake.sqf b/addons/recoil/functions/fnc_camshake.sqf index 176d761b2b..806d48760b 100644 --- a/addons/recoil/functions/fnc_camshake.sqf +++ b/addons/recoil/functions/fnc_camshake.sqf @@ -39,7 +39,6 @@ if (isClass (configFile >> "CfgRecoils" >> _recoil)) then { _recoil = [0, 0]; }; } else { - systemChat "noclass"; _recoil = [0, 0]; }; From b119c85c57fd16dc81548e5bc9d4952c2207b26d Mon Sep 17 00:00:00 2001 From: simon84 Date: Tue, 28 Apr 2015 19:36:31 +0200 Subject: [PATCH 076/478] found some errors --- addons/ballistics/stringtable.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 3c63557f03..b17cc307a9 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -296,7 +296,7 @@ 7.62mm 20rnd Tracer IR-DIM Mag 7,62 mm Nyomjelző IR-DIM 20-as Tár - 7,62 mm 20-Schuss-Magazin Leuchtspur IR-DIM + 7,62mm 20-Schuss-Magazin Leuchtspur IR-DIM Cargador de 20 balas trazadoras IR-DIM de 7,62mm Ch. 7,62mm 20Cps Traçantes IR-DIM Magazynek 7,62mm 20rd Smugacz IR-DIM @@ -710,7 +710,7 @@ Calibre: 5.56x45 mm NATO (Mk262)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (Mk262)<br />Balas: 30 Калибр: 5,56x45 мм NATO (Mk262)<br />Патронов: 30 - Kaliber: 5,56x45mm NATO (Mk262)<br />Schuss: 30 + Kaliber: 5,56x45mm NATO (Mk262)<br />Patronen: 30 5.56mm 30Rnd Mag (Mk318) @@ -822,7 +822,7 @@ 7.62mm Mk316 7.62mm Mk316 7,62 мм Mk316 - 7.62mm Mk316 + 7,62mm Mk316 Caliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Rounds: 10 @@ -830,7 +830,7 @@ Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Balas: 10 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 10 - Kaliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Patronen: 10 + Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 10 7.62mm 20Rnd Mag (Mk316 Mod 0) @@ -838,7 +838,7 @@ 7.62mm 20Cps (Mk316 Mod 0) Cargador de 20 balas de 7.62mm (Mk316 Mod 0) Магазин из 20-ти 7,62 мм (Mk316 Mod 0) - 7.62mm 20-Schuss-Magazin (Mk316 Mod 0) + 7,62mm 20-Schuss-Magazin (Mk316 Mod 0) 7.62mm Mk316 @@ -846,7 +846,7 @@ 7.62mm Mk316 7.62mm Mk316 7,62 мм Mk316 - 7.62mm Mk316 + 7,62mm Mk316 Caliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Rounds: 20 @@ -854,7 +854,7 @@ Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Balas: 20 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 20 - Kaliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Patronen: 20 + Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 20 7.62mm 10Rnd Mag (Mk319 Mod 0) @@ -998,7 +998,7 @@ Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Mk248 Mod 1)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Mk248 Mod 1)<br />Патронов: 20 - Kaliber: 7.62x51mm NATO (Mk248 Mod 1)<br />Patronen: 20 + Kaliber: 7,62x51mm NATO (Mk248 Mod 1)<br />Patronen: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) @@ -1022,7 +1022,7 @@ Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Berger Hybrid OTM)<br />Патронов: 20 - Kaliber: 7.62x67mm NATO (Berger Hybrid OTM)<br />Patronen: 20 + Kaliber: 7,62x67mm NATO (Berger Hybrid OTM)<br />Patronen: 20 6.5x47mm 30Rnd Mag (HPBT Scenar) From 0b4bb6e4c9fe9841cca973b46a11aaff8e8201cf Mon Sep 17 00:00:00 2001 From: NukeDev Date: Tue, 28 Apr 2015 19:40:36 +0200 Subject: [PATCH 077/478] Italian's Translation fixes atragmx, attach, ballistics, captives languages fixes --- addons/atragmx/stringtable.xml | 5 +- addons/attach/stringtable.xml | 3 +- addons/ballistics/stringtable.xml | 106 +++++++++++++++++++++++++++++- addons/captives/stringtable.xml | 3 +- 4 files changed, 112 insertions(+), 5 deletions(-) diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index f3825c405a..70b7acf1df 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -20,6 +20,7 @@ Abrir ATragMX Ouvrir ATragMX ATragMX öffnen + Apri ATragMX Rugged PDA with ATragMX @@ -27,6 +28,7 @@ Защищенный КПК с ATragMX PDA rugerizada con ATragMX Robuster PDA mit ATragMX + PDA Robusto con ATragMX Open ATragMX @@ -35,6 +37,7 @@ Abrir ATragMX Ouvrir ATragMX ATragMX öffnen + Apri ATragMX - + \ No newline at end of file diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 70ed9666b4..c2ec045aa2 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -178,6 +178,7 @@ Připnutí selhalo Przyczepianie nie powiodło się Hozzácsatolás sikertelen + Impossibile Attaccare %1<br/>Attached @@ -204,4 +205,4 @@ %1<br/>отсоединен(-а) - + \ No newline at end of file diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 4dc27fd2fc..8c063ab568 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -373,6 +373,7 @@ Bande .338 NM 130Cps Traçante Cinta de 130 balas trazadoras de .338 NM Лента из 130-ти .338 NM трассирующих + .338 NM 130Rnd Tracciante Belt .338 NM Tracer @@ -382,6 +383,7 @@ .338 NM Traçante .338 NM trazadora .338 NM трассирующие + .338 NM 130Rnd Tracciante Caliber: .338 Norma Magnum Tracer<br />Rounds: 130<br />Used in: SPMG @@ -390,6 +392,7 @@ Calibre: .338 Norma Magnum Traçante<br />Cartouches: 130<br />Utilisé dans: SPMG Calibre: .338 Norma Magnum trazadora<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum трассирующие<br />Патронов: 130<br />Используются в: SPMG + Calibro: .338 Norma Magnum Tracciante<br />Munizioni: 130<br />In uso su: SPMG .338 NM 130Rnd IR-DIM Belt @@ -398,6 +401,7 @@ Bande .338 NM 130Cps IR-DIM Cinta de 130 balas IR-DIM de .338 NM Лента из 130-ти .338 NM ИК-трассирующих + .338 NM 130Rnd IR-DIM Belt .338 NM IR-DIM @@ -407,6 +411,7 @@ .338 NM IR-DIM .338 NM IR-DIM .338 NM ИК-трассирующие + .338 NM IR-DIM Caliber: .338 Norma Magnum Tracer IR-DIM<br />Rounds: 130<br />Used in: SPMG @@ -415,6 +420,7 @@ Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartouches: 130<br />Utilisé dans: SPMG Calibre: .338 Norma Magnum trazadora IR-DIM<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum ИК-трассирующие<br />Патронов: 130<br />Используются с: SPMG + Calibro: .338 Norma Magnum Tracciante IR-DIM<br />Munizioni: 130<br />In uso su: SPMG .338 NM 130Rnd AP Belt @@ -423,6 +429,7 @@ Bande .338 NM 130Cps AP Cinta de 130 balas AP de .338 NM Лента из 130-ти .338 NM бронебойных + .338 NM 130Rnd AP Belt .338 NM AP @@ -432,6 +439,7 @@ .338 NM AP .338 NM AP .338 NM бронебойные + .338 NM AP Caliber: .338 Norma Magnum AP<br />Rounds: 130<br />Used in: SPMG @@ -440,6 +448,7 @@ Calibre: .338 Norma Magnum AP<br />Cartouches: 130<br />Utilisé dans: SPMG Calibre: .338 Norma Magnum AP<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum бронебойные<br />Патронов: 130<br />Используются с: SPMG + Calibro: .338 Norma Magnum AP<br />Munizioni: 130<br />In uso su: SPMG @@ -449,6 +458,7 @@ Chargeur 9.3mm 10Cps Traçante Cargador de 10 balas trazadoras de 9.3mm Магазин из 10-ти 9,3 мм трассирующих + 9.3mm 10Rnd Tracer Mag 9.3mm Tracer @@ -458,6 +468,7 @@ 9.3mm Traçante 9.3mm trazadora 9,3 мм трассирующие + 9.3mm Tracer Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus @@ -466,6 +477,7 @@ Calibre: 9.3x64mm Traçante<br />Cartouches: 10<br />Utilisé dans: Cyrus Calibre: 9.3x64mm trazadora<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм трассирующие<br />Патронов: 10<br />Используются с: Cyrus + Calibro: 9.3x64mm Tracer<br />Munizioni: 10<br />In uso su: Cyrus 9.3mm 10Rnd Tracer IR-DIM Mag @@ -474,6 +486,7 @@ Chargeur 9.3mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 9.3mm Магазин из 10-ти 9,3 мм ИК-трассирующих + 9.3mm 10Rnd Tracciante IR-DIM Mag 9.3mm IR-DIM @@ -483,6 +496,7 @@ 9.3mm IR-DIM 9.3mm IR-DIM 9,3 мм ИК-трассирующие + 9.3mm IR-DIM Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus @@ -491,6 +505,7 @@ Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 10<br />Utilisé dans: Cyrus Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 10<br />Используются с: Cyrus + Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 10<br />In uso su: Cyrus @@ -500,6 +515,7 @@ Bande 9.3mm 150Cps Traçante Cinta de 150 balas trazadoras de 9.3mm Лента из 150-ти 9,3 мм трассирующих + 9.3mm 150Rnd Tracer Belt 9.3mm Tracer @@ -509,6 +525,7 @@ 9.3mm Traçante 9.3mm trazadora 9,3 мм трассирующие + 9.3mm Tracciante Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid @@ -517,6 +534,7 @@ Calibre: 9.3x64mm Traçante<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm trazadora<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм трассирующие<br />Патронов: 150<br />Используются с: Навид + Calibro: 9.3x64mm Tracciante<br />Munizioni: 150<br />In uso su: Navid 9.3mm 150Rnd Tracer IR-DIM Belt @@ -525,6 +543,7 @@ Bande 9.3mm 150Cps Traçante IR-DIM Cinta de 150 balas trazadoras IR-DIM de 9.3mm Лента из 150-ти 9,3 мм ИК-трассирующих + 9.3mm 150Rnd Tracciante IR-DIM Belt 9.3mm IR-DIM @@ -534,6 +553,7 @@ 9.3mm IR-DIM 9.3mm IR-DIM 9,3 мм ИК-трассирующие + 9.3mm IR-DIM Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid @@ -542,6 +562,7 @@ Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 150<br />Используются с: Навид + Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 150<br />In uso su: Navid 9.3mm 150Rnd AP Belt @@ -550,6 +571,7 @@ Bande 9.3mm 150Cps AP Cinta de 150 balas AP de 9.3mm Лента из 150-ти 9,3 мм бронебойных + 9.3mm 150Rnd AP Belt 9.3mm AP @@ -559,6 +581,7 @@ 9.3mm AP 9.3mm AP 9,3 мм бронебойные + 9.3mm AP Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid @@ -567,6 +590,7 @@ Calibre: 9.3x64mm AP<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm AP<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм бронебойные<br />Патронов: 150<br />Используются с: Навид + Calibro: 9.3x64mm AP<br />Munizioni: 150<br />In uso su: Navid 9x19mm 16Rnd Mag @@ -574,6 +598,7 @@ Chargeur 9x19mm 16Cps Cargador de 16 balas de 9x19mm Магазин из 16-ти 9х19 мм + 9x19mm 16Rnd Mag 9x19mm @@ -581,6 +606,7 @@ 9x19mm 9x19mm 9х19 мм + 9x19mm 9x19mm 30Rnd Mag @@ -588,6 +614,7 @@ 9x19mm 30Cps Cargador de 16 balas de 9x19mm Магазин из 16-ти 9х19 мм + 9x19mm 30Rnd Mag 9x19mm 30Rnd Mag @@ -595,6 +622,7 @@ 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм + 9x19mm 30Rnd Mag 9x19mm @@ -602,6 +630,7 @@ 9x19mm 9x19mm 9х19 мм + 9x19mm 9x19mm 30Rnd Mag @@ -609,6 +638,7 @@ 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм + 9x19mm 30Rnd Mag 7.62x54mm 10Rnd Tracer IR-DIM Mag @@ -616,6 +646,7 @@ Chargeur 7.62x54mm 10Rnd Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих + 7.62x54mm 10Munizioni Traccianti IR-DIM Mag 7.62mm IR-DIM @@ -623,6 +654,7 @@ 7.62mm IR-DIM 7.62mm IR-DIM 7,62 мм ИК-трассирующие + 7.62mm IR-DIM 7.62x54mm 10Rnd Tracer IR-DIM Mag @@ -630,6 +662,7 @@ Chargeur 7.62x54mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих + 7.62x54mm 10Munizioni Traccianti IR-DIM Mag 6.5mm 100Rnd Tracer IR-DIM Mag @@ -637,6 +670,7 @@ Chargeur 6.5mm 100Rnd Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих + 6.5mm 100Munizioni Traccianti IR-DIM Mag 6.5mm IR-DIM @@ -644,6 +678,7 @@ 6.5mm IR-DIM 6.5mm IR-DIM 6,5 мм ИК-трассирующие + 6.5mm IR-DIM 6.5mm 100Rnd Tracer IR-DIM Mag<br />Rounds: 100<br />Used in: MX LSW @@ -651,6 +686,7 @@ Chargeur 6.5mm 100Rnd Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих + 6.5mm 100Rnd Tracer IR-DIM Mag<br />Munizioni: 100<br />In uso su: MX LSW 6.5mm 200Rnd Tracer IR-DIM Belt @@ -658,6 +694,7 @@ Bande 6.5mm 200Rnd Traçante IR-DIM Cinta de 200 balas trazadoras IR-DIM de 6.5mm Магазин из 200-т 6,5 мм ИК-трассирующих + 6.5mm 200Rnd Tracer IR-DIM Belt 6.5mm IR-DIM @@ -665,6 +702,7 @@ 6.5mm IR-DIM 6.5mm IR-DIM 6,5 мм ИК-трассирующие + 6.5mm IR-DIM 6.5mm 200Rnd Tracer IR-DIM Belt<br />Rounds: 200<br />Used in: Stoner 99 LMG @@ -672,6 +710,7 @@ Bande 6.5mm 200Cps Traçante IR-DIM Cinta de 200 balas trazadoras IR-DIM de 6.5mm Магазин из 200-т 6,5 мм ИК-трассирующих + 6.5mm 200Rnd Tracer IR-DIM Belt<br />Munizioni: 200<br />In uso su: Stoner 99 LMG 5.56mm 30Rnd Mag (Mk262) @@ -679,6 +718,7 @@ 5.56mm 30Cps (Mk262) Cargador de 30 balas de 5.56mm (Mk262) Магазин из 30-ти 5.56 мм Mk262 + 5.56mm 30Rnd Mag (Mk262) 5.56mm Mk262 @@ -686,6 +726,7 @@ 5.56mm Mk262 5.56mm Mk262 5,56 мм Mk262 + 5.56mm Mk262 Caliber: 5.56x45 mm NATO (Mk262)<br />Rounds: 30 @@ -693,6 +734,7 @@ Calibre: 5.56x45 mm NATO (Mk262)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (Mk262)<br />Balas: 30 Калибр: 5,56x45 мм NATO (Mk262)<br />Патронов: 30 + Calibro: 5.56x45 mm NATO (Mk262)<br />Munizioni: 30 5.56mm 30Rnd Mag (Mk318) @@ -700,6 +742,7 @@ 5.56mm 30Cps (Mk318) Cargador de 30 balas de 5.56mm (Mk318) Магазин из 30-ти 5.56 мм (Mk318) + 5.56mm 30Rnd Mag (Mk318) 5.56mm Mk318 @@ -707,6 +750,7 @@ 5.56mm Mk318 5.56mm Mk318 5.56 мм Mk318 + 5.56mm Mk318 Caliber: 5.56x45 mm NATO (Mk318)<br />Rounds: 30 @@ -714,6 +758,7 @@ Calibre: 5.56x45 mm NATO (Mk318)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (Mk318)<br />Balas: 30 Калибр: 5,56x45 мм NATO (Mk318)<br />Патронов: 30 + Calibro: 5.56x45 mm NATO (Mk318)<br />Munizioni: 30 5.56mm 30Rnd Mag (M995 AP) @@ -721,6 +766,7 @@ 5.56mm 30Cps (M995 AP) Cargador de 30 balas de 5.56mm (M995 AP) Магазин из 30-ти 5.56 мм (M995 AP) + 5.56mm 30Rnd Mag (M995 AP) 5.56mm AP @@ -728,6 +774,7 @@ 5.56mm AP 5.56mm AP 5.56 мм AP + 5.56mm AP Caliber: 5.56x45 mm NATO (M995 AP)<br />Rounds: 30 @@ -735,6 +782,7 @@ Calibre: 5.56x45 mm NATO (M995 AP)<br />Cartouches: 30 Calibre: 5.56x45 mm NATO (M995 AP)<br />Balas: 30 Калибр: 5,56x45 мм NATO (M995 AP)<br />Патронов: 30 + Calibro: 5.56x45 mm NATO (M995 AP)<br />Munizioni: 30 7.62mm 10Rnd Mag (M118LR) @@ -742,6 +790,7 @@ 7.62mm 10Cps (M118LR) Cargador de 10 balas de 7.62mm (M118LR) Магазин из 10-ти 7,62 мм (M118LR) + 7.62mm 10Rnd Mag (M118LR) 7.62mm M118LR @@ -749,6 +798,7 @@ 7.62mm M118LR 7.62mm (M118LR) 7,62 мм M118LR + 7.62mm M118LR Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 10 @@ -756,6 +806,7 @@ Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 10 Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 10 + Calibro: 7.62x51 mm NATO (M118LR)<br />Munizioni: 10 7.62mm 20Rnd Mag (M118LR) @@ -763,6 +814,7 @@ 7.62mm 20Cps (M118LR) Cargador de 20 balas de 7.62mm (M118LR) Магазин из 20-ти 7,62 мм (M118LR) + 7.62mm 20Rnd Mag (M118LR) 7.62mm M118LR @@ -770,6 +822,7 @@ 7.62mm M118LR 7.62mm (M118LR) 7,62 мм M118LR + 7.62mm M118LR Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 20 @@ -777,6 +830,7 @@ Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 20 + Calibro: 7.62x51 mm NATO (M118LR)<br />Munizioni: 20 7.62mm 10Rnd Mag (Mk316 Mod 0) @@ -784,6 +838,7 @@ 7.62mm 10Cps (Mk316 Mod 0) Cargador de 10 balas de 7.62mm (Mk316 Mod 0) Магазин из 10-ти 7,62 мм (Mk316 Mod 0) + 7.62mm 10Rnd Mag (Mk316 Mod 0) 7.62mm Mk316 @@ -791,6 +846,7 @@ 7.62mm Mk316 7.62mm Mk316 7,62 мм Mk316 + 7.62mm Mk316 Caliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Rounds: 10 @@ -798,6 +854,7 @@ Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Balas: 10 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 10 + Calibro: 7.62x51 mm NATO (Mk316 Mod 0)<br />Munizioni: 10 7.62mm 20Rnd Mag (Mk316 Mod 0) @@ -805,6 +862,7 @@ 7.62mm 20Cps (Mk316 Mod 0) Cargador de 20 balas de 7.62mm (Mk316 Mod 0) Магазин из 20-ти 7,62 мм (Mk316 Mod 0) + 7.62mm 20Rnd Mag (Mk316 Mod 0) 7.62mm Mk316 @@ -812,6 +870,7 @@ 7.62mm Mk316 7.62mm Mk316 7,62 мм Mk316 + 7.62mm Mk316 Caliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Rounds: 20 @@ -819,6 +878,7 @@ Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Balas: 20 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 20 + Calibro: 7.62x51 mm NATO (Mk316 Mod 0)<br />Munizioni: 20 7.62mm 10Rnd Mag (Mk319 Mod 0) @@ -826,6 +886,7 @@ 7.62mm 10Cps (Mk319 Mod 0) Cargador de 10 balas de 7.62mm (Mk319 Mod 0) Магазин из 10-ти 7,62 мм (Mk319 Mod 0) + 7.62mm 10Rnd Mag (Mk319 Mod 0) 7.62mm Mk319 @@ -833,6 +894,7 @@ 7.62mm Mk319 7.62mm Mk319 7,62mm Mk319 + 7.62mm Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 10 @@ -840,6 +902,7 @@ Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 10 Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 10 + Calibro: 7.62x51 mm NATO (Mk319 Mod 0)<br />Munizioni: 10 7.62mm 20Rnd Mag (Mk319 Mod 0) @@ -847,6 +910,7 @@ 7.62mm 20Cps (Mk319 Mod 0) Cargador de 20 balas de 7.62mm (Mk319 Mod 0) Магазин из 20-ти 7,62 мм (Mk319 Mod 0) + 7.62mm 20Rnd Mag (Mk319 Mod 0) 7.62mm Mk319 @@ -854,6 +918,7 @@ 7.62mm Mk319 7.62mm Mk319 7,62 мм Mk319 + 7.62mm Mk319 Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 20 @@ -861,6 +926,7 @@ Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 20 Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 20 + Calibro: 7.62x51 mm NATO (Mk319 Mod 0)<br />Munizioni: 20 7.62mm 10Rnd Mag (M993 AP) @@ -868,6 +934,7 @@ 7.62mm 10Cps (M993 AP) Cargador de 10 balas de 7.62mm (M993 AP) Магазин из 10-ти 7,62 мм (M993 AP) + 7.62mm 10Rnd Mag (M993 AP) 7.62mm AP @@ -875,6 +942,7 @@ 7.62mm AP 7.62mm AP 7,62mm AP + 7.62mm AP Caliber: 7.62x51 mm NATO (M993 AP)<br />Rounds: 10 @@ -882,6 +950,7 @@ Calibre: 7.62x51 mm NATO (M993 AP)<br />Cartouches: 10 Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 10 Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 10 + Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 10 7.62mm 20Rnd Mag (M993 AP) @@ -889,6 +958,7 @@ 7.62mm 20Cps (M993 AP) Cargador de 20 balas de 7.62mm (M993 AP) Магазин из 20-ти 7,62 мм (M993 AP) + 7.62mm 20Rnd Mag (M993 AP) 7.62mm AP @@ -896,6 +966,7 @@ 7.62mm AP 7.62mm AP 7,62 мм AP + 7.62mm AP Caliber: 7.62x51 mm NATO (M993 AP)<br />Rounds: 20 @@ -903,13 +974,15 @@ Calibre: 7.62x51 mm NATO (M993 AP)<br />Cartouches: 20 Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 20 - + Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 20 + 7.62mm 20Rnd Mag (Mk248 Mod 0) Magazynek 7,62mm 20rd (Mk248 Mod 0) 7.62mm 20Cps (Mk248 Mod 0) Cargador de 20 balas de 7.62mm (Mk248 Mod 0) Магазин из 20-ти 7,62 мм (Mk248 Mod 0) + 7.62mm 20Rnd Mag (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) @@ -917,6 +990,7 @@ 7.62mm (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) 7,62 мм (Mk248 Mod 0) + 7.62mm (Mk248 Mod 0) Caliber: 7.62x67 mm NATO (Mk248 Mod 0)<br />Rounds: 20 @@ -924,6 +998,7 @@ Calibre: 7.62x67mm NATO (Mk248 Mod 0)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Mk248 Mod 0)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Mk248 Mod 0)<br />Патронов: 20 + Calibro: 7.62x67 mm NATO (Mk248 Mod 0)<br />Munizioni: 20 7.62mm 20Rnd Mag (Mk248 Mod 1) @@ -931,6 +1006,7 @@ 7.62mm 20Cps (Mk248 Mod 1) Cargador de 20 balas de 7.62mm (Mk248 Mod 1) Магазин из 20-ти 7,62 мм (Mk248 Mod 1) + 7.62mm 20Rnd Mag (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) @@ -938,6 +1014,7 @@ 7.62mm (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) 7,62 мм (Mk248 Mod 1) + 7.62mm (Mk248 Mod 1) Caliber: 7.62x67 mm NATO (Mk248 Mod 1)<br />Rounds: 20 @@ -945,6 +1022,7 @@ Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Mk248 Mod 1)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Mk248 Mod 1)<br />Патронов: 20 + Calibro: 7.62x67 mm NATO (Mk248 Mod 1)<br />Munizioni: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) @@ -952,6 +1030,7 @@ 7.62 20Cps (Berger Hybrid OTM) Cargador de 20 balas de 7.62mm (Berger Hybrid OTM) Магазин из 20-ти 7,62 мм (Berger Hybrid OTM) + 7.62mm 20Rnd Mag (Berger Hybrid OTM) 7.62mm (OTM) @@ -959,6 +1038,7 @@ 7.62mm (OTM) 7.62mm (OTM) 7,62 мм (OTM) + 7.62mm (OTM) Caliber: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Rounds: 20 @@ -966,6 +1046,7 @@ Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Cartouches: 20 Calibre: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Berger Hybrid OTM)<br />Патронов: 20 + Calibro: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Munizioni: 20 6.5x47mm 30Rnd Mag (HPBT Scenar) @@ -973,6 +1054,7 @@ Cargador de 30 balas de 6.5x47mm (HPBT Scenar) Magazynek 6,5x47 mm 30rd (HPBT Scenar) Магазин из 30-ти 6,5x47 мм (HPBT Scenar) + 6.5x47mm 30Rnd Mag (HPBT Scenar) 6.5mm Lapua @@ -980,6 +1062,7 @@ 6.5mm Lapua 6,5mm Lapua 6,5 мм Lapua + 6.5mm Lapua Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM @@ -987,10 +1070,12 @@ Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30 Kaliber: 6,5x47 mm (HPBT Scenar)<br />Pociski: 30 Калибр: 6,5x47 мм (HPBT Scenar)<br />Патронов: 30 + Calibro: 6.5x47mm (HPBT Scenar)<br />Munizioni: 30<br />In uso su: MXM 6.5mm Creedmor 30Rnd Mag Magazynek 6,5mm Creedmor 30rd + 6.5mm Creedmor 30Rnd Mag 6.5mm CM @@ -998,10 +1083,12 @@ 6.5mm CM 6,5mm CM 6,5 мм CM + 6.5mm CM Caliber: 6.5mm Creedmor<br />Rounds: 30<br />Used in: MXM Kaliber: 6,5mm Creedmor<br />Pociski: 30<br />Używany w: MXM + Calibro: 6.5mm Creedmor<br />Munizioni: 30<br />In uso su: MXM .338 10Rnd Mag (300gr Sierra MatchKing HPBT) @@ -1009,6 +1096,7 @@ Cargador de 10 balas de 8.6x70mm (300gr Sierra MatchKing HPBT) Magazynek .338 10rd (300gr Sierra MatchKing HPBT) Магазин из 10-ти .338 (300 гран Sierra MatchKing HPBT) + .338 10Munizioni Mag (300gr Sierra MatchKing HPBT) .338 (HPBT) @@ -1016,6 +1104,7 @@ .338 (HPBT) .338 (HPBT) .338 (HPBT) + .338 (HPBT) Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 @@ -1023,6 +1112,7 @@ Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Balas: 10 Kaliber: 8,6x70 mm (300gr Sierra MatchKing HPBT)<br />Pociski: 10 Калибр: .338 (300 гран Sierra MatchKing HPBT)<br />Патронов: 10 + Calibro: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Munizioni: 10 .338 10Rnd Mag (API526) @@ -1030,6 +1120,7 @@ Cargador de 10 balas de .338 (API526) Magazynek .338 10rd (API526) Магазин из 10-ти .338 (API526) + .338 10Rnd Mag (API526) .338 AP @@ -1037,6 +1128,7 @@ .338 AP .338 AP .338 бронебойные + .338 AP Caliber: 8.6x70mm (API526)<br />Rounds: 10 @@ -1044,6 +1136,7 @@ Calibre: 8.6x70mm (API526)<br />Balas: 10 Kaliber: 8,6x70 mm (API526)<br />Pociski: 10 Калибр: .338 (API526)<br />Патронов: 10 + Calibro: 8.6x70mm (API526)<br />Munizioni: 10 12.7x99mm 5Rnd Mag @@ -1051,6 +1144,7 @@ Cargador de 5 balas de 12.7x99mm Magazynek 12,7x99 mm 5rd Магазин из 5-ти 12,7x99 мм + 12.7x99mm 5Rnd Mag 12.7mm @@ -1058,6 +1152,7 @@ 12.7mm 12,7mm 12,7 мм + 12.7mm Caliber: 12.7x99mm<br />Rounds: 5 @@ -1065,24 +1160,28 @@ Calibre: 12.7x99mm<br />Balas: 5 Kaliber: 12,7x99 mm<br />Pociski: 5 Калибр: 12,7x99 мм<br />Патронов: 5 + Calibro: 12.7x99mm<br />Munizioni: 5 12.7x99mm API 5Rnd Mag 12.7x99mm API 5Cps Cargador de 5 balas de 12.7x99mm API Magazynek 12,7x99mm API 5rd + 12.7x99mm API 5Rnd Mag 12.7mm API 12.7mm API 12.7mm API 12,7mm API + 12.7mm API Caliber: 12.7x99mm API<br />Rounds: 5 Calibre: 12.7x99mm API<br />Cartouches: 5 Calibre: 12.7x99mm API<br />Balas: 5 Kaliber: 12,7x99 mm API<br />Pociski: 5 + Calibro: 12.7x99mm API<br />Munizioni: 5 12.7x99mm 5Rnd Mag (AMAX) @@ -1090,6 +1189,7 @@ Cargador de 5 balas de 12.7x99mm (AMAX) Magazynek 12,7x99 mm 5rd (AMAX) Магазин из 5-ти 12,7x99 мм (A-MAX) + 12.7x99mm 5Rnd Mag (AMAX) 12.7mm @@ -1097,6 +1197,7 @@ 12.7mm 12,7mm 12,7 мм + 12.7mm Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 @@ -1104,6 +1205,7 @@ Calibre: 12.7x99mm (AMAX)<br />Balas: 5 Kaliber: 12,7x99 mm (AMAX)<br />Pociski: 5 Калибр: 12,7x99 мм (A-MAX)<br />Патронов: 5 + Calibro: 12.7x99mm (AMAX)<br />Munizioni: 5 - + \ No newline at end of file diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 55a9f6211a..1f6bcaa3ca 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -119,6 +119,7 @@ Ekwipunek rewidowanej osoby Инвентарь обысканного человека Inventário da pessoa revistada + Inventario delle persone perquisite Frisk person @@ -188,4 +189,4 @@ Niente selezionato - + \ No newline at end of file From 85ce5e3729f7db0663cae5220e885dc211701ce8 Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 28 Apr 2015 19:43:36 +0200 Subject: [PATCH 078/478] Unified spacing --- addons/ballistics/stringtable.xml | 356 +++++++++++++++--------------- 1 file changed, 178 insertions(+), 178 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 3c63557f03..1bb970b8a4 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -4,7 +4,7 @@ 6.5mm 30Rnd Tracer IR-DIM Mag - 6,5 mm Nyomjelző IR-DIM 30-as Tár + 6,5mm Nyomjelző IR-DIM 30-as Tár 6,5mm 30-Schuss-Magazin Leuchtspur IR-DIM Cargador de 30 balas trazadoras IR-DIM de 6,5mm Ch. 6,5mm 30Cps Traçantes IR-DIM @@ -16,31 +16,31 @@ 6.5mm IR-DIM - 6,5 mm IR-DIM + 6,5mm IR-DIM 6,5mm IR-DIM 6,5mm IR-DIM 6,5mm IR-DIM 6,5mm IR-DIM 6.5mm IR-DIM 6,5mm IR-DIM - 6.5 IR-DIM + 6.5mm IR-DIM 6,5 мм ИК-трассирующие - Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL + Caliber: 6.5x39mm Tracer IR-DIM<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL + Kaliber: 6,5x39mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL Kaliber: 6,5x39mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL - Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL - Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL - Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: MX/C/M/SW/3GL - Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL - Calibro: 6.5x39 mm Traccianti IR-DIM <br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL + Calibre: 6,5x39mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL + Calibre: 6,5x39mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL + Kaliber: 6,5x39mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Ráže: 6.5x39mm Svítící IR-DIM<br />Munice: 30<br />Použití: MX/C/M/SW/3GL + Calibre: 6,5x39mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL + Calibro: 6.5x39mm Traccianti IR-DIM <br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL Калибр: 6,5x39 мм ИК-трассирующие<br />Патронов: 30<br />Используются с: MX/C/M/SW/3GL 6.5mm 30Rnd SD Mag - 6,5 mm Halk 30-as Tár + 6,5mm Halk 30-as Tár 6,5mm 30-Schuss-Magazin SD Cargador de 30 balas SD de 6,5mm Ch. 6,5mm 30Cps SD @@ -52,7 +52,7 @@ 6.5mm SD - 6,5 mm Halk + 6,5mm Halk 6,5mm SD 6,5mm SD 6,5mm SD @@ -63,20 +63,20 @@ 6,5 мм дозвуковые - Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm Halk<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL + Caliber: 6.5x39mm SD<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL + Kaliber: 6,5x39mm Halk<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL Kaliber: 6,5x39mm SD<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL - Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL - Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm SD<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL - Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: MX/C/M/SW/3GL - Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL - Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL + Calibre: 6,5x39mm SD<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL + Calibre: 6,5x39mm SD<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL + Kaliber: 6,5x39mm SD<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Ráže: 6.5x39mm SD<br />Munice: 30<br />Použití: MX/C/M/SW/3GL + Calibre: 6,5x39mm SD<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL + Calibro: 6.5x39mm Sil.<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL Калибр: 6,5x39 мм дозвуковые<br />Патронов: 30<br />Используются с: MX/C/M/SW/3GL 6.5mm 30Rnd AP Mag - 6,5 mm Páncéltörő 30-as Tár + 6,5mm Páncéltörő 30-as Tár 6,5mm 30-Schuss-Magazin AP Cargador de 30 balas AP de 6,5mm Ch. 6,5mm 30Cps AP @@ -88,7 +88,7 @@ 6.5mm AP - 6,5 mm Páncéltörő + 6,5mm Páncéltörő 6,5mm AP 6,5mm AP 6,5mm AP @@ -99,15 +99,15 @@ 6,5 мм бронебойные - Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm Páncéltörő<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL + Caliber: 6.5x39mm AP<br />Rounds: 30<br />Used in: MX/C/M/SW/3GL + Kaliber: 6,5x39mm Páncéltörő<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL Kaliber: 6,5x39mm AP<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL - Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL - Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL - Kaliber: 6,5x39 mm AP<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL - Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: MX/C/M/SW/3GL - Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL - Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL + Calibre: 6,5x39mm AP<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL + Calibre: 6,5x39mm AP<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL + Kaliber: 6,5x39mm AP<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL + Ráže: 6.5x39mm AP<br />Munice: 30<br />Použití: MX/C/M/SW/3GL + Calibre: 6,5x39mm AP<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL + Calibro: 6.5x39mm AP<br />Munizioni: 30<br />In uso su: MX/C/M/SW/3GL Калибр: 6,5x39 мм бронебойные<br />Патронов: 30<br />Используются с: MX/C/M/SW/3GL @@ -136,20 +136,20 @@ 6,5 мм ИК-трассирующие - Caliber: 6.5x39 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: Katiba - Kaliber: 6,5x39 mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: Katiba + Caliber: 6.5x39mm Tracer IR-DIM<br />Rounds: 30<br />Used in: Katiba + Kaliber: 6,5x39mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: Katiba Kaliber: 6,5x39mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: Katiba - Calibre: 6,5x39 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: Katiba - Calibre: 6,5x39 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5x39 mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: Katiba - Ráže: 6.5x39 mm Svítící IR-DIM<br />Munice: 30<br />Použití: Katiba - Calibre: 6,5x39 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: Katiba - Calibro: 6.5x39 mm Tracciant IR-DIM<br />Munizioni: 30<br />In uso su: Katiba + Calibre: 6,5x39mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: Katiba + Calibre: 6,5x39mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: Katiba + Kaliber: 6,5x39mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: Katiba + Ráže: 6.5x39mm Svítící IR-DIM<br />Munice: 30<br />Použití: Katiba + Calibre: 6,5x39mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: Katiba + Calibro: 6.5x39mm Tracciant IR-DIM<br />Munizioni: 30<br />In uso su: Katiba Калибр: 6,5x39 мм ИК-трассирующие<br />Патронов: 30<br />Используются с: Katiba 6.5mm 30Rnd SD Mag - 6,5 mm Halk 30-as Tár + 6,5mm Halk 30-as Tár 6,5mm 30-Schuss-Magazin SD Cargador de 30 balas SD de 6,5mm Ch. 6,5mm 30Cps SD @@ -161,7 +161,7 @@ 6.5mm SD - 6,5 mm Halk + 6,5mm Halk 6,5mm SD 6,5mm SD 6,5mm SD @@ -172,20 +172,20 @@ 6,5 мм дозвуковые - Caliber: 6.5x39 mm SD<br />Rounds: 30<br />Used in: Katiba - Kaliber: 6,5x39 mm Halk<br />Lövedékek: 30<br />Használható: Katiba + Caliber: 6.5x39mm SD<br />Rounds: 30<br />Used in: Katiba + Kaliber: 6,5x39mm Halk<br />Lövedékek: 30<br />Használható: Katiba Kaliber: 6,5x39mm SD<br />Patronen: 30<br />Eingesetzt von: Katiba - Calibre: 6,5x39 mm SD<br />Balas: 30<br />Se usa en: Katiba - Calibre: 6,5x39 mm SD<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5x39 mm SD<br />Naboje: 30<br />Używane w: Katiba - Ráže: 6.5x39 mm SD<br />Munice: 30<br />Použití: Katiba - Calibre: 6,5x39 mm SD<br />Projéteis: 30<br />Usado em: Katiba - Calibro: 6.5x39 mm Sil.<br />Munizioni: 30<br />In uso su: Katiba + Calibre: 6,5x39mm SD<br />Balas: 30<br />Se usa en: Katiba + Calibre: 6,5x39mm SD<br />Cartouches: 30<br />Utilisé dans: Katiba + Kaliber: 6,5x39mm SD<br />Naboje: 30<br />Używane w: Katiba + Ráže: 6.5x39mm SD<br />Munice: 30<br />Použití: Katiba + Calibre: 6,5x39mm SD<br />Projéteis: 30<br />Usado em: Katiba + Calibro: 6.5x39mm Sil.<br />Munizioni: 30<br />In uso su: Katiba Калибр: 6,5x39 мм дозвуковые<br />Патронов: 30<br />Используются с: Katiba 6.5mm 30Rnd AP Mag - 6,5 mm Páncéltörő 30-as Tár + 6,5mm Páncéltörő 30-as Tár 6,5mm 30-Schuss-Magazin AP Cargador de 30 balas AP de 6,5mm Ch. 6,5mm 30Cps AP @@ -197,7 +197,7 @@ 6.5mm AP - 6,5 mm Páncéltörő + 6,5mm Páncéltörő 6,5mm AP 6,5mm AP 6,5mm AP @@ -208,21 +208,21 @@ 6,5 мм бронебойные - Caliber: 6.5x39 mm AP<br />Rounds: 30<br />Used in: Katiba - Kaliber: 6,5x39 mm Páncéltörő<br />Lövedékek: 30<br />Használható: Katiba + Caliber: 6.5x39mm AP<br />Rounds: 30<br />Used in: Katiba + Kaliber: 6,5x39mm Páncéltörő<br />Lövedékek: 30<br />Használható: Katiba Kaliber: 6,5x39mm AP<br />Patronen: 30<br />Eingesetzt von: Katiba - Calibre: 6,5x39 mm AP<br />Balas: 30<br />Se usa en: Katiba - Calibre: 6,5x39 mm AP<br />Cartouches: 30<br />Utilisé dans: Katiba - Kaliber: 6,5x39 mm AP<br />Pociski: 30<br />Używane w: Katiba - Ráže: 6.5x39 mm AP<br />Munice: 30<br />Použití: Katiba - Calibre: 6,5x39 mm AP<br />Projéteis: 30<br />Usado em: Katiba - Calibro: 6.5x39 mm AP<br />Munizioni: 30<br />In uso su: Katiba + Calibre: 6,5x39mm AP<br />Balas: 30<br />Se usa en: Katiba + Calibre: 6,5x39mm AP<br />Cartouches: 30<br />Utilisé dans: Katiba + Kaliber: 6,5x39mm AP<br />Pociski: 30<br />Używane w: Katiba + Ráže: 6.5x39mm AP<br />Munice: 30<br />Použití: Katiba + Calibre: 6,5x39mm AP<br />Projéteis: 30<br />Usado em: Katiba + Calibro: 6.5x39mm AP<br />Munizioni: 30<br />In uso su: Katiba Калибр: 6,5x39 мм бронебойные<br />Патронов: 30<br />Используются с: Katiba 5.56mm 30rnd Tracer IR-DIM Mag - 5,56 mm Nyomjelző IR-DIM 30-as Tár + 5,56mm Nyomjelző IR-DIM 30-as Tár 5,56mm 30-Schuss-Magazin Leuchtspur IR-DIM Cargador de 30 balas trazadoras IR-DIM de 5,56mm Ch. 5,56mm 30Cps Traçantes IR-DIM @@ -234,7 +234,7 @@ 5.56mm IR-DIM - 5,56 mm IR-DIM + 5,56mm IR-DIM 5,56mm IR-DIM 5,56mm IR-DIM 5,56mm IR-DIM @@ -245,21 +245,21 @@ 5,56 мм ИК-трассирующие - Caliber: 5.56x45 mm Tracer IR-DIM<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Caliber: 5.56x45mm Tracer IR-DIM<br />Rounds: 30<br />Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Kaliber: 5,56x45mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Kaliber: 5,56x45 mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Ráže: 5.56x45 mm Svítící IR-DIM<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45 mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibro: 5.56x45 mm Traccianti IR-DIM<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Kaliber: 5,56x45mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Ráže: 5.56x45mm Svítící IR-DIM<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibro: 5.56x45mm Traccianti IR-DIM<br />Munizioni: 30<br />In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Калибр: 5,56x45 мм ИК-трассирующие<br />Патронов: 30<br />Используются с: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR 7.62mm 20rnd Tracer Mag - 7,62 mm Nyomjelző IR-DIM 20-as Tár + 7,62mm Nyomjelző IR-DIM 20-as Tár 7,62mm 20-Schuss-Magazin Leuchtspur Cargador de 20 balas trazadores de 7,62mm Ch. 7,62mm 20Cps Traçantes @@ -271,7 +271,7 @@ 7.62mm Tracer - 7,62 mm Nyomjelző + 7,62mm Nyomjelző 7,62mm Leuchtspur 7,62mm trazadora 7,62mm Traçantes @@ -282,21 +282,21 @@ 7,62 мм трассирущие - Caliber: 7.62x51 mm Tracer<br />Rounds: 20<br />Used in: Mk18 ABR - Kaliber: 7,62x51 mm Nyomjelző<br />Lövedékek: 20<br />Használható: Mk18 ABR + Caliber: 7.62x51mm Tracer<br />Rounds: 20<br />Used in: Mk18 ABR + Kaliber: 7,62x51mm Nyomjelző<br />Lövedékek: 20<br />Használható: Mk18 ABR Kaliber: 7,62x51mm Leuchtspur<br />Patronen: 20<br />Eingesetzt von: EBR - Calibre: 7,62x51 mm Trazadora<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51 mm Traçantes<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62x51 mm Smugacz<br />Pociski: 20<br />Używane w: Mk18 ABR - Ráže: 7.62x51 mm Svítící<br />Munice: 20<br />Použití: Mk18 ABR - Calibre: 7,62x51 mm Traçante<br />Projéteis: 20<br />Usado em: Mk18 ABR - Calibro: 7.62x51 mm Traccianti<br />Munizioni: 20<br />In uso su: Mk18 ABR + Calibre: 7,62x51mm Trazadora<br />Balas: 20<br />Se usa en: Mk18 ABR + Calibre: 7,62x51mm Traçantes<br />Cartouches: 20<br />Utilisé dans: EBR + Kaliber: 7,62x51mm Smugacz<br />Pociski: 20<br />Używane w: Mk18 ABR + Ráže: 7.62x51mm Svítící<br />Munice: 20<br />Použití: Mk18 ABR + Calibre: 7,62x51mm Traçante<br />Projéteis: 20<br />Usado em: Mk18 ABR + Calibro: 7.62x51mm Traccianti<br />Munizioni: 20<br />In uso su: Mk18 ABR Калибр: 7,62x51 мм трассирующие<br />Патронов: 20<br />Используются с: Mk18 ABR 7.62mm 20rnd Tracer IR-DIM Mag - 7,62 mm Nyomjelző IR-DIM 20-as Tár - 7,62 mm 20-Schuss-Magazin Leuchtspur IR-DIM + 7,62mm Nyomjelző IR-DIM 20-as Tár + 7,62mm 20-Schuss-Magazin Leuchtspur IR-DIM Cargador de 20 balas trazadoras IR-DIM de 7,62mm Ch. 7,62mm 20Cps Traçantes IR-DIM Magazynek 7,62mm 20rd Smugacz IR-DIM @@ -307,7 +307,7 @@ 7.62mm IR-DIM - 7,62 mm IR-DIM + 7,62mm IR-DIM 7,62mm IR-DIM 7,62mm IR-DIM 7,62mm IR-DIM @@ -318,20 +318,20 @@ 7,62 мм ИК-трассирующие - Caliber: 7.62x51 mm Tracer IR-DIM<br />Rounds: 20<br />Used in: Mk18 ABR - Kaliber: 7,62x51 mm Nyomjelző IR-DIM<br />Lövedékek: 20<br />Használható: Mk18 ABR + Caliber: 7.62x51mm Tracer IR-DIM<br />Rounds: 20<br />Used in: Mk18 ABR + Kaliber: 7,62x51mm Nyomjelző IR-DIM<br />Lövedékek: 20<br />Használható: Mk18 ABR Kaliber: 7,62x51mm Leuchtspur IR-DIM<br />Patronen: 20<br />Eingesetzt von: EBR - Calibre: 7,62x51 mm Trazadoras IR-DIM<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51 mm Traçantes IR-DIM<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62x51 mm Smugacz IR-DIM<br />Pociski: 20<br />Używane w: Mk18 ABR - Ráže: 7.62x51 mm Svítící IR-DIM<br />Munice: 20<br />Použití: Mk18 ABR - Calibre: 7,62x51 mm Traçante IR-DIM<br />Projéteis: 20<br />Usado em: Mk18 ABR - Calibro: 7.62x51 mm Traccianti IR-DIM<br />Munizioni: 20<br />In uso su: Mk18 ABR + Calibre: 7,62x51mm Trazadoras IR-DIM<br />Balas: 20<br />Se usa en: Mk18 ABR + Calibre: 7,62x51mm Traçantes IR-DIM<br />Cartouches: 20<br />Utilisé dans: EBR + Kaliber: 7,62x51mm Smugacz IR-DIM<br />Pociski: 20<br />Używane w: Mk18 ABR + Ráže: 7.62x51mm Svítící IR-DIM<br />Munice: 20<br />Použití: Mk18 ABR + Calibre: 7,62x51mm Traçante IR-DIM<br />Projéteis: 20<br />Usado em: Mk18 ABR + Calibro: 7.62x51mm Traccianti IR-DIM<br />Munizioni: 20<br />In uso su: Mk18 ABR Калибр: 7,62x51 мм ИК-трассирующие<br />Патронов: 20<br />Используются с: Mk18 ABR 7.62mm 20Rnd SD Mag - 7,62 mm Halk 20-as Tár + 7,62mm Halk 20-as Tár 7,62mm 20-Schuss-Magazin SD Cargador de 20 balas SD de 7,62mm Ch. 7,62mm 20Cps SD @@ -343,7 +343,7 @@ 7.62mm SD - 7,62 mm Halk + 7,62mm Halk 7,62mm SD 7,62mm SD 7,62mm SD @@ -354,15 +354,15 @@ 7,62 мм дозвуковые - Caliber: 7.62x51 mm SD<br />Rounds: 20<br />Used in: Mk18 ABR - Kaliber: 7,62x51 mm Halk<br />Lövedékek: 20<br />Használható: Mk18 ABR + Caliber: 7.62x51mm SD<br />Rounds: 20<br />Used in: Mk18 ABR + Kaliber: 7,62x51mm Halk<br />Lövedékek: 20<br />Használható: Mk18 ABR Kaliber: 7,62x51mm SD<br />Patronen: 20<br />Eingesetzt von: EBR - Calibre: 7,62x51 mm SD<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51 mm SD<br />Cartouches: 20<br />Utilisé dans: EBR - Kaliber: 7,62x51 mm SD<br />Pociski: 20<br />Używane w: Mk18 ABR - Ráže: 7.62x51 mm SD<br />Munice: 20<br />Použití: Mk18 ABR - Calibre: 7,62x51 mm SD<br />Projéteis: 20<br />Usado em: Mk18 ABR - Calibro: 7.62x51 mm Sil.<br />Munizioni: 20<br />In uso su: Mk18 ABR + Calibre: 7,62x51mm SD<br />Balas: 20<br />Se usa en: Mk18 ABR + Calibre: 7,62x51mm SD<br />Cartouches: 20<br />Utilisé dans: EBR + Kaliber: 7,62x51mm SD<br />Pociski: 20<br />Używane w: Mk18 ABR + Ráže: 7.62x51mm SD<br />Munice: 20<br />Použití: Mk18 ABR + Calibre: 7,62x51mm SD<br />Projéteis: 20<br />Usado em: Mk18 ABR + Calibro: 7.62x51mm Sil.<br />Munizioni: 20<br />In uso su: Mk18 ABR Калибр: 7,62x51 мм дозвуковые<br />Патронов: 20<br />Используются с: Mk18 ABR @@ -462,7 +462,7 @@ Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur<br />Patronen: 10<br />Eingesetzt von: Cyrus - Kaliber: 9,3x64 mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus + Kaliber: 9,3x64mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus Calibre: 9.3x64mm Traçante<br />Cartouches: 10<br />Utilisé dans: Cyrus Calibre: 9.3x64mm trazadora<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм трассирующие<br />Патронов: 10<br />Используются с: Cyrus @@ -487,7 +487,7 @@ Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Patronen: 10<br />Eingesetzt von: Cyrus - Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus + Kaliber: 9,3x64mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 10<br />Utilisé dans: Cyrus Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 10<br />Используются с: Cyrus @@ -513,7 +513,7 @@ Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur<br />Patronen: 150<br />Eingesetzt von: Navid - Kaliber: 9,3x64 mm Smugacz<br />Pociski: 150<br />Używane w: Navid + Kaliber: 9,3x64mm Smugacz<br />Pociski: 150<br />Używane w: Navid Calibre: 9.3x64mm Traçante<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm trazadora<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм трассирующие<br />Патронов: 150<br />Используются с: Навид @@ -538,7 +538,7 @@ Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Patronen: 150<br />Eingesetzt von: Navid - Kaliber: 9,3x64 mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid + Kaliber: 9,3x64mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 150<br />Используются с: Навид @@ -563,7 +563,7 @@ Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Hartkern<br />Patronen: 150<br />Eingesetzt von: Navid - Kaliber: 9,3x64 mm AP<br />Pociski: 150<br />Używane w: Navid + Kaliber: 9,3x64mm AP<br />Pociski: 150<br />Używane w: Navid Calibre: 9.3x64mm AP<br />Cartouches: 150<br />Utilisé dans: Navid Calibre: 9.3x64mm AP<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм бронебойные<br />Патронов: 150<br />Используются с: Навид @@ -618,7 +618,7 @@ 7.62x54mm 10Rnd Tracer IR-DIM Mag - Magazynek 7,62x54 mm 10rd Smugacz IR-DIM + Magazynek 7,62x54mm 10rd Smugacz IR-DIM Chargeur 7.62x54mm 10Rnd Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих @@ -634,7 +634,7 @@ 7.62x54mm 10Rnd Tracer IR-DIM Mag - Magazynek 7,62x54 mm 10rd Smugacz IR-DIM + Magazynek 7,62x54mm 10rd Smugacz IR-DIM Chargeur 7.62x54mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих @@ -705,10 +705,10 @@ 5,56mm Mk262 - Caliber: 5.56x45 mm NATO (Mk262)<br />Rounds: 30 - Kaliber: 5,56x45 mm NATO (Mk262)<br />Pociski: 30 - Calibre: 5.56x45 mm NATO (Mk262)<br />Cartouches: 30 - Calibre: 5.56x45 mm NATO (Mk262)<br />Balas: 30 + Caliber: 5.56x45mm NATO (Mk262)<br />Rounds: 30 + Kaliber: 5,56x45mm NATO (Mk262)<br />Pociski: 30 + Calibre: 5.56x45mm NATO (Mk262)<br />Cartouches: 30 + Calibre: 5.56x45mm NATO (Mk262)<br />Balas: 30 Калибр: 5,56x45 мм NATO (Mk262)<br />Патронов: 30 Kaliber: 5,56x45mm NATO (Mk262)<br />Schuss: 30 @@ -729,10 +729,10 @@ 5,56mm Mk318 - Caliber: 5.56x45 mm NATO (Mk318)<br />Rounds: 30 - Kaliber: 5,56x45 mm NATO (Mk318)<br />Pociski: 30 - Calibre: 5.56x45 mm NATO (Mk318)<br />Cartouches: 30 - Calibre: 5.56x45 mm NATO (Mk318)<br />Balas: 30 + Caliber: 5.56x45mm NATO (Mk318)<br />Rounds: 30 + Kaliber: 5,56x45mm NATO (Mk318)<br />Pociski: 30 + Calibre: 5.56x45mm NATO (Mk318)<br />Cartouches: 30 + Calibre: 5.56x45mm NATO (Mk318)<br />Balas: 30 Калибр: 5,56x45 мм NATO (Mk318)<br />Патронов: 30 Kaliber: 5,56x45mm NATO (Mk318)<br />Patronen: 30 @@ -753,10 +753,10 @@ 5,56mm AP - Caliber: 5.56x45 mm NATO (M995 AP)<br />Rounds: 30 - Kaliber: 5,56x45 mm NATO (M995 AP)<br />Pociski: 30 - Calibre: 5.56x45 mm NATO (M995 AP)<br />Cartouches: 30 - Calibre: 5.56x45 mm NATO (M995 AP)<br />Balas: 30 + Caliber: 5.56x45mm NATO (M995 AP)<br />Rounds: 30 + Kaliber: 5,56x45mm NATO (M995 AP)<br />Pociski: 30 + Calibre: 5.56x45mm NATO (M995 AP)<br />Cartouches: 30 + Calibre: 5.56x45mm NATO (M995 AP)<br />Balas: 30 Калибр: 5,56x45 мм NATO (M995 AP)<br />Патронов: 30 Kaliber: 5,56x45mm NATO (M995 AP)<br />Patronen: 30 @@ -777,10 +777,10 @@ 7,62mm M118LR - Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 10 - Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 10 - Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 10 - Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 10 + Caliber: 7.62x51mm NATO (M118LR)<br />Rounds: 10 + Kaliber: 7,62x51mm NATO (M118LR)<br />Pociski: 10 + Calibre: 7.62x51mm NATO (M118LR)<br />Cartouches: 10 + Calibre: 7.62x51mm NATO (M118LR)<br />Balas: 10 Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 10 @@ -801,10 +801,10 @@ 7,62mm M118LR - Caliber: 7.62x51 mm NATO (M118LR)<br />Rounds: 20 - Kaliber: 7,62x51 mm NATO (M118LR)<br />Pociski: 20 - Calibre: 7.62x51 mm NATO (M118LR)<br />Cartouches: 20 - Calibre: 7.62x51 mm NATO (M118LR)<br />Balas: 20 + Caliber: 7.62x51mm NATO (M118LR)<br />Rounds: 20 + Kaliber: 7,62x51mm NATO (M118LR)<br />Pociski: 20 + Calibre: 7.62x51mm NATO (M118LR)<br />Cartouches: 20 + Calibre: 7.62x51mm NATO (M118LR)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 20 @@ -825,12 +825,12 @@ 7.62mm Mk316 - Caliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Rounds: 10 - Kaliber: 7,62x51 mm NATO (Mk316 Mod 0)<br />Pociski: 10 - Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Cartouches: 10 - Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Balas: 10 + Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 10 + Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Pociski: 10 + Calibre: 7.62x51mm NATO (Mk316 Mod 0)<br />Cartouches: 10 + Calibre: 7.62x51mm NATO (Mk316 Mod 0)<br />Balas: 10 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 10 - Kaliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Patronen: 10 + Kaliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Patronen: 10 7.62mm 20Rnd Mag (Mk316 Mod 0) @@ -849,12 +849,12 @@ 7.62mm Mk316 - Caliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Rounds: 20 - Kaliber: 7,62x51 mm NATO (Mk316 Mod 0)<br />Pociski: 20 - Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Cartouches: 20 - Calibre: 7.62x51 mm NATO (Mk316 Mod 0)<br />Balas: 20 + Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 20 + Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Pociski: 20 + Calibre: 7.62x51mm NATO (Mk316 Mod 0)<br />Cartouches: 20 + Calibre: 7.62x51mm NATO (Mk316 Mod 0)<br />Balas: 20 Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 20 - Kaliber: 7.62x51 mm NATO (Mk316 Mod 0)<br />Patronen: 20 + Kaliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Patronen: 20 7.62mm 10Rnd Mag (Mk319 Mod 0) @@ -873,10 +873,10 @@ 7,62mm Mk319 - Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 10 - Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 10 - Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 10 - Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 10 + Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 10 + Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Pociski: 10 + Calibre: 7.62x51mm NATO (Mk319 Mod 0)<br />Cartouches: 10 + Calibre: 7.62x51mm NATO (Mk319 Mod 0)<br />Balas: 10 Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 10 @@ -897,10 +897,10 @@ 7,62mm Mk319 - Caliber: 7.62x51 mm NATO (Mk319 Mod 0)<br />Rounds: 20 - Kaliber: 7,62x51 mm NATO (Mk319 Mod 0)<br />Pociski: 20 - Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Cartouches: 20 - Calibre: 7.62x51 mm NATO (Mk319 Mod 0)<br />Balas: 20 + Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 20 + Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Pociski: 20 + Calibre: 7.62x51mm NATO (Mk319 Mod 0)<br />Cartouches: 20 + Calibre: 7.62x51mm NATO (Mk319 Mod 0)<br />Balas: 20 Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 20 @@ -921,10 +921,10 @@ 7,62mm AP - Caliber: 7.62x51 mm NATO (M993 AP)<br />Rounds: 10 - Kaliber: 7,62x51 mm NATO (M993 AP)<br />Pociski: 10 - Calibre: 7.62x51 mm NATO (M993 AP)<br />Cartouches: 10 - Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 10 + Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 10 + Kaliber: 7,62x51mm NATO (M993 AP)<br />Pociski: 10 + Calibre: 7.62x51mm NATO (M993 AP)<br />Cartouches: 10 + Calibre: 7.62x51mm NATO (M993 AP)<br />Balas: 10 Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 10 @@ -945,10 +945,10 @@ 7,62mm AP - Caliber: 7.62x51 mm NATO (M993 AP)<br />Rounds: 20 - Kaliber: 7,62x51 mm NATO (M993 AP)<br />Pociski: 20 - Calibre: 7.62x51 mm NATO (M993 AP)<br />Cartouches: 20 - Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 20 + Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 20 + Kaliber: 7,62x51mm NATO (M993 AP)<br />Pociski: 20 + Calibre: 7.62x51mm NATO (M993 AP)<br />Cartouches: 20 + Calibre: 7.62x51mm NATO (M993 AP)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 20 @@ -969,10 +969,10 @@ 7,62mm (Mk248 Mod 0) - Caliber: 7.62x67 mm NATO (Mk248 Mod 0)<br />Rounds: 20 - Kaliber: 7,62x67 mm NATO (Mk248 Mod 0)<br />Pociski: 20 + Caliber: 7.62x67mm NATO (Mk248 Mod 0)<br />Rounds: 20 + Kaliber: 7,62x67mm NATO (Mk248 Mod 0)<br />Pociski: 20 Calibre: 7.62x67mm NATO (Mk248 Mod 0)<br />Cartouches: 20 - Calibre: 7.62x67 mm NATO (Mk248 Mod 0)<br />Balas: 20 + Calibre: 7.62x67mm NATO (Mk248 Mod 0)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Mk248 Mod 0)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk248 Mod 0)<br />Patronen: 20 @@ -993,10 +993,10 @@ 7,62mm (Mk248 Mod 1) - Caliber: 7.62x67 mm NATO (Mk248 Mod 1)<br />Rounds: 20 - Kaliber: 7,62x67 mm NATO (Mk248 Mod 1)<br />Pociski: 20 + Caliber: 7.62x67mm NATO (Mk248 Mod 1)<br />Rounds: 20 + Kaliber: 7,62x67mm NATO (Mk248 Mod 1)<br />Pociski: 20 Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Cartouches: 20 - Calibre: 7.62x67 mm NATO (Mk248 Mod 1)<br />Balas: 20 + Calibre: 7.62x67mm NATO (Mk248 Mod 1)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Mk248 Mod 1)<br />Патронов: 20 Kaliber: 7.62x51mm NATO (Mk248 Mod 1)<br />Patronen: 20 @@ -1017,10 +1017,10 @@ 7,62mm (OTM) - Caliber: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Rounds: 20 - Kaliber: 7,62x67 mm NATO (Berger Hybrid OTM)<br />Pociski: 20 + Caliber: 7.62x67mm NATO (Berger Hybrid OTM)<br />Rounds: 20 + Kaliber: 7,62x67mm NATO (Berger Hybrid OTM)<br />Pociski: 20 Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Cartouches: 20 - Calibre: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Balas: 20 + Calibre: 7.62x67mm NATO (Berger Hybrid OTM)<br />Balas: 20 Калибр: 7,62x67 мм NATO (Berger Hybrid OTM)<br />Патронов: 20 Kaliber: 7.62x67mm NATO (Berger Hybrid OTM)<br />Patronen: 20 @@ -1028,7 +1028,7 @@ 6.5x47mm 30Rnd Mag (HPBT Scenar) 6.5x47mm 30Cps (HPBT Scenar) Cargador de 30 balas de 6.5x47mm (HPBT Scenar) - Magazynek 6,5x47 mm 30rd (HPBT Scenar) + Magazynek 6,5x47mm 30rd (HPBT Scenar) Магазин из 30-ти 6,5x47 мм (HPBT Scenar) 6,5x47mm 30-Schuss-Magazin (HPBT Scenar) @@ -1044,7 +1044,7 @@ Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM Calibre: 6.5x47mm (HPBT Scenar)<br />Cartouches: 30 Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30 - Kaliber: 6,5x47 mm (HPBT Scenar)<br />Pociski: 30 + Kaliber: 6,5x47mm (HPBT Scenar)<br />Pociski: 30 Калибр: 6,5x47 мм (HPBT Scenar)<br />Патронов: 30 Kaliber: 6,5x47mm (HPBT Scenar)<br />Patronen: 30<br />Eingesetzt von: MXM @@ -1075,18 +1075,18 @@ .338 10-Schuss-Magazin (300gr Sierra MatchKing HPBT) - .338 (HPBT) - .338 (HPBT) - .338 (HPBT) - .338 (HPBT) - .338 (HPBT) - .338 (HPBT) + .338 HPBT + .338 HPBT + .338 HPBT + .338 HPBT + .338 HPBT + .338 HPBT Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Cartouches: 10 Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Balas: 10 - Kaliber: 8,6x70 mm (300gr Sierra MatchKing HPBT)<br />Pociski: 10 + Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Pociski: 10 Калибр: .338 (300 гран Sierra MatchKing HPBT)<br />Патронов: 10 Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Patronen: 10 @@ -1104,13 +1104,13 @@ .338 AP .338 AP .338 бронебойные - .338 (AP) + .338 AP Caliber: 8.6x70mm (API526)<br />Rounds: 10 Calibre: 8.6x70mm (API526)<br />Cartouches: 10 Calibre: 8.6x70mm (API526)<br />Balas: 10 - Kaliber: 8,6x70 mm (API526)<br />Pociski: 10 + Kaliber: 8,6x70mm (API526)<br />Pociski: 10 Калибр: .338 (API526)<br />Патронов: 10 Kaliber: 8,6x70mm (API526)<br />Patronen: 10 @@ -1118,7 +1118,7 @@ 12.7x99mm 5Rnd Mag 12.7x99mm 5Cps Cargador de 5 balas de 12.7x99mm - Magazynek 12,7x99 mm 5rd + Magazynek 12,7x99mm 5rd Магазин из 5-ти 12,7x99 мм 12,7x99mm 5-Schuss-Magazin @@ -1134,7 +1134,7 @@ Caliber: 12.7x99mm<br />Rounds: 5 Calibre: 12.7x99mm<br />Cartouches: 5 Calibre: 12.7x99mm<br />Balas: 5 - Kaliber: 12,7x99 mm<br />Pociski: 5 + Kaliber: 12,7x99mm<br />Pociski: 5 Калибр: 12,7x99 мм<br />Патронов: 5 Kaliber: 12,7x99mm<br />Patronen: 5 @@ -1156,14 +1156,14 @@ Caliber: 12.7x99mm API<br />Rounds: 5 Calibre: 12.7x99mm API<br />Cartouches: 5 Calibre: 12.7x99mm API<br />Balas: 5 - Kaliber: 12,7x99 mm API<br />Pociski: 5 + Kaliber: 12,7x99mm API<br />Pociski: 5 Kaliber:12,7x99mm API<br />Patronen: 5 12.7x99mm 5Rnd Mag (AMAX) 12.7x99mm 5Rnd Mag (AMAX) Cargador de 5 balas de 12.7x99mm (AMAX) - Magazynek 12,7x99 mm 5rd (AMAX) + Magazynek 12,7x99mm 5rd (AMAX) Магазин из 5-ти 12,7x99 мм (A-MAX) 12,7x99mm 5-Schuss-Magazin (AMAX) @@ -1179,7 +1179,7 @@ Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 Calibre: 12.7x99mm (AMAX)<br />Cartouches: 5 Calibre: 12.7x99mm (AMAX)<br />Balas: 5 - Kaliber: 12,7x99 mm (AMAX)<br />Pociski: 5 + Kaliber: 12,7x99mm (AMAX)<br />Pociski: 5 Калибр: 12,7x99 мм (A-MAX)<br />Патронов: 5 Kaliber:12,7x99mm (AMAX)<br />Patronen: 5 From 621e1513a0902f3cadda9e2f9ee834a4b1c86af0 Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 28 Apr 2015 20:24:59 +0200 Subject: [PATCH 079/478] ballistic stringtable fixes --- addons/ballistics/stringtable.xml | 106 +++++++++++++++--------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 87ebafc831..f885a79691 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -5,7 +5,7 @@ 6.5mm 30Rnd Tracer IR-DIM Mag 6,5mm Nyomjelző IR-DIM 30-as Tár - 6,5mm 30-Schuss-Magazin Leuchtspur IR-DIM + 6,5mm 30-Patronen-Magazin Leuchtspur IR-DIM Cargador de 30 balas trazadoras IR-DIM de 6,5mm Ch. 6,5mm 30Cps Traçantes IR-DIM Magazynek 6,5mm 30rd Smugacz IR-DIM @@ -41,7 +41,7 @@ 6.5mm 30Rnd SD Mag 6,5mm Halk 30-as Tár - 6,5mm 30-Schuss-Magazin SD + 6,5mm 30-Patronen-Magazin SD Cargador de 30 balas SD de 6,5mm Ch. 6,5mm 30Cps SD Magazynek 6,5mm 30rd SD @@ -77,7 +77,7 @@ 6.5mm 30Rnd AP Mag 6,5mm Páncéltörő 30-as Tár - 6,5mm 30-Schuss-Magazin AP + 6,5mm 30-Patronen-Magazin AP Cargador de 30 balas AP de 6,5mm Ch. 6,5mm 30Cps AP Magazynek 6,5mm 30rd AP @@ -114,7 +114,7 @@ 6.5mm 30Rnd Tracer IR-DIM Mag 6,5mm IR-DIM Nyomjelző 30-as Tár - 6,5mm 30-Schuss-Magazin Leuchtspur IR-DIM + 6,5mm 30-Patronen-Magazin Leuchtspur IR-DIM Cargador de 30 balas trazadoras IR-DIM de 6,5mm Ch. 6,5mm 30Cps Traçantes IR-DIM Magazynek 6,5mm 30rd Smugacz IR-DIM @@ -150,7 +150,7 @@ 6.5mm 30Rnd SD Mag 6,5mm Halk 30-as Tár - 6,5mm 30-Schuss-Magazin SD + 6,5mm 30-Patronen-Magazin SD Cargador de 30 balas SD de 6,5mm Ch. 6,5mm 30Cps SD Magazynek 6,5mm 30rd SD @@ -186,7 +186,7 @@ 6.5mm 30Rnd AP Mag 6,5mm Páncéltörő 30-as Tár - 6,5mm 30-Schuss-Magazin AP + 6,5mm 30-Patronen-Magazin AP Cargador de 30 balas AP de 6,5mm Ch. 6,5mm 30Cps AP Magazynek 6,5mm 30rd AP @@ -223,7 +223,7 @@ 5.56mm 30rnd Tracer IR-DIM Mag 5,56mm Nyomjelző IR-DIM 30-as Tár - 5,56mm 30-Schuss-Magazin Leuchtspur IR-DIM + 5,56mm 30-Patronen-Magazin Leuchtspur IR-DIM Cargador de 30 balas trazadoras IR-DIM de 5,56mm Ch. 5,56mm 30Cps Traçantes IR-DIM Magazynek 5,56mm 30rd Smugacz IR-DIM @@ -260,7 +260,7 @@ 7.62mm 20rnd Tracer Mag 7,62mm Nyomjelző IR-DIM 20-as Tár - 7,62mm 20-Schuss-Magazin Leuchtspur + 7,62mm 20-Patronen-Magazin Leuchtspur Cargador de 20 balas trazadores de 7,62mm Ch. 7,62mm 20Cps Traçantes Magazynek 7,62mm 20rd Smugacz @@ -296,7 +296,7 @@ 7.62mm 20rnd Tracer IR-DIM Mag 7,62mm Nyomjelző IR-DIM 20-as Tár - 7,62mm 20-Schuss-Magazin Leuchtspur IR-DIM + 7,62mm 20-Patronen-Magazin Leuchtspur IR-DIM Cargador de 20 balas trazadoras IR-DIM de 7,62mm Ch. 7,62mm 20Cps Traçantes IR-DIM Magazynek 7,62mm 20rd Smugacz IR-DIM @@ -332,7 +332,7 @@ 7.62mm 20Rnd SD Mag 7,62mm Halk 20-as Tár - 7,62mm 20-Schuss-Magazin SD + 7,62mm 20-Patronen-Magazin SD Cargador de 20 balas SD de 7,62mm Ch. 7,62mm 20Cps SD Magazynek 7,62mm 20rd SD @@ -368,7 +368,7 @@ .338 NM 130Rnd Tracer Belt - .338 NM 130-Schuss-Gurt Leuchtspur + .338 NM 130-Patronen-Gurt Leuchtspur Taśma .338 NM 130rd Smugacz Bande .338 NM 130Cps Traçante Cinta de 130 balas trazadoras de .338 NM @@ -393,7 +393,7 @@ .338 NM 130Rnd IR-DIM Belt - .338 NM 130-Schuss-Gurt Leuchtspur IR-DIM + .338 NM 130-Patronen-Gurt Leuchtspur IR-DIM Taśma .338 NM 130rd IR-DIM Bande .338 NM 130Cps IR-DIM Cinta de 130 balas IR-DIM de .338 NM @@ -418,7 +418,7 @@ .338 NM 130Rnd AP Belt - .338 NM 130-Schuss-Gurt Hartkern + .338 NM 130-Patronen-Gurt Hartkern Taśma .338 NM 130rd AP Bande .338 NM 130Cps AP Cinta de 130 balas AP de .338 NM @@ -444,7 +444,7 @@ 9.3mm 10Rnd Tracer Mag - 9,3mm 10-Schuss-Magazin Leuchtspur + 9,3mm 10-Patronen-Magazin Leuchtspur Magazynek 9.3mm 10rd Smugacz Chargeur 9.3mm 10Cps Traçante Cargador de 10 balas trazadoras de 9.3mm @@ -469,7 +469,7 @@ 9.3mm 10Rnd Tracer IR-DIM Mag - 9,3mm 10-Schuss-Magazin Leuchtspur IR-DIM + 9,3mm 10-Patronen-Magazin Leuchtspur IR-DIM Magazynek 9,3mm 10rd Smugacz IR-DIM Chargeur 9.3mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 9.3mm @@ -495,7 +495,7 @@ 9.3mm 150Rnd Tracer Belt - 9,3mm 150-Schuss-Gurt Leuchtspur + 9,3mm 150-Patronen-Gurt Leuchtspur Taśma 9,3mm 150rd Smugacz Bande 9.3mm 150Cps Traçante Cinta de 150 balas trazadoras de 9.3mm @@ -520,7 +520,7 @@ 9.3mm 150Rnd Tracer IR-DIM Belt - 9,3mm 150-Schuss-Gurt Leuchtspur IR-DIM + 9,3mm 150-Patronen-Gurt Leuchtspur IR-DIM Taśma 9,3mm 150rd Smugacz IR-DIM Bande 9.3mm 150Cps Traçante IR-DIM Cinta de 150 balas trazadoras IR-DIM de 9.3mm @@ -545,7 +545,7 @@ 9.3mm 150Rnd AP Belt - 9,3mm 150-Schuss-Gurt Hartkern + 9,3mm 150-Patronen-Gurt Hartkern Taśma 9,3mm 150rd AP Bande 9.3mm 150Cps AP Cinta de 150 balas AP de 9.3mm @@ -574,7 +574,7 @@ Chargeur 9x19mm 16Cps Cargador de 16 balas de 9x19mm Магазин из 16-ти 9х19 мм - 9x19mm 20-Schuss-Magazin + 9x19mm 20-Patronen-Magazin 9x19mm @@ -590,7 +590,7 @@ 9x19mm 30Cps Cargador de 16 balas de 9x19mm Магазин из 16-ти 9х19 мм - 9x19mm 30-Schuss-Magazin + 9x19mm 30-Patronen-Magazin 9x19mm 30Rnd Mag @@ -598,7 +598,7 @@ 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм - 9x19mm 30-Schuss-Magazin + 9x19mm 30-Patronen-Magazin 9x19mm @@ -614,7 +614,7 @@ 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм - 9x19mm 30-Schuss-Magazin + 9x19mm 30-Patronen-Magazin 7.62x54mm 10Rnd Tracer IR-DIM Mag @@ -622,7 +622,7 @@ Chargeur 7.62x54mm 10Rnd Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих - 7,62x54mm 10-Schuss-Magazin IR-DIM Leuchtspur + 7,62x54mm 10-Patronen-Magazin IR-DIM Leuchtspur 7.62mm IR-DIM @@ -638,7 +638,7 @@ Chargeur 7.62x54mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих - 7,62x54mm 10-Schuss-Magazin IR-DIM Leuchtspur + 7,62x54mm 10-Patronen-Magazin IR-DIM Leuchtspur 6.5mm 100Rnd Tracer IR-DIM Mag @@ -646,7 +646,7 @@ Chargeur 6.5mm 100Rnd Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих - 6,5mm 100-Schuss-Magazin IR-DIM Leuchtspur + 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur 6.5mm IR-DIM @@ -662,7 +662,7 @@ Chargeur 6.5mm 100Rnd Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих - 6,5mm 100-Schuss-Magazin IR-DIM Leuchtspur<br />Patronen: 100<br />Eingesetzt von: MXLSW + 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur<br />Patronen: 100<br />Eingesetzt von: MXLSW 6.5mm 200Rnd Tracer IR-DIM Belt @@ -670,7 +670,7 @@ Bande 6.5mm 200Rnd Traçante IR-DIM Cinta de 200 balas trazadoras IR-DIM de 6.5mm Магазин из 200-т 6,5 мм ИК-трассирующих - 6,5mm 200-Schuss-Gurt IR-DIM Leuchtspur + 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur 6.5mm IR-DIM @@ -686,7 +686,7 @@ Bande 6.5mm 200Cps Traçante IR-DIM Cinta de 200 balas trazadoras IR-DIM de 6.5mm Магазин из 200-т 6,5 мм ИК-трассирующих - 6,5mm 200-Schuss-Gurt IR-DIM Leuchtspur<br />Patronen: 200<br />Eingesetzt von: Stoner 99 LMG + 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur<br />Patronen: 200<br />Eingesetzt von: Stoner 99 LMG 5.56mm 30Rnd Mag (Mk262) @@ -694,7 +694,7 @@ 5.56mm 30Cps (Mk262) Cargador de 30 balas de 5.56mm (Mk262) Магазин из 30-ти 5.56 мм Mk262 - 5,56mm 30-Schuss-Magazin (Mk262) + 5,56mm 30-Patronen-Magazin (Mk262) 5.56mm Mk262 @@ -718,7 +718,7 @@ 5.56mm 30Cps (Mk318) Cargador de 30 balas de 5.56mm (Mk318) Магазин из 30-ти 5.56 мм (Mk318) - 5,56mm 30-Schuss-Magazin (Mk318) + 5,56mm 30-Patronen-Magazin (Mk318) 5.56mm Mk318 @@ -742,7 +742,7 @@ 5.56mm 30Cps (M995 AP) Cargador de 30 balas de 5.56mm (M995 AP) Магазин из 30-ти 5.56 мм (M995 AP) - 5,56mm 30-Schuss-Magazin (M995AP) + 5,56mm 30-Patronen-Magazin (M995AP) 5.56mm AP @@ -766,7 +766,7 @@ 7.62mm 10Cps (M118LR) Cargador de 10 balas de 7.62mm (M118LR) Магазин из 10-ти 7,62 мм (M118LR) - 7,62mm 10-Schuss-Magazin (M118LR) + 7,62mm 10-Patronen-Magazin (M118LR) 7.62mm M118LR @@ -790,7 +790,7 @@ 7.62mm 20Cps (M118LR) Cargador de 20 balas de 7.62mm (M118LR) Магазин из 20-ти 7,62 мм (M118LR) - 7,62mm 20-Schuss-Magazin (M118LR) + 7,62mm 20-Patronen-Magazin (M118LR) 7.62mm M118LR @@ -814,7 +814,7 @@ 7.62mm 10Cps (Mk316 Mod 0) Cargador de 10 balas de 7.62mm (Mk316 Mod 0) Магазин из 10-ти 7,62 мм (Mk316 Mod 0) - 7,62mm 10-Schuss-Magazin (Mk316 Mod 0) + 7,62mm 10-Patronen-Magazin (Mk316 Mod 0) 7.62mm Mk316 @@ -838,7 +838,7 @@ 7.62mm 20Cps (Mk316 Mod 0) Cargador de 20 balas de 7.62mm (Mk316 Mod 0) Магазин из 20-ти 7,62 мм (Mk316 Mod 0) - 7,62mm 20-Schuss-Magazin (Mk316 Mod 0) + 7,62mm 20-Patronen-Magazin (Mk316 Mod 0) 7.62mm Mk316 @@ -862,7 +862,7 @@ 7.62mm 10Cps (Mk319 Mod 0) Cargador de 10 balas de 7.62mm (Mk319 Mod 0) Магазин из 10-ти 7,62 мм (Mk319 Mod 0) - 7,62mm 10-Schuss-Magazin (Mk319 Mod 0) + 7,62mm 10-Patronen-Magazin (Mk319 Mod 0) 7.62mm Mk319 @@ -886,7 +886,7 @@ 7.62mm 20Cps (Mk319 Mod 0) Cargador de 20 balas de 7.62mm (Mk319 Mod 0) Магазин из 20-ти 7,62 мм (Mk319 Mod 0) - 7,62mm 20-Schuss-Magazin (Mk319 Mod 0) + 7,62mm 20-Patronen-Magazin (Mk319 Mod 0) 7.62mm Mk319 @@ -910,7 +910,7 @@ 7.62mm 10Cps (M993 AP) Cargador de 10 balas de 7.62mm (M993 AP) Магазин из 10-ти 7,62 мм (M993 AP) - 7,62mm 10-Schuss-Magazin (M993 AP) + 7,62mm 10-Patronen-Magazin (M993 AP) 7.62mm AP @@ -934,7 +934,7 @@ 7.62mm 20Cps (M993 AP) Cargador de 20 balas de 7.62mm (M993 AP) Магазин из 20-ти 7,62 мм (M993 AP) - 7,62mm 20-Schuss-Magazin (M993 AP) + 7,62mm 20-Patronen-Magazin (M993 AP) 7.62mm AP @@ -958,7 +958,7 @@ 7.62mm 20Cps (Mk248 Mod 0) Cargador de 20 balas de 7.62mm (Mk248 Mod 0) Магазин из 20-ти 7,62 мм (Mk248 Mod 0) - 7,62mm 20-Schuss-Magazin (Mk248 Mod 0) + 7,62mm 20-Patronen-Magazin (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) @@ -982,7 +982,7 @@ 7.62mm 20Cps (Mk248 Mod 1) Cargador de 20 balas de 7.62mm (Mk248 Mod 1) Магазин из 20-ти 7,62 мм (Mk248 Mod 1) - 7,62mm 20-Schuss-Magazin (Mk248 Mod 1) + 7,62mm 20-Patronen-Magazin (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) @@ -1006,7 +1006,7 @@ 7.62 20Cps (Berger Hybrid OTM) Cargador de 20 balas de 7.62mm (Berger Hybrid OTM) Магазин из 20-ти 7,62 мм (Berger Hybrid OTM) - 7,62mm 20-Schuss-Magazin (Berger Hybrid OTM) + 7,62mm 20-Patronen-Magazin (Berger Hybrid OTM) 7.62mm (OTM) @@ -1030,7 +1030,7 @@ Cargador de 30 balas de 6.5x47mm (HPBT Scenar) Magazynek 6,5x47mm 30rd (HPBT Scenar) Магазин из 30-ти 6,5x47 мм (HPBT Scenar) - 6,5x47mm 30-Schuss-Magazin (HPBT Scenar) + 6,5x47mm 30-Patronen-Magazin (HPBT Scenar) 6.5mm Lapua @@ -1051,7 +1051,7 @@ 6.5mm Creedmor 30Rnd Mag Magazynek 6,5mm Creedmor 30rd - 6,5mm Creedmor 30-Schuss-Magazin + 6,5mm Creedmor 30-Patronen-Magazin 6.5mm CM @@ -1062,8 +1062,8 @@ 6,5mm CM - Caliber: 6.5mm Creedmor<br />Rounds: 30<br />Used in: MXM - Kaliber: 6,5mm Creedmor<br />Pociski: 30<br />Używany w: MXM + Caliber: 6.5x47mm Creedmor<br />Rounds: 30<br />Used in: MXM + Kaliber: 6,5x47mm Creedmor<br />Pociski: 30<br />Używany w: MXM Kaliber: 6,5x47mm Creedmor<br />Patronen: 30<br />Eingesetzt von: MXM @@ -1072,7 +1072,7 @@ Cargador de 10 balas de 8.6x70mm (300gr Sierra MatchKing HPBT) Magazynek .338 10rd (300gr Sierra MatchKing HPBT) Магазин из 10-ти .338 (300 гран Sierra MatchKing HPBT) - .338 10-Schuss-Magazin (300gr Sierra MatchKing HPBT) + .338 10-Patronen-Magazin (300gr Sierra MatchKing HPBT) .338 HPBT @@ -1087,7 +1087,7 @@ Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Cartouches: 10 Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Balas: 10 Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Pociski: 10 - Калибр: .338 (300 гран Sierra MatchKing HPBT)<br />Патронов: 10 + Калибр: 8,6x70mm (300 гран Sierra MatchKing HPBT)<br />Патронов: 10 Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Patronen: 10 @@ -1096,7 +1096,7 @@ Cargador de 10 balas de .338 (API526) Magazynek .338 10rd (API526) Магазин из 10-ти .338 (API526) - .338 10-Schuss-Magazin (API526) + .338 10-Patronen-Magazin (API526) .338 AP @@ -1111,7 +1111,7 @@ Calibre: 8.6x70mm (API526)<br />Cartouches: 10 Calibre: 8.6x70mm (API526)<br />Balas: 10 Kaliber: 8,6x70mm (API526)<br />Pociski: 10 - Калибр: .338 (API526)<br />Патронов: 10 + Калибр: 8,6x70mm (API526)<br />Патронов: 10 Kaliber: 8,6x70mm (API526)<br />Patronen: 10 @@ -1120,7 +1120,7 @@ Cargador de 5 balas de 12.7x99mm Magazynek 12,7x99mm 5rd Магазин из 5-ти 12,7x99 мм - 12,7x99mm 5-Schuss-Magazin + 12,7x99mm 5-Patronen-Magazin 12.7mm @@ -1143,7 +1143,7 @@ 12.7x99mm API 5Cps Cargador de 5 balas de 12.7x99mm API Magazynek 12,7x99mm API 5rd - 12,7x99mm 5-Schuss-Magazin (API) + 12,7x99mm 5-Patronen-Magazin (API) 12.7mm API @@ -1165,7 +1165,7 @@ Cargador de 5 balas de 12.7x99mm (AMAX) Magazynek 12,7x99mm 5rd (AMAX) Магазин из 5-ти 12,7x99 мм (A-MAX) - 12,7x99mm 5-Schuss-Magazin (AMAX) + 12,7x99mm 5-Patronen-Magazin (AMAX) 12.7mm From 270f9f3662478ce55ab33b03fabae57a3a18a905 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 28 Apr 2015 13:26:52 -0500 Subject: [PATCH 080/478] Fix init order problem --- addons/vehiclelock/config.cpp | 2 +- .../vehiclelock/functions/fnc_handleVehicleInitPost.sqf | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/addons/vehiclelock/config.cpp b/addons/vehiclelock/config.cpp index 608a892b45..76d5817d8d 100644 --- a/addons/vehiclelock/config.cpp +++ b/addons/vehiclelock/config.cpp @@ -7,7 +7,7 @@ class CfgPatches { requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_interaction"}; author[] = {"PabstMirror"}; - authorUrl = "https://github.com/PabstMirror/"; + authorUrl = "https://github.com/acemod/ACE3"; VERSION_CONFIG; }; }; diff --git a/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf b/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf index df875b1859..5a2bc3f7bd 100644 --- a/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf +++ b/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf @@ -1,6 +1,7 @@ /* * Author: PabstMirror - * Function for sync module. Assigns keys for all synced vehicles to any players that are synced. + * For every lockable vehicle, sets the starting lock state to a sane value. + * Only run if the InitModule is placed. * * Arguments: * 0: Vehicle @@ -18,9 +19,10 @@ PARAMS_1(_vehicle); if (!isServer) exitWith {}; -if (GVAR(VehicleStartingLockState) == -1) exitWith {}; [{ + //If the module wasn't placed, just exit (needs to be in wait because objectInitEH is before moduleInit) + if (GVAR(VehicleStartingLockState) == -1) exitWith {}; private ["_lock"]; PARAMS_1(_vehicle); if ((_vehicle isKindOf "Car") || {_vehicle isKindOf "Tank"} || {_vehicle isKindOf "Helicopter"}) then { @@ -36,4 +38,4 @@ if (GVAR(VehicleStartingLockState) == -1) exitWith {}; }; }; //Delay call until mission start (so everyone has the eventHandler's installed) -}, [_vehicle], 0.25, 0.25] call EFUNC(common,waitAndExecute); \ No newline at end of file +}, [_vehicle], 0.25, 0.25] call EFUNC(common,waitAndExecute); From 9e0932eb5692a1a68f635dcf078cb6f12c985011 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 28 Apr 2015 13:31:47 -0500 Subject: [PATCH 081/478] Opps --- addons/vehiclelock/CfgEventHandlers.hpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/addons/vehiclelock/CfgEventHandlers.hpp b/addons/vehiclelock/CfgEventHandlers.hpp index 85db25d4a0..6fbbd5c243 100644 --- a/addons/vehiclelock/CfgEventHandlers.hpp +++ b/addons/vehiclelock/CfgEventHandlers.hpp @@ -16,11 +16,6 @@ class Extended_InventoryOpened_EventHandlers { }; }; class Extended_InitPost_EventHandlers { - class CAManBase { - class ADDON { - serverInit = QUOTE(_this call FUNC(handleUnitInitPost)); - }; - }; class Car { class ADDON { serverInit = QUOTE(_this call FUNC(handleVehicleInitPost)); @@ -37,4 +32,3 @@ class Extended_InitPost_EventHandlers { }; }; }; - From 95d83554da56d1018ad080ff33f3c71fd2a276c7 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 28 Apr 2015 20:32:02 +0200 Subject: [PATCH 082/478] Added local treatment through remoteExec for basic --- addons/medical/XEH_preInit.sqf | 2 ++ .../functions/fnc_treatmentBasic_bloodbag.sqf | 7 ++--- .../fnc_treatmentBasic_bloodbagLocal.sqf | 21 +++++++++++++++ .../functions/fnc_treatmentBasic_morphine.sqf | 11 ++------ .../fnc_treatmentBasic_morphineLocal.sqf | 27 +++++++++++++++++++ 5 files changed, 54 insertions(+), 14 deletions(-) create mode 100644 addons/medical/functions/fnc_treatmentBasic_bloodbagLocal.sqf create mode 100644 addons/medical/functions/fnc_treatmentBasic_morphineLocal.sqf diff --git a/addons/medical/XEH_preInit.sqf b/addons/medical/XEH_preInit.sqf index 051f7da266..4f4ff5bc30 100644 --- a/addons/medical/XEH_preInit.sqf +++ b/addons/medical/XEH_preInit.sqf @@ -80,8 +80,10 @@ PREP(treatmentAdvanced_medication); PREP(treatmentAdvanced_medicationLocal); PREP(treatmentBasic_bandage); PREP(treatmentBasic_bloodbag); +PREP(treatmentBasic_bloodbagLocal); PREP(treatmentBasic_epipen); PREP(treatmentBasic_morphine); +PREP(treatmentBasic_morphineLocal); PREP(treatmentIV); PREP(treatmentIVLocal); PREP(treatmentTourniquet); diff --git a/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf b/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf index 57563ad8fc..9d2c12280d 100644 --- a/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf @@ -15,12 +15,9 @@ */ #include "script_component.hpp" -#define BLOODBAGHEAL 70 -private ["_caller", "_target","_className","_blood"]; +private ["_caller", "_target"]; _caller = _this select 0; _target = _this select 1; -_className = _this select 3; -_blood = ((_target getVariable [QGVAR(bloodVolume), 100]) + BLOODBAGHEAL) min 100; -_target setVariable [QGVAR(bloodVolume), _blood, true]; +[[_target], QUOTE(DFUNC(treatmentBasic_bloodbagLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ diff --git a/addons/medical/functions/fnc_treatmentBasic_bloodbagLocal.sqf b/addons/medical/functions/fnc_treatmentBasic_bloodbagLocal.sqf new file mode 100644 index 0000000000..9bbe04b35f --- /dev/null +++ b/addons/medical/functions/fnc_treatmentBasic_bloodbagLocal.sqf @@ -0,0 +1,21 @@ +/* + * Author: KoffeinFlummi + * Local callback when the bloodbag treatment is complete + * + * Arguments: + * 0: The patient + * + * Return Value: + * nil + * + * Public: No + */ + +#include "script_component.hpp" +#define BLOODBAGHEAL 70 + +private ["_target","_blood"]; +_target = _this select 0; + +_blood = ((_target getVariable [QGVAR(bloodVolume), 100]) + BLOODBAGHEAL) min 100; +_target setVariable [QGVAR(bloodVolume), _blood, true]; diff --git a/addons/medical/functions/fnc_treatmentBasic_morphine.sqf b/addons/medical/functions/fnc_treatmentBasic_morphine.sqf index d8d793d0bc..048b314781 100644 --- a/addons/medical/functions/fnc_treatmentBasic_morphine.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_morphine.sqf @@ -17,15 +17,8 @@ #include "script_component.hpp" #define MORPHINEHEAL 0.4 -private ["_caller", "_target","_className","_blood","_morphine","_pain"]; +private ["_caller", "_target"]; _caller = _this select 0; _target = _this select 1; -_className = _this select 3; -// reduce pain, pain sensitivity -_morphine = ((_target getVariable [QGVAR(morphine), 0]) + MORPHINEHEAL) min 1; -_target setVariable [QGVAR(morphine), _morphine, true]; -_pain = ((_target getVariable [QGVAR(pain), 0]) - MORPHINEHEAL) max 0; -_target setVariable [QGVAR(pain), _pain, true]; - -// @todo overdose +[[_target], QUOTE(DFUNC(treatmentBasic_morphineLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ diff --git a/addons/medical/functions/fnc_treatmentBasic_morphineLocal.sqf b/addons/medical/functions/fnc_treatmentBasic_morphineLocal.sqf new file mode 100644 index 0000000000..9dddf743e2 --- /dev/null +++ b/addons/medical/functions/fnc_treatmentBasic_morphineLocal.sqf @@ -0,0 +1,27 @@ +/* + * Author: KoffeinFlummi + * Local callback when the morphine treatment is complete + * + * Arguments: + * 0: The medic + * 1: The patient + * + * Return Value: + * nil + * + * Public: No + */ + +#include "script_component.hpp" +#define MORPHINEHEAL 0.4 + +private ["_target", "_morphine", "_pain"]; +_target = _this select 0; + +// reduce pain, pain sensitivity +_morphine = ((_target getVariable [QGVAR(morphine), 0]) + MORPHINEHEAL) min 1; +_target setVariable [QGVAR(morphine), _morphine, true]; +_pain = ((_target getVariable [QGVAR(pain), 0]) - MORPHINEHEAL) max 0; +_target setVariable [QGVAR(pain), _pain, true]; + +// @todo overdose From ebbb88deffa078b057a1e62413f4a1c7c8053e81 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 28 Apr 2015 20:32:29 +0200 Subject: [PATCH 083/478] Join in progress players will now be initialized --- addons/medical/XEH_postInit.sqf | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 526990709b..1819178432 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -266,6 +266,10 @@ if (USE_WOUND_EVENT_SYNC) then { [ACE_player] call FUNC(itemCheck); }] call EFUNC(common,addEventHandler); - // Networked litter [QGVAR(createLitter), FUNC(handleCreateLitter), GVAR(litterCleanUpDelay)] call EFUNC(common,addSyncedEventHandler); + +["PlayerJip", { + diag_log format["[ACE] JIP Medical init for player"]; + [player] call FUNC(init); +}] call FUNC(addEventHandler); From c06caa72092b41185646e83964e3523536b03d54 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 28 Apr 2015 20:33:01 +0200 Subject: [PATCH 084/478] Only add JIP event for player clients --- addons/medical/XEH_postInit.sqf | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 1819178432..a3eb468442 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -269,7 +269,9 @@ if (USE_WOUND_EVENT_SYNC) then { // Networked litter [QGVAR(createLitter), FUNC(handleCreateLitter), GVAR(litterCleanUpDelay)] call EFUNC(common,addSyncedEventHandler); -["PlayerJip", { - diag_log format["[ACE] JIP Medical init for player"]; - [player] call FUNC(init); -}] call FUNC(addEventHandler); +if (hasInterface) then { + ["PlayerJip", { + diag_log format["[ACE] JIP Medical init for player"]; + [player] call FUNC(init); + }] call FUNC(addEventHandler); +}; From f606c248540bc03f12d28bb6306ef440fc13e625 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 28 Apr 2015 20:47:11 +0200 Subject: [PATCH 085/478] fixes #901 --- .../medical/functions/fnc_actionDiagnose.sqf | 8 ++++++-- .../fnc_displayPatientInformation.sqf | 2 +- .../medical/functions/fnc_handleUnitVitals.sqf | 18 ++++++++++++------ addons/medical/functions/fnc_init.sqf | 2 +- .../fnc_treatmentAdvanced_fullHealLocal.sqf | 2 +- addons/medical/stringtable.xml | 3 +++ 6 files changed, 24 insertions(+), 11 deletions(-) diff --git a/addons/medical/functions/fnc_actionDiagnose.sqf b/addons/medical/functions/fnc_actionDiagnose.sqf index 234cc6d303..886fa4752b 100644 --- a/addons/medical/functions/fnc_actionDiagnose.sqf +++ b/addons/medical/functions/fnc_actionDiagnose.sqf @@ -26,8 +26,12 @@ if (alive _target) then { } else { _genericMessages pushback "STR_ACE_MEDICAL_diagnoseDead"; }; -if (_target getvariable[QGVAR(hasLostBlood), false]) then { - _genericMessages pushback "STR_ACE_MEDICAL_lostBlood"; +if (_target getvariable[QGVAR(hasLostBlood), 0] > 0) then { + if (_target getvariable[QGVAR(hasLostBlood), 0] > 1) then { + _genericMessages pushback "STR_ACE_MEDICAL_lostBloodALot"; + } else { + _genericMessages pushback "STR_ACE_MEDICAL_lostBlood"; + }; } else { _genericMessages pushback "STR_ACE_MEDICAL_noBloodloss"; }; diff --git a/addons/medical/functions/fnc_displayPatientInformation.sqf b/addons/medical/functions/fnc_displayPatientInformation.sqf index 1fc1051efa..a62bfcacbc 100644 --- a/addons/medical/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical/functions/fnc_displayPatientInformation.sqf @@ -57,7 +57,7 @@ if (_show) then { if (_target getvariable[QGVAR(isBleeding), false]) then { _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_BLEEDING", [1, 0.1, 0.1, 1]]; }; - if (_target getvariable[QGVAR(hasLostBlood), false]) then { + if (_target getvariable[QGVAR(hasLostBlood), 0] > 1) then { _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_LOST_BLOOD", [1, 0.1, 0.1, 1]]; }; diff --git a/addons/medical/functions/fnc_handleUnitVitals.sqf b/addons/medical/functions/fnc_handleUnitVitals.sqf index b806d1358f..e04b35955e 100644 --- a/addons/medical/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical/functions/fnc_handleUnitVitals.sqf @@ -33,13 +33,19 @@ _bloodVolume = _bloodVolume max 0; _unit setvariable [QGVAR(bloodVolume), _bloodVolume, _syncValues]; // Set variables for synchronizing information across the net -if (_bloodVolume < 90) then { - if !(_unit getvariable [QGVAR(hasLostBlood), false]) then { - _unit setvariable [QGVAR(hasLostBlood), true, true]; - }; +if (_bloodVolume < 100) then { + if ((_bloodVolume < 90 && (GVAR(level) == 2)) || _bloodVolume <= 30) then { + if (_unit getvariable [QGVAR(hasLostBlood), 0] != 2) then { + _unit setvariable [QGVAR(hasLostBlood), 2, true]; + }; + } else { + if (_unit getvariable [QGVAR(hasLostBlood), 0] != 1) then { + _unit setvariable [QGVAR(hasLostBlood), 1, true]; + }; + } } else { - if (_unit getvariable [QGVAR(hasLostBlood),false]) then { - _unit setvariable [QGVAR(hasLostBlood), false, true]; + if (_unit getvariable [QGVAR(hasLostBlood), 0] != 0) then { + _unit setvariable [QGVAR(hasLostBlood), 0, true]; }; }; diff --git a/addons/medical/functions/fnc_init.sqf b/addons/medical/functions/fnc_init.sqf index d01a63b3a5..80e8d9ba19 100644 --- a/addons/medical/functions/fnc_init.sqf +++ b/addons/medical/functions/fnc_init.sqf @@ -60,7 +60,7 @@ _unit setvariable [QGVAR(airwayCollapsed), false]; _unit setvariable [QGVAR(addedToUnitLoop), false, true]; _unit setvariable [QGVAR(inCardiacArrest), false, true]; _unit setVariable ["ACE_isUnconscious", false, true]; -_unit setvariable [QGVAR(hasLostBlood), false, true]; +_unit setvariable [QGVAR(hasLostBlood), 0, true]; _unit setvariable [QGVAR(isBleeding), false, true]; _unit setvariable [QGVAR(hasPain), false, true]; _unit setvariable [QGVAR(amountOfReviveLives), GVAR(amountOfReviveLives), true]; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_fullHealLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_fullHealLocal.sqf index 77f6d7f44c..e385c5f7c0 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_fullHealLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_fullHealLocal.sqf @@ -55,7 +55,7 @@ if (alive _target) exitwith { _target setvariable [QGVAR(inCardiacArrest), false, true]; _target setvariable [QGVAR(inReviveState), false, true]; _target setVariable ["ACE_isUnconscious", false, true]; - _target setvariable [QGVAR(hasLostBlood), false, true]; + _target setvariable [QGVAR(hasLostBlood), 0, true]; _target setvariable [QGVAR(isBleeding), false, true]; _target setvariable [QGVAR(hasPain), false, true]; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 52baf9bbe3..7d3c2a6db4 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1497,6 +1497,9 @@ Il à perdu du sang Stracił trochę krwi + + He's lost a lot of blood + He hasn't lost blood Нет кровопотери From 956b5e355898039e3365796c83b8ff0a8037dd4f Mon Sep 17 00:00:00 2001 From: Dimaslg Date: Tue, 28 Apr 2015 21:01:48 +0200 Subject: [PATCH 086/478] Spanish Translation Minor fixes and some things at the Medical system translated. --- addons/laserpointer/stringtable.xml | 2 +- addons/medical/stringtable.xml | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index d63767d982..6ef8be6a57 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -43,7 +43,7 @@ <t color='#9cf953'>Użyj: </t>wł./wył. laser <t color='#9cf953'>Uso: </t>Ativar/Desativar laser <t color='#9cf953'>Использовать: </t>ВКЛ/ВЫКЛ лазер - <t color='#9cf953'>Usar: </t>Encender/Apagar Láser + <t color='#9cf953'>Usar: </t>Encender/Apagar láser <t color='#9cf953'>Használat: </t>Lézer BE/KI kapcsolása diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index cbd6c98ed8..a96f2bb887 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1324,24 +1324,31 @@ Patient %1<br/>is %2.<br/>%3.<br/>%4 + El paciente %1<br/>está %2.<br/>%3.<br/>%4 alive + vivo dead + muerto He's lost some blood + Ha perdido algo de sangre He hasn't lost blood + No ha perdido sangre He is in pain + Tiene dolor He is not in pain + No tiene dolor Bandaged From 1512e4c367ceb1f214d8d7473fd0d291522b81ef Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 28 Apr 2015 14:09:26 -0500 Subject: [PATCH 087/478] isClientSettable spelling --- addons/interact_menu/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index ad58d8433e..36172d734f 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -28,7 +28,7 @@ class ACE_Settings { class GVAR(cursorKeepCentered) { value = 0; typeName = "BOOL"; - isClientSetable = 1; + isClientSettable = 1; displayName = "$STR_ACE_Interact_cursorKeepCentered"; description = "$STR_ACE_Interact_cursorKeepCenteredDescription"; }; From a854b90b00b5854e0604d7cb639cb572acb76bea Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 28 Apr 2015 22:19:30 +0200 Subject: [PATCH 088/478] Increased level at which a lot of blood message gets shown in basic medical --- addons/medical/functions/fnc_handleUnitVitals.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_handleUnitVitals.sqf b/addons/medical/functions/fnc_handleUnitVitals.sqf index e04b35955e..0e01ef654c 100644 --- a/addons/medical/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical/functions/fnc_handleUnitVitals.sqf @@ -34,7 +34,7 @@ _unit setvariable [QGVAR(bloodVolume), _bloodVolume, _syncValues]; // Set variables for synchronizing information across the net if (_bloodVolume < 100) then { - if ((_bloodVolume < 90 && (GVAR(level) == 2)) || _bloodVolume <= 30) then { + if ((_bloodVolume < 90 && (GVAR(level) == 2)) || _bloodVolume <= 45) then { if (_unit getvariable [QGVAR(hasLostBlood), 0] != 2) then { _unit setvariable [QGVAR(hasLostBlood), 2, true]; }; From 414a50fb9b9376dc671706dbfe58190c62bf4ca4 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 28 Apr 2015 15:40:36 -0500 Subject: [PATCH 089/478] Fix Dragging StanceChange Anim --- addons/dragging/CfgMovesBasic.hpp | 8 ++++++++ addons/dragging/config.cpp | 1 + 2 files changed, 9 insertions(+) create mode 100644 addons/dragging/CfgMovesBasic.hpp diff --git a/addons/dragging/CfgMovesBasic.hpp b/addons/dragging/CfgMovesBasic.hpp new file mode 100644 index 0000000000..de15271416 --- /dev/null +++ b/addons/dragging/CfgMovesBasic.hpp @@ -0,0 +1,8 @@ +class CfgMovesBasic { + class Actions { + class MoveWithInjuredManDragger; + class MoveWithInjuredManDraggerRfl: MoveWithInjuredManDragger { + Up = "amovpercmstpsraswrfldnon"; + }; + }; +}; diff --git a/addons/dragging/config.cpp b/addons/dragging/config.cpp index c58aab607e..cc843d4a68 100644 --- a/addons/dragging/config.cpp +++ b/addons/dragging/config.cpp @@ -14,3 +14,4 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" +#include "CfgMovesBasic.hpp" From a80e11d025913233efc852399b9e7d953a873510 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 29 Apr 2015 01:33:26 +0200 Subject: [PATCH 090/478] Fixed some 7.62 tracer magazines: *Made use of the ACE_20Rnd_762x51_Mag_Tracer magazine *Fixed ACE_10Rnd_762x54_Tracer_mag (inheritance, stringtable, tracersEvery) --- addons/ballistics/CfgMagazines.hpp | 3 ++- addons/ballistics/CfgVehicles.hpp | 4 ++++ addons/ballistics/CfgWeapons.hpp | 3 +++ addons/ballistics/stringtable.xml | 32 +++++++++++++++--------------- 4 files changed, 25 insertions(+), 17 deletions(-) diff --git a/addons/ballistics/CfgMagazines.hpp b/addons/ballistics/CfgMagazines.hpp index 9ead13c962..32121e4e87 100644 --- a/addons/ballistics/CfgMagazines.hpp +++ b/addons/ballistics/CfgMagazines.hpp @@ -322,13 +322,14 @@ class CfgMagazines { class 10Rnd_762x54_Mag: 10Rnd_762x51_Mag { initSpeed = 800; }; - class ACE_10Rnd_762x54_Tracer_mag: 16Rnd_9x21_Mag { + class ACE_10Rnd_762x54_Tracer_mag: 10Rnd_762x54_Mag { author = "$STR_ACE_Common_ACETeam"; ammo = "ACE_762x54_Ball_7T2"; displayName = "$STR_ACE_10Rnd_762x54_Tracer_mag_Name"; displayNameShort = "$STR_ACE_10Rnd_762x54_Tracer_mag_NameShort"; descriptionShort = "$STR_ACE_10Rnd_762x54_Tracer_mag_Description"; initSpeed = 800; + tracersEvery = 1; }; class 150Rnd_762x54_Box: 150Rnd_762x51_Box { diff --git a/addons/ballistics/CfgVehicles.hpp b/addons/ballistics/CfgVehicles.hpp index c43782d024..82e7fef5e3 100644 --- a/addons/ballistics/CfgVehicles.hpp +++ b/addons/ballistics/CfgVehicles.hpp @@ -42,6 +42,7 @@ class CfgVehicles { MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk316_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_10Rnd_338_300gr_HPBT_Mag,4); MACRO_ADDMAGAZINE(ACE_10Rnd_338_API526_Mag,4); @@ -59,6 +60,7 @@ class CfgVehicles { MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk316_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,3); MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M993_AP_Mag,4); @@ -82,6 +84,7 @@ class CfgVehicles { MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk316_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); }; }; @@ -200,6 +203,7 @@ class CfgVehicles { MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk316_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_Mk319_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mk319_Mod_0_Mag,4); + MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Mk248_Mod_0_Mag,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Mk248_Mod_1_Mag,4); diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 7e647d2605..0f9dbcfbe4 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -509,6 +509,7 @@ class CfgWeapons { class srifle_EBR_F: EBR_base_F { magazines[] = { "20Rnd_762x51_Mag", + "ACE_20Rnd_762x51_Mag_Tracer", "ACE_20Rnd_762x51_Mag_Tracer_Dim", "ACE_20Rnd_762x51_Mk316_Mod_0_Mag", "ACE_20Rnd_762x51_M118LR_Mag", @@ -560,6 +561,7 @@ class CfgWeapons { class srifle_DMR_03_F: DMR_03_base_F { magazines[] = { "20Rnd_762x51_Mag", + "ACE_20Rnd_762x51_Mag_Tracer", "ACE_20Rnd_762x51_Mag_Tracer_Dim", "ACE_20Rnd_762x51_Mk316_Mod_0_Mag", "ACE_20Rnd_762x51_M118LR_Mag", @@ -584,6 +586,7 @@ class CfgWeapons { class srifle_DMR_06_camo_F: DMR_06_base_F { magazines[] = { "20Rnd_762x51_Mag", + "ACE_20Rnd_762x51_Mag_Tracer", "ACE_20Rnd_762x51_Mag_Tracer_Dim", "ACE_20Rnd_762x51_Mk316_Mod_0_Mag", "ACE_20Rnd_762x51_M118LR_Mag", diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index f885a79691..dc9df9db34 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -617,28 +617,28 @@ 9x19mm 30-Patronen-Magazin - 7.62x54mm 10Rnd Tracer IR-DIM Mag - Magazynek 7,62x54mm 10rd Smugacz IR-DIM - Chargeur 7.62x54mm 10Rnd Traçante IR-DIM - Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm + 7.62x54mm 10Rnd Tracer Mag + Magazynek 7,62x54mm 10rd Smugacz + Chargeur 7.62x54mm 10Rnd Traçante + Cargador de 10 balas trazadoras de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих - 7,62x54mm 10-Patronen-Magazin IR-DIM Leuchtspur + 7,62x54mm 10-Patronen-Magazin Leuchtspur - 7.62mm IR-DIM - 7,62mm IR-DIM - 7.62mm IR-DIM - 7.62mm IR-DIM - 7,62 мм ИК-трассирующие - 7,62x54mm IR-DIM + 7.62mm + 7,62mm + 7.62mm + 7.62mm + 7,62 мм + 7,62x54mm - 7.62x54mm 10Rnd Tracer IR-DIM Mag - Magazynek 7,62x54mm 10rd Smugacz IR-DIM - Chargeur 7.62x54mm 10Cps Traçante IR-DIM - Cargador de 10 balas trazadoras IR-DIM de 7.62x54mm + 7.62x54mm 10Rnd Tracer Mag + Magazynek 7,62x54mm 10rd Smugacz + Chargeur 7.62x54mm 10Cps Traçante + Cargador de 10 balas trazadoras de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих - 7,62x54mm 10-Patronen-Magazin IR-DIM Leuchtspur + 7,62x54mm 10-Patronen-Magazin Leuchtspur 6.5mm 100Rnd Tracer IR-DIM Mag From 3eb2bdfc8467aa7432312466a1bfb4bac9a52924 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 28 Apr 2015 21:17:29 -0500 Subject: [PATCH 091/478] Display Name Progress Text --- addons/medical/ACE_Medical_Treatments.hpp | 8 +++++--- addons/medical/stringtable.xml | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index 85bcab9616..fced8c93bf 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -196,7 +196,7 @@ class ACE_Medical_Actions { }; class SurgicalKit: fieldDressing { displayName = ""; - displayNameProgress = ""; + displayNameProgress = "$STR_ACE_Medical_TreatmentAction"; items[] = {"ACE_surgicalKit"}; treatmentLocations[] = {QGVAR(useLocation_SurgicalKit)}; requiredMedic = QGVAR(medicSetting_SurgicalKit); @@ -208,7 +208,7 @@ class ACE_Medical_Actions { }; class PersonalAidKit: fieldDressing { displayName = ""; - displayNameProgress = ""; + displayNameProgress = "$STR_ACE_Medical_TreatmentAction"; items[] = {"ACE_personalAidKit"}; treatmentLocations[] = {QGVAR(useLocation_PAK)}; requiredMedic = QGVAR(medicSetting_PAK); @@ -225,7 +225,7 @@ class ACE_Medical_Actions { }; class CheckPulse: fieldDressing { displayName = ""; - displayNameProgress = ""; + displayNameProgress = "$STR_ACE_MEDICAL_CHECK_PULSE_CONTENT"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 2; @@ -240,9 +240,11 @@ class ACE_Medical_Actions { }; class CheckBloodPressure: CheckPulse { callbackSuccess = QUOTE(DFUNC(actionCheckBloodPressure)); + displayNameProgress = "$STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_CONTENT"; }; class CheckResponse: CheckPulse { callbackSuccess = QUOTE(DFUNC(actionCheckResponse)); + displayNameProgress = "$STR_ACE_MEDICAL_CHECK_RESPONSE_CONTENT"; }; class RemoveTourniquet: CheckPulse { treatmentTime = 2.5; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 7d3c2a6db4..dda25fd5ad 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -2080,5 +2080,8 @@ Zkłamana kość udowa Femur Cassé + + Treating... + \ No newline at end of file From 409851dd8ce9faeb352d7f88f6fdc2762e90ea3a Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 28 Apr 2015 23:57:11 -0500 Subject: [PATCH 092/478] Attach the real explosive --- addons/explosives/functions/fnc_onLanded.sqf | 9 ++++++++- .../explosives/functions/fnc_placeExplosive.sqf | 15 ++++++++++++--- addons/explosives/functions/fnc_startTimer.sqf | 1 + addons/explosives/functions/fnc_triggerType.sqf | 5 ++++- addons/explosives/script_component.hpp | 2 ++ 5 files changed, 27 insertions(+), 5 deletions(-) diff --git a/addons/explosives/functions/fnc_onLanded.sqf b/addons/explosives/functions/fnc_onLanded.sqf index 59487e651c..f2ed729b1a 100644 --- a/addons/explosives/functions/fnc_onLanded.sqf +++ b/addons/explosives/functions/fnc_onLanded.sqf @@ -1,7 +1,10 @@ /* * Author: Garth 'L-H' de Wet + * Handles the "EpeContactStart" event when placing the explosive. * * Arguments: + * 0: Explosive Placing Object + * 1: Colliding Object * * Return Value: * None @@ -14,19 +17,23 @@ #include "script_component.hpp" EXPLODE_2_PVT(_this,_explosive,_hitTarget); +TRACE_2("Explosive EpeContactStart",_explosive,_hitTarget); + if ((_explosive getVariable [QGVAR(Handled), false])) exitWith {}; _explosive setVariable [QGVAR(Handled), true]; if (!isNull _hitTarget && {_hitTarget isKindOf "AllVehicles"}) then { + TRACE_1("Attaching to",_hitTarget); _explosive attachTo [_hitTarget]; private "_dir"; - _dir = _setup getVariable [QGVAR(Direction), 0]; + _dir = _explosive getVariable [QGVAR(Direction), 0]; _dir = _dir - (getDir _hitTarget); [[_explosive, _dir, 0], QFUNC(setPosition)] call EFUNC(common,execRemoteFnc); } else { [{ EXPLODE_2_PVT(_this,_player,_explosive); private "_pos"; + _pos = getPosASL _explosive; if (surfaceIsWater _pos) then { _pos = getPosASL _explosive; _explosive setPosASL _pos; diff --git a/addons/explosives/functions/fnc_placeExplosive.sqf b/addons/explosives/functions/fnc_placeExplosive.sqf index 228e8eef23..4bed019d47 100644 --- a/addons/explosives/functions/fnc_placeExplosive.sqf +++ b/addons/explosives/functions/fnc_placeExplosive.sqf @@ -21,10 +21,14 @@ * Public: Yes */ #include "script_component.hpp" -private ["_ammo", "_explosive"]; +private ["_ammo", "_explosive", "_attachedTo", "_expPos", "_magazineTrigger"]; EXPLODE_6_PVT(_this,_unit,_pos,_dir,_magazineClass,_triggerConfig,_triggerSpecificVars); -if (count _this > 6) then { - deleteVehicle (_this select 6); +DEFAULT_PARAM(6,_setupPlaceholderObject,objNull); + +_attachedTo = objNull; +if (!isNull _setupPlaceholderObject) then { + _attachedTo = attachedTo _setupPlaceholderObject; + deleteVehicle _setupPlaceholderObject; }; if (isNil "_triggerConfig") exitWith { @@ -57,6 +61,11 @@ _expPos = getPosATL _explosive; _defuseHelper setPosATL (((getPosATL _defuseHelper) vectorAdd (_pos vectorDiff _expPos))); _explosive setPosATL _pos; +if (!isNull _attachedTo) then { + TRACE_1("Attaching Live Explosive",_attachedTo); + _explosive attachTo [_attachedTo]; +}; + if (isText(_triggerConfig >> "onPlace") && {[_unit,_explosive,_magazineClass,_triggerSpecificVars] call compile (getText (_triggerConfig >> "onPlace"))}) exitWith {_explosive}; [[_explosive, _dir, getNumber (_magazineTrigger >> "pitch")], QFUNC(setPosition)] call EFUNC(common,execRemoteFnc); diff --git a/addons/explosives/functions/fnc_startTimer.sqf b/addons/explosives/functions/fnc_startTimer.sqf index 13da62ec29..9d2ca0aee4 100644 --- a/addons/explosives/functions/fnc_startTimer.sqf +++ b/addons/explosives/functions/fnc_startTimer.sqf @@ -19,6 +19,7 @@ EXPLODE_2_PVT(_this,_explosive,_delay); [{ + private ["_explosive"]; _explosive = _this; if (!isNull _explosive) then { [_explosive, -1, [_explosive, 0]] call FUNC(detonateExplosive); diff --git a/addons/explosives/functions/fnc_triggerType.sqf b/addons/explosives/functions/fnc_triggerType.sqf index fc6a0b90c1..f9d8790a56 100644 --- a/addons/explosives/functions/fnc_triggerType.sqf +++ b/addons/explosives/functions/fnc_triggerType.sqf @@ -14,7 +14,10 @@ * Public: Yes */ #include "script_component.hpp" -private "_result"; + +private["_result", "_config", "_count", "_index", "_supports"]; +// IGNORE_PRIVATE_WARNING(_supports); + _result = []; _config = getArray (ConfigFile >> "CfgMagazines" >> (_this select 0) >> "ACE_Triggers" >> "SupportedTriggers"); _count = count _config; diff --git a/addons/explosives/script_component.hpp b/addons/explosives/script_component.hpp index 60c7e88d06..5ff12b8ba3 100644 --- a/addons/explosives/script_component.hpp +++ b/addons/explosives/script_component.hpp @@ -1,6 +1,8 @@ #define COMPONENT explosives #include "\z\ace\addons\main\script_mod.hpp" +// #define DEBUG_MODE_FULL + #ifdef DEBUG_ENABLED_EXPLOSIVES #define DEBUG_MODE_FULL #endif From e56838be36be55723dae18375b6e0abc79d031c4 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 29 Apr 2015 00:05:02 -0500 Subject: [PATCH 093/478] Private Variables --- addons/explosives/XEH_postInit.sqf | 2 +- addons/explosives/functions/fnc_addCellphoneIED.sqf | 6 +++++- addons/explosives/functions/fnc_addClacker.sqf | 2 +- .../explosives/functions/fnc_addDetonateActions.sqf | 2 +- .../explosives/functions/fnc_addExplosiveActions.sqf | 2 +- .../functions/fnc_addTransmitterActions.sqf | 2 +- addons/explosives/functions/fnc_addTriggerActions.sqf | 3 +-- addons/explosives/functions/fnc_canDefuse.sqf | 2 +- addons/explosives/functions/fnc_detonateExplosive.sqf | 11 ++++++----- addons/explosives/functions/fnc_dialPhone.sqf | 2 +- addons/explosives/functions/fnc_getDetonators.sqf | 2 ++ .../explosives/functions/fnc_getPlacedExplosives.sqf | 2 ++ addons/explosives/functions/fnc_hasExplosives.sqf | 2 ++ .../explosives/functions/fnc_hasPlacedExplosives.sqf | 2 ++ addons/explosives/functions/fnc_module.sqf | 3 +++ addons/explosives/functions/fnc_place_Approve.sqf | 2 +- addons/explosives/functions/fnc_setupExplosive.sqf | 2 +- addons/explosives/functions/fnc_startDefuse.sqf | 5 ++++- 18 files changed, 36 insertions(+), 18 deletions(-) diff --git a/addons/explosives/XEH_postInit.sqf b/addons/explosives/XEH_postInit.sqf index a4a55f8609..998f73ccaf 100644 --- a/addons/explosives/XEH_postInit.sqf +++ b/addons/explosives/XEH_postInit.sqf @@ -37,7 +37,7 @@ player addEventHandler ["Killed", { } count _deadman; }]; player addEventHandler ["Take", { - private ["_item", "_getter", "_giver", "_config"]; + private ["_item", "_getter", "_giver", "_config", "_detonators"]; _item = _this select 2; _getter = _this select 0; _giver = _this select 1; diff --git a/addons/explosives/functions/fnc_addCellphoneIED.sqf b/addons/explosives/functions/fnc_addCellphoneIED.sqf index 3be21df559..953476861b 100644 --- a/addons/explosives/functions/fnc_addCellphoneIED.sqf +++ b/addons/explosives/functions/fnc_addCellphoneIED.sqf @@ -17,7 +17,11 @@ * Public: No */ #include "script_component.hpp" + EXPLODE_4_PVT(_this,_unit,_explosive,_magazineClass,_extra); + +private["_config", "_detonators", "_hasRequired", "_requiredItems", "_code", "_count", "_codeSet"]; + // Config is the last item in the list of passed in items. _config = (_this select 3) select (count (_this select 3) - 1); @@ -29,7 +33,7 @@ _detonators = [_unit] call FUNC(getDetonators); _hasRequired = false; }; } count _requiredItems; -private ["_code", "_count", "_codeSet"]; + _codeSet = false; while {!_codeSet} do { _code = str(round (random 9999)); diff --git a/addons/explosives/functions/fnc_addClacker.sqf b/addons/explosives/functions/fnc_addClacker.sqf index 7e3529f931..b25c1e1bcd 100644 --- a/addons/explosives/functions/fnc_addClacker.sqf +++ b/addons/explosives/functions/fnc_addClacker.sqf @@ -17,7 +17,7 @@ * Public: Yes */ #include "script_component.hpp" -private ["_clacker", "_config", "_requiredItems", "_hasRequired"]; +private ["_clacker", "_config", "_requiredItems", "_hasRequired", "_detonators"]; EXPLODE_3_PVT(_this,_unit,_explosive,_magazineClass); // Config is the last item in the list of passed in items. _config = (_this select 3) select (count (_this select 3) - 1); diff --git a/addons/explosives/functions/fnc_addDetonateActions.sqf b/addons/explosives/functions/fnc_addDetonateActions.sqf index 5081040233..5c94649608 100644 --- a/addons/explosives/functions/fnc_addDetonateActions.sqf +++ b/addons/explosives/functions/fnc_addDetonateActions.sqf @@ -15,7 +15,7 @@ * Public: No */ #include "script_component.hpp" -private ["_result", "_item", "_children"]; +private ["_result", "_item", "_children", "_range", "_required"]; EXPLODE_2_PVT(_this,_unit,_detonator); _range = GetNumber (ConfigFile >> "CfgWeapons" >> _detonator >> "ACE_Range"); diff --git a/addons/explosives/functions/fnc_addExplosiveActions.sqf b/addons/explosives/functions/fnc_addExplosiveActions.sqf index 29a2eed608..214b41602c 100644 --- a/addons/explosives/functions/fnc_addExplosiveActions.sqf +++ b/addons/explosives/functions/fnc_addExplosiveActions.sqf @@ -11,7 +11,7 @@ * Public: No */ #include "script_component.hpp" -private ["_mags", "_item", "_index", "_children"]; +private ["_mags", "_item", "_index", "_children", "_itemCount", "_list"]; EXPLODE_1_PVT(_this,_unit); diff --git a/addons/explosives/functions/fnc_addTransmitterActions.sqf b/addons/explosives/functions/fnc_addTransmitterActions.sqf index 6408eb2ec7..abaa57decc 100644 --- a/addons/explosives/functions/fnc_addTransmitterActions.sqf +++ b/addons/explosives/functions/fnc_addTransmitterActions.sqf @@ -14,7 +14,7 @@ * Public: No */ #include "script_component.hpp" -private ["_items", "_unit", "_children", "_config"]; +private ["_unit", "_children", "_config", "_detonators"]; _unit = _this select 0; _detonators = [_unit] call FUNC(getDetonators); _children = []; diff --git a/addons/explosives/functions/fnc_addTriggerActions.sqf b/addons/explosives/functions/fnc_addTriggerActions.sqf index e9c2dca0e6..6f4ece163c 100644 --- a/addons/explosives/functions/fnc_addTriggerActions.sqf +++ b/addons/explosives/functions/fnc_addTriggerActions.sqf @@ -15,8 +15,7 @@ * Public: No */ #include "script_component.hpp" -private ["_hasRequiredItems","_triggerTypes", "_children", - "_detonators", "_required", "_magTriggers"]; +private ["_hasRequiredItems","_triggerTypes", "_children", "_detonators", "_required", "_magTriggers"]; EXPLODE_2_PVT(_this,_magazine,_explosive); _detonators = [ACE_player] call FUNC(getDetonators); diff --git a/addons/explosives/functions/fnc_canDefuse.sqf b/addons/explosives/functions/fnc_canDefuse.sqf index cd04564a9f..ef4bd10a83 100644 --- a/addons/explosives/functions/fnc_canDefuse.sqf +++ b/addons/explosives/functions/fnc_canDefuse.sqf @@ -14,7 +14,7 @@ * Public: Yes */ #include "script_component.hpp" -private ["_specialist"]; +private ["_isSpecialist"]; EXPLODE_2_PVT(_this,_unit,_target); if (isNull(_target getVariable [QGVAR(Explosive),objNull])) exitWith { deleteVehicle _target; diff --git a/addons/explosives/functions/fnc_detonateExplosive.sqf b/addons/explosives/functions/fnc_detonateExplosive.sqf index f05a265c3a..e4dfc2f7fc 100644 --- a/addons/explosives/functions/fnc_detonateExplosive.sqf +++ b/addons/explosives/functions/fnc_detonateExplosive.sqf @@ -19,7 +19,7 @@ * Public: Yes */ #include "script_component.hpp" -private ["_result", "_ignoreRange", "_helper"]; +private ["_result", "_ignoreRange", "_helper", "_pos"]; EXPLODE_3_PVT(_this,_unit,_range,_item); _ignoreRange = (_range == -1); _result = true; @@ -46,10 +46,11 @@ if (getNumber (ConfigFile >> "CfgAmmo" >> typeof (_item select 0) >> "TriggerWhe }; }; [{ - _explosive = _this; - if (!isNull _explosive) then { - _explosive setDamage 1; - }; + private ["_explosive"]; + _explosive = _this; + if (!isNull _explosive) then { + _explosive setDamage 1; + }; }, _item select 0, _item select 1, 0] call EFUNC(common,waitAndExecute); _result diff --git a/addons/explosives/functions/fnc_dialPhone.sqf b/addons/explosives/functions/fnc_dialPhone.sqf index f00fa8a970..aa163b027f 100644 --- a/addons/explosives/functions/fnc_dialPhone.sqf +++ b/addons/explosives/functions/fnc_dialPhone.sqf @@ -15,7 +15,7 @@ * Public: Yes */ #include "script_component.hpp" -private ["_arr", "_ran", "_i","_speedDial"]; +private ["_arr", "_ran", "_i"]; EXPLODE_2_PVT(_this,_unit,_code); if (_unit getVariable [QGVAR(Dialing),false]) exitWith {}; if !(alive _unit) exitWith {}; diff --git a/addons/explosives/functions/fnc_getDetonators.sqf b/addons/explosives/functions/fnc_getDetonators.sqf index 26bde9b190..9df13c266a 100644 --- a/addons/explosives/functions/fnc_getDetonators.sqf +++ b/addons/explosives/functions/fnc_getDetonators.sqf @@ -14,6 +14,8 @@ * Public: Yes */ #include "script_component.hpp" +// IGNORE_PRIVATE_WARNING(_detonators); + private ["_unit", "_items", "_result", "_config"]; _unit = _this select 0; _items = (items _unit); diff --git a/addons/explosives/functions/fnc_getPlacedExplosives.sqf b/addons/explosives/functions/fnc_getPlacedExplosives.sqf index 1164972047..0c2080923a 100644 --- a/addons/explosives/functions/fnc_getPlacedExplosives.sqf +++ b/addons/explosives/functions/fnc_getPlacedExplosives.sqf @@ -16,6 +16,8 @@ * Public: Yes */ #include "script_component.hpp" +// IGNORE_PRIVATE_WARNING(_allExplosives,_deadmanExplosives); + private ["_unit", "_clackerList", "_adjustedList", "_list", "_filter"]; _unit = _this select 0; _filter = nil; diff --git a/addons/explosives/functions/fnc_hasExplosives.sqf b/addons/explosives/functions/fnc_hasExplosives.sqf index 794cebc57d..bd790bd12f 100644 --- a/addons/explosives/functions/fnc_hasExplosives.sqf +++ b/addons/explosives/functions/fnc_hasExplosives.sqf @@ -14,6 +14,8 @@ * Public: Yes */ #include "script_component.hpp" +// IGNORE_PRIVATE_WARNING(_hasExplosives); + private ["_unit", "_result", "_magazines"]; _result = false; _unit = _this select 0; diff --git a/addons/explosives/functions/fnc_hasPlacedExplosives.sqf b/addons/explosives/functions/fnc_hasPlacedExplosives.sqf index 4a6ccc9de8..174bc07fbc 100644 --- a/addons/explosives/functions/fnc_hasPlacedExplosives.sqf +++ b/addons/explosives/functions/fnc_hasPlacedExplosives.sqf @@ -14,4 +14,6 @@ * Public: Yes */ #include "script_component.hpp" +// IGNORE_PRIVATE_WARNING(_hasPlacedExplosives); + (count (_this call FUNC(getPlacedExplosives)) > 0) diff --git a/addons/explosives/functions/fnc_module.sqf b/addons/explosives/functions/fnc_module.sqf index 3e522e9a70..4080b41bde 100644 --- a/addons/explosives/functions/fnc_module.sqf +++ b/addons/explosives/functions/fnc_module.sqf @@ -15,6 +15,9 @@ */ #include "script_component.hpp" if !(isServer) exitWith {}; + +private["_activated", "_logic"]; + _logic = _this select 0; _activated = _this select 2; diff --git a/addons/explosives/functions/fnc_place_Approve.sqf b/addons/explosives/functions/fnc_place_Approve.sqf index 0082a9bd6a..f133dbb080 100644 --- a/addons/explosives/functions/fnc_place_Approve.sqf +++ b/addons/explosives/functions/fnc_place_Approve.sqf @@ -19,7 +19,7 @@ if (GVAR(pfeh_running)) then { [QGVAR(Placement),"OnEachFrame"] call CALLSTACK(BIS_fnc_removeStackedEventHandler); GVAR(pfeh_running) = false; }; -private ["_mag", "_setup", "_player"]; +private ["_setup", "_player", "_dir"]; _setup = GVAR(Setup); GVAR(Setup) = objNull; [GVAR(placer), "ACE_Explosives", false] call EFUNC(Common,setForceWalkStatus); diff --git a/addons/explosives/functions/fnc_setupExplosive.sqf b/addons/explosives/functions/fnc_setupExplosive.sqf index ea3a086274..a0aad3d1ab 100644 --- a/addons/explosives/functions/fnc_setupExplosive.sqf +++ b/addons/explosives/functions/fnc_setupExplosive.sqf @@ -28,7 +28,7 @@ GVAR(Setup) setVariable [QGVAR(class), _class, true]; GVAR(TweakedAngle) = 180; [QGVAR(Placement),"OnEachFrame", { - private "_player"; + private ["_player", "_pos"]; _player = ACE_player; if (GVAR(placer) != _player) exitWith { call FUNC(place_Cancel); diff --git a/addons/explosives/functions/fnc_startDefuse.sqf b/addons/explosives/functions/fnc_startDefuse.sqf index 7eacdd33e1..d3631fdb5f 100644 --- a/addons/explosives/functions/fnc_startDefuse.sqf +++ b/addons/explosives/functions/fnc_startDefuse.sqf @@ -16,11 +16,14 @@ */ #include "script_component.hpp" EXPLODE_2_PVT(_this,_unit,_target); + +private["_actionToPlay"]; + _target = attachedTo (_target); _fnc_DefuseTime = { EXPLODE_2_PVT(_this,_specialist,_target); - + private ["_defuseTime"]; _defuseTime = 5; if (isNumber(ConfigFile >> "CfgAmmo" >> typeOf (_target) >> "ACE_DefuseTime")) then { _defuseTime = getNumber(ConfigFile >> "CfgAmmo" >> typeOf (_target) >> "ACE_DefuseTime"); From d7d43ce3b1c922b647f9eaa4cd0fe53f8b2911bb Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 29 Apr 2015 01:26:13 -0500 Subject: [PATCH 094/478] #828 - Private Variables for Interact Menu --- addons/interact_menu/XEH_clientInit.sqf | 2 +- addons/interact_menu/functions/fnc_compileMenu.sqf | 3 +-- addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf | 4 ++-- addons/interact_menu/functions/fnc_createAction.sqf | 1 + addons/interact_menu/functions/fnc_findActionNode.sqf | 2 +- addons/interact_menu/functions/fnc_removeActionFromClass.sqf | 2 +- addons/interact_menu/functions/fnc_render.sqf | 2 +- addons/interact_menu/functions/fnc_renderActionPoints.sqf | 2 +- addons/interact_menu/functions/fnc_renderBaseMenu.sqf | 2 +- addons/interact_menu/functions/fnc_renderIcon.sqf | 2 +- addons/interact_menu/functions/fnc_renderMenu.sqf | 2 +- addons/interact_menu/functions/fnc_renderSelector.sqf | 3 ++- addons/interact_menu/functions/fnc_setupTextColors.sqf | 2 +- addons/interact_menu/functions/fnc_splitPath.sqf | 2 +- addons/interact_menu/script_component.hpp | 2 ++ 15 files changed, 18 insertions(+), 15 deletions(-) diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index faabf773f4..5714b77e16 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -8,7 +8,7 @@ GVAR(ParsedTextCached) = []; //Setup text/shadow color matrix [] call FUNC(setupTextColors); ["SettingChanged", { - PARAMS_2(_name,_value); + PARAMS_1(_name); if ((_name == QGVAR(colorTextMax)) || {_name == QGVAR(colorTextMin)} || {_name == QGVAR(colorShadowMax)} || {_name == QGVAR(colorShadowMin)}) then { [] call FUNC(setupTextColors); }; diff --git a/addons/interact_menu/functions/fnc_compileMenu.sqf b/addons/interact_menu/functions/fnc_compileMenu.sqf index bd2023a90d..f5296ec9cf 100644 --- a/addons/interact_menu/functions/fnc_compileMenu.sqf +++ b/addons/interact_menu/functions/fnc_compileMenu.sqf @@ -26,8 +26,7 @@ if !(isNil {missionNamespace getVariable [_actionsVarName, nil]}) exitWith {}; private "_recurseFnc"; _recurseFnc = { - private ["_actions", "_displayName", "_distance", "_icon", "_statement", "_selection", "_condition", "_showDisabled", - "_enableInside", "_canCollapse", "_runOnHover", "_children", "_entry", "_entryCfg", "_insertChildren", "_modifierFunction"]; + private ["_actions", "_displayName", "_distance", "_icon", "_statement", "_selection", "_condition", "_showDisabled", "_enableInside", "_canCollapse", "_runOnHover", "_children", "_entry", "_entryCfg", "_insertChildren", "_modifierFunction", "_i"]; EXPLODE_1_PVT(_this,_actionsCfg); _actions = []; diff --git a/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf b/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf index 0258b3dc8a..e4c449ce80 100644 --- a/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf +++ b/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf @@ -14,7 +14,7 @@ EXPLODE_1_PVT(_this,_target); -private ["_objectType","_actionsVarName"]; +private ["_objectType","_actionsVarName", "_canCollapse", "_children", "_enableInside", "_entry", "_entryCfg", "_i", "_insertChildren", "_modifierFunction", "_runOnHover"]; _objectType = _target; if (typeName _target == "OBJECT") then { _objectType = typeOf _target; @@ -26,7 +26,7 @@ if !(isNil {missionNamespace getVariable [_actionsVarName, nil]}) exitWith {}; private "_recurseFnc"; _recurseFnc = { - private ["_actions", "_displayName", "_distance", "_icon", "_statement", "_selection", "_condition", "_showDisabled", + private ["_actions", "_displayName", "_icon", "_statement", "_condition", "_showDisabled", "_enableInside", "_canCollapse", "_runOnHover", "_children", "_entry", "_entryCfg", "_insertChildren", "_modifierFunction"]; EXPLODE_1_PVT(_this,_actionsCfg); _actions = []; diff --git a/addons/interact_menu/functions/fnc_createAction.sqf b/addons/interact_menu/functions/fnc_createAction.sqf index fb3f05b7b5..a7d939722e 100644 --- a/addons/interact_menu/functions/fnc_createAction.sqf +++ b/addons/interact_menu/functions/fnc_createAction.sqf @@ -28,6 +28,7 @@ EXPLODE_5_PVT(_this,_actionName,_displayName,_icon,_statement,_condition); +// IGNORE_PRIVATE_WARNING(_target); private ["_insertChildren","_customParams","_position","_distance","_params", "_modifierFunction"]; _insertChildren = if (count _this > 5) then { diff --git a/addons/interact_menu/functions/fnc_findActionNode.sqf b/addons/interact_menu/functions/fnc_findActionNode.sqf index 4027b7a852..b8639754d2 100644 --- a/addons/interact_menu/functions/fnc_findActionNode.sqf +++ b/addons/interact_menu/functions/fnc_findActionNode.sqf @@ -19,7 +19,7 @@ EXPLODE_2_PVT(_this,_actionTreeList,_parentPath); -private ["_parentNode", "_foundParentNode", "_fnc_findFolder"]; +private ["_parentNode", "_foundParentNode", "_fnc_findFolder", "_actionTree"]; // Hack to make this work on the root node too if (count _parentPath == 0) exitWith { diff --git a/addons/interact_menu/functions/fnc_removeActionFromClass.sqf b/addons/interact_menu/functions/fnc_removeActionFromClass.sqf index 898228d6d8..c407273258 100644 --- a/addons/interact_menu/functions/fnc_removeActionFromClass.sqf +++ b/addons/interact_menu/functions/fnc_removeActionFromClass.sqf @@ -19,7 +19,7 @@ EXPLODE_3_PVT(_this,_objectType,_typeNum,_fullPath); -private ["_res","_varName","_actionTrees"]; +private ["_res","_varName","_actionTrees", "_actionIndex", "_parentLevel", "_parentNode"]; _res = _fullPath call FUNC(splitPath); EXPLODE_2_PVT(_res,_parentPath,_actionName); diff --git a/addons/interact_menu/functions/fnc_render.sqf b/addons/interact_menu/functions/fnc_render.sqf index 01a550eb91..06c155ac54 100644 --- a/addons/interact_menu/functions/fnc_render.sqf +++ b/addons/interact_menu/functions/fnc_render.sqf @@ -14,7 +14,7 @@ BEGIN_COUNTER(fnc_render); -private ["_cursorPos1", "_cursorPos2", "_cursorVec", "_p1", "_p2", "_p", "_v", "_cp", "_forEachIndex", "_renderTargets", "_x", "_cursorScreenPos", "_closestDistance", "_closestSelection", "_pos", "_sPos", "_disSq", "_closest", "_cTime", "_delta", "_foundTarget", "_misMatch", "_hoverPath", "_i"]; +private ["_cursorPos1", "_cursorPos2", "_p1", "_p2", "_forEachIndex", "_x", "_cursorScreenPos", "_closestDistance", "_closestSelection", "_sPos", "_disSq", "_closest", "_cTime", "_delta", "_foundTarget", "_misMatch", "_hoverPath", "_i", "_actionData", "_player", "_target"]; _foundTarget = false; _cursorPos1 = positionCameraToWorld [0, 0, 0]; _cursorPos2 = positionCameraToWorld [0, 0, 2]; diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index 78d5418e5a..8e6cb7d390 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -14,7 +14,7 @@ GVAR(currentOptions) = []; -private ["_player","_numInteractObjects","_numInteractions","_actionsVarName","_classActions","_objectActions","_target","_player","_action","_actionData","_active","_cameraPos","_cameraDir"]; +private ["_player","_numInteractObjects","_numInteractions","_actionsVarName","_classActions","_target","_player","_action","_cameraPos","_cameraDir", "_lambda", "_nearestObjects", "_pos"]; _player = ACE_player; _fnc_renderNearbyActions = { diff --git a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf index a5214ddcbe..8df24f9e55 100644 --- a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf @@ -16,7 +16,7 @@ BEGIN_COUNTER(fnc_renderBaseMenu) -private ["_distance","_pos","_weaponDir","_ref","_cameraPos","_sPos","_activeActionTree"]; +private ["_distance","_pos","_weaponDir","_ref","_sPos","_activeActionTree", "_line"]; EXPLODE_2_PVT(_this,_object,_baseActionNode); EXPLODE_1_PVT(_baseActionNode,_actionData); diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index ec56c5a653..642464028d 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -17,7 +17,7 @@ */ #include "script_component.hpp" #define DEFAULT_ICON QUOTE(\z\ace\addons\interaction\ui\dot_ca.paa) -private ["_ctrl", "_pos"]; +private ["_ctrl", "_pos", "_displayNum"]; PARAMS_6(_text,_icon,_sPos,_textColor,_shadowColor,_iconColor); //systemChat format ["Icon %1 - %2,%3", _text, _sPos select 0, _sPos select 1]; diff --git a/addons/interact_menu/functions/fnc_renderMenu.sqf b/addons/interact_menu/functions/fnc_renderMenu.sqf index e80e9d41ab..a050374786 100644 --- a/addons/interact_menu/functions/fnc_renderMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderMenu.sqf @@ -15,7 +15,7 @@ */ #include "script_component.hpp" -private ["_menuInSelectedPath", "_path", "_menuDepth", "_currentRenderDepth", "_x", "_offset", "_newPos", "_forEachIndex"]; +private ["_menuInSelectedPath", "_path", "_menuDepth", "_x", "_offset", "_newPos", "_forEachIndex", "_player", "_pos", "_shadowColor", "_target", "_textColor"]; EXPLODE_4_PVT(_this,_parentPath,_action,_sPos,_angles); EXPLODE_3_PVT(_action,_actionData,_activeChildren,_actionObject); diff --git a/addons/interact_menu/functions/fnc_renderSelector.sqf b/addons/interact_menu/functions/fnc_renderSelector.sqf index ca2f06d63f..569fa79198 100644 --- a/addons/interact_menu/functions/fnc_renderSelector.sqf +++ b/addons/interact_menu/functions/fnc_renderSelector.sqf @@ -15,12 +15,13 @@ EXPLODE_2_PVT(_this,_sPos,_icon); +private ["_displayNum", "_ctrl", "_pos"]; + if(GVAR(iconCount) > (count GVAR(iconCtrls))-1) then { _displayNum = [[46, 12] select visibleMap,91919] select (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]); GVAR(iconCtrls) pushBack ((findDisplay _displayNum) ctrlCreate ["RscStructuredText", 54021+GVAR(iconCount)]); }; -private ["_ctrl", "_pos"]; _ctrl = GVAR(iconCtrls) select GVAR(iconCount); GVAR(iconCount) = GVAR(iconCount) + 1; diff --git a/addons/interact_menu/functions/fnc_setupTextColors.sqf b/addons/interact_menu/functions/fnc_setupTextColors.sqf index 5df9c589da..58f9995985 100644 --- a/addons/interact_menu/functions/fnc_setupTextColors.sqf +++ b/addons/interact_menu/functions/fnc_setupTextColors.sqf @@ -12,7 +12,7 @@ */ #include "script_component.hpp" -private ["_mixColor", "_rowT", "_rowS", "_menuDepth", "_pathCount", "_menuInSelectedPath", "_color", "_path"]; +private ["_mixColor", "_rowT", "_rowS", "_menuDepth", "_pathCount"]; //Mixes 2 colors (number arrays) and makes a color string "#AARRGGBB" for structured text _mixColor = { diff --git a/addons/interact_menu/functions/fnc_splitPath.sqf b/addons/interact_menu/functions/fnc_splitPath.sqf index 935e947b30..790ae83466 100644 --- a/addons/interact_menu/functions/fnc_splitPath.sqf +++ b/addons/interact_menu/functions/fnc_splitPath.sqf @@ -13,7 +13,7 @@ */ #include "script_component.hpp" -private ["_parentPath","_actionName"]; +private ["_parentPath","_actionName", "_i"]; _parentPath = []; for [{_i = 0},{_i < (count _this) - 1},{_i = _i + 1}] do { _parentPath pushBack (_this select _i); diff --git a/addons/interact_menu/script_component.hpp b/addons/interact_menu/script_component.hpp index a086b02613..3117065ca2 100644 --- a/addons/interact_menu/script_component.hpp +++ b/addons/interact_menu/script_component.hpp @@ -1,6 +1,8 @@ #define COMPONENT interact_menu #include "\z\ace\addons\main\script_mod.hpp" +// #define DEBUG_MODE_FULL + #ifdef DEBUG_ENABLED_INTERACT_MENU #define DEBUG_MODE_FULL #endif From f83f8dad0ee2b200ccfa372b8523a1b80901b3a3 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 29 Apr 2015 09:27:49 +0200 Subject: [PATCH 095/478] Fixes: https://github.com/acemod/ACE3/issues/904 --- addons/scopes/functions/fnc_adjustScope.sqf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/scopes/functions/fnc_adjustScope.sqf b/addons/scopes/functions/fnc_adjustScope.sqf index d13ff57ffc..31b85f309e 100644 --- a/addons/scopes/functions/fnc_adjustScope.sqf +++ b/addons/scopes/functions/fnc_adjustScope.sqf @@ -17,6 +17,7 @@ PARAMS_3(_unit,_turretAndDirection,_majorStep); if (!(_unit isKindOf "Man")) exitWith {false}; +if (currentMuzzle _unit != currentWeapon _unit) exitWith {false}; private ["_weaponIndex", "_zeroing", "_optic", "_increment", "_maxVertical", "_maxHorizontal", "_elevation", "_windage", "_zero", "_adjustment"]; @@ -37,7 +38,7 @@ _increment = getNumber (configFile >> "CfgWeapons" >> _optic >> "ACE_ScopeAdjust _maxVertical = getArray (configFile >> "CfgWeapons" >> _optic >> "ACE_ScopeAdjust_Vertical"); _maxHorizontal = getArray (configFile >> "CfgWeapons" >> _optic >> "ACE_ScopeAdjust_Horizontal"); -if ((count _maxHorizontal < 2) or (count _maxVertical < 2)) exitWith {false}; +if ((_increment == 0) or (count _maxHorizontal < 2) or (count _maxVertical < 2)) exitWith {false}; _zeroing = _adjustment select _weaponIndex; _elevation = _zeroing select 0; From 47d4446520a7c5f635fef4715ddd38514a42b3d0 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 29 Apr 2015 02:34:47 -0500 Subject: [PATCH 096/478] Don't check intersection if distance < 1m Related to #869 --- addons/interact_menu/functions/fnc_renderBaseMenu.sqf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf index 8df24f9e55..841303bcdf 100644 --- a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf @@ -50,11 +50,12 @@ if (GVAR(openedMenuType) == 0 && vehicle ACE_player == ACE_player && if (_actualDistance > _distance) exitWith {true}; - if (_distance > 1.0) exitWith { + if (_actualDistance > 1.0) exitWith { // If distance to action is greater than 1.0 m, check LOS _line = [_headPos call EFUNC(common,positionToASL), _pos call EFUNC(common,positionToASL), _object, ACE_player]; lineIntersects _line }; + false }) exitWith {false}; // Exit if the action is behind you From 95536f0a94c36c7cb43e0e1ec9d263cfb995981e Mon Sep 17 00:00:00 2001 From: bux578 Date: Wed, 29 Apr 2015 10:10:30 +0200 Subject: [PATCH 097/478] update authors.txt --- AUTHORS.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index d0f248e72f..7bae4a67d5 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -43,7 +43,7 @@ evromalarkey Falke75 Ferenczi Ferenzi -Filip Basara (Logo) +Filip Basara FreeZbe geraldbolso1899 Ghost From cfbf3bd0535526df08579ce2e90803a286aa3b07 Mon Sep 17 00:00:00 2001 From: Bla1337 Date: Wed, 29 Apr 2015 11:20:21 +0300 Subject: [PATCH 098/478] Localization update --- addons/ballistics/stringtable.xml | 38 +++++++------- addons/interact_menu/stringtable.xml | 1 + addons/interaction/stringtable.xml | 10 ++-- addons/medical/stringtable.xml | 4 +- addons/missileguidance/stringtable.xml | 1 + addons/mk6mortar/stringtable.xml | 4 ++ addons/optics/stringtable.xml | 4 +- addons/optionsmenu/stringtable.xml | 1 + addons/overheating/stringtable.xml | 2 +- addons/realisticnames/stringtable.xml | 68 +++++++++++++------------- addons/reloadlaunchers/stringtable.xml | 2 +- addons/weaponselect/stringtable.xml | 4 +- 12 files changed, 75 insertions(+), 64 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index dc9df9db34..bbc0f8e30f 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -741,7 +741,7 @@ Magazynek 5,56mm 30rd (M995 AP) 5.56mm 30Cps (M995 AP) Cargador de 30 balas de 5.56mm (M995 AP) - Магазин из 30-ти 5.56 мм (M995 AP) + Магазин из 30-ти 5.56 мм (M995 бронебойные) 5,56mm 30-Patronen-Magazin (M995AP) @@ -749,7 +749,7 @@ 5,56mm AP 5.56mm AP 5.56mm AP - 5.56 мм AP + 5.56 мм бронебойные 5,56mm AP @@ -757,7 +757,7 @@ Kaliber: 5,56x45mm NATO (M995 AP)<br />Pociski: 30 Calibre: 5.56x45mm NATO (M995 AP)<br />Cartouches: 30 Calibre: 5.56x45mm NATO (M995 AP)<br />Balas: 30 - Калибр: 5,56x45 мм NATO (M995 AP)<br />Патронов: 30 + Калибр: 5,56x45 мм NATO (M995 бронебойные)<br />Патронов: 30 Kaliber: 5,56x45mm NATO (M995 AP)<br />Patronen: 30 @@ -869,7 +869,7 @@ 7,62mm Mk319 7.62mm Mk319 7.62mm Mk319 - 7,62mm Mk319 + 7,62 мм Mk319 7,62mm Mk319 @@ -909,7 +909,7 @@ Magazynek 7,62mm 10rd (M993 AP) 7.62mm 10Cps (M993 AP) Cargador de 10 balas de 7.62mm (M993 AP) - Магазин из 10-ти 7,62 мм (M993 AP) + Магазин из 10-ти 7,62 мм (M993 бронебойные) 7,62mm 10-Patronen-Magazin (M993 AP) @@ -917,7 +917,7 @@ 7,62mm AP 7.62mm AP 7.62mm AP - 7,62mm AP + 7,62mm бронебойные 7,62mm AP @@ -925,7 +925,7 @@ Kaliber: 7,62x51mm NATO (M993 AP)<br />Pociski: 10 Calibre: 7.62x51mm NATO (M993 AP)<br />Cartouches: 10 Calibre: 7.62x51mm NATO (M993 AP)<br />Balas: 10 - Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 10 + Калибр: 7,62x51 мм NATO (M993 бронебойные)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 10 @@ -933,7 +933,7 @@ Magazynek 7,62mm 20rd (M993 AP) 7.62mm 20Cps (M993 AP) Cargador de 20 balas de 7.62mm (M993 AP) - Магазин из 20-ти 7,62 мм (M993 AP) + Магазин из 20-ти 7,62 мм (M993 бронебойные) 7,62mm 20-Patronen-Magazin (M993 AP) @@ -941,7 +941,7 @@ 7,62mm AP 7.62mm AP 7.62mm AP - 7,62 мм AP + 7,62 мм бронебойные 7,62mm AP @@ -949,7 +949,7 @@ Kaliber: 7,62x51mm NATO (M993 AP)<br />Pociski: 20 Calibre: 7.62x51mm NATO (M993 AP)<br />Cartouches: 20 Calibre: 7.62x51mm NATO (M993 AP)<br />Balas: 20 - Калибр: 7,62x51 мм NATO (M993 AP)<br />Патронов: 20 + Калибр: 7,62x51 мм NATO (M993 бронебойные)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 20 @@ -1029,7 +1029,7 @@ 6.5x47mm 30Cps (HPBT Scenar) Cargador de 30 balas de 6.5x47mm (HPBT Scenar) Magazynek 6,5x47mm 30rd (HPBT Scenar) - Магазин из 30-ти 6,5x47 мм (HPBT Scenar) + Магазин из 30-ти 6,5x47 мм (экспансивные Scenar) 6,5x47mm 30-Patronen-Magazin (HPBT Scenar) @@ -1045,12 +1045,13 @@ Calibre: 6.5x47mm (HPBT Scenar)<br />Cartouches: 30 Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30 Kaliber: 6,5x47mm (HPBT Scenar)<br />Pociski: 30 - Калибр: 6,5x47 мм (HPBT Scenar)<br />Патронов: 30 + Калибр: 6,5x47 мм (экспансивные Scenar)<br />Патронов: 30 Kaliber: 6,5x47mm (HPBT Scenar)<br />Patronen: 30<br />Eingesetzt von: MXM 6.5mm Creedmor 30Rnd Mag Magazynek 6,5mm Creedmor 30rd + Магазин из 30-ти 6,5 мм Creedmor 6,5mm Creedmor 30-Patronen-Magazin @@ -1071,7 +1072,7 @@ .338 10 Cps (300gr Sierra MatchKing HPBT) Cargador de 10 balas de 8.6x70mm (300gr Sierra MatchKing HPBT) Magazynek .338 10rd (300gr Sierra MatchKing HPBT) - Магазин из 10-ти .338 (300 гран Sierra MatchKing HPBT) + Магазин из 10-ти .338 (300 гран Sierra MatchKing экспансивные) .338 10-Patronen-Magazin (300gr Sierra MatchKing HPBT) @@ -1079,7 +1080,7 @@ .338 HPBT .338 HPBT .338 HPBT - .338 HPBT + .338 экспансивные .338 HPBT @@ -1087,7 +1088,7 @@ Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Cartouches: 10 Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Balas: 10 Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Pociski: 10 - Калибр: 8,6x70mm (300 гран Sierra MatchKing HPBT)<br />Патронов: 10 + Калибр: 8,6x70mm (300 гран Sierra MatchKing экспансивные)<br />Патронов: 10 Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Patronen: 10 @@ -1103,7 +1104,7 @@ .338 AP .338 AP .338 AP - .338 бронебойные + .338 AP .338 AP @@ -1111,7 +1112,7 @@ Calibre: 8.6x70mm (API526)<br />Cartouches: 10 Calibre: 8.6x70mm (API526)<br />Balas: 10 Kaliber: 8,6x70mm (API526)<br />Pociski: 10 - Калибр: 8,6x70mm (API526)<br />Патронов: 10 + Калибр: 8,6x70 мм (API526)<br />Патронов: 10 Kaliber: 8,6x70mm (API526)<br />Patronen: 10 @@ -1143,6 +1144,7 @@ 12.7x99mm API 5Cps Cargador de 5 balas de 12.7x99mm API Magazynek 12,7x99mm API 5rd + Магазин из 5-ти 12,7x99 мм (бронебойно-зажигательные) 12,7x99mm 5-Patronen-Magazin (API) @@ -1150,6 +1152,7 @@ 12.7mm API 12.7mm API 12,7mm API + 12.7 мм бронебойно-зажигательные 12,7mm API @@ -1157,6 +1160,7 @@ Calibre: 12.7x99mm API<br />Cartouches: 5 Calibre: 12.7x99mm API<br />Balas: 5 Kaliber: 12,7x99mm API<br />Pociski: 5 + Калибр: 12,7x99 мм бронебойно-зажигательные<br />Патронов: 5 Kaliber:12,7x99mm API<br />Patronen: 5 diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index a5df7723b4..e31534427b 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -18,6 +18,7 @@ Toujours afficher le curseur pour les interactions Mostra sempre il cursore per le interazioni Zawsze wyświetlaj kursor dla interakcji + Показывать курсор (взаимодействие) Immer den Cursor für Fremd-Interaktionen anzeigen diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 38902f80cf..2be029aec0 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -552,7 +552,7 @@ Jaune Żółty Žlutý - Желтый + Жёлтый Amarela Giallo Sárga @@ -564,7 +564,7 @@ Rejoindre<br/>Rouge Dołącz do drużyny<br/>czerwonej Připojit do<br/>Červeného týmu - Присоединиться<br/>к красной группе + Присоединиться<br/>к Красной группе Unir-se à<br/>Equipe Vermelha Entra nella<br/>Squadra Rossa Csatlakozás a<br/>piros csapathoz @@ -576,7 +576,7 @@ Rejoindre<br/>Vert Dołącz do<br/>drużyny zielonej Připojit do<br/>Zeleného týmu - Присоединиться<br/>к зеленой группе + Присоединиться<br/>к Зеленой группе Unir-se à<br/>Equipe Verde Entra nella<br/>Squadra Verde Csatlakozás a<br/>zöld csapathoz @@ -588,7 +588,7 @@ Rejoindre<br/>Bleu Dołącz do<br/>drużyny niebieskiej Připojit do<br/>Modrého týmu - Присоединиться<br/>к синей группе + Присоединиться<br/>к Синей группе Unir-se à<br/>Equipe Azul Entra nella<br/>Squadra Blu Csatlakozás a<br/>kék csapathoz @@ -600,7 +600,7 @@ Rejoindre<br/>Jaune Dołącz do<br/>drużyny żółtej Připojit do<br/>Žlutého týmu - Присоединиться<br/>к желтой группе + Присоединиться<br/>к Жёлтой группе Unir-se à<br/>Equipe Amarela Entra nella<br/>Squadra Gialla Csatlakozás a<br/>sárga csapathoz diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 52baf9bbe3..85c56227a7 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1485,7 +1485,7 @@ dead - мертв + мёртв tot mort martwy @@ -1721,7 +1721,7 @@ %1 has given an IV %1 has puesto una IV - %1 провел переливание + %1 провёл переливание %1 hat eine Infusion verabreicht %1 podał IV %1 a administré une IV diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 6840f11e42..15a87c31ba 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -17,6 +17,7 @@ Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types. Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych. Guía de misiles avanzada, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un framework requerido para armas de tipo misil. + Продвинутое наведение ракет, или ПНР, обеспечивает множество усовершествований для наведения и стрельбы ракет. Также, это система, необходимая для всех ракетных типов оружия. Das Erweiterte Raketenlenksystem, auch AMG genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 1dfdd1b470..fe08d320e5 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -6,24 +6,28 @@ 82mm Distanztabelle Tabela strzelnicza 82mm table de tir 82mm + 82 мм Таблица дальностей и прицелов Range Table for the MK6 82mm Mortar Distanztabelle für den Mk6 82mm Mortar Tabela strzelnicza dla moździerza 82mm MK6 Table de tir pour le mortier MK6 82mm + Таблица дальностей и прицелов для MK6 82 мм мортиры Open 82mm Rangetable Öffne 82mm Distanztabelle Otwórz tabelę strzelniczą 82mm ouvrir la table de tir 82mm + Открыть 82 мм Таблицу дальностей и прицелов Charge Ladung Charge Ładunek + Зарядить diff --git a/addons/optics/stringtable.xml b/addons/optics/stringtable.xml index 56216f2cb1..f9964c4310 100644 --- a/addons/optics/stringtable.xml +++ b/addons/optics/stringtable.xml @@ -57,7 +57,7 @@ MRCO (2D) MRCO (2D) MRCO (2D) - Прицел MRCO (2D) + MRCO (2D) MRCO (2D) MRCO (2D) @@ -69,7 +69,7 @@ MRCO (PIP) MRCO (PIP) MRCO (PIP) - Прицел MRCO (PIP) + MRCO (PIP) MRCO (PIP) MRCO (PIP) diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 8a86563690..1beec5d7df 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -218,6 +218,7 @@ Menu option: taille de l'UI Skalowanie UI menu ustawień Opción de escalado del menú UI + Размер интерфейса меню настройки UI Skalierung diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 9699c67ede..d21d2ad884 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -112,7 +112,7 @@ Lufa wymieniona Hlaveň vyměněna Canon changé - Ствол сменен + Ствол сменён Cső kicserélve Cano substituído Canna sostituita diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 37e7b28700..cc99277d48 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -138,7 +138,7 @@ M-ATV (CKM) M-ATV (TK) M-ATV (HMG) - M-ATV (Пулемет) + M-ATV (Пулемёт) M-ATV (HMG) M-ATV (nehézgéppuska) M-ATV (HMG) @@ -150,7 +150,7 @@ M-ATV (GMG) M-ATV (Granátomet) M-ATV (GMG) - M-ATV (Гранатомет) + M-ATV (Гранатомёт) M-ATV (GMG) M-ATV (gránátgéppuska) M-ATV (GMG) @@ -366,7 +366,7 @@ Fennek (CKM) Fennek (TK) Fennek (HMG) - Феннек (Пулемет) + Феннек (Пулемёт) Fennek (HMG) Fennek (nehézgéppuska) Fennek (HMG) @@ -378,7 +378,7 @@ Fennek (GMG) Fennek (granátomet) Fennek (GMG) - Феннек (Гранатомет) + Феннек (Гранатомёт) Fennek (GMG) Fennek (gránátgéppuska) Fennek (GMG) @@ -438,7 +438,7 @@ KamAZ Transportowy (zakryty) KAMAZ Valník (krytý) KamAZ Transport (bâché) - КамАЗ Траспортный (Крытый) + КамАЗ Траспортный (крытый) KamAZ Transporte (coberto) KamAZ szállítójármű (ponyvás) KamAZ da trasporto (coperto) @@ -510,7 +510,7 @@ Punisher (CKM) Punisher (TK) Punisher (HMG) - Kаратель (Пулемет) + Kаратель (Пулемёт) Punisher (HMG) Punisher (nehézgéppuska) Punisher (HMG) @@ -522,7 +522,7 @@ Punisher (GMG) Punisher (granátomet) Punisher (GMG) - Kаратель (Гранатомет) + Kаратель (Гранатомёт) Punisher (GMG) Punisher (gránátgéppuska) Punisher (GMG) @@ -534,7 +534,7 @@ T100 Black Eagle T100 Black Eagle T100 Black Eagle - T100 Черный Орел + T100 Чёрный Орел T100 Black Eagle T100 Fekete Sas T100 Black Eagle @@ -606,7 +606,7 @@ Typhoon Transportowy (przykryty) Typhoon valník (krytý) Typhoon Transport (bâché) - Тайфун Транспортный (kрытый) + Тайфун Транспортный (крытый) Typhoon Transporte (coberto) Typhoon szállítójármű (ponyvás) Typhoon da trasporto (coperto) @@ -988,7 +988,7 @@ Granat dymny M18 (Żółty) M18 Kouřový Granát (žlutý) M18 Grenade fumigène (Jaune) - M183 дымовая граната (Жёлтые) + M183 дымовая граната (Жёлтый) M18 Granada de fumaça (Amarela) M18 füstgránát (Sárga) M18 Granata fumogena (Giallo) @@ -1159,7 +1159,7 @@ MX (Noir) MX (Fekete) MX (Negro) - MX (черный) + MX (Чёрный) MXC @@ -1179,7 +1179,7 @@ MXC (Noir) MXC (Fekete) MXC (Negro) - MXC (черный) + MXC (Чёрный) MX 3GL @@ -1199,7 +1199,7 @@ MX 3GL (Noir) MX 3GL (Fekete) MX 3GL (Negro) - MX 3GL (черный) + MX 3GL (Чёрный) MX LSW @@ -1219,7 +1219,7 @@ MX LSW (Noir) MX LSW (Fekete) MX LSW (Negro) - MX LSW (черный) + MX LSW (Чёрный) MXM @@ -1239,7 +1239,7 @@ MXM (Noir) MXM (Fekete) MXM (Negro) - MXM (черный) + MXM (Чёрный) KH2002 Sama @@ -1279,7 +1279,7 @@ F2000 (Camo) F2000 (Terepmintás) F2000 (Camuflaje) - F2000 (камо) + F2000 (Камо) F2000 @@ -1299,7 +1299,7 @@ F2000 Tactical (Camo) F2000 Tactical (Terepmintás) F2000 Tactical (Camuflaje) - F2000 Tactical (камо) + F2000 Tactical (Камо) F2000 Tactical @@ -1319,7 +1319,7 @@ F2000 EGLM (Camo) F2000 EGLM (Terepmintás) F2000 EGLM (Camuflaje) - F2000 EGLM (камо) + F2000 EGLM (Камо) F2000 EGLM @@ -1495,7 +1495,7 @@ Noreen "Bad News" ULR (Black) Noreen "Bad News" ULR (Noir) Noreen "Bad News" ULR (Negro) - Noreen "Bad News" ULR (черный) + Noreen "Bad News" ULR (Чёрный) Noreen "Bad News" ULR (Schwarz) Noreen "Bad News" ULR (czarny) @@ -1504,7 +1504,7 @@ Noreen "Bad News" ULR (Camo) Noreen "Bad News" ULR (Camo) Noreen "Bad News" ULR (Camuflaje) - Noreen "Bad News" ULR (камо) + Noreen "Bad News" ULR (Камо) Noreen "Bad News" ULR (Camo) Noreen "Bad News" ULR (kamuflaż) @@ -1513,7 +1513,7 @@ Noreen "Bad News" ULR (Sand) Noreen "Bad News" ULR (Beige) Noreen "Bad News" ULR (Arena) - Noreen "Bad News" ULR (песочный) + Noreen "Bad News" ULR (Песочный) Noreen "Bad News" ULR (Sand) Noreen "Bad News" ULR (piaskowy) @@ -1531,7 +1531,7 @@ SIG 556 (Black) SIG 556 (Noir) SIG 556 (Negro) - SIG 556 (черный) + SIG 556 (Чёрный) SIG 556 (czarny) SIG 556 (Schwarz) @@ -1540,7 +1540,7 @@ SIG 556 (Khaki) SIG 556 (Kaki) SIG 556 (Caqui) - SIG 556 (хаки) + SIG 556 (Хаки) SIG 556 (khaki) SIG 556 (Khaki) @@ -1549,7 +1549,7 @@ SIG 556 (Sand) SIG 556 (Beige) SIG 556 (Arena) - SIG 556 (песочный) + SIG 556 (Песочный) SIG 556 (piaskowy) SIG 556 (Sand) @@ -1558,7 +1558,7 @@ SIG 556 (Camo) SIG 556 (Camo) SIG 556 (Camuflaje) - SIG 556 (камо) + SIG 556 (Камо) SIG 556 (kamuflaż) SIG 556 (Camo) @@ -1567,7 +1567,7 @@ SIG 556 (Woodland) SIG 556 (Woodland) SIG 556 (Bosque) - SIG 556 (лесной) + SIG 556 (Лесной) SIG 556 (leśny) SIG 556 (Woodland) @@ -1594,7 +1594,7 @@ ASP-1 Kir (Black) ASP-1 Kir (Noir) ASP-1 Kir (Negro) - ASP-1 Kir (черный) + ASP-1 Kir (Чёрный) ASP-1 Kir (Schwarz) ASP-1 Kir (czarny) @@ -1603,7 +1603,7 @@ ASP-1 Kir (Tan) ASP-1 Kir (Tan) ASP-1 Kir (Tan) - ASP-1 Kir (бронзовый) + ASP-1 Kir (Бронзовый) ASP-1 Kir (Hellbraun) ASP-1 Kir (Tan) @@ -1621,7 +1621,7 @@ Cyrus (Black) Cyrus (Noir) Cyrus (Negro) - Cyrus (черный) + Cyrus (Чёрный) Cyrus (Schwarz) Cyrus (czarny) @@ -1630,7 +1630,7 @@ Cyrus (Hex) Cyrus (Hex) Cyrus (Hex) - Cyrus (гекс) + Cyrus (Гекс) Cyrus (Hex) Cyrus (hex) @@ -1639,7 +1639,7 @@ Cyrus (Tan) Cyrus (Tan) Cyrus (Tan) - Cyrus (бронза) + Cyrus (Бронза) Cyrus (Hellbraun) Cyrus (podpalany) @@ -1684,7 +1684,7 @@ HK121 (Hex) HK121 (Hex) HK121 (Hex) - HK121 (гекс) + HK121 (Гекс) HK121 (Hex) HK121 (hex) @@ -1693,7 +1693,7 @@ HK121 (Tan) HK121 (Tan) HK121 (Tan) - HK121 (бронза) + HK121 (Бронза) HK121 (Hellbraun) HK121 (podpalany) @@ -1720,7 +1720,7 @@ LWMMG (Black) LWMMG (Noir) LWMMG (Negro) - LWMMG (Черный) + LWMMG (Чёрный) LWMMG (czarny) LWMMG (Schwarz) diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml index bb949040d0..3a73918745 100644 --- a/addons/reloadlaunchers/stringtable.xml +++ b/addons/reloadlaunchers/stringtable.xml @@ -28,7 +28,7 @@ Lanceur chargé Panzerabwehr geladen Lanzador cargado - ПУ заряжено + ПУ заряжена Odpalovač nabit Wyrzutnia załadowana Kilövő betöltve diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 6e06025620..a30b18f5dd 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -53,7 +53,7 @@ Seleccionar lanzador Wybierz wyrzutnię Zvolit Raketomet - Выбрать гранатомет + Выбрать гранатомёт Sélectionner Lanceur Rakétavető Kiválasztása Selecionar Lançador @@ -65,7 +65,7 @@ Seleccionar lanzador de granadas Wybierz granatnik Zvolit Granátomet - Выбрать подствольный гранатомет + Выбрать подствольный гранатомёт Sélectionner Lance-grenades Gránátvető Kiválasztása Selecionar Lança-Granadas From 7ca35bf823094c3d35c6820709958c7b9e263269 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Wed, 29 Apr 2015 10:44:10 +0200 Subject: [PATCH 099/478] prevent multiple detonators of same type to be displayed #835 As per @CorruptedHeart suggestion. > Just needs a > if (getNumber (_config >> "ACE_Detonator") == 1 && {!(_x in _result)}) then { --- addons/explosives/functions/fnc_getDetonators.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/explosives/functions/fnc_getDetonators.sqf b/addons/explosives/functions/fnc_getDetonators.sqf index 26bde9b190..01a4d0129e 100644 --- a/addons/explosives/functions/fnc_getDetonators.sqf +++ b/addons/explosives/functions/fnc_getDetonators.sqf @@ -21,7 +21,7 @@ _result = []; { _config = ConfigFile >> "CfgWeapons" >> _x; - if (getNumber (_config >> "ACE_Detonator") == 1) then { + if (getNumber (_config >> "ACE_Detonator") == 1 && {!(_x in _result)}) then { _result pushBack _x; }; } forEach _items; From 87d1f7c2819a01c595290e4345fe94904d08093b Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 29 Apr 2015 12:24:56 +0200 Subject: [PATCH 100/478] Fixes: https://github.com/acemod/ACE3/pull/909#issuecomment-97377112 --- addons/explosives/functions/fnc_detonateExplosive.sqf | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/addons/explosives/functions/fnc_detonateExplosive.sqf b/addons/explosives/functions/fnc_detonateExplosive.sqf index e4dfc2f7fc..f79f38ae1e 100644 --- a/addons/explosives/functions/fnc_detonateExplosive.sqf +++ b/addons/explosives/functions/fnc_detonateExplosive.sqf @@ -19,19 +19,13 @@ * Public: Yes */ #include "script_component.hpp" -private ["_result", "_ignoreRange", "_helper", "_pos"]; +private ["_result", "_ignoreRange", "_pos"]; EXPLODE_3_PVT(_this,_unit,_range,_item); _ignoreRange = (_range == -1); _result = true; if (!_ignoreRange && {(_unit distance (_item select 0)) > _range}) exitWith {false}; -_helper = (attachedTo (_item select 0)); -if (!isNull(_helper)) then { - detach (_item select 0); - deleteVehicle _helper; -}; - if (getNumber (ConfigFile >> "CfgAmmo" >> typeof (_item select 0) >> "TriggerWhenDestroyed") == 0) then { private ["_exp", "_previousExp"]; _previousExp = _item select 0; From cec16d6a44f1c8b74e54732286711fe437c66f1b Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Wed, 29 Apr 2015 12:58:02 +0200 Subject: [PATCH 101/478] 3 > 2 --- tools/stringtableduplicates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/stringtableduplicates.py b/tools/stringtableduplicates.py index b9b4920059..49f5bcb743 100755 --- a/tools/stringtableduplicates.py +++ b/tools/stringtableduplicates.py @@ -34,7 +34,7 @@ def check_module(projectpath, module): diff = len(entries) - len(list(set(entries))) duplicates += diff if diff > 0: - print key.getAttribute("ID") + print(key.getAttribute("ID")) return duplicates From d149db61e8ca98384a19e7b1381c9bc2f68452a5 Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 29 Apr 2015 13:01:08 +0200 Subject: [PATCH 102/478] ace insignia, #906 --- addons/common/CfgUnitInsignia.hpp | 9 +++++++++ addons/common/config.cpp | 1 + addons/common/data/ace3logo_ca.paa | Bin 0 -> 22016 bytes 3 files changed, 10 insertions(+) create mode 100644 addons/common/CfgUnitInsignia.hpp create mode 100644 addons/common/data/ace3logo_ca.paa diff --git a/addons/common/CfgUnitInsignia.hpp b/addons/common/CfgUnitInsignia.hpp new file mode 100644 index 0000000000..c12c17c0c0 --- /dev/null +++ b/addons/common/CfgUnitInsignia.hpp @@ -0,0 +1,9 @@ + +class CfgUnitInsignia { + class ACE_insignia { + displayName = "ACE 3"; + author = "kripto202"; + texture = PATHTOF(data\ace3logo_ca.paa); + textureVehicle = ""; + }; +}; diff --git a/addons/common/config.cpp b/addons/common/config.cpp index 16bd13fc0c..27647f8d00 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -22,6 +22,7 @@ class CfgPatches { #include "CfgActions.hpp" #include "CfgMoves.hpp" #include "CfgVoice.hpp" +#include "CfgUnitInsignia.hpp" class ACE_Rsc_Display_Base { idd = -1; diff --git a/addons/common/data/ace3logo_ca.paa b/addons/common/data/ace3logo_ca.paa new file mode 100644 index 0000000000000000000000000000000000000000..d3e6e20c7b3d08d692565170b06d6824e09d82c3 GIT binary patch literal 22016 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 B%1ZzM literal 0 HcmV?d00001 From 2068eaea7518d89acef37d245c313ea6933ae799 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 29 Apr 2015 13:53:38 +0200 Subject: [PATCH 103/478] Added G_40mm_HE config, changed 40mm gurney_k values --- addons/frag/CfgAmmo.hpp | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index 6490c94f22..aa98be80f7 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -68,29 +68,27 @@ class CfgAmmo { GVAR(gurney_c) = 2320; GVAR(gurney_k) = 1/2; }; - - + + class G_40mm_HEDP: GrenadeBase { + // Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M433 + GVAR(classes)[] = {"ACE_frag_tiny_HD"}; + GVAR(metal) = 200; + GVAR(charge) = 45; + GVAR(gurney_c) = 2830; + GVAR(gurney_k) = 1/2; + }; class G_40mm_HE: GrenadeBase { - GVAR(classes)[] = {"ACE_frag_tiny_HD"}; - GVAR(metal) = 200; - GVAR(charge) = 45; - GVAR(gurney_c) = 2830; - GVAR(gurney_k) = 3/5; - }; - - class ACE_G_40mm_HEDP: G_40mm_HE { - GVAR(classes)[] = {"ACE_frag_tiny_HD"}; - GVAR(metal) = 200; - GVAR(charge) = 45; - GVAR(gurney_c) = 2830; - GVAR(gurney_k) = 3/5; - }; - class ACE_G_40mm_HE: ACE_G_40mm_HEDP { + // Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M441 GVAR(classes)[] = {"ACE_frag_tiny_HD"}; GVAR(metal) = 200; GVAR(charge) = 32; GVAR(gurney_c) = 2700; - GVAR(gurney_k) = 3/5; + GVAR(gurney_k) = 1/2; + }; + + class ACE_G_40mm_HEDP: G_40mm_HEDP { + }; + class ACE_G_40mm_HE: G_40mm_HE { }; class ACE_G_40mm_Practice: ACE_G_40mm_HE { GVAR(skip) = 1; From dfbc9b74fd692a7c149b70896d9e8f15388581ae Mon Sep 17 00:00:00 2001 From: Glowbal Date: Wed, 29 Apr 2015 15:14:37 +0200 Subject: [PATCH 104/478] Added arsenalScope #913 --- addons/common/CfgWeapons.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/common/CfgWeapons.hpp b/addons/common/CfgWeapons.hpp index cf8c06798e..59bb8f6b9a 100644 --- a/addons/common/CfgWeapons.hpp +++ b/addons/common/CfgWeapons.hpp @@ -15,7 +15,7 @@ class CfgWeapons { class ACE_FakePrimaryWeapon: Rifle_Base_F { scope = 2; scopeCurator = 1; - + scopeArsenal = 1; displayName = ""; model = "\A3\Weapons_f\empty"; picture = ""; From 283e34779feb9544753ee5dc345f7fd249c69df9 Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 29 Apr 2015 07:05:48 -0700 Subject: [PATCH 105/478] Don't inherit --- addons/missileguidance/functions/fnc_onFired.sqf | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 7ada1d4442..6c6c2717bf 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -7,7 +7,7 @@ if(GVAR(enabled) < 1 || {!local _projectile} ) exitWith { false }; if( !isPlayer _shooter && { GVAR(enabled) < 2 } ) exitWith { false }; -private["_config", "_enabled", "_target", "_seekerType", "_attackProfile"]; +private["_config", "_configs", "_enabled", "_target", "_seekerType", "_attackProfile"]; private["_args", "_canUseLock", "_guidingUnit", "_launchPos", "_lockMode", "_targetPos", "_vanillaTarget"]; PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); @@ -15,7 +15,9 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); // Bail on not missile if(! (_ammo isKindOf "MissileBase") ) exitWith { false }; -_config = configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON); +_configs = configProperties [configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON), "true", false]; +if( (count _configs) < 1) exitWith {}; +_config = _configs select 1; _enabled = getNumber ( _config >> "enabled"); // Bail if guidance is not enabled From 5ec6bea71d8acc13834ae9c30c40be19c3221594 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Wed, 29 Apr 2015 16:19:23 +0200 Subject: [PATCH 106/478] French: update stringtable --- addons/interact_menu/stringtable.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index a5df7723b4..cc447c082e 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -76,7 +76,7 @@ Interaction - Text Max Interakcja - Tekst max - Interaction -Texte Max + Interaction - Texte Max Interaktionstextfarbe Max Interazioni - Testo Massimo @@ -103,9 +103,11 @@ Keep cursor centered + Garder le curseur au centre Keeps cursor centered and pans the option menu around. Useful if screen size is limited. + Garde le curseur au milieu et dispose le menu des options autour. Utile si la taille de l'écran est limitée. - \ No newline at end of file + From ca7aeece904ad04cf1d5aaaa39506d950e213402 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Wed, 29 Apr 2015 16:28:59 +0200 Subject: [PATCH 107/478] French: update stringtable --- addons/ballistics/stringtable.xml | 88 ++++++++++++++++--------------- 1 file changed, 45 insertions(+), 43 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index dc9df9db34..83ddf4bec1 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -31,7 +31,7 @@ Kaliber: 6,5x39mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL Kaliber: 6,5x39mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL Calibre: 6,5x39mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL - Calibre: 6,5x39mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL + Calibre: 6,5x39mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé avec: MX/C/M/SW/3GL Kaliber: 6,5x39mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL Ráže: 6.5x39mm Svítící IR-DIM<br />Munice: 30<br />Použití: MX/C/M/SW/3GL Calibre: 6,5x39mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL @@ -67,7 +67,7 @@ Kaliber: 6,5x39mm Halk<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL Kaliber: 6,5x39mm SD<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL Calibre: 6,5x39mm SD<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL - Calibre: 6,5x39mm SD<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL + Calibre: 6,5x39mm SD<br />Cartouches: 30<br />Utilisé avec: MX/C/M/SW/3GL Kaliber: 6,5x39mm SD<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL Ráže: 6.5x39mm SD<br />Munice: 30<br />Použití: MX/C/M/SW/3GL Calibre: 6,5x39mm SD<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL @@ -103,7 +103,7 @@ Kaliber: 6,5x39mm Páncéltörő<br />Lövedékek: 30<br />Használható: MX/C/M/SW/3GL Kaliber: 6,5x39mm AP<br />Patronen: 30<br />Eingesetzt von: MX/C/M/SW/3GL Calibre: 6,5x39mm AP<br />Balas: 30<br />Se usa en: MX/C/M/SW/3GL - Calibre: 6,5x39mm AP<br />Cartouches: 30<br />Utilisé dans: MX/C/M/SW/3GL + Calibre: 6,5x39mm AP<br />Cartouches: 30<br />Utilisé avec: MX/C/M/SW/3GL Kaliber: 6,5x39mm AP<br />Pociski: 30<br />Używane w: MX/C/M/SW/3GL Ráže: 6.5x39mm AP<br />Munice: 30<br />Použití: MX/C/M/SW/3GL Calibre: 6,5x39mm AP<br />Projéteis: 30<br />Usado em: MX/C/M/SW/3GL @@ -140,7 +140,7 @@ Kaliber: 6,5x39mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: Katiba Kaliber: 6,5x39mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: Katiba Calibre: 6,5x39mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: Katiba - Calibre: 6,5x39mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: Katiba + Calibre: 6,5x39mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé avec: Katiba Kaliber: 6,5x39mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: Katiba Ráže: 6.5x39mm Svítící IR-DIM<br />Munice: 30<br />Použití: Katiba Calibre: 6,5x39mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: Katiba @@ -176,7 +176,7 @@ Kaliber: 6,5x39mm Halk<br />Lövedékek: 30<br />Használható: Katiba Kaliber: 6,5x39mm SD<br />Patronen: 30<br />Eingesetzt von: Katiba Calibre: 6,5x39mm SD<br />Balas: 30<br />Se usa en: Katiba - Calibre: 6,5x39mm SD<br />Cartouches: 30<br />Utilisé dans: Katiba + Calibre: 6,5x39mm SD<br />Cartouches: 30<br />Utilisé avec: Katiba Kaliber: 6,5x39mm SD<br />Naboje: 30<br />Używane w: Katiba Ráže: 6.5x39mm SD<br />Munice: 30<br />Použití: Katiba Calibre: 6,5x39mm SD<br />Projéteis: 30<br />Usado em: Katiba @@ -212,7 +212,7 @@ Kaliber: 6,5x39mm Páncéltörő<br />Lövedékek: 30<br />Használható: Katiba Kaliber: 6,5x39mm AP<br />Patronen: 30<br />Eingesetzt von: Katiba Calibre: 6,5x39mm AP<br />Balas: 30<br />Se usa en: Katiba - Calibre: 6,5x39mm AP<br />Cartouches: 30<br />Utilisé dans: Katiba + Calibre: 6,5x39mm AP<br />Cartouches: 30<br />Utilisé avec: Katiba Kaliber: 6,5x39mm AP<br />Pociski: 30<br />Używane w: Katiba Ráže: 6.5x39mm AP<br />Munice: 30<br />Použití: Katiba Calibre: 6,5x39mm AP<br />Projéteis: 30<br />Usado em: Katiba @@ -249,7 +249,7 @@ Kaliber: 5,56x45mm Nyomjelző IR-DIM<br />Lövedékek: 30<br />Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Kaliber: 5,56x45mm Leuchtspur IR-DIM<br />Patronen: 30<br />Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45mm Trazadoras IR-DIM<br />Balas: 30<br />Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - Calibre: 5,56x45mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + Calibre: 5,56x45mm Traçantes IR-DIM<br />Cartouches: 30<br />Utilisé avec: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Kaliber: 5,56x45mm Smugacz IR-DIM<br />Pociski: 30<br />Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Ráže: 5.56x45mm Svítící IR-DIM<br />Munice: 30<br />Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR Calibre: 5,56x45mm Traçante IR-DIM<br />Projéteis: 30<br />Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR @@ -286,7 +286,7 @@ Kaliber: 7,62x51mm Nyomjelző<br />Lövedékek: 20<br />Használható: Mk18 ABR Kaliber: 7,62x51mm Leuchtspur<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51mm Trazadora<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51mm Traçantes<br />Cartouches: 20<br />Utilisé dans: EBR + Calibre: 7,62x51mm Traçantes<br />Cartouches: 20<br />Utilisé avec: EBR Kaliber: 7,62x51mm Smugacz<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51mm Svítící<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51mm Traçante<br />Projéteis: 20<br />Usado em: Mk18 ABR @@ -322,7 +322,7 @@ Kaliber: 7,62x51mm Nyomjelző IR-DIM<br />Lövedékek: 20<br />Használható: Mk18 ABR Kaliber: 7,62x51mm Leuchtspur IR-DIM<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51mm Trazadoras IR-DIM<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51mm Traçantes IR-DIM<br />Cartouches: 20<br />Utilisé dans: EBR + Calibre: 7,62x51mm Traçantes IR-DIM<br />Cartouches: 20<br />Utilisé avec: EBR Kaliber: 7,62x51mm Smugacz IR-DIM<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51mm Svítící IR-DIM<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51mm Traçante IR-DIM<br />Projéteis: 20<br />Usado em: Mk18 ABR @@ -358,7 +358,7 @@ Kaliber: 7,62x51mm Halk<br />Lövedékek: 20<br />Használható: Mk18 ABR Kaliber: 7,62x51mm SD<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51mm SD<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51mm SD<br />Cartouches: 20<br />Utilisé dans: EBR + Calibre: 7,62x51mm SD<br />Cartouches: 20<br />Utilisé avec: EBR Kaliber: 7,62x51mm SD<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51mm SD<br />Munice: 20<br />Použití: Mk18 ABR Calibre: 7,62x51mm SD<br />Projéteis: 20<br />Usado em: Mk18 ABR @@ -387,7 +387,7 @@ Caliber: .338 Norma Magnum Tracer<br />Rounds: 130<br />Used in: SPMG Kaliber: .338 Norma Magnum Leuchtspur<br />Patronen: 130<br />Eingesetzt von: SPMG Kaliber: .338 Norma Magnum Smugacz<br />Pociski: 130<br />Używany w: SPMG - Calibre: .338 Norma Magnum Traçante<br />Cartouches: 130<br />Utilisé dans: SPMG + Calibre: .338 Norma Magnum Traçante<br />Cartouches: 130<br />Utilisé avec: SPMG Calibre: .338 Norma Magnum trazadora<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum трассирующие<br />Патронов: 130<br />Используются в: SPMG @@ -412,7 +412,7 @@ Caliber: .338 Norma Magnum Tracer IR-DIM<br />Rounds: 130<br />Used in: SPMG Kaliber: .338 Norma Magnum Leuchtspur IR-DIM<br />Patronen: 130<br />Eingesetzt von: SPMG Kaliber: .338 Norma Magnum Smugacz IR-DIM<br />Pociski: 130<br />Używany w: SPMG - Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartouches: 130<br />Utilisé dans: SPMG + Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartouches: 130<br />Utilisé avec: SPMG Calibre: .338 Norma Magnum trazadora IR-DIM<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum ИК-трассирующие<br />Патронов: 130<br />Используются с: SPMG @@ -437,7 +437,7 @@ Caliber: .338 Norma Magnum AP<br />Rounds: 130<br />Used in: SPMG Kaliber: .338 Norma Magnum Hartkern<br />Patronen: 130<br />Eingesetzt von: SPMG Kaliber: .338 Norma Magnum AP<br />Pociski: 130<br />Używane w: SPMG - Calibre: .338 Norma Magnum AP<br />Cartouches: 130<br />Utilisé dans: SPMG + Calibre: .338 Norma Magnum AP<br />Cartouches: 130<br />Utilisé avec: SPMG Calibre: .338 Norma Magnum AP<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum бронебойные<br />Патронов: 130<br />Используются с: SPMG @@ -463,7 +463,7 @@ Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur<br />Patronen: 10<br />Eingesetzt von: Cyrus Kaliber: 9,3x64mm Smugacz<br />Pociski: 10<br />Używany w: Cyrus - Calibre: 9.3x64mm Traçante<br />Cartouches: 10<br />Utilisé dans: Cyrus + Calibre: 9.3x64mm Traçante<br />Cartouches: 10<br />Utilisé avec: Cyrus Calibre: 9.3x64mm trazadora<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм трассирующие<br />Патронов: 10<br />Используются с: Cyrus @@ -488,7 +488,7 @@ Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Patronen: 10<br />Eingesetzt von: Cyrus Kaliber: 9,3x64mm Smugacz IR-DIM<br />Pociski: 10<br />Używany w: Cyrus - Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 10<br />Utilisé dans: Cyrus + Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 10<br />Utilisé avec: Cyrus Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 10<br />Используются с: Cyrus @@ -514,7 +514,7 @@ Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur<br />Patronen: 150<br />Eingesetzt von: Navid Kaliber: 9,3x64mm Smugacz<br />Pociski: 150<br />Używane w: Navid - Calibre: 9.3x64mm Traçante<br />Cartouches: 150<br />Utilisé dans: Navid + Calibre: 9.3x64mm Traçante<br />Cartouches: 150<br />Utilisé avec: Navid Calibre: 9.3x64mm trazadora<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм трассирующие<br />Патронов: 150<br />Используются с: Навид @@ -539,7 +539,7 @@ Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur IR-DIM<br />Patronen: 150<br />Eingesetzt von: Navid Kaliber: 9,3x64mm Smugacz IR-DIM<br />Pociski: 150<br />Używane w: Navid - Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 150<br />Utilisé dans: Navid + Calibre: 9.3x64mm Traçante IR-DIM<br />Cartouches: 150<br />Utilisé avec: Navid Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 150<br />Используются с: Навид @@ -564,7 +564,7 @@ Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Hartkern<br />Patronen: 150<br />Eingesetzt von: Navid Kaliber: 9,3x64mm AP<br />Pociski: 150<br />Używane w: Navid - Calibre: 9.3x64mm AP<br />Cartouches: 150<br />Utilisé dans: Navid + Calibre: 9.3x64mm AP<br />Cartouches: 150<br />Utilisé avec: Navid Calibre: 9.3x64mm AP<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм бронебойные<br />Патронов: 150<br />Используются с: Навид @@ -587,7 +587,7 @@ 9x19mm 30Rnd Mag Magazynek 9x19mm 16rd - 9x19mm 30Cps + Chargeur 9x19mm 30Cps Cargador de 16 balas de 9x19mm Магазин из 16-ти 9х19 мм 9x19mm 30-Patronen-Magazin @@ -595,7 +595,7 @@ 9x19mm 30Rnd Mag Magazynek 9x19mm 30rd - 9x19mm 30Cps + Chargeur 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм 9x19mm 30-Patronen-Magazin @@ -611,7 +611,7 @@ 9x19mm 30Rnd Mag Magazynek 9x19mm 30rd - 9x19mm 30Cps + Chargeur 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм 9x19mm 30-Patronen-Magazin @@ -659,7 +659,7 @@ 6.5mm 100Rnd Tracer IR-DIM Mag<br />Rounds: 100<br />Used in: MX LSW Magazynek 6,5mm 100rd Smugacz IR-DIM - Chargeur 6.5mm 100Rnd Traçante IR-DIM + Chargeur 6.5mm 100Rnd Traçante IR-DIM<br />Cartouches: 100<br />Utilisé avec: MX LSW Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur<br />Patronen: 100<br />Eingesetzt von: MXLSW @@ -683,7 +683,7 @@ 6.5mm 200Rnd Tracer IR-DIM Belt<br />Rounds: 200<br />Used in: Stoner 99 LMG Magazynek 6,5mm 200rd Smugacz IR-DIM - Bande 6.5mm 200Cps Traçante IR-DIM + Bande 6.5mm 200Cps Traçante IR-DIM<br />Cartouches: 200<br />Utilisé avec: Stoner 99 LMG Cinta de 200 balas trazadoras IR-DIM de 6.5mm Магазин из 200-т 6,5 мм ИК-трассирующих 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur<br />Patronen: 200<br />Eingesetzt von: Stoner 99 LMG @@ -715,7 +715,7 @@ 5.56mm 30Rnd Mag (Mk318) Magazynek 5,56mm 30rd (Mk318) - 5.56mm 30Cps (Mk318) + Chargeur 5.56mm 30Cps (Mk318) Cargador de 30 balas de 5.56mm (Mk318) Магазин из 30-ти 5.56 мм (Mk318) 5,56mm 30-Patronen-Magazin (Mk318) @@ -739,7 +739,7 @@ 5.56mm 30Rnd Mag (M995 AP) Magazynek 5,56mm 30rd (M995 AP) - 5.56mm 30Cps (M995 AP) + Chargeur 5.56mm 30Cps (M995 AP) Cargador de 30 balas de 5.56mm (M995 AP) Магазин из 30-ти 5.56 мм (M995 AP) 5,56mm 30-Patronen-Magazin (M995AP) @@ -763,7 +763,7 @@ 7.62mm 10Rnd Mag (M118LR) Magazynek 7,62mm 10rd (M118LR) - 7.62mm 10Cps (M118LR) + Chargeur 7.62mm 10Cps (M118LR) Cargador de 10 balas de 7.62mm (M118LR) Магазин из 10-ти 7,62 мм (M118LR) 7,62mm 10-Patronen-Magazin (M118LR) @@ -787,7 +787,7 @@ 7.62mm 20Rnd Mag (M118LR) Magazynek 7,62mm 20rd (M118LR) - 7.62mm 20Cps (M118LR) + Chargeur 7.62mm 20Cps (M118LR) Cargador de 20 balas de 7.62mm (M118LR) Магазин из 20-ти 7,62 мм (M118LR) 7,62mm 20-Patronen-Magazin (M118LR) @@ -811,7 +811,7 @@ 7.62mm 10Rnd Mag (Mk316 Mod 0) Magazynek 7,62mm 10rd (Mk316 Mod 0) - 7.62mm 10Cps (Mk316 Mod 0) + Chargeur 7.62mm 10Cps (Mk316 Mod 0) Cargador de 10 balas de 7.62mm (Mk316 Mod 0) Магазин из 10-ти 7,62 мм (Mk316 Mod 0) 7,62mm 10-Patronen-Magazin (Mk316 Mod 0) @@ -835,7 +835,7 @@ 7.62mm 20Rnd Mag (Mk316 Mod 0) Magazynek 7,62mm 20rd (Mk316 Mod 0) - 7.62mm 20Cps (Mk316 Mod 0) + Chargeur 7.62mm 20Cps (Mk316 Mod 0) Cargador de 20 balas de 7.62mm (Mk316 Mod 0) Магазин из 20-ти 7,62 мм (Mk316 Mod 0) 7,62mm 20-Patronen-Magazin (Mk316 Mod 0) @@ -859,7 +859,7 @@ 7.62mm 10Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 10rd (Mk319 Mod 0) - 7.62mm 10Cps (Mk319 Mod 0) + Chargeur 7.62mm 10Cps (Mk319 Mod 0) Cargador de 10 balas de 7.62mm (Mk319 Mod 0) Магазин из 10-ти 7,62 мм (Mk319 Mod 0) 7,62mm 10-Patronen-Magazin (Mk319 Mod 0) @@ -883,7 +883,7 @@ 7.62mm 20Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 20rd (Mk319 Mod 0) - 7.62mm 20Cps (Mk319 Mod 0) + Chargeur 7.62mm 20Cps (Mk319 Mod 0) Cargador de 20 balas de 7.62mm (Mk319 Mod 0) Магазин из 20-ти 7,62 мм (Mk319 Mod 0) 7,62mm 20-Patronen-Magazin (Mk319 Mod 0) @@ -907,7 +907,7 @@ 7.62mm 10Rnd Mag (M993 AP) Magazynek 7,62mm 10rd (M993 AP) - 7.62mm 10Cps (M993 AP) + Chargeur 7.62mm 10Cps (M993 AP) Cargador de 10 balas de 7.62mm (M993 AP) Магазин из 10-ти 7,62 мм (M993 AP) 7,62mm 10-Patronen-Magazin (M993 AP) @@ -931,7 +931,7 @@ 7.62mm 20Rnd Mag (M993 AP) Magazynek 7,62mm 20rd (M993 AP) - 7.62mm 20Cps (M993 AP) + Chargeur 7.62mm 20Cps (M993 AP) Cargador de 20 balas de 7.62mm (M993 AP) Магазин из 20-ти 7,62 мм (M993 AP) 7,62mm 20-Patronen-Magazin (M993 AP) @@ -955,7 +955,7 @@ 7.62mm 20Rnd Mag (Mk248 Mod 0) Magazynek 7,62mm 20rd (Mk248 Mod 0) - 7.62mm 20Cps (Mk248 Mod 0) + Chargeur 7.62mm 20Cps (Mk248 Mod 0) Cargador de 20 balas de 7.62mm (Mk248 Mod 0) Магазин из 20-ти 7,62 мм (Mk248 Mod 0) 7,62mm 20-Patronen-Magazin (Mk248 Mod 0) @@ -979,7 +979,7 @@ 7.62mm 20Rnd Mag (Mk248 Mod 1) Magazynek 7,62mm 20rd (Mk248 Mod 1) - 7.62mm 20Cps (Mk248 Mod 1) + Chargeur 7.62mm 20Cps (Mk248 Mod 1) Cargador de 20 balas de 7.62mm (Mk248 Mod 1) Магазин из 20-ти 7,62 мм (Mk248 Mod 1) 7,62mm 20-Patronen-Magazin (Mk248 Mod 1) @@ -1003,7 +1003,7 @@ 7.62mm 20Rnd Mag (Berger Hybrid OTM) Magazynek 7,62mm 20rd (Berger Hybrid OTM) - 7.62 20Cps (Berger Hybrid OTM) + Chargeur 7.62 20Cps (Berger Hybrid OTM) Cargador de 20 balas de 7.62mm (Berger Hybrid OTM) Магазин из 20-ти 7,62 мм (Berger Hybrid OTM) 7,62mm 20-Patronen-Magazin (Berger Hybrid OTM) @@ -1026,7 +1026,7 @@ 6.5x47mm 30Rnd Mag (HPBT Scenar) - 6.5x47mm 30Cps (HPBT Scenar) + Chargeur 6.5x47mm 30Cps (HPBT Scenar) Cargador de 30 balas de 6.5x47mm (HPBT Scenar) Magazynek 6,5x47mm 30rd (HPBT Scenar) Магазин из 30-ти 6,5x47 мм (HPBT Scenar) @@ -1052,6 +1052,7 @@ 6.5mm Creedmor 30Rnd Mag Magazynek 6,5mm Creedmor 30rd 6,5mm Creedmor 30-Patronen-Magazin + Chargeur 6.5mm Creedmor 30Cps 6.5mm CM @@ -1065,10 +1066,11 @@ Caliber: 6.5x47mm Creedmor<br />Rounds: 30<br />Used in: MXM Kaliber: 6,5x47mm Creedmor<br />Pociski: 30<br />Używany w: MXM Kaliber: 6,5x47mm Creedmor<br />Patronen: 30<br />Eingesetzt von: MXM + Calibre: 6.5x47mm Creedmor <br />Cartouches: 30<br />Utilisé avec: MXM .338 10Rnd Mag (300gr Sierra MatchKing HPBT) - .338 10 Cps (300gr Sierra MatchKing HPBT) + Chargeur .338 10 Cps (300gr Sierra MatchKing HPBT) Cargador de 10 balas de 8.6x70mm (300gr Sierra MatchKing HPBT) Magazynek .338 10rd (300gr Sierra MatchKing HPBT) Магазин из 10-ти .338 (300 гран Sierra MatchKing HPBT) @@ -1092,7 +1094,7 @@ .338 10Rnd Mag (API526) - .338 10Cps (API526) + Chargeur .338 10Cps (API526) Cargador de 10 balas de .338 (API526) Magazynek .338 10rd (API526) Магазин из 10-ти .338 (API526) @@ -1116,7 +1118,7 @@ 12.7x99mm 5Rnd Mag - 12.7x99mm 5Cps + Chargeur 12.7x99mm 5Cps Cargador de 5 balas de 12.7x99mm Magazynek 12,7x99mm 5rd Магазин из 5-ти 12,7x99 мм @@ -1140,7 +1142,7 @@ 12.7x99mm API 5Rnd Mag - 12.7x99mm API 5Cps + Chargeur 12.7x99mm API 5Cps Cargador de 5 balas de 12.7x99mm API Magazynek 12,7x99mm API 5rd 12,7x99mm 5-Patronen-Magazin (API) @@ -1161,7 +1163,7 @@ 12.7x99mm 5Rnd Mag (AMAX) - 12.7x99mm 5Rnd Mag (AMAX) + Chargeur 12.7x99mm 5Rnd Mag (AMAX) Cargador de 5 balas de 12.7x99mm (AMAX) Magazynek 12,7x99mm 5rd (AMAX) Магазин из 5-ти 12,7x99 мм (A-MAX) @@ -1184,4 +1186,4 @@ Kaliber:12,7x99mm (AMAX)<br />Patronen: 5 - \ No newline at end of file + From 73772d9de19a55ea3f3065ae01dba2b17755e597 Mon Sep 17 00:00:00 2001 From: NukeDev Date: Wed, 29 Apr 2015 16:44:42 +0200 Subject: [PATCH 108/478] Other Fixes --- addons/medical/stringtable.xml | 50 ++++++++++++++++++++++++++ addons/missileguidance/stringtable.xml | 1 + 2 files changed, 51 insertions(+) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 8bcd17cef7..1a1968ba1f 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1123,6 +1123,7 @@ Use Surgical Kit Operationsset benutzen + Usa kit chirurgico Bodybag @@ -1177,6 +1178,7 @@ %1 checked Blood Pressure: %2 %1 kontrollierte Blutdruck: %2 + %1 controllata pressione sanguigna: %2 You checked %1 @@ -1251,18 +1253,22 @@ Low Niedrig + Basso Normal Normal + Normale High Hoch + Alto No Blood Pressure Kein Blutdruck + Nessuna Pressione Sanguigna Pulse @@ -1297,18 +1303,22 @@ %1 checked Heart Rate: %2 %1 kontrollierte Herzfrequenz: %2 + %1 Controllata Frequenza Cardiaca: %2 Weak Schwach + Lento Normal Normal + Normale Strong Stark + Veloce You find a Heart Rate of %2 @@ -1412,24 +1422,31 @@ Patient %1<br/>is %2.<br/>%3.<br/>%4 + Paziente %1<br/>è %2.<br/>%3.<br/>%4 alive + Vivo dead + Morto He's lost some blood + Ha perso molto sangue He hasn't lost blood + Non ha perso sangue He is in pain + è affetto da dolore He is not in pain + Non è affetto da dolore Bandaged @@ -1762,134 +1779,167 @@ Scrape Kratzer + Scorticatura Minor Scrape Kleiner Kratzer + Minima Scorticatura Medium Scrape Mittlerer Kratzer + Media Scorticatura Large Scrape Großer Kratzer + Alta Scorticatura Avulsion Avulsion + Avulsione Minor Avulsion Kleine Avulsion + Minima Avulsione Medium Avulsion Mittlere Avulsion + Media Avulsione Large Avulsion Große Avulsion + Alta Avulsione Bruise Prellung + Contusione Minor Bruise Kleine Prellung + Minima Contusione Medium Bruise Mittlere Prellung + Media Contusione Large Bruise Große Prellung + Alta Contusione Crushed tissue Quetschverletzung + Tessuto Schiacciato Minor crushed tissue Kleine Quetschverletzung + Minimo Tessuto Schiacciato Medium crushed tissue Mittlere Quetschverletzung + Medio Tessuto Schiacciato Large crushed tissue Große Quetschverletzung + Alto Tessuto Schiacciato Cut Schnittwunde + Taglio Small Cut Kleine Schnittwunde + Piccolo Taglio Medium Cut Mittlere Schnittwunde + Medio Taglio Large Cut Große Schnittwunde + Grande Taglio Tear Riss + Strappo Small Tear Kleiner Riss + Piccolo Strappo Medium Tear Mittlerer Riss + Medio Strappo Large Tear Großer Riss + Grande Strappo Velocity Wound Ballistisches Trauma + Velocità Ferita Smal Velocity Wound Kleines Ballistisches Trauma + Lenta Velocità Ferita Medium Velocity Wound Mittleres Ballistisches Trauma + Media Velocità Ferita Large Velocity Wound Großes Ballistisches Trauma + Alta Velocità Ferita Puncture Wound Stichwunde + Puntura Ferita Minor Puncture Wound Kleine Stichwunde + Piccola Puntura Ferita Medium Puncture Wound Mittlere Stichwunde + Media Puntura Ferita Large Puncture Wound Große Stichwunde + Grande Puntura Ferita Broken Femur Gebrochener Oberschenkelknochen + Femore Rotto \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index e0923981f3..68da1c0cd8 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -17,6 +17,7 @@ Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types. Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych. Guía de misiles avanzada, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un framework requerido para armas de tipo misil. + Guida dei missili avanzata, o AMG, offre diversi miglioramenti alla teleguida di missili. E' anche un sistema necessario per i tipi di armi missile. Hydra-70 DAGR Missile From d4dc5e6d858c2b64d17a288a604bf138d6c09a3b Mon Sep 17 00:00:00 2001 From: NukeDev Date: Wed, 29 Apr 2015 17:22:20 +0200 Subject: [PATCH 109/478] Other Fixes 2 --- addons/overheating/stringtable.xml | 5 +- addons/realisticnames/stringtable.xml | 76 ++++++++++++++++++++++++++- addons/respawn/stringtable.xml | 8 ++- addons/vehiclelock/stringtable.xml | 4 +- 4 files changed, 88 insertions(+), 5 deletions(-) diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 557bd6c915..32e45bdddf 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -10,6 +10,7 @@ Wyświetl tekst przy zacięciu broni Affiche texte si enrayé Szöveges értesítés kijelzése a fegyver elakadásakor + Visualizza testo in caso di inceppamento Display a notification whenever your weapon gets jammed @@ -20,6 +21,7 @@ Wyświetl powiadomienie za każdym razem, kiedy Twoja broń ulegnie zacięciu Affiche une notification lors d'un enrayement Egy szöveges értesítés jelenik meg, amikor a fegyver megakad + Visualizza una notifica in caso la tua arma si inceppasse Spare barrel @@ -138,6 +140,7 @@ Vérifier la température Fegyverhő ellenőrzése Проверить температуру оружия + Controlla la temperatura della canna Checking temperature ... @@ -164,4 +167,4 @@ Температура - + \ No newline at end of file diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 5e9aaa701d..d4dbf701f5 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -118,6 +118,7 @@ YABHON-R3 (штурмовик) YABHON-R3 (CAS) YABHON-R3 (Légitámogató) + YABHON-R3 (CAS) M-ATV @@ -728,6 +729,7 @@ CH-47I Chinook (neozbrojený) CH-47I Chinook (Neozbrojený) CH-47I Chinook (fegyvertelen) + CH-47I Chinook (disarmato) A-10D Thunderbolt II @@ -1050,6 +1052,7 @@ P99 P99 P99 + P99 MP-443 Grach @@ -1060,6 +1063,7 @@ MP-443 Grach MP-443 Grach МР-443 "Грач" + MP-443 Grach ACP-C2 @@ -1070,6 +1074,7 @@ ACP-C2 ACP-C2 ACP-C2 + ACP-C2 FNX-45 Tactical @@ -1080,6 +1085,7 @@ FNX-45 Tactical FNX-45 Tactical FNX-45 Tactical + FNX-45 Tactical Chiappa Rhino 60DS @@ -1090,6 +1096,7 @@ Chiappa Rhino 6DS Chiappa Rhino 60DS Chiappa Rhino 60DS + Chiappa Rhino 6DS Taurus Judge @@ -1100,6 +1107,7 @@ Taurus Judge Taurus Judge Taurus Judge + Taurus Judge NLAW @@ -1110,6 +1118,7 @@ NLAW NLAW NLAW + NLAW RPG-32 @@ -1120,6 +1129,7 @@ RPG-32 RPG-32 РПГ-32 + RPG-32 Mini-Spike (AA) @@ -1130,6 +1140,7 @@ Mini-Spike (Repülő-elhárító) Mini-Spike (AA) Mini-Spike (AA) + Mini-Spike (AA) Mini-Spike (AT) @@ -1140,6 +1151,7 @@ Mini-Spike (Tankelhárító) Mini-Spike (AT) Mini-Spike (AT) + Mini-Spike (AT) MX @@ -1150,6 +1162,7 @@ MX MX MX + MX MX (Black) @@ -1160,6 +1173,7 @@ MX (Fekete) MX (Negro) MX (черный) + MX (Nero) MXC @@ -1170,6 +1184,7 @@ MXC MXC MXC + MXC MXC (Black) @@ -1180,6 +1195,7 @@ MXC (Fekete) MXC (Negro) MXC (черный) + MXC (Nero) MX 3GL @@ -1190,6 +1206,7 @@ MX 3GL MX 3GL MX 3GL + MX 3GL MX 3GL (Black) @@ -1200,6 +1217,7 @@ MX 3GL (Fekete) MX 3GL (Negro) MX 3GL (черный) + MX 3GL (Nero) MX LSW @@ -1210,6 +1228,7 @@ MX LSW MX LSW MX LSW + MX LSW MX LSW (Black) @@ -1220,6 +1239,7 @@ MX LSW (Fekete) MX LSW (Negro) MX LSW (черный) + MX LSW (Nero) MXM @@ -1230,6 +1250,7 @@ MXM MXM MXM + MXM MXM (Black) @@ -1240,6 +1261,7 @@ MXM (Fekete) MXM (Negro) MXM (черный) + MXM (Nero) KT2002 Katiba @@ -1250,6 +1272,7 @@ KT2002 Katiba KT2002 Katiba KT2002 Катиба + KT2002 Katiba KT2002C Katiba @@ -1260,6 +1283,7 @@ KT2002C Katiba KT2002C Katiba KT2002C Катиба + KT2002C Katiba KT2002 Katiba KGL @@ -1270,6 +1294,7 @@ KT2002 Katiba KGL KT2002 Katiba KGL KT2002 Катиба KGL + KT2002 Katiba KGL F2000 (Camo) @@ -1280,6 +1305,7 @@ F2000 (Terepmintás) F2000 (Camuflaje) F2000 (камо) + F2000 (Camo) F2000 @@ -1290,6 +1316,7 @@ F2000 F2000 F2000 + F2000 F2000 Tactical (Camo) @@ -1300,6 +1327,7 @@ F2000 Tactical (Terepmintás) F2000 Tactical (Camuflaje) F2000 Tactical (камо) + F2000 Tactical (Camo) F2000 Tactical @@ -1310,6 +1338,7 @@ F2000 Tactical F2000 Tactical F2000 Tactical + F2000 Tactical F2000 EGLM (Camo) @@ -1320,6 +1349,7 @@ F2000 EGLM (Terepmintás) F2000 EGLM (Camuflaje) F2000 EGLM (камо) + F2000 EGLM (Camo) F2000 EGLM @@ -1330,6 +1360,7 @@ F2000 EGLM F2000 EGLM F2000 EGLM + F2000 EGLM TAR-21 @@ -1340,6 +1371,7 @@ TAR-21 TAR-21 TAR-21 + TAR-21 CTAR-21 @@ -1350,6 +1382,7 @@ CTAR-21 CTAR-21 CTAR-21 + CTAR-21 TAR-21 EGLM @@ -1360,6 +1393,7 @@ TAR-21 EGLM TAR-21 EGLM TAR-21 EGLM + TAR-21 EGLM Vector SMG @@ -1370,6 +1404,7 @@ Vector SMG Vector SMG Vector SMG + Vector SMG Scorpion Evo 3 A1 @@ -1380,6 +1415,7 @@ Scorpion Evo 3 A1 Scorpion Evo 3 A1 Scorpion Evo 3 A1 + Scorpion Evo 3 A1 CPW @@ -1390,6 +1426,7 @@ CPW CPW CPW + CPW RFB SDAR @@ -1400,6 +1437,7 @@ RFB SDAR RFB SDAR RFB SDAR + RFB SDAR Stoner 99 LMG @@ -1410,6 +1448,7 @@ Stoner 99 Könnyűgéppuska Stoner 99 LMG Stoner 99 LMG + Stoner 99 LMG Negev NG7 @@ -1420,6 +1459,7 @@ Negev NG7 Negev NG7 Negev NG7 + Negev NG7 Mk14 Mod 1 EBR @@ -1430,6 +1470,7 @@ Mk14 Mod 1 EBR Mk14 Mod 1 EBR Mk14 Mod 1 EBR + Mk14 Mod 1 EBR GM6 Lynx @@ -1440,6 +1481,7 @@ GM6 Gepárd GM6 Lynx GM6 Lynx + GM6 Lynx GM6 Lynx (Camo) @@ -1450,6 +1492,7 @@ GM6 Gepárd (Terepmintás) GM6 Lynx (Camuflaje) GM6 Lynx (камо) + GM6 Lynx (Camo) M200 Intervention @@ -1460,6 +1503,7 @@ M200 Intervention M200 Intervention M200 Intervention + M200 Intervention M200 Intervention (Camo) @@ -1470,6 +1514,7 @@ M200 Intervention (Terepmintás) M200 Intervention (Camuflaje) M200 Intervention (камо) + M200 Intervention (Camo) VS-121 @@ -1480,6 +1525,7 @@ VS-121 VS-121 VS-121 + VS-121 Noreen "Bad News" ULR @@ -1487,6 +1533,7 @@ Noreen "Bad News" ULR Noreen "Bad News" ULR Noreen "Bad News" ULR + Noreen "Bad News" ULR Noreen "Bad News" ULR (Black) @@ -1494,6 +1541,7 @@ Noreen "Bad News" ULR (Noir) Noreen "Bad News" ULR (Negro) Noreen "Bad News" ULR (черный) + Noreen "Bad News" ULR (Nero) Noreen "Bad News" ULR (Camo) @@ -1501,6 +1549,7 @@ Noreen "Bad News" ULR (Camo) Noreen "Bad News" ULR (Camuflaje) Noreen "Bad News" ULR (камо) + Noreen "Bad News" ULR (Camo) Noreen "Bad News" ULR (Sand) @@ -1508,6 +1557,7 @@ Noreen "Bad News" ULR (Beige) Noreen "Bad News" ULR (Arena) Noreen "Bad News" ULR (песочный) + Noreen "Bad News" ULR (Sabbia) SIG 556 @@ -1516,6 +1566,7 @@ SIG 556 SIG 556 SIG 556 + SIG 556 SIG 556 (Black) @@ -1524,6 +1575,7 @@ SIG 556 (Negro) SIG 556 (черный) SIG 556 (czarny) + SIG 556 (Nero) SIG 556 (Khaki) @@ -1532,6 +1584,7 @@ SIG 556 (Caqui) SIG 556 (хаки) SIG 556 (khaki) + SIG 556 (Khaki) SIG 556 (Sand) @@ -1540,6 +1593,7 @@ SIG 556 (Arena) SIG 556 (песочный) SIG 556 (piaskowy) + SIG 556 (Sabbia) SIG 556 (Camo) @@ -1548,6 +1602,7 @@ SIG 556 (Camuflaje) SIG 556 (камо) SIG 556 (kamuflaż) + SIG 556 (Camo) SIG 556 (Woodland) @@ -1556,6 +1611,7 @@ SIG 556 (Bosque) SIG 556 (лесной) SIG 556 (leśny) + SIG 556 (Woodland) SIG 556 (provisional) spotter @@ -1564,6 +1620,7 @@ SIG 556 (provisional) observador SIG 556 (provisional) корректировщик SIG 556 (prowizoryczny) obserwator + SIG 556 (provisional) spotter ASP-1 Kir @@ -1571,6 +1628,7 @@ ASP-1 Kir ASP-1 Kir ASP-1 Kir + ASP-1 Kir ASP-1 Kir (Black) @@ -1578,6 +1636,7 @@ ASP-1 Kir (Noir) ASP-1 Kir (Negro) ASP-1 Kir (черный) + ASP-1 Kir (Nero) ASP-1 Kir (Tan) @@ -1585,6 +1644,7 @@ ASP-1 Kir (Tan) ASP-1 Kir (Tan) ASP-1 Kir (бронзовый) + ASP-1 Kir (Tan) Cyrus @@ -1592,6 +1652,7 @@ Cyrus Cyrus Cyrus + Cyrus Cyrus (Black) @@ -1599,6 +1660,7 @@ Cyrus (Noir) Cyrus (Negro) Cyrus (черный) + Cyrus (Nero) Cyrus (Hex) @@ -1606,6 +1668,7 @@ Cyrus (Hex) Cyrus (Hex) Cyrus (гекс) + Cyrus (Hex) Cyrus (Tan) @@ -1613,6 +1676,7 @@ Cyrus (Tan) Cyrus (Tan) Cyrus (бронза) + Cyrus (Tan) M14 @@ -1621,6 +1685,7 @@ M14 M14 M14 + M14 M14 (Camo) @@ -1629,6 +1694,7 @@ M14 (Camuflaje) M14 (Камо) M14 (kamuflaż) + M14 (Camo) M14 (Olive) @@ -1637,6 +1703,7 @@ M14 (Oliva) M14 (Олива) M14 (oliwkowy) + M14 (Olive) HK121 @@ -1644,6 +1711,7 @@ HK121 HK121 HK121 + HK121 HK121 (Hex) @@ -1651,6 +1719,7 @@ HK121 (Hex) HK121 (Hex) HK121 (гекс) + HK121 (Hex) HK121 (Tan) @@ -1658,6 +1727,7 @@ HK121 (Tan) HK121 (Tan) HK121 (бронза) + HK121 (Tan) LWMMG @@ -1666,6 +1736,7 @@ LWMMG LWMMG LWMMG + LWMMG LWMMG (MTP) @@ -1674,6 +1745,7 @@ LWMMG (MTP) LWMMG (MTP) LWMMG (MTP) + LWMMG (MTP) LWMMG (Black) @@ -1682,6 +1754,7 @@ LWMMG (Negro) LWMMG (Черный) LWMMG (czarny) + LWMMG (Nero) LWMMG (Sand) @@ -1690,6 +1763,7 @@ LWMMG (Arena) LWMMG (Песочный) LWMMG (piaskowy) + LWMMG (Sabbia) - + \ No newline at end of file diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 75f711e20e..95cc7123ed 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -52,6 +52,7 @@ Точка сбора Синих (База) Punkt zbiórki Zachodu (Baza) Point de ralliement OUEST (Base) + Rallypoint West (Base) Rallypoint East (Base) @@ -60,6 +61,7 @@ Точка сбора Красных (База) Punkt zbiórki Wschodu (Baza) Point de ralliement EST (Base) + Rallypoint East (Base) Rallypoint Independent (Base) @@ -68,6 +70,7 @@ Точка сбора Независимых (База) Punkt zbiórki Ruchu oporu (Baza) Point de ralliement Indépendant (Base) + Rallypoint Independent (Base) Rallypoint West @@ -76,6 +79,7 @@ Точка сбора Синих Punkt zbiórki Zachodu Point de ralliement OUEST + Rallypoint West Rallypoint East @@ -84,6 +88,7 @@ Точка сбора Красных Punkt zbiórki Wschodu Point de ralliement EST + Rallypoint East Rallypoint Independent @@ -92,6 +97,7 @@ Точка сбора Независимых Punkt zbiórki Ruchu oporu Point de ralliement Indépendant + Rallypoint Independent - + \ No newline at end of file diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index e62f9fdc5f..5dcab5fe2f 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -98,7 +98,7 @@ Egy kulcs, ami a KELET egységeinek legtöbb járművét ki tudja nyitni. Klíč který by měl otevřít vetšinu Východních vozidel. Ключ для открытия большинства машин Синих. - Una chaive che apr ela maggior parte dei veicoli EAST + Una chaive che apre la maggior parte dei veicoli EAST A key that should open most INDEP vehicle. @@ -123,4 +123,4 @@ Una chaive che apr ela maggior parte dei veicoli CIV - + \ No newline at end of file From 989332831f582e8dc351960730a6bfdc909e59b0 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 29 Apr 2015 17:42:37 +0200 Subject: [PATCH 110/478] Added frag configs for 82mm and 155mm shells --- addons/frag/CfgAmmo.hpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index 3cfb27dfaf..3db80f0395 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -98,7 +98,14 @@ class CfgAmmo { }; // curator ammo entries - class Sh_82mm_AMOS; + class ShellBase; + class Sh_82mm_AMOS : ShellBase { + // Source: http://www.arsenal-bg.com/defense_police/mortar_bombs_82mm.htm + GVAR(metal) = 3200; + GVAR(charge) = 420; + GVAR(gurney_c) = 1906; + GVAR(gurney_k) = 1/2; + }; class ModuleOrdnanceMortar_F_Ammo: Sh_82mm_AMOS { GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 800; @@ -107,7 +114,14 @@ class CfgAmmo { GVAR(gurney_k) = 1/2; }; - class Sh_155mm_AMOS; + class Sh_155mm_AMOS: ShellBase { + // Source: http://www.globalsecurity.org/military/systems/munitions/m795.htm + GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; + GVAR(metal) = 36000; + GVAR(charge) = 9979; + GVAR(gurney_c) = 1906; + GVAR(gurney_k) = 1/2; + }; class ModuleOrdnanceHowitzer_F_ammo: Sh_155mm_AMOS { GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 1950; From 00dc0ef01eedc4e6abc0f87e2f3667cade66cb35 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 29 Apr 2015 17:48:19 +0200 Subject: [PATCH 111/478] Added frag classes array for 82mm shell --- addons/frag/CfgAmmo.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index 3db80f0395..726c7e5b57 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -101,6 +101,7 @@ class CfgAmmo { class ShellBase; class Sh_82mm_AMOS : ShellBase { // Source: http://www.arsenal-bg.com/defense_police/mortar_bombs_82mm.htm + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 3200; GVAR(charge) = 420; GVAR(gurney_c) = 1906; From 5a3b672f10e3e05f6342e4f46c4fa61301efe085 Mon Sep 17 00:00:00 2001 From: Lex Rivera Date: Wed, 29 Apr 2015 21:15:32 +0300 Subject: [PATCH 112/478] [compat_asdg] fix MRCO PiP compatibility --- optionals/compat_asdg/config.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/optionals/compat_asdg/config.cpp b/optionals/compat_asdg/config.cpp index b485685c55..c7e7903ce2 100644 --- a/optionals/compat_asdg/config.cpp +++ b/optionals/compat_asdg/config.cpp @@ -28,6 +28,7 @@ class asdg_OpticRail1913: asdg_OpticRail { ACE_optic_Arco_2D = 1; ACE_optic_Arco_PIP = 1; ACE_optic_MRCO_2D = 1; + ACE_optic_MRCO_PIP = 1; ACE_optic_SOS_2D = 1; ACE_optic_SOS_PIP = 1; ACE_optic_LRPS_2D = 1; From 608af39a675b7ef68e859da743954aee3eb12ab2 Mon Sep 17 00:00:00 2001 From: ulteq Date: Wed, 29 Apr 2015 21:22:07 +0200 Subject: [PATCH 113/478] Added proper dummy object cleanup code --- addons/explosives/functions/fnc_detonateExplosive.sqf | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/addons/explosives/functions/fnc_detonateExplosive.sqf b/addons/explosives/functions/fnc_detonateExplosive.sqf index f79f38ae1e..917c874af6 100644 --- a/addons/explosives/functions/fnc_detonateExplosive.sqf +++ b/addons/explosives/functions/fnc_detonateExplosive.sqf @@ -19,13 +19,19 @@ * Public: Yes */ #include "script_component.hpp" -private ["_result", "_ignoreRange", "_pos"]; +private ["_result", "_ignoreRange", "_helpers", "_pos"]; EXPLODE_3_PVT(_this,_unit,_range,_item); _ignoreRange = (_range == -1); _result = true; if (!_ignoreRange && {(_unit distance (_item select 0)) > _range}) exitWith {false}; +_helpers = attachedObjects (_item select 0); +{ + detach _x; + deleteVehicle _x; +} forEach _helpers; + if (getNumber (ConfigFile >> "CfgAmmo" >> typeof (_item select 0) >> "TriggerWhenDestroyed") == 0) then { private ["_exp", "_previousExp"]; _previousExp = _item select 0; From 864c3ea03ba0b08a86078f21bd32b839f5c06f0e Mon Sep 17 00:00:00 2001 From: Dimaslg Date: Wed, 29 Apr 2015 21:23:32 +0200 Subject: [PATCH 114/478] Conflicts resolve again Conflicts resolve again --- addons/missileguidance/stringtable.xml | 1 - addons/optionsmenu/stringtable.xml | 13 ++----------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 5516e1e5db..839a4a3937 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -46,7 +46,6 @@ Hydra-70 DAGR Laser Guided Missile - Missile à guidage Hydra-70 DAGR Misil guiado por láser Hydra-70 DAGR Missile à guidage laser Hydra-70 DAGR Laserowo naprowadzana rakieta Hydra-70 DAGR diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index df71dceb57..64e95133ba 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -149,13 +149,8 @@ Number -<<<<<<< HEAD - Nummer - Número -======= Zahl - Numero ->>>>>>> acemod/master + Número Число Číslo Cyfra @@ -222,12 +217,8 @@ Option Menu UI Scaling Menu option: taille de l'UI Skalowanie UI menu ustawień -<<<<<<< HEAD - Menú de opciónes de escalado de la interfaz de usuario -======= - Opción de escalado del menú UI + Opción de escalado del menú IU UI Skalierung ->>>>>>> acemod/master \ No newline at end of file From 87465b8b102d374f4465cd79520d4e4ad6fae487 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Wed, 29 Apr 2015 21:49:24 +0200 Subject: [PATCH 115/478] fixes #829 --- addons/medical/functions/fnc_handleDamage.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index a8dddcadc8..a989513580 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -63,7 +63,7 @@ if (GVAR(level) >= 2) then { }; }; - if ((_minLethalDamage <= _newDamage) && {[_unit, [_selection] call FUNC(selectionNameToNumber), _newDamage] call FUNC(determineIfFatal)}) then { + if ((_minLethalDamage <= _newDamage) && {[_unit, [_selection] call FUNC(selectionNameToNumber), _newDamage] call FUNC(determineIfFatal)} || !alive vehicle _unit) then { if ([_unit] call FUNC(setDead)) then { _damageReturn = 1; } else { From fce91279b575c09251e739a133feae95bb175ea1 Mon Sep 17 00:00:00 2001 From: bux578 Date: Wed, 29 Apr 2015 22:04:17 +0200 Subject: [PATCH 116/478] add ace3 and banana insignia `[this,"ACE_insignia_logo"] call BIS_fnc_setUnitInsignia;` and `[this,"ACE_insignia_banana"] call BIS_fnc_setUnitInsignia;` --- addons/common/CfgUnitInsignia.hpp | 14 ++++++++++---- addons/common/data/ace3logo_ca.paa | Bin 22016 -> 0 bytes addons/common/data/insignia_ace3logo_ca.paa | Bin 0 -> 33382 bytes addons/common/data/insignia_banana_ca.paa | Bin 0 -> 36279 bytes 4 files changed, 10 insertions(+), 4 deletions(-) delete mode 100644 addons/common/data/ace3logo_ca.paa create mode 100644 addons/common/data/insignia_ace3logo_ca.paa create mode 100644 addons/common/data/insignia_banana_ca.paa diff --git a/addons/common/CfgUnitInsignia.hpp b/addons/common/CfgUnitInsignia.hpp index c12c17c0c0..aba82823c9 100644 --- a/addons/common/CfgUnitInsignia.hpp +++ b/addons/common/CfgUnitInsignia.hpp @@ -1,9 +1,15 @@ class CfgUnitInsignia { - class ACE_insignia { - displayName = "ACE 3"; - author = "kripto202"; - texture = PATHTOF(data\ace3logo_ca.paa); + class ACE_insignia_logo { + displayName = "ACE3"; + author = "$STR_ACE_Common_ACETeam"; + texture = PATHTOF(data\Insignia_ace3logo_ca.paa); + textureVehicle = ""; + }; + class ACE_insignia_banana { + displayName = "ABE3"; + author = "$STR_ACE_Common_ACETeam"; + texture = PATHTOF(data\insignia_banana_ca.paa); textureVehicle = ""; }; }; diff --git a/addons/common/data/ace3logo_ca.paa b/addons/common/data/ace3logo_ca.paa deleted file mode 100644 index d3e6e20c7b3d08d692565170b06d6824e09d82c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22016 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 B%1ZzM diff --git a/addons/common/data/insignia_ace3logo_ca.paa b/addons/common/data/insignia_ace3logo_ca.paa new file mode 100644 index 0000000000000000000000000000000000000000..04640aa187fdd60644c9daebc8e9547f13ada719 GIT binary patch literal 33382 zcmeHw30PBCxAxgN31J9>GZhB{XwDFZSX976f>RZ#MO#s^3@W9TQmeN0wrD0Niq<;T zSy2&DQBl!Siy={Ip-KyF{fez96sb_8ii#G2lbnAYG$Hui@80|T({rEyC#}HC-h1t} z*R6n;Vs}SgXGo)A)yDHSm2F5sonVfCVTscaEOLuqSdMKk|$ zcNyE(BG)3Fg$TzVxZ)9eU5tIO$8M7rULlP5I}Z%Bj1|Pw5u^r-i5I`KcbKuyls{a> z^Y+q4(X9LNfoY@}yUU7=y^wK^B<}M2{j@N;+s;`hy}e*8nM|ApxZw5y6elIQyO4c z{COl#4ITBMn$+|mAdVM#`x`KMxR{jm@pjXI$5L8cpX2Qw zj)yYg;+$|6mm8gcQjut4oQv3HSkM!9_L{CkLO6v-gikut`w7GfThHRNO=`PIyV^>=`p=ut?-ME}3jBG3+52 z3}2(jT;3dPM&dXerDwL4QYP$SX)suKL#Sj73f?+Z%=el|UX=tLho>F5- z7?zYyFbLW%yvCe0qf(%-zIU;ZGGM4_L&#W)LseHwNCpYg6@LAfkZJ)8t}QoiCDa(6 ztYG%sbD&rZl@4i-q*#PnqLm#y_S@2UpU30Zhvf65n3h)}5 zDOiosCF!t9?Z147F76hHp^oyWU1JTF^Q>jzQ> z0b(vX$!L=}Xvzkj)3)+KXK0&I_=*3Xy|uBKr{1(-U=q*6 zkhBGV5G;--lWv}O%4yEIBKRS}B3vk4?@^pVo1Dr+KIG}{U%s#}r4#3zKPzKgyt#LdV3RTN}TD4zZ()`Nf`%&ij=xB0s5f+4x+Zer*YJ!Hf>YUl9UFn?;RI`nGq4^g_6%DYA6mryDorcC1^;WMMlyf5Rg;kr|0Fm*U4@)tdZX6h=?h7ww?MJvTV@XxE(%5ufC7f1 znAHi!U_rR46lu6W_7eX?QU^#|^(Zgv~AEC#1igiO<%JPEv`H4+Y0Tknm zOp7;!QzpmZp0%W*56HA}L+&Bkgs-X(p_JGL4=jRG3(>u3gk%2E{HZ z8T61}GCO{xfmTWKBf)4K&^^DxTE6e26$SbHa#^(ua`pAlJL zn6QsLEEz>VE1pq?y$J8qdg}j+Ar!_l@%1;822&@qVPCFUa)7*3@)LBaTG! zM#?Y<4Qx!`NiibSOr@4n432cIgQinjiE4?^gW|Az-w%|jP;o|%L5B$&FtkbU@Ydy> z#Tm=lkH-c*HZ`rL*#YQN&*BXb(YM6fP# zPN*X)IE+_?WW=%WX_H%?ypH$F!op|J_pkb{@am^|9AGE1=ONE5zySaYn5?=39LM`pINqVo`Kxl*$+(*mn*3p(B z6`nNXgOq0)viZKp3E~pZLgDSz9z0evKSlG4i2rtH75{tB+C>4h&QlU}iO{+vE1bE4 z3se!7?$|;bgs3*1Y3J9qXopCaUyOF+Ay%GIgoW1-PH?DU=B~~;@ZS>=jJZ+jmV!`b%wCGE21zCc@-piu{zNm zZv4-FGcNnZtr6(=9P(L2v7;z$6HBm+=Pj2UsLqdq+WahL@$4f1fz%he?m2E{d(#-r;pPRKOp&_;j(MOaP%?4jY< zAb%5zYfhFc1HcO>&X^+j)q*iBrfx!c=jZ=H zsrs$`CQN3OzjaXS^h-Yrk`+R(CCi5-K%8Id4^%bSkpxnQjaH(>X-eMll`nYE@7sYkKow);9x$Ax%dYT=Z(L-eB&CzfZ;c)eM5I|;h8F|esnf} z3t_=aLt%jEMs>;*gx0PlSOFNfUf|@yJNS%~D_7<&3A?3&sy0+TTw_?g?AumF?H^6Hwe-Eqfej#gsCDN>CI&RovG zjuRSewFc#q22A7B1WDv!iMwE@z{LGRFqlAa@UliDvoQEBsoI}ZPgQrIqfz$?}DYa+9MLb9OU+8bYbJ2oAO2msV5-Vkf>B1Y;&C3N&h*bOGY2~n8d_@=qyDA;H zr`3cG$U;*AFNWFWK3PdAl&Sy5jca6PaUAR-^6Yb!RJcbA!s7Yu=;FoS-{ogZSNtR4 z?T=`aB71WxrSsm?m<}d1A;nddOBz!r#7dcXZT3I#XlLP#r)D-af&qb68WAH z>{@ZDwrP~botWZI$1chynGxXlnVY9(Lsk-f?wX8~H;na@Y9mja4`7G7*F5Dq4slNx zWbLfe-#vBzp3i8+oh8|!XnaBPn z^8E4!BgLvvgW*CdWeGhSMW`7cOJMeH!Vu@fkhIyoLDGztU0%5obS-GvtG^f_vpDrV z?B?s(N~lF(Fr}da(j?mUWqOoDP8-kj9+#TdmTpmI(K`2={eIljmbG#y0ru4qN$-rU4J7(42 zCSA+cx}8}W7jNrQ2ai7!Uv-)=C(5K;;+TSYGIpr2hW%b;=@{zE2BJgv;x7PkwJU1M z9@9dZ1Y4pu&`dNOmzs@~!3Qo?jeDYOS{ilQuakEgik+KOz_Fk5O`yy;3hr4vNu^pavHfN1u_UAI~8*5*e zDr0KmWftFcue%SeNzRm+r{zj;fkLNw!axv6#A`GXaB0Cra$!M@%qWWF1HQ4XncxFS zGTBzDK>DP&iXf1yB2bmfnd@UT7AIg{jBsl07OR;Ki6pl@Rq+oiO7Q>He5d{)* z7aW|IG;iK$)?F7m{PY!y`8PEGxIs@D=Agdunj^F+Wp!9#AR8!b)C;pOO8!!}IWE%a zZp#Am;Q%(6Fb9s6gU{AKZmVIx;W$3&YHFf$N3qeMl!zK zGPt9LL9Oxpj{4h^lD%LKBCm$D%JlSXi1Mz2)e(CAc|tu7$#Hq7j;y-yy>SeTu!J3u+^Tza(0Yj z10n9fB)cp1N8iyCI)UT32naap7<6IsNRDC$BEOcYd6c0aN;wf$M;Rx2{zNeE`*3p! zVg<=81I8mit^buWc%Z^1S02*w+)ESmk42!KrvFPkHvhPm)3=e~z${plzm7zg~?-pi40kOO0o z{4B1;Xhwlfoj7-nQjL7HWs{5@CoLMe*ZEU@1jY4z&F?;Gcpq4*S!fzf>lW#L)9|N< zgHwiw@HzFqs)?g0l|z(#H_5JsD7+=5bT6C^%9(j2n<%xcnAlfle1AgP-p^?+u(qQ^ zX6%peiYxVp=*t)vo}zUNSLctQ7!TxeNgqIQj<1Au$jphCZ|SZJ{}8l%s(SjB53^CI zUzWR07V)KogM^TdkUom${X9@q%{HnmcT{YGE~8Pj++`H2QV&B%k6v0&LGqs*%)vE+ z6Z-MYD@w}nI@%C6KZiECyrQfkbp8#YPNb3PsCQq!q4ZN3BZAB+X!Y#bd-a6D39ncl zI7|RrIfi?dtUH{mr%a)KIR!FxC}=dc+HoRFd%pnXS$z4NHA2>#}>(7T?W_Xm&GdUKbK2S8nqgL8(WfMaqZG6zhPdm$Frq zrtb<(&K3ty>_2f@6uhI=)y>shv^I`rc)fC9tJ} zux#>O>zeut$+)4_$KHlhrYBl+tYJF%NeOH>In%ve4471xIDH!?w*;=d9LfeJepOvN ziDqaNosnNg!4?=WKj252`?sg&Bb3o?WWP8L!|U|UzeYIEy?vlKf?|2p*uiJB%?WV$e#rbo(oqV?Tp^s8~?GCT--k%wKXw~O8 zHssN&r2(Ev{N7@Et-0Y-Fd0Z=XPm@9%M$76_;HT8lpzd!6U+Stw!|ZF;F=jy{fOe49Huej?bRaxSs3dP@LA zw#v-hTq9u?G|;TOHoSc#rCu-P0;Y1?DZ@aN9lLZJty)*&rGb;3*OCTOeHaeRYmYWv z`s_i-yICL$Jlmrw`e#1xDgE~N~?2s>IilTf-P zll%=yM}3I`DEO!s!B^>5vqG_Tur1%HE~PCFv6b;+0#f~WvA0}zp#&>4_p!NxMC5pD}1L{cGHS7_Za-MKgT zMdqAcdxFy8*(a)GO8=^Am<7`7PdAj6QC#@^apOqcaX&JMW_tmFyuC|GC=+vVgClM5 zLWVty3ixZph4n+yV6z^RbV^nbVs>yZ8J?f{jR2M0+O5!t-w=>JF}00nZ^I>QpSx8MDKYF!T|W zFZWrMB{TY6+v~b$Cdn>S)2JkK`9#X-x#S0uJrVDE(7DhKY_KC46LIxC=7WHg5x+`jMjIU{(eLCROQ2}#EDJwmr2K;_OChz zP9pG+DoA+~E=Gj^z%F8ay%7XOcxRA7w;s#vG^CX!qkhm*S zkI;tQD4N+il{V9N2;Gs{<>`B6{Jp1c;pGTQrMi84g)CgYJMKC>L0W@ z_8aUwS~qO^w_lLVNvY}cucMTd(PPDW!mwXAe%ZoSlF@=F(zhOxa|ae=e#mDVKXy!H zY14AbcM7dKa7hBP^FqS>@s4t($+MP%1a434q`oj6O83k!h9EWnu0&?=kZP`n?&YL# z07}w5+Tp{P9KZWczs!5|X}AjW*XZ=>F=*K2f(5XdiSD$vMYHDp7GAemKex}Jm?fZb zA60zn>Mb-AkAkAsLr^`6UKx_s0FO+PDh83vMX74$h%1GoSe*|OiN0O4W(}p1j2kzf zR+pi=b)J;mQj!ce!Xi}h_`~b8Dl1x^N9+3cNjXaEJ}Di@XZIpa>(`a@uU@@MFz#?; z(|+w*3&A=EaM6+^9G>g4Lm?X)?&#-kEQ(l*I z9~2aQKpJACx}YhG=Td4nNVJCI2Ox4rAmzZYFv^6#JamA}K#2;gJytJXyz>(RqF2ja z?C3#^VppSe>z1`sX5lfX0jCKAE|^_jSh$lkZ4W7#i!vez^;~f38;j0aD9)7$iX_!v zN_D}noezM^`u+1tNrNApL-Mo2D76zxdu4DNt$VFK8jdt>XktN)no#@Gdq{YyA&fK5db#K{Tbo* z;G*+)Y7W=^zASOL5|V;_T%>S{V0(7trndm$9mV@ObD%F9ja=56&0(CXPc1ySs1hhj z2Yq;tHoBI{Y1P-kKPAgF-h{8kd!UA7L!?D%#|Z7{l8LmgZg%+^T3xsQ)2!OnwAS#= zK$=NKN(e@j$zj95ddfVLbY32yqqNwd7Q!OGUZg#;Ee1ALIU|6RvuBA$mjK6Tfq+o8 zq?ISrO4t|VMGdj=ByqOH1y0$!D+3r|01HnI1!?{)7QhO9*nCPIt_z$tErB#?azb$u z_OwCGj^pHvN)FEEG?p%!SRyyzKBn=Q4+l0P*9g*lEGmqnRd@(I-!ws{y@qD~+6Q5m z!KCbd0eS9bYAeOQg&MQRq)^O6RQcP)?X>FBsNQg2{TaHE((nbPb5R;UBn^K`xsZY{ zexghxvd&H+)!!w4Hs}C6lflp%lfJG7%`n$eY1PkV^4>Ia1%+H%P0-w_y+2K&RK7_Y zcav&bs(RZ8^W=+;ANjBwg}J%+?)!$FquKq49$zqzW&m+{*H=w zUe4&CHBE%sJw1@C*g7wdWc=U(=BO$SJhlvOynljJXGxWB*8D)L@1t)*3X>?a=&Wm9 zCc%opY;p?g@+g&GSvuUyk3ziCD0>81RG>t*IXrEy}!c-&qIM}@V1LA1I7 zo!WD^g4WK+4WZS)Ag_ZJZnWhFlTT|aHbbtv2KLgAEYqVY9a?m%P*ya&RM;wz5|`IW z_)X|lVni9GiP-8Cl~0+RPV|nVxtYbQPm^j2u9`jPZ8%REom&~g;0$|e+rsS4up{sJ zpp1l!eIhx0=S7@W4aoC239R(`;RMMJ0e{Qe+cK3>GV}5Xwo$zhsjJfJDMo-6d|9;w zRvHyxpj7CaKDC58JW=}aGdanQ1ybi*N{y6i$Pd9Sq~U^;+ZPp(Pn#ZwrNGU7Re1=_ zoIrPz);YoxkFeh3A-E=O*hs3c!(;=`6oZ5@-F{YXx|32K9K=@OnA;b6JT9)yQD2v< zZ5lc*e{j_~(p(dTxIHAhU&P%F+9Vjf34_yb#`2n`<)hd|aQbbF4&F+e@9vhX)|Jag zz^(&KZTTS&m=fhETj21Mw84|+0z!Uzh1PvINogV(7pd;mZwq$QmZbI+$i4)MCijBP zl&XL4S_!S`|9u1m3all12*FN{Q=tMcw80tWH>G>R^Cb)OkkIrVoA}cYeXr4` zfp0`Urj6rIjG+y0p!{NoO|)sd$CdT8%3|oJpF~S7u^L)+oBP89 z9(NI&R?*zN=xiU_upJFaJr>O0jr5;;OhxJFtCA5U>`H#*?c{^zphRl`+?gUjAPk!Wf`>he+Z4;ge)_AB9?(bEJk&BfzHDC5GF zW|`8n?vuSbTDLMfdmzd7lImte=7dlxLA@cCR12l5oGE@=AuMdUl0z9BQAvRBW!mJ? zbZRH15-LL)J%p>Ai(Mq3jJRG%Id3C8xN)fXhmO>|H_^TBm4Mwe*UPgp4|E&#DLfo* z2j|+pWa>Fe=eA(`Po(-m;__67-XQvbE%Rv8tkew*Y48xNQM9K)R`myBg66ry&|P;Y zlPo7yK4!qOoKq`8C`e)zquz|n0qcm&-b(6To0MPVA7CS(!fbA=BDAaTRrCfDkjXv;pxNtWxC~lD!5@~ zPYFl9U62G9k{YDfa$mPe*Nwlj(U;r**-3v{_;sOFvt_1)lWC7czMEiby(KdaPnj?A z?KOjuu|g5~?i%uXO`-rIlBTtiFz3AMt3Co3b;Nvk`s3@r$iN$25UJ6aiSULwZunO< zg!WG4yRI%vF$vUd5E3y`{1Uqqp0a%4TD4TtM^@yY65me)jjCbmmL(_j(X4~p3e8J3 zvZ9rd3H@p`L=ht5Q7a~gnyGiSFSQ<^G+3tNewk(8+7Gl&*KflHnBdgPSNBvSA*3ug zivRdyXW*{2<~LdRn}k$#BCR149yg|Z0QF$A;+Gz!%vcP91FHsKOC(h~xgded5m>oxFXc(QKZ(vQ6G#?ezgs%&cdY;Th*6KqaPEH6=y?1S>6q_kJTOP#&TY}_ zQ?jx$T+A^s-0vR=@oE0KxmkK2vAs_p+`FOyE69{ z`a|c$opP{F+K0o%VfBr!9!Pqs0&SnOzz(@l)Ow{MO$(q!X6K3a=ir;^81?c#!NKsBMaWxsuS1zzK#`V4!t5<~zP@ z#H(4g2n{`#n{V{`vrUTOxfwvV4n|lC`f$u7OKw_of4YyN5+?qmc_g4HKLk*p+V-* z2blvl9@i_G}LOmulZkgo&2^gmwBztyi% zix$6a#;+HJPLMHprYPbqna1hK-auKA_+F;Vh>v6jY@gFynMPQXiNC(uB5ruB74NTO z{f$E}ddQWI`}JmVb>?(ku*@u|-$%aLiPtSRLvM~XihkTH*W!z% z7IgQaRuuh*9GLnE7IZ;}ys3BHz4V_XN^nvC+qwr8f$HD(rSZ?BOTRioI(zZDT!k**g3}>} zF8wrR-Yqm2Qui}euJ3~JpS|@R>#`sJ>Xwu?Aawr5cW=WlzrOyH+=6~}p;g$IHM>}} zUv#Oe7p+41b(d%pcDA|~+iSn5;MWxZzPX8LxU?wx?z{PNBi?5|ZA91g@C*kTtHvks z^sBsqk*{jT!*XwK;(5A02lDE#e~|Q{HCU}&=WwoO8jwC+2Sf3%ZbC)bUSRIl3(&_&5Co}23#kfj$^%2ncT zzhCQbcJ3uNIoI}j2kJOZNS4c$PB&kIA%#C6C_pQ^*-LJ5C@+>9#Wz;TwGP!DawB$g z9FWid*>x!9DWmv4<`R^!P)MKXh3`Pkik0haP|E@rN!6^!P)MKXh3`&;HQk4?X_S z;}2aD=<$ahf9SG?p8cW6AO3szgJfC3!YX((3dc1Zg!{m`FE;|lHi3E~voI_s=H>QI z>}PBxInh!K$}>VQUWzgZ8-(IBWkP2Jq}IjCEN1=jQVCN3?d*ms#lr zw{>F1I^I77aO^`Hy#StGuZLapKkcOVhpj))pX9Nv|I5$l^X;AUy||tcfAjM_@UzZ8 z@`d#V@br8h+35L?;^}wcuJt^V&-3-z_{W~{*M-}x>wnfi_=Wl9{Q4$z@gEQhc;Zu- z|Czi3czH}{vGEhY%Ny&$FY@CW2Op;p^#t^p3?HY!#Rv{Te|V4RGkqhcz^9|$Z++$c zKRB*#6MWjj469XM&d5<P?D5l!BtzYvF^F?>| zBCl^zKX^R^<-hVi3vUk20QKAS@3$l;bjFOCHe4E-uDIF}dBUoH9^V~)H^3g>2pn_S z9=8{V)Y)TsOTbfmd?lns*oD_94&`3h*oD&-d)Gc~@4{;oVZ~PqyKuTU$6=-|$Lz78@vkO(TyWg|ygfek;4{J=M=@D}_W03f=Pudf^)EjfZjWo* z&vsjn=Y>Zt_U-bP@<&$O0P^H6oHST*X=sk3k!|WG-#S^yXI<^-it}~Z-Q*kcpefA0 zy_sn@TCrbBPAISL0e^$?JN17#gU16Ocj_Pf|MH9aSJ>M_Y3Le7UEbYp>tXNtcUb8& z4W*$m#{~i_?x+V05!Z^n8cKL9vEsPqoNn!%c;m4m212Qo zo>v3V`wuYm{}0=DS3-NXpP!XpM|J1?w)H&cuM0PKUmwHsXU9MDLOZ-;Iy7bue3HlW z_?f%}_}|vApA}Cy)}7vehTnRje{ve|KeNk!d3#EIe>uc`5DL6_f9CZ);QkBxe`3}D zzvus5^mzRjesbL3NtD(!R1^@F$y zew(A%wk_A$iVLgZZHkVLN359l|L*$d-v)Ux!rIQ;qu+&$m+bLcrb*s~*C;xSVcp_A zQD!W*ws(L&hr!E=ndV*P?VC>9)(dZD37s`dZ{t4=>>Jc&iwCiACI?n_RGTRoKSoHS5*hChYyv?w2m)?k1+7Y2%G=!s$BQFqc>*b zzp6TS4u<*IuvbGathXz^!F%Tw@Ig+AR(fkvz~1}y`^AbU9LpJ-YuEoRhzI`>_Jww5 zyZ(GU0sY(N=hxR!{`6fdebB#x*LS}MHvM<{|DZ?z)%c&TX#OGWs+As3KQJjU--@5b zf9XLhF6{LGE_>(uZ`l}j$lA_h=6GPO6$c;A2?crdv*Nhs8`Z2u_p22Tg7|5#|BiZi zi+Dtr|2>N@UH*3i{Mp|BUc|s(xAtAY@33KZ`+xn6lSLZ+@7DSG{VZk{XS2s=^tv#N z2YOu?`00lE{UIhM(dG~Q`fG1y!H4oZ+dp|+Set2=&#h4q9eLgITQO4sd3sm>NagKr z`RyCg`Q7yMYg68BYk#Z%_wDlkPW^k@^1m1M|9^`AIf}fFmTvyF?x~^CO24CiYATNV z+Uzgwnf`6|&adz2yB{j8{dp`tlyA$&`+)vI{WgE7s$Q51E49(%^F7dit95)w^;Brr z+uFSv{ypq%Yv=j1r}qpCZ0*3W!q3moM!&F9l628-et45?lE4n%fcY<8JkT}1T#^J8 zRW{sF&-0&Q!|=98*bk?5lgG|uWh(1>czGD>%9t*^MzNtVtD8RS40}_%+S3&m@C~;7 zo*!>$I%M0Ad7RhuXo|JJ)&KiH?C$?BwfqbJhxqj3esbaS0Gq$^^p7Oj@26`N7jA#n z%|7aw?&qI;mmzlcovsL3^;Ng?(8&kuy4iP1);zoYJ6+MXA-~)Cqknnf9_#veelFxT z+tCMpYV+<|+Z&*LQAeZ2iuwL+d*3}}kJ}4>x7jn_9uk>t^B*2d?v{2tA1?B4?8cwz zz=?~2VsmA=*g`@Nulw|lR=f2VR0?El^UKY4AbV&=@5HhnZqPbWDbW~J9KJx8(hy2jCp z#jmH6W{&H^b2|GwTigGg@!jY-zMiAdT#x^c`YRHbUbp32{QMusf7}iK65qPAYranY z?D+j>{^OU{*v31)zJ}+=Hr{bgXMUb#qZivb{(ucn&*{cL&rj>ER&Tp@SdXR~j(;-C zj-MQUJ^HTx-T4!PJV3s7<2&2!aE_v8X^l)q)8lDO2?KY3RPH!P>a}epL=YXT>{E{*7VnRy^+=xc;+i{}=da z_x?#wxcv+^7wA9l{{p@EcR}i7-~N~FZ~e{f|HFQ~jlbvgU_MzVzt3@N_xbtpGW+q+ z|Bn~?cf%ds$N$s%UsxXoH(Jl+^?ZIj8dMcKjvt{q4rT#q)26 zVg7FO@z{Pn;k-Py@bX{ri4OD^SMcdzsQK>Hw@8FwOMLbMEj-UGdN4169(nZG!!u9l z@rNFN=!pkC@vtWz_Qb<33H10wk3V!-L(l%u;}1Rl(BltX66o=V9)IYvhMxVQ#~=QC z`a=X3fngptOYKq9e@``871X1j9{pHtf&boP5C41Y!RKH)9;418n2ixOqI|>HFvt3(%81L$5hrifW5HISE2Y16e3*z6hYu~=J zpy&nqMc(%9I|}x_fL-nJj$H*sbM5+XgZ0?A3%^ajbyfFZD3pQgg+pUvT-(3f$in|w z86}~M;boO-PH3qj7hYD}Sr%(o=Avok%i1{GV^qG30?PU@Yk$7XGY0B{t(fU7i|J~A z5m)hL!|?I5w*Gust=)X_FW}BH;+R>sGId|REY`07_!n?`EdN+{)(lCz?tvKo&&ntb zg)&N4>-vi~bzgr;=%#qe>vJbh5zGq10z7LNmLo1ZVMo-r$? zYyG=meYss_C{QLEI+Ai8X&uk6pD*ihdA@#ry`AfS`b_`uSH-&NpI?7o`vsf+W6PmT zQQuW|$FJAEZ1D!HPw&=Mmgv=>SP#p0vd+(!+1Z!50tWl&TF>nAl2Eh)+3clLzPT~B z`JwD86y~#Gp5Ba^F}Am;Gr{=eA$4l|93HLnGep z(idN*Z{(o)xqkREG}n_|?R?pn;CL72%NXtD#g~cM<5*a~eSf}8S#MVs3T3L@#`Ep4 zew+R9`pV7Cv&n}q+s-p)+3c5ZFFbz#uH^apt@`)Kf4Y$?Uo@F71Bi*4F=GVOa&VCX zEO|4pFD!Qi6oT*=Ce?W6s4C9WT)P7xVpB=YMg&m;c55R{kVw zxQ9b^%x}-u+pnK>PX(@e9)nwj(UV_5ob9m(J9Frf$N!`D;LZPGaiLAq|G%2O(^4pn z^4?We+2aW9;!I5q;tMi ztJ^kmuoJ_!tcZh`HTYaFD&gO~cEE}~OCW9X?y7$0(-PRFZE3)O66h}w*s2%#KkODW zckX=a_%&RYgg@E z4)pBOPX66If~>CU>Q9yxNPVuyL7UuSjN#1$ZY z4BNq1zwyUh{@qUicXC6q&h}?`JK*>1@QeLlY=`mg&*(oJ@3Vv3Beb9Ixd(tk|G!KF zJou}?|MjB44=xqBZfV;OLQI~A#XLEDIOo}E8q}BqXOs5sSa4ONaKD zn5|{z8gBA@C{oOscV{W+9o}ZdXP-Q7htrQ08@YzaySfVHa&j+i5VE&9gqU>cpDg#c_}F^$jg17H)DfyE@g%}o_Nx5jz*VAi*}NM|cf1T2LA YK%SXr3*fJL@+Gc0)8PZ6pELJA0B578h5!Hn literal 0 HcmV?d00001 diff --git a/addons/common/data/insignia_banana_ca.paa b/addons/common/data/insignia_banana_ca.paa new file mode 100644 index 0000000000000000000000000000000000000000..5302ac07adaa39707d5841de87990bac5d244160 GIT binary patch literal 36279 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 Qj6 Date: Wed, 29 Apr 2015 22:04:46 +0200 Subject: [PATCH 117/478] fixes #838 --- addons/medical/ACE_Settings.hpp | 3 ++- addons/medical/CfgVehicles.hpp | 7 ++++++- addons/medical/functions/fnc_handleDamage.sqf | 2 +- addons/medical/functions/fnc_setDead.sqf | 5 +++-- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index 26fa87e706..1d87803f43 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -60,8 +60,9 @@ class ACE_Settings { value = 0; }; class GVAR(enableRevive) { - typeName = "BOOL"; + typeName = "SCALAR"; value = 0; + values[] = {"Disabled", "Players only", "Players and AI"}; }; class GVAR(maxReviveTime) { typeName = "SCALAR"; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 339abe5a42..f28322baf7 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -238,8 +238,13 @@ class CfgVehicles { class enableRevive { displayName = "Enable Revive"; description = "Enable a basic revive system"; - typeName = "BOOL"; + typeName = "NUMBER"; defaultValue = 0; + class values { + class disable { name = "Disabled"; value = 0; default = 1;}; + class playerOnly { name = "Player only"; value = 1; }; + class playerAndAI { name = "Player & AI"; value = 2; }; + }; }; class maxReviveTime { displayName = "Max Revive time"; diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index a989513580..db799b45ab 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -76,7 +76,7 @@ if (GVAR(level) >= 2) then { }; [_unit] call FUNC(addToInjuredCollection); -if (((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)])) && {_damageReturn >= 0.9} && {_selection in ["", "head", "body"]}) exitWith { +if (((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]) > 0) && {_damageReturn >= 0.9} && {_selection in ["", "head", "body"]}) exitWith { if (vehicle _unit != _unit and {damage _vehicle >= 1}) then { // @todo // [_unit] call FUNC(unload); diff --git a/addons/medical/functions/fnc_setDead.sqf b/addons/medical/functions/fnc_setDead.sqf index 428d6674ab..9d8498cd04 100644 --- a/addons/medical/functions/fnc_setDead.sqf +++ b/addons/medical/functions/fnc_setDead.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_unit", "_force"]; +private ["_unit", "_force", "_reviveVal"]; _unit = _this select 0; _force = false; if (count _this >= 2) then { @@ -26,7 +26,8 @@ if (!local _unit) exitwith { false; }; -if ((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]) && !_force) exitwith { +_reviveVal = _unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]; +if (((_reviveVal == 1 && {[_unit] call EFUNC(common,isPlayer)} || _reviveVal == 2)) && !_force) exitwith { if (_unit getvariable [QGVAR(inReviveState), false]) exitwith { if (GVAR(amountOfReviveLives) > 0) then { _lifesLeft = _unit getvariable[QGVAR(amountOfReviveLives), GVAR(amountOfReviveLives)]; From aaa8171457ff1300f5a22d8bd6feab017541ad7c Mon Sep 17 00:00:00 2001 From: Glowbal Date: Wed, 29 Apr 2015 22:54:58 +0200 Subject: [PATCH 118/478] Implemented prevent instant death #839 --- addons/medical/functions/fnc_handleDamage.sqf | 53 +++++++++++-------- 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index db799b45ab..546a6c44b0 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -37,45 +37,54 @@ if !(_selection in (GVAR(SELECTIONS) + [""])) exitWith {0}; _damageReturn = _damage; if (GVAR(level) < 2) then { _damageReturn = _this call FUNC(handleDamage_basic); -}; - -if (GVAR(level) >= 2) then { +} else { if !([_unit] call FUNC(hasMedicalEnabled)) exitwith { // Because of the config changes, we cannot properly disable the medical system for a unit. // lets use basic for the time being.. _damageReturn = _this call FUNC(handleDamage_basic); }; _newDamage = _this call FUNC(handleDamage_caching); + _typeOfDamage = [_projectile] call FUNC(getTypeOfDamage); - //if (_damageReturn > 0.9) then { + _typeIndex = (GVAR(allAvailableDamageTypes) find _typeOfDamage); + _minLethalDamage = 0.01; + if (_typeIndex >= 0) then { + _minLethalDamage = GVAR(minLethalDamages) select _typeIndex; + }; - _typeOfDamage = [_projectile] call FUNC(getTypeOfDamage); - - _typeIndex = (GVAR(allAvailableDamageTypes) find _typeOfDamage); - _minLethalDamage = 0.01; - if (_typeIndex >= 0) then { - _minLethalDamage = GVAR(minLethalDamages) select _typeIndex; + if (vehicle _unit != _unit && {!(vehicle _unit isKindOf "StaticWeapon")} && {isNull _source} && {_projectile == ""} && {_selection == ""}) then { + if (GVAR(enableVehicleCrashes)) then { + _selection = GVAR(SELECTIONS) select (floor(random(count GVAR(SELECTIONS)))); }; + }; - if (vehicle _unit != _unit && {!(vehicle _unit isKindOf "StaticWeapon")} && {isNull _source} && {_projectile == ""} && {_selection == ""}) then { - if (GVAR(enableVehicleCrashes)) then { - _selection = GVAR(SELECTIONS) select (floor(random(count GVAR(SELECTIONS)))); - }; + if ((_minLethalDamage <= _newDamage) && {[_unit, [_selection] call FUNC(selectionNameToNumber), _newDamage] call FUNC(determineIfFatal)} || !alive vehicle _unit) then { + if ((_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)])) exitwith { + _damageReturn = 0.9; }; - - if ((_minLethalDamage <= _newDamage) && {[_unit, [_selection] call FUNC(selectionNameToNumber), _newDamage] call FUNC(determineIfFatal)} || !alive vehicle _unit) then { - if ([_unit] call FUNC(setDead)) then { - _damageReturn = 1; - } else { - _damageReturn = _damageReturn min 0.89; - }; + if ({[_unit] call FUNC(setDead)}) then { + _damageReturn = 1; } else { _damageReturn = _damageReturn min 0.89; }; - //}; + } else { + _damageReturn = _damageReturn min 0.89; + }; }; [_unit] call FUNC(addToInjuredCollection); +if (_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)]) exitWith { + if (_damageReturn >= 0.9 && {_selection in ["", "head", "body"]}) exitWith { + if (_unit getvariable ["ACE_isUnconscious", false]) exitwith { + [_unit] call FUNC(setDead); + 0.89 + }; + [{ [_this select 0, true] call FUNC(setUnconscious); }, [_unit]] call EFUNC(common,execNextFrame); + 0.89 + }; + _damageReturn min 0.89; +}; + if (((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]) > 0) && {_damageReturn >= 0.9} && {_selection in ["", "head", "body"]}) exitWith { if (vehicle _unit != _unit and {damage _vehicle >= 1}) then { // @todo From 581c64f66faa324cb1ec0382aae51401f65438ab Mon Sep 17 00:00:00 2001 From: Glowbal Date: Wed, 29 Apr 2015 23:12:47 +0200 Subject: [PATCH 119/478] Implemented unloading from vehicles #740 --- addons/interaction/CfgVehicles.hpp | 36 ++++++++++++++++++++++++++++++ addons/medical/CfgVehicles.hpp | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index f6f39808b9..96165d63e3 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -398,6 +398,12 @@ class CfgVehicles { selection = ""; distance = 10; condition = "true"; + class ACE_Passengers { + displayName = "$STR_ACE_Interaction_Passengers"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); + }; }; }; class ACE_SelfActions { @@ -416,6 +422,12 @@ class CfgVehicles { selection = ""; distance = 10; condition = "true"; + class ACE_Passengers { + displayName = "$STR_ACE_Interaction_Passengers"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); + }; }; }; class ACE_SelfActions { @@ -436,6 +448,12 @@ class CfgVehicles { selection = ""; distance = 10; condition = "true"; + class ACE_Passengers { + displayName = "$STR_ACE_Interaction_Passengers"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); + }; }; }; class ACE_SelfActions { @@ -454,6 +472,12 @@ class CfgVehicles { selection = ""; distance = 10; condition = "true"; + class ACE_Passengers { + displayName = "$STR_ACE_Interaction_Passengers"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); + }; }; }; class ACE_SelfActions { @@ -483,6 +507,12 @@ class CfgVehicles { showDisabled = 0; priority = -1; }; + class ACE_Passengers { + displayName = "$STR_ACE_Interaction_Passengers"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); + }; }; }; class ACE_SelfActions { @@ -502,6 +532,12 @@ class CfgVehicles { selection = "gunnerview"; distance = 2; condition = "true"; + class ACE_Passengers { + displayName = "$STR_ACE_Interaction_Passengers"; + condition = "true"; + statement = ""; + insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); + }; }; }; class ACE_SelfActions { diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index f28322baf7..179daae742 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -446,7 +446,7 @@ class CfgVehicles { displayName = "$STR_ACE_MEDICAL_ACTIONS_Medical"; runOnHover = 1; exceptions[] = {"isNotInside"}; - condition = QUOTE(vehicle _target != _target); + condition = QUOTE(vehicle _target != _target && vehicle _target == vehicle _player); statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); icon = PATHTOF(UI\icons\medical_cross.paa); From a39e869728e1c0cff4a94e3f87882d292a869b28 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 29 Apr 2015 16:44:47 -0500 Subject: [PATCH 120/478] Fix extra {} wraped Error position: Error if: Type code, expected Bool File z\ace\addons\medical\functions\fnc_handleDamage.sqf, line 50 --- addons/medical/functions/fnc_handleDamage.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index 546a6c44b0..0a39bea055 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -62,7 +62,7 @@ if (GVAR(level) < 2) then { if ((_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)])) exitwith { _damageReturn = 0.9; }; - if ({[_unit] call FUNC(setDead)}) then { + if ([_unit] call FUNC(setDead)) then { _damageReturn = 1; } else { _damageReturn = _damageReturn min 0.89; From 5fef446c0031fb6609462f19cbf9c419a9915f9d Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 29 Apr 2015 16:53:09 -0500 Subject: [PATCH 121/478] EFUNC for dragging calls --- addons/medical/functions/fnc_actionLoadUnit.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/functions/fnc_actionLoadUnit.sqf b/addons/medical/functions/fnc_actionLoadUnit.sqf index 990467521a..34df6aa085 100644 --- a/addons/medical/functions/fnc_actionLoadUnit.sqf +++ b/addons/medical/functions/fnc_actionLoadUnit.sqf @@ -23,10 +23,10 @@ if ([_target] call EFUNC(common,isAwake)) exitwith { ["displayTextStructured", [_caller], [["This person (%1) is awake and cannot be loaded", [_target] call EFUNC(common,getName)], 1.5, _caller]] call EFUNC(common,targetEvent); }; if ([_target] call FUNC(isBeingCarried)) then { - [_caller, _target] call FUNC(dropObject_carry); + [_caller, _target] call EFUNC(dragging,dropObject_carry); }; if ([_target] call FUNC(isBeingDragged)) then { - [_caller, _target] call FUNC(dropObject); + [_caller, _target] call EFUNC(dragging,dropObject); }; _vehicle = [_caller, _target] call EFUNC(common,loadPerson); From f90834eeaba6e5b2df2b3aeb3d9b79f0212cd893 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 29 Apr 2015 16:57:24 -0500 Subject: [PATCH 122/478] Unused --- addons/medical/functions/fnc_actionLoadUnit.sqf | 6 ------ 1 file changed, 6 deletions(-) diff --git a/addons/medical/functions/fnc_actionLoadUnit.sqf b/addons/medical/functions/fnc_actionLoadUnit.sqf index 34df6aa085..34f93fb11d 100644 --- a/addons/medical/functions/fnc_actionLoadUnit.sqf +++ b/addons/medical/functions/fnc_actionLoadUnit.sqf @@ -30,9 +30,3 @@ if ([_target] call FUNC(isBeingDragged)) then { }; _vehicle = [_caller, _target] call EFUNC(common,loadPerson); -if (!isNull _vehicle) then { - if (!isnil QGVAR(DROP_ADDACTION)) then { - _caller removeAction GVAR(DROP_ADDACTION); - GVAR(DROP_ADDACTION) = nil; - }; -}; From 8e54e6ec13ff59e7014f954b51db43e5652b9232 Mon Sep 17 00:00:00 2001 From: commy2 Date: Thu, 30 Apr 2015 00:53:49 +0200 Subject: [PATCH 123/478] fix setFWS locality issues, fix #892 --- addons/common/CfgEventHandlers.hpp | 2 +- addons/common/functions/fnc_resetAllDefaults.sqf | 1 + addons/common/functions/fnc_setForceWalkStatus.sqf | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/common/CfgEventHandlers.hpp b/addons/common/CfgEventHandlers.hpp index ce0938f063..bea7b6e7bc 100644 --- a/addons/common/CfgEventHandlers.hpp +++ b/addons/common/CfgEventHandlers.hpp @@ -24,7 +24,7 @@ class Extended_InitPost_EventHandlers { init = QUOTE(if (local (_this select 0)) then {_this call FUNC(setName)};); }; class GVAR(forceWalk) { - init = QUOTE(if (local (_this select 0)) then {_this call FUNC(applyForceWalkStatus);};); + init = QUOTE(_this call FUNC(applyForceWalkStatus)); }; class GVAR(muteUnit) { init = QUOTE(_this call FUNC(muteUnitHandleInitPost)); diff --git a/addons/common/functions/fnc_resetAllDefaults.sqf b/addons/common/functions/fnc_resetAllDefaults.sqf index 63e6764d01..64a8e39fa6 100644 --- a/addons/common/functions/fnc_resetAllDefaults.sqf +++ b/addons/common/functions/fnc_resetAllDefaults.sqf @@ -37,3 +37,4 @@ if (isPlayer _unit) then { }; }foreach ([_unit] call FUNC(getAllDefinedSetVariables)); +_unit setVariable ["ACE_forceWalkStatusNumber", 0, true]; diff --git a/addons/common/functions/fnc_setForceWalkStatus.sqf b/addons/common/functions/fnc_setForceWalkStatus.sqf index 52b674015f..477f76297d 100644 --- a/addons/common/functions/fnc_setForceWalkStatus.sqf +++ b/addons/common/functions/fnc_setForceWalkStatus.sqf @@ -50,4 +50,4 @@ _bitmaskNumber = _forceWalkReasonsBooleans call FUNC(toBitmask); _unit setVariable ["ACE_forceWalkStatusNumber", _bitmaskNumber, true]; // actually apply the forceWalk command globaly -[[_unit], QUOTE(FUNC(applyForceWalkStatus)), _unit] call FUNC(execRemoteFnc); +[[_unit], QUOTE(FUNC(applyForceWalkStatus)), 2] call FUNC(execRemoteFnc); From 9aa2e3130acd654f49d477bde9ec8923a9da8f80 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 29 Apr 2015 23:37:52 -0500 Subject: [PATCH 124/478] Options for Shadow/Outline and Text Size --- addons/interact_menu/config.cpp | 16 ++++++++++ .../functions/fnc_renderIcon.sqf | 10 +++--- .../functions/fnc_renderMenu.sqf | 11 +++---- .../functions/fnc_setupTextColors.sqf | 32 +++++++++++-------- 4 files changed, 43 insertions(+), 26 deletions(-) diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index 36172d734f..04a7db9791 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -68,6 +68,22 @@ class ACE_Settings { isClientSettable = 1; displayName = "$STR_ACE_Interact_Menu_ColorShadowMin"; }; + class GVAR(textSize) { + value = 2; + typeName = "SCALAR"; + isClientSettable = 1; + displayName = "Interaction Text Size"; + description = "Interaction Text Size 2"; + values[] = {"$str_very_small", "$str_small", "$str_medium", "$str_large", "$str_very_large"}; + }; + class GVAR(shadowSetting) { + value = 1; + typeName = "SCALAR"; + isClientSettable = 1; + displayName = "Text Shadow"; + description = "Interaction Text Size 2"; + values[] = {"Disabled", "Enabled", "Outline"}; + }; }; class ACE_Extensions { diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index f98e41f18a..f001917b27 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -6,9 +6,7 @@ * 0: Text * 1: Icon * 2: 2d position - * 3: Color - * 4: Shadow Color - * 5: Icon Color + * 3: Text Settings * * Return value: * None @@ -18,7 +16,7 @@ #include "script_component.hpp" #define DEFAULT_ICON QUOTE(\z\ace\addons\interaction\ui\dot_ca.paa) private ["_ctrl", "_pos", "_displayNum"]; -PARAMS_6(_text,_icon,_sPos,_textColor,_shadowColor,_iconColor); +PARAMS_4(_text,_icon,_sPos,_textSettings); //systemChat format ["Icon %1 - %2,%3", _text, _sPos select 0, _sPos select 1]; @@ -33,9 +31,9 @@ if(_icon == "") then { }; _text = if (GVAR(UseListMenu)) then { - format ["%5", _icon, _iconColor, _textColor, _shadowColor, _text] + format ["%3", _icon, _textSettings, _text] } else { - format ["
%5", _icon, _iconColor, _textColor, _shadowColor, "ace_breakLine" callExtension _text]; + format ["
%3", _icon, _textSettings, "ace_breakLine" callExtension _text]; }; //_ctrl ctrlSetStructuredText parseText _text; diff --git a/addons/interact_menu/functions/fnc_renderMenu.sqf b/addons/interact_menu/functions/fnc_renderMenu.sqf index a050374786..29759557c5 100644 --- a/addons/interact_menu/functions/fnc_renderMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderMenu.sqf @@ -43,19 +43,16 @@ _menuInSelectedPath = true; //END_COUNTER(constructing_paths); //BEGIN_COUNTER(constructing_colors); -// Render icon -// ARGB Color (First Hex Pair is transparancy) -_textColor = GVAR(colorSelected); -_shadowColor = GVAR(colorSelectedShadow); +//Get text color settings string +_textSettings = GVAR(colorSelectedSettings); if(!_menuInSelectedPath) then { - _textColor = (GVAR(colorNotSelectedMatrix) select (count _path)) select _menuDepth; - _shadowColor = (GVAR(colorShadowNotSelectedMatrix) select (count _path)) select _menuDepth; + _textSettings = (GVAR(textSettingsMatrix) select (count _path)) select _menuDepth; }; //END_COUNTER(constructing_colors); //BEGIN_COUNTER(fnc_renderIcons); -[_actionData select 1, _actionData select 2, _sPos, _textColor, _shadowColor, "#FFFFFFFF"] call FUNC(renderIcon); +[_actionData select 1, _actionData select 2, _sPos, _textSettings] call FUNC(renderIcon); //END_COUNTER(fnc_renderIcons); diff --git a/addons/interact_menu/functions/fnc_setupTextColors.sqf b/addons/interact_menu/functions/fnc_setupTextColors.sqf index 58f9995985..ed45f4799f 100644 --- a/addons/interact_menu/functions/fnc_setupTextColors.sqf +++ b/addons/interact_menu/functions/fnc_setupTextColors.sqf @@ -12,7 +12,6 @@ */ #include "script_component.hpp" -private ["_mixColor", "_rowT", "_rowS", "_menuDepth", "_pathCount"]; //Mixes 2 colors (number arrays) and makes a color string "#AARRGGBB" for structured text _mixColor = { @@ -30,23 +29,30 @@ _mixColor = { _return }; -GVAR(colorSelected) = [GVAR(colorTextMin), GVAR(colorTextMax), 1] call _mixColor; -GVAR(colorSelectedShadow) = [GVAR(colorShadowMin), GVAR(colorShadowMax), 1] call _mixColor; -GVAR(colorNotSelectedMatrix) = []; -GVAR(colorShadowNotSelectedMatrix) = []; +_textColor = [GVAR(colorTextMin), GVAR(colorTextMax), 1] call _mixColor; +_shadowColor = [GVAR(colorShadowMin), GVAR(colorShadowMax), 1] call _mixColor; +_textSize = switch (GVAR(textSize)) do { + case (0): {0.6}; + case (1): {0.7}; + case (2): {0.8}; + case (3): {0.9}; + case (4): {1}; +}; +GVAR(colorSelectedSettings) = format ["color='%1' size='%2' shadow='%3' shadowColor='%4' shadowOffset='0.06'", _textColor, _textSize, GVAR(shadowSetting), _shadowColor]; + +GVAR(textSettingsMatrix) = []; for "_pathCount" from 0 to 15 do { - _rowT = []; - _rowS = []; + _row = []; for "_menuDepth" from 0 to 15 do { if (_menuDepth > 0) then { - _rowT pushBack ([GVAR(colorTextMin), GVAR(colorTextMax), (((_pathCount - 1) / _menuDepth) max 0.25)] call _mixColor); - _rowS pushBack ([GVAR(colorShadowMin), GVAR(colorShadowMax), (((_pathCount - 1) / _menuDepth) max 0.25)] call _mixColor); + _textColor = [GVAR(colorTextMin), GVAR(colorTextMax), (((_pathCount - 1) / _menuDepth) max 0.25)] call _mixColor; + _shadowColor = [GVAR(colorShadowMin), GVAR(colorShadowMax), (((_pathCount - 1) / _menuDepth) max 0.25)] call _mixColor; } else { - _rowT pushBack ([GVAR(colorTextMin), GVAR(colorTextMax), 0] call _mixColor); - _rowS pushBack ([GVAR(colorShadowMin), GVAR(colorShadowMax), 0] call _mixColor); + _textColor = [GVAR(colorTextMin), GVAR(colorTextMax), 0] call _mixColor; + _shadowColor = [GVAR(colorShadowMin), GVAR(colorShadowMax), 0] call _mixColor; }; + _row pushBack format ["color='%1' size='%2' shadow='%3' shadowColor='%4' shadowOffset='0.06'", _textColor, _textSize, GVAR(shadowSetting), _shadowColor]; }; - GVAR(colorNotSelectedMatrix) pushBack _rowT; - GVAR(colorShadowNotSelectedMatrix) pushBack _rowS; + GVAR(textSettingsMatrix) pushBack _row; }; From 11aafe013be5e756abc9e96c9bb716d9a333398a Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 29 Apr 2015 23:53:00 -0500 Subject: [PATCH 125/478] Localization --- addons/interact_menu/XEH_clientInit.sqf | 4 ++-- addons/interact_menu/config.cpp | 11 +++++------ addons/interact_menu/functions/fnc_renderMenu.sqf | 2 +- .../functions/fnc_setupTextColors.sqf | 1 + addons/interact_menu/stringtable.xml | 14 +++++++++++++- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index 5714b77e16..039bccfe25 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -5,11 +5,11 @@ if (!hasInterface) exitWith {}; GVAR(ParsedTextCached) = []; -//Setup text/shadow color matrix +//Setup text/shadow/size/color settings matrix [] call FUNC(setupTextColors); ["SettingChanged", { PARAMS_1(_name); - if ((_name == QGVAR(colorTextMax)) || {_name == QGVAR(colorTextMin)} || {_name == QGVAR(colorShadowMax)} || {_name == QGVAR(colorShadowMin)}) then { + if (_name in [QGVAR(colorTextMax), QGVAR(colorTextMin), QGVAR(colorShadowMax), QGVAR(colorShadowMin), QGVAR(textSize), QGVAR(shadowSetting)]) then { [] call FUNC(setupTextColors); }; }] call EFUNC(common,addEventhandler); diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index 04a7db9791..1b654531e9 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -72,17 +72,16 @@ class ACE_Settings { value = 2; typeName = "SCALAR"; isClientSettable = 1; - displayName = "Interaction Text Size"; - description = "Interaction Text Size 2"; + displayName = "$STR_ACE_Interact_textSize"; values[] = {"$str_very_small", "$str_small", "$str_medium", "$str_large", "$str_very_large"}; }; class GVAR(shadowSetting) { - value = 1; + value = 2; typeName = "SCALAR"; isClientSettable = 1; - displayName = "Text Shadow"; - description = "Interaction Text Size 2"; - values[] = {"Disabled", "Enabled", "Outline"}; + displayName = "$STR_ACE_Interact_shadowSetting"; + description = "$STR_ACE_Interact_shadowSettingDescription"; + values[] = {"$STR_A3_OPTIONS_DISABLED", "$STR_A3_OPTIONS_ENABLED", "$STR_ACE_Interact_shadowOutline"}; }; }; diff --git a/addons/interact_menu/functions/fnc_renderMenu.sqf b/addons/interact_menu/functions/fnc_renderMenu.sqf index 29759557c5..c4615d8337 100644 --- a/addons/interact_menu/functions/fnc_renderMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderMenu.sqf @@ -15,7 +15,7 @@ */ #include "script_component.hpp" -private ["_menuInSelectedPath", "_path", "_menuDepth", "_x", "_offset", "_newPos", "_forEachIndex", "_player", "_pos", "_shadowColor", "_target", "_textColor"]; +private ["_menuInSelectedPath", "_path", "_menuDepth", "_x", "_offset", "_newPos", "_forEachIndex", "_player", "_pos", "_target", "_textSettings"]; EXPLODE_4_PVT(_this,_parentPath,_action,_sPos,_angles); EXPLODE_3_PVT(_action,_actionData,_activeChildren,_actionObject); diff --git a/addons/interact_menu/functions/fnc_setupTextColors.sqf b/addons/interact_menu/functions/fnc_setupTextColors.sqf index ed45f4799f..0183e9e50b 100644 --- a/addons/interact_menu/functions/fnc_setupTextColors.sqf +++ b/addons/interact_menu/functions/fnc_setupTextColors.sqf @@ -12,6 +12,7 @@ */ #include "script_component.hpp" +private ["_menuDepth", "_mixColor", "_pathCount", "_row", "_shadowColor", "_textColor", "_textSize"]; //Mixes 2 colors (number arrays) and makes a color string "#AARRGGBB" for structured text _mixColor = { diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index b8913ce1c9..5f3f26f1f1 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -115,5 +115,17 @@ Keeps cursor centered and pans the option menu around. Useful if screen size is limited. Garde le curseur au milieu et dispose le menu des options autour. Utile si la taille de l'écran est limitée.
+ + Interaction Text Size + + + Interaction Text Shadow + + + Allows controlling the text's shadow. Outline ignores custom shadow colors. + + + Outline + - + \ No newline at end of file From eb5af0cd89288a96ff55c26424008b58018ef0b3 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 30 Apr 2015 01:17:26 -0500 Subject: [PATCH 126/478] Medical Private Variables --- addons/medical/XEH_postInit.sqf | 5 ++++- .../fnc_actionCheckBloodPressureLocal.sqf | 2 +- .../functions/fnc_actionCheckPulse.sqf | 2 +- .../functions/fnc_actionCheckPulseLocal.sqf | 2 +- .../functions/fnc_actionCheckResponse.sqf | 2 +- .../medical/functions/fnc_actionDiagnose.sqf | 2 +- .../medical/functions/fnc_actionLoadUnit.sqf | 2 +- .../functions/fnc_actionRemoveTourniquet.sqf | 2 +- .../functions/fnc_actionUnloadUnit.sqf | 2 +- .../functions/fnc_addToInjuredCollection.sqf | 2 +- addons/medical/functions/fnc_addToLog.sqf | 2 +- .../medical/functions/fnc_addToTriageCard.sqf | 2 +- .../functions/fnc_addUnloadPatientActions.sqf | 2 +- addons/medical/functions/fnc_canTreat.sqf | 2 +- addons/medical/functions/fnc_copyDeadBody.sqf | 2 +- addons/medical/functions/fnc_createLitter.sqf | 2 +- .../functions/fnc_determineIfFatal.sqf | 2 +- .../fnc_displayPatientInformation.sqf | 4 ++-- .../functions/fnc_displayTriageCard.sqf | 4 ++-- .../functions/fnc_dropDownTriageCard.sqf | 2 +- addons/medical/functions/fnc_getBloodLoss.sqf | 2 +- .../functions/fnc_getHeartRateChange.sqf | 2 +- .../functions/fnc_handleBandageOpening.sqf | 2 +- .../functions/fnc_handleCreateLitter.sqf | 1 + addons/medical/functions/fnc_handleDamage.sqf | 6 +++--- .../functions/fnc_handleDamage_basic.sqf | 2 +- .../functions/fnc_handleDamage_wounds.sqf | 2 +- addons/medical/functions/fnc_handleKilled.sqf | 2 +- .../functions/fnc_handleUnitVitals.sqf | 2 +- addons/medical/functions/fnc_hasItem.sqf | 2 +- addons/medical/functions/fnc_init.sqf | 2 +- addons/medical/functions/fnc_isMedic.sqf | 2 +- .../functions/fnc_modifyMedicalAction.sqf | 20 +++++++++---------- .../functions/fnc_onWoundUpdateRequest.sqf | 2 +- .../functions/fnc_parseConfigForInjuries.sqf | 2 +- .../functions/fnc_playInjuredSound.sqf | 2 +- .../functions/fnc_requestWoundSync.sqf | 2 +- addons/medical/functions/fnc_setDead.sqf | 2 +- .../functions/fnc_setHitPointDamage.sqf | 2 +- .../medical/functions/fnc_setUnconscious.sqf | 2 +- addons/medical/functions/fnc_treatment.sqf | 2 +- .../functions/fnc_treatmentAdvanced_CPR.sqf | 2 +- .../fnc_treatmentAdvanced_bandage.sqf | 2 +- .../fnc_treatmentAdvanced_bandageLocal.sqf | 2 +- .../fnc_treatmentAdvanced_fullHeal.sqf | 2 +- .../fnc_treatmentAdvanced_medication.sqf | 2 +- .../fnc_treatmentAdvanced_medicationLocal.sqf | 6 +++--- .../functions/fnc_treatmentBasic_bandage.sqf | 2 +- addons/medical/functions/fnc_treatmentIV.sqf | 2 +- .../functions/fnc_treatmentIVLocal.sqf | 6 +++--- .../functions/fnc_treatmentTourniquet.sqf | 2 +- .../fnc_treatmentTourniquetLocal.sqf | 2 +- .../functions/fnc_treatment_failure.sqf | 2 +- .../functions/fnc_treatment_success.sqf | 2 +- .../medical/functions/fnc_unconsciousPFH.sqf | 2 +- 55 files changed, 75 insertions(+), 71 deletions(-) diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index a3eb468442..386eb4de93 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -14,6 +14,7 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; ["medical_onUnconscious", { if (local (_this select 0)) then { + private ["_unit"]; _unit = _this select 0; if (_this select 1) then { _unit setVariable ["tf_globalVolume", 0.4]; @@ -36,7 +37,7 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; // Initialize all effects _fnc_createEffect = { - private ["_type", "_layer", "_default"]; + private ["_type", "_layer", "_default", "_effect"]; _type = _this select 0; _layer = _this select 1; _default = _this select 2; @@ -91,6 +92,7 @@ GVAR(effectTimeBlood) = time; // MAIN EFFECTS LOOP [{ + private["_bleeding", "_blood"]; // Zeus interface is open or player is dead; disable everything if (!(isNull (findDisplay 312)) or !(alive ACE_player)) exitWith { GVAR(effectUnconsciousCC) ppEffectEnable false; @@ -155,6 +157,7 @@ GVAR(lastHeartBeatSound) = time; // HEARTRATE BASED EFFECTS [{ + private["_heartRate", "_interval", "_minTime", "_sound", "_strength"]; _heartRate = ACE_player getVariable [QGVAR(heartRate), 70]; if (GVAR(level) == 1) then { _heartRate = 60 + 40 * (ACE_player getVariable [QGVAR(pain), 0]); diff --git a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf index a9228d1760..d686515308 100644 --- a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_caller","_target","_bloodPressure","_bloodPressureHigh","_bloodPressureLow","_title","_content"]; +private ["_caller","_target","_bloodPressure","_bloodPressureHigh","_bloodPressureLow", "_logOutPut", "_output"]; _caller = _this select 0; _target = _this select 1; diff --git a/addons/medical/functions/fnc_actionCheckPulse.sqf b/addons/medical/functions/fnc_actionCheckPulse.sqf index f545c11144..fd96321e8f 100644 --- a/addons/medical/functions/fnc_actionCheckPulse.sqf +++ b/addons/medical/functions/fnc_actionCheckPulse.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_caller","_target","_title","_content"]; +private ["_caller","_target"]; _caller = _this select 0; _target = _this select 1; [[_caller, _target], QUOTE(DFUNC(actionCheckPulseLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ diff --git a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf index dcb098c925..f035ae18ad 100644 --- a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_caller","_unit", "_heartRateOutput", "_heartRate","_logOutPut","_content"]; +private ["_caller", "_unit", "_heartRateOutput", "_heartRate", "_logOutPut"]; _caller = _this select 0; _unit = _this select 1; diff --git a/addons/medical/functions/fnc_actionCheckResponse.sqf b/addons/medical/functions/fnc_actionCheckResponse.sqf index c483706274..babd93bf92 100644 --- a/addons/medical/functions/fnc_actionCheckResponse.sqf +++ b/addons/medical/functions/fnc_actionCheckResponse.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_caller","_target"]; +private ["_caller","_target", "_output"]; _caller = _this select 0; _target = _this select 1; diff --git a/addons/medical/functions/fnc_actionDiagnose.sqf b/addons/medical/functions/fnc_actionDiagnose.sqf index 886fa4752b..692414027a 100644 --- a/addons/medical/functions/fnc_actionDiagnose.sqf +++ b/addons/medical/functions/fnc_actionDiagnose.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_caller","_target","_title","_content"]; +private ["_caller", "_target", "_genericMessages"]; _caller = _this select 0; _target = _this select 1; diff --git a/addons/medical/functions/fnc_actionLoadUnit.sqf b/addons/medical/functions/fnc_actionLoadUnit.sqf index 34f93fb11d..03d9a3ef54 100644 --- a/addons/medical/functions/fnc_actionLoadUnit.sqf +++ b/addons/medical/functions/fnc_actionLoadUnit.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_caller", "_target","_vehicle", "_loaded"]; +private ["_caller", "_target","_vehicle"]; _caller = _this select 0; _target = _this select 1; diff --git a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf index 2eafe36732..a14dbc3bcd 100644 --- a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf +++ b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_caller","_target","_part","_selectionName","_removeItem","_tourniquets", "_output"]; +private ["_caller", "_target", "_part", "_selectionName", "_tourniquets", "_output"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_actionUnloadUnit.sqf b/addons/medical/functions/fnc_actionUnloadUnit.sqf index 8c05a43fc9..fd56e6d6bd 100644 --- a/addons/medical/functions/fnc_actionUnloadUnit.sqf +++ b/addons/medical/functions/fnc_actionUnloadUnit.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_caller", "_target","_vehicle", "_drag", "_handle"]; +private ["_caller", "_target", "_drag"]; _caller = _this select 0; _target = _this select 1; _drag = if (count _this > 2) then {_this select 2} else {false}; diff --git a/addons/medical/functions/fnc_addToInjuredCollection.sqf b/addons/medical/functions/fnc_addToInjuredCollection.sqf index cbe146d701..c95db059df 100644 --- a/addons/medical/functions/fnc_addToInjuredCollection.sqf +++ b/addons/medical/functions/fnc_addToInjuredCollection.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private "_unit"; +private ["_unit", "_force"]; _unit = _this select 0; _force = if (count _this > 1) then {_this select 1} else {false}; diff --git a/addons/medical/functions/fnc_addToLog.sqf b/addons/medical/functions/fnc_addToLog.sqf index c36d57b482..46bacf2349 100644 --- a/addons/medical/functions/fnc_addToLog.sqf +++ b/addons/medical/functions/fnc_addToLog.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -private ["_unit", "_type", "_message", "_arguments", "_lastNumber", "_moment", "_logVarName", "_log","_newLog"]; +private ["_unit", "_type", "_message", "_arguments", "_lastNumber", "_moment", "_logVarName", "_log","_newLog", "_logs"]; _unit = _this select 0; _type = _this select 1; _message = _this select 2; diff --git a/addons/medical/functions/fnc_addToTriageCard.sqf b/addons/medical/functions/fnc_addToTriageCard.sqf index 49e642cfc4..61add24cfc 100644 --- a/addons/medical/functions/fnc_addToTriageCard.sqf +++ b/addons/medical/functions/fnc_addToTriageCard.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_unit","_caller","_newItem","_log", "_inList","_amount"]; +private ["_unit", "_newItem", "_log", "_inList", "_amount"]; _unit = _this select 0; _newItem = _this select 1; diff --git a/addons/medical/functions/fnc_addUnloadPatientActions.sqf b/addons/medical/functions/fnc_addUnloadPatientActions.sqf index c792746d47..13a4177859 100644 --- a/addons/medical/functions/fnc_addUnloadPatientActions.sqf +++ b/addons/medical/functions/fnc_addUnloadPatientActions.sqf @@ -16,7 +16,7 @@ EXPLODE_3_PVT(_this,_vehicle,_player,_parameters); -private ["_actions"]; +private ["_actions", "_unit"]; _actions = []; { diff --git a/addons/medical/functions/fnc_canTreat.sqf b/addons/medical/functions/fnc_canTreat.sqf index 5f52759f54..062a696fcd 100644 --- a/addons/medical/functions/fnc_canTreat.sqf +++ b/addons/medical/functions/fnc_canTreat.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -private ["_caller", "_target", "_selectionName", "_className", "_config", "_availableLevels", "_medicRequired", "_items", "_locations", "_return", "_condition"]; +private ["_caller", "_target", "_selectionName", "_className", "_config", "_medicRequired", "_items", "_locations", "_return", "_condition"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_copyDeadBody.sqf b/addons/medical/functions/fnc_copyDeadBody.sqf index 8e476b8662..36bcd91487 100644 --- a/addons/medical/functions/fnc_copyDeadBody.sqf +++ b/addons/medical/functions/fnc_copyDeadBody.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_oldBody","_newUnit","_class","_group","_position","_side","_allVariables"]; +private ["_oldBody","_newUnit","_class","_group","_position","_side", "_caller", "_name"]; _oldBody = _this select 0; _caller = _this select 1; diff --git a/addons/medical/functions/fnc_createLitter.sqf b/addons/medical/functions/fnc_createLitter.sqf index 5299fbb244..253a3ed315 100644 --- a/addons/medical/functions/fnc_createLitter.sqf +++ b/addons/medical/functions/fnc_createLitter.sqf @@ -16,7 +16,7 @@ #define MIN_ENTRIES_LITTER_CONFIG 3 -private ["_target", "_className", "_config", "_litter", "_createLitter", "_litterObject", "_position", "_createdLitter"]; +private ["_target", "_className", "_config", "_litter", "_createLitter", "_position", "_createdLitter", "_caller", "_selectionName", "_usersOfItems"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_determineIfFatal.sqf b/addons/medical/functions/fnc_determineIfFatal.sqf index aedcf161ee..bad15dbcad 100644 --- a/addons/medical/functions/fnc_determineIfFatal.sqf +++ b/addons/medical/functions/fnc_determineIfFatal.sqf @@ -10,7 +10,7 @@ #include "script_component.hpp" -private ["_unit","_part","_damageThreshold", "_withDamage"]; +private ["_unit","_part","_damageThreshold", "_withDamage", "_damageBodyPart"]; _unit = _this select 0; _part = _this select 1; _withDamage = if (count _this > 2) then { _this select 2} else {0}; diff --git a/addons/medical/functions/fnc_displayPatientInformation.sqf b/addons/medical/functions/fnc_displayPatientInformation.sqf index a62bfcacbc..f3385c7d51 100644 --- a/addons/medical/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical/functions/fnc_displayPatientInformation.sqf @@ -16,7 +16,7 @@ // Exit for basic medical if (GVAR(level) < 2) exitWith {}; -private ["_target", "_show", "_selectionN"]; +private ["_target", "_show", "_selectionN", "_amountOfGeneric", "_bandagedwounds", "_logCtrl", "_part", "_partText", "_pointDamage", "_severity", "_total", "_totalIvVolume", "_triageStatus", "_type"]; _target = _this select 0; _show = if (count _this > 1) then {_this select 1} else {true}; _selectionN = if (count _this > 2) then {_this select 2} else {0}; @@ -192,7 +192,7 @@ if (_show) then { _logCtrl = (_display displayCtrl 302); lbClear _logCtrl; - private ["_logs", "_log", "_message", "_moment", "_arguments", "_lbCtrl"]; + private ["_logs", "_message", "_moment", "_arguments", "_lbCtrl"]; _logs = _target getvariable [QGVAR(logFile_Activity), []]; { // [_message,_moment,_type, _arguments] diff --git a/addons/medical/functions/fnc_displayTriageCard.sqf b/addons/medical/functions/fnc_displayTriageCard.sqf index 8e9660a3d5..dd3b44a946 100644 --- a/addons/medical/functions/fnc_displayTriageCard.sqf +++ b/addons/medical/functions/fnc_displayTriageCard.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_target", "_show"]; +private ["_target", "_show", "_amount", "_item", "_log", "_message", "_triageCardTexts", "_triageStatus"]; _target = _this select 0; _show = if (count _this > 1) then {_this select 1} else {true}; @@ -24,7 +24,7 @@ if (_show) then { createDialog QGVAR(triageCard); [{ - private ["_target", "_display", "_alphaLevel", "_damaged", "_availableSelections", "_openWounds", "_selectionBloodLoss", "_red", "_green", "_blue", "_alphaLevel", "_allInjuryTexts", "_lbCtrl", "_genericMessages"]; + private ["_target", "_display", "_alphaLevel", "_alphaLevel", "_lbCtrl"]; _target = (_this select 0) select 0; if (GVAR(TriageCardTarget) != _target) exitwith { [_this select 1] call CBA_fnc_removePerFrameHandler; diff --git a/addons/medical/functions/fnc_dropDownTriageCard.sqf b/addons/medical/functions/fnc_dropDownTriageCard.sqf index 6ea910b7af..6f30152c5f 100644 --- a/addons/medical/functions/fnc_dropDownTriageCard.sqf +++ b/addons/medical/functions/fnc_dropDownTriageCard.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_show"]; +private ["_show", "_ctrl", "_display", "_idc", "_pos"]; _show = _this select 0; disableSerialization; diff --git a/addons/medical/functions/fnc_getBloodLoss.sqf b/addons/medical/functions/fnc_getBloodLoss.sqf index f6b26f7686..414b3a47c7 100644 --- a/addons/medical/functions/fnc_getBloodLoss.sqf +++ b/addons/medical/functions/fnc_getBloodLoss.sqf @@ -15,7 +15,7 @@ #define BLOODLOSSRATE_BASIC 0.2 -private ["_totalBloodLoss","_tourniquets","_openWounds", "_value", "_cardiacOutput", "_internalWounds"]; +private ["_totalBloodLoss","_tourniquets","_openWounds", "_cardiacOutput", "_internalWounds"]; // TODO Only use this calculation if medium or higher, otherwise use vanilla calculations (for basic medical). _totalBloodLoss = 0; diff --git a/addons/medical/functions/fnc_getHeartRateChange.sqf b/addons/medical/functions/fnc_getHeartRateChange.sqf index e7bc9407d2..7429d6dd43 100644 --- a/addons/medical/functions/fnc_getHeartRateChange.sqf +++ b/addons/medical/functions/fnc_getHeartRateChange.sqf @@ -15,7 +15,7 @@ #define HEART_RATE_MODIFIER 0.02 -private ["_unit", "_heartRate", "_hrIncrease", "_bloodLoss", "_time", "_values", "_adjustment", "_adjustments", "_additionalIncrease", "_change", "_callBack", "_bloodVolume"]; +private ["_unit", "_heartRate", "_hrIncrease", "_bloodLoss", "_time", "_values", "_adjustment", "_change", "_callBack", "_bloodVolume"]; _unit = _this select 0; _hrIncrease = 0; if (!(_unit getvariable [QGVAR(inCardiacArrest),false])) then { diff --git a/addons/medical/functions/fnc_handleBandageOpening.sqf b/addons/medical/functions/fnc_handleBandageOpening.sqf index 21211c9c1b..a92bf9029c 100644 --- a/addons/medical/functions/fnc_handleBandageOpening.sqf +++ b/addons/medical/functions/fnc_handleBandageOpening.sqf @@ -18,7 +18,7 @@ #include "script_component.hpp" -private ["_target", "_impact", "_part", "_injuryIndex", "_injury", "_bandage", "_classID", "_className", "_reopeningChance", "_reopeningMinDelay", "_reopeningMaxDelay", "_config", "_woundTreatmentConfig", "_bandagedWounds", "_exist", "_injuryId", "_existingInjury", "_delay", "_openWounds", "_selectedInjury"]; +private ["_target", "_impact", "_part", "_injuryIndex", "_injury", "_bandage", "_classID", "_className", "_reopeningChance", "_reopeningMinDelay", "_reopeningMaxDelay", "_config", "_woundTreatmentConfig", "_bandagedWounds", "_exist", "_injuryId", "_existingInjury", "_delay", "_openWounds", "_selectedInjury", "_bandagedInjury"]; _target = _this select 0; _impact = _this select 1; _part = _this select 2; diff --git a/addons/medical/functions/fnc_handleCreateLitter.sqf b/addons/medical/functions/fnc_handleCreateLitter.sqf index ee7e591cd1..617d05e519 100644 --- a/addons/medical/functions/fnc_handleCreateLitter.sqf +++ b/addons/medical/functions/fnc_handleCreateLitter.sqf @@ -5,6 +5,7 @@ if(!hasInterface) exitWith { false }; PARAMS_3(_litterClass,_position,_direction); private["_litterObject", "_maxLitterCount"]; +//IGNORE_PRIVATE_WARNING(_values); if (isNil QGVAR(allCreatedLitter)) then { GVAR(allCreatedLitter) = []; diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index 0a39bea055..d457762321 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_typeOfDamage"]; +private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_typeOfDamage", "_minLethalDamage", "_newDamage", "_typeIndex"]; _unit = _this select 0; _selection = _this select 1; _damage = _this select 2; @@ -52,7 +52,7 @@ if (GVAR(level) < 2) then { _minLethalDamage = GVAR(minLethalDamages) select _typeIndex; }; - if (vehicle _unit != _unit && {!(vehicle _unit isKindOf "StaticWeapon")} && {isNull _source} && {_projectile == ""} && {_selection == ""}) then { + if (vehicle _unit != _unit && {!(vehicle _unit isKindOf "StaticWeapon")} && {isNull _shooter} && {_projectile == ""} && {_selection == ""}) then { if (GVAR(enableVehicleCrashes)) then { _selection = GVAR(SELECTIONS) select (floor(random(count GVAR(SELECTIONS)))); }; @@ -86,7 +86,7 @@ if (_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)]) exitW }; if (((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]) > 0) && {_damageReturn >= 0.9} && {_selection in ["", "head", "body"]}) exitWith { - if (vehicle _unit != _unit and {damage _vehicle >= 1}) then { + if (vehicle _unit != _unit and {damage (vehicle _unit) >= 1}) then { // @todo // [_unit] call FUNC(unload); }; diff --git a/addons/medical/functions/fnc_handleDamage_basic.sqf b/addons/medical/functions/fnc_handleDamage_basic.sqf index aa9c2f61df..1647cc8442 100644 --- a/addons/medical/functions/fnc_handleDamage_basic.sqf +++ b/addons/medical/functions/fnc_handleDamage_basic.sqf @@ -24,7 +24,7 @@ #define ARMDAMAGETRESHOLD2 1.7 #define UNCONSCIOUSNESSTRESHOLD 0.7 -private ["_unit", "_selectionName", "_damage", "_shooter", "_projectile", "_damage"]; +private ["_unit", "_selectionName", "_damage", "_shooter", "_projectile", "_damage", "_armdamage", "_hitPoint", "_index", "_legdamage", "_newDamage", "_otherDamage", "_pain", "_restore"]; _unit = _this select 0; _selectionName = _this select 1; diff --git a/addons/medical/functions/fnc_handleDamage_wounds.sqf b/addons/medical/functions/fnc_handleDamage_wounds.sqf index b45a974166..9172304dd2 100644 --- a/addons/medical/functions/fnc_handleDamage_wounds.sqf +++ b/addons/medical/functions/fnc_handleDamage_wounds.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_unit", "_selectionName", "_damage", "_typeOfProjectile", "_typeOfDamage", "_bodyPartn", "_woundType", "_injuryTypeInfo", "_allInjuriesForDamageType", "_allPossibleInjuries", "_highestPossibleDamage", "_highestPossibleSpot", "_minDamage", "_openWounds", "_woundID", "_toAddInjury", "_painToAdd"]; +private ["_unit", "_selectionName", "_damage", "_typeOfProjectile", "_typeOfDamage", "_bodyPartn", "_injuryTypeInfo", "_allInjuriesForDamageType", "_allPossibleInjuries", "_highestPossibleDamage", "_highestPossibleSpot", "_minDamage", "_openWounds", "_woundID", "_toAddInjury", "_painToAdd", "_bloodLoss", "_bodyPartNToAdd", "_classType", "_damageLevels", "_foundIndex", "_i", "_injury", "_maxDamage", "_pain", "_painLevel", "_selections", "_toAddClassID", "_woundsCreated"]; _unit = _this select 0; _selectionName = _this select 1; _damage = _this select 2; diff --git a/addons/medical/functions/fnc_handleKilled.sqf b/addons/medical/functions/fnc_handleKilled.sqf index ce0f087836..5003ec189c 100644 --- a/addons/medical/functions/fnc_handleKilled.sqf +++ b/addons/medical/functions/fnc_handleKilled.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private["_unit"]; +private["_unit", "_openWounds"]; _unit = _this select 0; if (!local _unit) exitwith {}; diff --git a/addons/medical/functions/fnc_handleUnitVitals.sqf b/addons/medical/functions/fnc_handleUnitVitals.sqf index 0e01ef654c..aff3b48945 100644 --- a/addons/medical/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical/functions/fnc_handleUnitVitals.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_unit", "_heartRate","_bloodPressure","_bloodVolume","_painStatus", "_lastTimeValuesSynced", "_syncValues"]; +private ["_unit", "_heartRate","_bloodPressure","_bloodVolume","_painStatus", "_lastTimeValuesSynced", "_syncValues", "_airwayStatus", "_blood", "_bloodPressureH", "_bloodPressureL", "_interval"]; _unit = _this select 0; _interval = time - (_unit getVariable [QGVAR(lastMomentVitalsHandled), 0]); diff --git a/addons/medical/functions/fnc_hasItem.sqf b/addons/medical/functions/fnc_hasItem.sqf index 551d532ae4..cfec633b55 100644 --- a/addons/medical/functions/fnc_hasItem.sqf +++ b/addons/medical/functions/fnc_hasItem.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_medic", "_patient", "_item", "_return"]; +private ["_medic", "_patient", "_item", "_return", "_crew"]; _medic = _this select 0; _patient = _this select 1; _item = _this select 2; diff --git a/addons/medical/functions/fnc_init.sqf b/addons/medical/functions/fnc_init.sqf index 80e8d9ba19..0ec6ce3ce2 100644 --- a/addons/medical/functions/fnc_init.sqf +++ b/addons/medical/functions/fnc_init.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_unit", "_allUsedMedication", "_logs", "_forceNew"]; +private ["_unit", "_allUsedMedication", "_logs"]; _unit = _this select 0; diff --git a/addons/medical/functions/fnc_isMedic.sqf b/addons/medical/functions/fnc_isMedic.sqf index cc07948f4b..df5765f16b 100644 --- a/addons/medical/functions/fnc_isMedic.sqf +++ b/addons/medical/functions/fnc_isMedic.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_unit","_class","_return"]; +private ["_unit", "_class", "_medicN"] _unit = _this select 0; _medicN = if (count _this > 1) then {_this select 1} else {1}; diff --git a/addons/medical/functions/fnc_modifyMedicalAction.sqf b/addons/medical/functions/fnc_modifyMedicalAction.sqf index 66398a2590..179ae9eb83 100644 --- a/addons/medical/functions/fnc_modifyMedicalAction.sqf +++ b/addons/medical/functions/fnc_modifyMedicalAction.sqf @@ -19,15 +19,15 @@ EXPLODE_4_PVT(_this,_target,_player,_selectionN,_actionData); if (GVAR(level) < 2) exitwith { - private ["_pointDamage"]; - _pointDamage = _target getHitPointDamage (["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"] select _selectionN); + private ["_pointDamage"]; + _pointDamage = _target getHitPointDamage (["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"] select _selectionN); - if (_pointDamage >= 0.8) exitWith { - _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))]; - }; - if (_pointDamage > 0) exitWith { - _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossYellow.paa))]; - }; + if (_pointDamage >= 0.8) exitWith { + _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))]; + }; + if (_pointDamage > 0) exitWith { + _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossYellow.paa))]; + }; }; private ["_openWounds", "_amountOf"]; @@ -35,6 +35,6 @@ _openWounds = _target getvariable [QGVAR(openWounds), []]; { _amountOf = _x select 3; if (_amountOf > 0 && {(_selectionN == (_x select 2))}) exitwith { - _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))]; + _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))]; }; -}foreach _openWounds; +} foreach _openWounds; diff --git a/addons/medical/functions/fnc_onWoundUpdateRequest.sqf b/addons/medical/functions/fnc_onWoundUpdateRequest.sqf index ccbb373648..3c99496d7b 100644 --- a/addons/medical/functions/fnc_onWoundUpdateRequest.sqf +++ b/addons/medical/functions/fnc_onWoundUpdateRequest.sqf @@ -13,7 +13,7 @@ */ #include "script_component.hpp" -private ["_unit", "_openWounds"]; +private ["_unit", "_openWounds", "_originOfrequest"]; _unit = _this select 0; _originOfrequest = _this select 1; diff --git a/addons/medical/functions/fnc_parseConfigForInjuries.sqf b/addons/medical/functions/fnc_parseConfigForInjuries.sqf index c624b1af1b..503ff9833e 100644 --- a/addons/medical/functions/fnc_parseConfigForInjuries.sqf +++ b/addons/medical/functions/fnc_parseConfigForInjuries.sqf @@ -12,7 +12,7 @@ #include "script_component.hpp" -private ["_injuriesRootConfig", "_woundsConfig", "_allWoundClasses", "_amountOf", "_entry","_classType", "_selections", "_bloodLoss", "_pain","_minDamage","_causes", "_damageTypesConfig", "_thresholds", "_typeThresholds", "_selectionSpecific", "_selectionSpecificType", "_classDisplayName", "_subClassDisplayName", "_maxDamage", "_subClassmaxDamage", "_defaultMinLethalDamage", "_minLethalDamage"]; +private ["_injuriesRootConfig", "_woundsConfig", "_allWoundClasses", "_amountOf", "_entry","_classType", "_selections", "_bloodLoss", "_pain","_minDamage","_causes", "_damageTypesConfig", "_thresholds", "_typeThresholds", "_selectionSpecific", "_selectionSpecificType", "_classDisplayName", "_subClassDisplayName", "_maxDamage", "_subClassmaxDamage", "_defaultMinLethalDamage", "_minLethalDamage", "_allFoundDamageTypes", "_classID", "_configDamageTypes", "_i", "_parseForSubClassWounds", "_subClass", "_subClassConfig", "_subClassbloodLoss", "_subClasscauses", "_subClassminDamage", "_subClasspain", "_subClassselections", "_subClasstype", "_type", "_varName", "_woundTypes"]; _injuriesRootConfig = (configFile >> "ACE_Medical_Advanced" >> "Injuries"); _allFoundDamageTypes = []; diff --git a/addons/medical/functions/fnc_playInjuredSound.sqf b/addons/medical/functions/fnc_playInjuredSound.sqf index 16a7d69116..c48e3d0a4c 100644 --- a/addons/medical/functions/fnc_playInjuredSound.sqf +++ b/addons/medical/functions/fnc_playInjuredSound.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_unit","_amountOfDamage","_bodyPartStatus","_availableSounds_A","_availableSounds_B","_availableSounds_C","_sound"]; +private ["_unit","_availableSounds_A","_availableSounds_B","_availableSounds_C","_sound", "_pain"]; _unit = _this select 0; _pain = _this select 1; if (!local _unit || !GVAR(enableScreams)) exitwith{}; diff --git a/addons/medical/functions/fnc_requestWoundSync.sqf b/addons/medical/functions/fnc_requestWoundSync.sqf index 7144c49684..74fd3e230d 100644 --- a/addons/medical/functions/fnc_requestWoundSync.sqf +++ b/addons/medical/functions/fnc_requestWoundSync.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private [ "_target", "_caller", "_openWounds"]; +private [ "_target", "_caller"]; _target = _this select 0; _caller = _this select 1; diff --git a/addons/medical/functions/fnc_setDead.sqf b/addons/medical/functions/fnc_setDead.sqf index 9d8498cd04..411fd6dc06 100644 --- a/addons/medical/functions/fnc_setDead.sqf +++ b/addons/medical/functions/fnc_setDead.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_unit", "_force", "_reviveVal"]; +private ["_unit", "_force", "_reviveVal", "_lifesLeft"]; _unit = _this select 0; _force = false; if (count _this >= 2) then { diff --git a/addons/medical/functions/fnc_setHitPointDamage.sqf b/addons/medical/functions/fnc_setHitPointDamage.sqf index d71edc94df..18d4fc616e 100644 --- a/addons/medical/functions/fnc_setHitPointDamage.sqf +++ b/addons/medical/functions/fnc_setHitPointDamage.sqf @@ -21,7 +21,7 @@ #define ARMDAMAGETRESHOLD1 1 #define ARMDAMAGETRESHOLD2 1.7 -private ["_unit", "_selection", "_damage", "_selections", "_damages", "_damageOld", "_damageSumOld", "_damageNew", "_damageSumNew", "_damageFinal"]; +private ["_unit", "_selection", "_damage", "_selections", "_damages", "_damageOld", "_damageSumOld", "_damageNew", "_damageSumNew", "_damageFinal", "_armdamage", "_legdamage"]; _unit = _this select 0; _selection = _this select 1; diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 86f9425d23..82e93eb1fb 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -17,7 +17,7 @@ #define DEFAULT_DELAY (round(random(10)+5)) -private ["_unit", "_set", "_animState", "_originalPos", "_captiveSwitch", "_startingTime","_minWaitingTime"]; +private ["_unit", "_set", "_animState", "_originalPos", "_startingTime","_minWaitingTime"]; _unit = _this select 0; _set = if (count _this > 1) then {_this select 1} else {true}; _minWaitingTime = if (count _this > 2) then {_this select 2} else {DEFAULT_DELAY}; diff --git a/addons/medical/functions/fnc_treatment.sqf b/addons/medical/functions/fnc_treatment.sqf index df6cc173d0..f50ff505e0 100644 --- a/addons/medical/functions/fnc_treatment.sqf +++ b/addons/medical/functions/fnc_treatment.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -private ["_caller", "_target", "_selectionName", "_className", "_config", "_availableLevels", "_medicRequired", "_items", "_locations", "_return", "_callbackSuccess", "_callbackFailure", "_callbackProgress", "_treatmentTime", "_callerAnim", "_patientAnim", "_iconDisplayed", "_return", "_usersOfItems", "_consumeItems"]; +private ["_caller", "_target", "_selectionName", "_className", "_config", "_medicRequired", "_items", "_locations", "_return", "_callbackProgress", "_treatmentTime", "_callerAnim", "_patientAnim", "_iconDisplayed", "_return", "_usersOfItems", "_consumeItems", "_condition", "_displayText", "_wpn"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf b/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf index ee3f51f549..0a49420783 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" -private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem"]; +private ["_caller", "_target", "_selectionName", "_className", "_items"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf index 146e996d25..42ca38cd0a 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem"]; +private ["_caller", "_target", "_selectionName", "_className", "_items", "_specificSpot"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf index 2884503599..d6c490d3c6 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_target", "_bandage", "_part", "_selectionName", "_openWounds", "_config", "_effectiveness","_mostEffectiveInjury", "_mostEffectiveSpot", "_woundEffectivenss", "_mostEffectiveInjury", "_impact", "_exit", "_specificClass", "_classID", "_effectivenessFound"]; +private ["_target", "_bandage", "_part", "_selectionName", "_openWounds", "_config", "_effectiveness","_mostEffectiveInjury", "_mostEffectiveSpot", "_woundEffectivenss", "_mostEffectiveInjury", "_impact", "_exit", "_specificClass", "_classID", "_effectivenessFound", "_className", "_hitPoints", "_hitSelections", "_point", "_woundTreatmentConfig"]; _target = _this select 0; _bandage = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf index 807be828e8..63a559a40b 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf @@ -10,7 +10,7 @@ #include "script_component.hpp" -private ["_unit", "_caller", "_selectionName", "_className", "_items"]; +private ["_target"], "_caller", "_selectionName", "_className", "_items"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf index 508040b8af..55057f1758 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem"]; +private ["_caller", "_target", "_selectionName", "_className", "_items"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf index bbf5aea6c0..58f1f8c52b 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_target", "_className", "_currentInSystem", "_medicationConfig", "_painReduce", "_hrIncreaseLow", "_hrIncreaseNorm", "_hrIncreaseHigh", "_maxDose", "_inCompatableMedication", "_timeInSystem", "_heartRate", "_pain", "_resistance", "_hrCallback"]; +private ["_target", "_className", "_currentInSystem", "_medicationConfig", "_painReduce", "_hrIncreaseLow", "_hrIncreaseNorm", "_hrIncreaseHigh", "_maxDose", "_inCompatableMedication", "_timeInSystem", "_heartRate", "_pain", "_resistance", "_hrCallback", "_varName", "_viscosityChange"]]; _target = _this select 0; _className = _this select 1; @@ -77,9 +77,9 @@ if (_painReduce > 0) then { _target setvariable [QGVAR(pain), (_pain - (_pain * _painReduce)) max 0]; }; -_resistance = _unit getvariable [QGVAR(peripheralResistance), 100]; +_resistance = _target getvariable [QGVAR(peripheralResistance), 100]; _resistance = _resistance + _viscosityChange; -_unit setvariable [QGVAR(peripheralResistance), _resistance max 0]; +_target setvariable [QGVAR(peripheralResistance), _resistance max 0]; // Call back to ensure that the medication is decreased over time [_target, _classname, _varName, _maxDose, _timeInSystem, _inCompatableMedication, _viscosityChange] call FUNC(onMedicationUsage); diff --git a/addons/medical/functions/fnc_treatmentBasic_bandage.sqf b/addons/medical/functions/fnc_treatmentBasic_bandage.sqf index 4b07e989aa..75b0b6bfdd 100644 --- a/addons/medical/functions/fnc_treatmentBasic_bandage.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_bandage.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" #define BANDAGEHEAL 0.8 -private ["_caller", "_target","_selection","_className","_target","_hitSelections","_hitPoints","_point"]; +private ["_caller", "_target","_selection","_className","_target","_hitSelections","_hitPoints","_point", "_damage"]; _caller = _this select 0; _target = _this select 1; _selection = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentIV.sqf b/addons/medical/functions/fnc_treatmentIV.sqf index c171d7364f..3a62b9e657 100644 --- a/addons/medical/functions/fnc_treatmentIV.sqf +++ b/addons/medical/functions/fnc_treatmentIV.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem", "_attributes"]; +private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentIVLocal.sqf b/addons/medical/functions/fnc_treatmentIVLocal.sqf index 66ecdf9d90..04708b965f 100644 --- a/addons/medical/functions/fnc_treatmentIVLocal.sqf +++ b/addons/medical/functions/fnc_treatmentIVLocal.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_target", "_ivItem", "_config", "_volumeAdded", "_typeOf", "_varName"]; +private ["_target", "_ivItem", "_config", "_volumeAdded", "_typeOf", "_varName", "_bloodVolume"]; _target = _this select 0; _ivItem = _this select 1; @@ -27,8 +27,8 @@ _config = (configFile >> "ACE_Medical_Advanced" >> "Treatment" >> "IV"); _volumeAdded = getNumber (_config >> "volume"); _typeOf = getText (_config >> "type"); -if (isClass (_config >> _className)) then { - _config = (_config >> _className); +if (isClass (_config >> _ivItem)) then { + _config = (_config >> _ivItem); if (isNumber (_config >> "volume")) then { _volumeAdded = getNumber (_config >> "volume");}; if (isText (_config >> "type")) then { _typeOf = getText (_config >> "type"); }; }; diff --git a/addons/medical/functions/fnc_treatmentTourniquet.sqf b/addons/medical/functions/fnc_treatmentTourniquet.sqf index da50c5c1bf..731797f1f9 100644 --- a/addons/medical/functions/fnc_treatmentTourniquet.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquet.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller","_target","_part","_selectionName","_removeItem", "_tourniquets", "_items", "_output"]; +private ["_caller","_target","_part","_selectionName","_removeItem", "_tourniquets", "_items", "_output", "_className"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; diff --git a/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf b/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf index 289f852a06..02484bbca6 100644 --- a/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf @@ -29,7 +29,7 @@ _tourniquets set[_part, _applyingTo]; _target setvariable [QGVAR(tourniquets), _tourniquets, true]; [{ - private ["_args","_target","_applyingTo","_part", "_tourniquets"]; + private ["_args","_target","_applyingTo","_part", "_tourniquets", "_time"]; _args = _this select 0; _target = _args select 0; _applyingTo = _args select 1; diff --git a/addons/medical/functions/fnc_treatment_failure.sqf b/addons/medical/functions/fnc_treatment_failure.sqf index 33712956a0..c329bf724c 100644 --- a/addons/medical/functions/fnc_treatment_failure.sqf +++ b/addons/medical/functions/fnc_treatment_failure.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller", "_target","_selectionName","_className","_config","_callback", "_usersOfItems", "_weaponSelect"]; +private ["_args", "_caller", "_target","_selectionName","_className","_config","_callback", "_usersOfItems", "_weaponSelect"]; _args = _this select 0; _caller = _args select 0; diff --git a/addons/medical/functions/fnc_treatment_success.sqf b/addons/medical/functions/fnc_treatment_success.sqf index 66406a180a..0178ea78fd 100644 --- a/addons/medical/functions/fnc_treatment_success.sqf +++ b/addons/medical/functions/fnc_treatment_success.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" -private ["_caller", "_target","_selectionName","_className","_config","_callback", "_weaponSelect"]; +private ["_args", "_caller", "_target","_selectionName","_className","_config","_callback", "_weaponSelect"]; _args = _this select 0; _caller = _args select 0; _target = _args select 1; diff --git a/addons/medical/functions/fnc_unconsciousPFH.sqf b/addons/medical/functions/fnc_unconsciousPFH.sqf index fc60c2bb02..bf328648d5 100644 --- a/addons/medical/functions/fnc_unconsciousPFH.sqf +++ b/addons/medical/functions/fnc_unconsciousPFH.sqf @@ -13,7 +13,7 @@ #include "script_component.hpp" -private ["_unit", "_vehicleOfUnit","_minWaitingTime", "_oldAnimation", "_captiveSwitch", "_hasMovedOut", "_parachuteCheck"]; +private ["_unit", "_minWaitingTime", "_oldAnimation", "_hasMovedOut", "_parachuteCheck", "_args", "_originalPos", "_startingTime"]; _args = _this select 0; _unit = _args select 0; _oldAnimation = _args select 1; From d71bba0359265f5e3bb86d3d0e0584831e65c287 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 30 Apr 2015 01:21:41 -0500 Subject: [PATCH 127/478] opps --- .../medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf index 58f1f8c52b..934bc9239a 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf @@ -15,7 +15,7 @@ #include "script_component.hpp" -private ["_target", "_className", "_currentInSystem", "_medicationConfig", "_painReduce", "_hrIncreaseLow", "_hrIncreaseNorm", "_hrIncreaseHigh", "_maxDose", "_inCompatableMedication", "_timeInSystem", "_heartRate", "_pain", "_resistance", "_hrCallback", "_varName", "_viscosityChange"]]; +private ["_target", "_className", "_currentInSystem", "_medicationConfig", "_painReduce", "_hrIncreaseLow", "_hrIncreaseNorm", "_hrIncreaseHigh", "_maxDose", "_inCompatableMedication", "_timeInSystem", "_heartRate", "_pain", "_resistance", "_hrCallback", "_varName", "_viscosityChange"]; _target = _this select 0; _className = _this select 1; From 48f7455ef10d9ddfa6f961818833bafe53225d4c Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 30 Apr 2015 01:23:23 -0500 Subject: [PATCH 128/478] Opps2 --- addons/medical/functions/fnc_isMedic.sqf | 2 +- addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/functions/fnc_isMedic.sqf b/addons/medical/functions/fnc_isMedic.sqf index df5765f16b..122d261238 100644 --- a/addons/medical/functions/fnc_isMedic.sqf +++ b/addons/medical/functions/fnc_isMedic.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" -private ["_unit", "_class", "_medicN"] +private ["_unit", "_class", "_medicN"]; _unit = _this select 0; _medicN = if (count _this > 1) then {_this select 1} else {1}; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf index 63a559a40b..37627a8c5d 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf @@ -10,7 +10,7 @@ #include "script_component.hpp" -private ["_target"], "_caller", "_selectionName", "_className", "_items"]; +private ["_target", "_caller", "_selectionName", "_className", "_items"]; _caller = _this select 0; _target = _this select 1; _selectionName = _this select 2; From 8f3d8707cc9f1bb17b916acb5c4021e41e521665 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 30 Apr 2015 08:53:43 +0200 Subject: [PATCH 129/478] Should be select Should fix the new script error after last fix. --- addons/javelin/functions/fnc_onOpticDraw.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index 8fa96c036a..505953d877 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -130,7 +130,7 @@ FUNC(disableFire) = { if(_firedEH < 0 && difficulty > 0) then { _firedEH = [ACE_player, "DefaultAction", {true}, { - _canFire = _this getVariable["ace_missileguidance_target", nil]; + _canFire = (_this select 0) getVariable["ace_missileguidance_target", nil]; if(!isNil "_canFire") exitWith { false }; true }] call EFUNC(common,addActionEventHandler); From 59017ed79d3ef2de2af15fa6686d9ee8466a24f9 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 30 Apr 2015 10:26:00 +0200 Subject: [PATCH 130/478] Added more frag configs: * R_Hydra_HE * Sh_120mm_HE * Sh_125mm_HE * Missile_AGM_02_F * M_Hellfire_AT --- addons/frag/CfgAmmo.hpp | 53 +++++++++++++++++++++++++++++++---------- 1 file changed, 41 insertions(+), 12 deletions(-) diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index 726c7e5b57..4a01b7fe69 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -44,10 +44,14 @@ class CfgAmmo { }; class RocketBase; - //class R_Hydra_HE: RocketBase { - // GVAR(skip) = 1; - //}; - + class R_Hydra_HE: RocketBase { + // Source: http://fas.org/man/dod-101/sys/missile/hydra-70.htm + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; + GVAR(metal) = 3850; + GVAR(charge) = 1040; + GVAR(gurney_c) = 2700; + GVAR(gurney_k) = 1/2; + }; //class R_57mm_HE: RocketBase { // GVAR(skip) = 1; //}; @@ -104,7 +108,7 @@ class CfgAmmo { GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 3200; GVAR(charge) = 420; - GVAR(gurney_c) = 1906; + GVAR(gurney_c) = 2440; GVAR(gurney_k) = 1/2; }; class ModuleOrdnanceMortar_F_Ammo: Sh_82mm_AMOS { @@ -114,13 +118,26 @@ class CfgAmmo { GVAR(gurney_c) = 2320; GVAR(gurney_k) = 1/2; }; - + class Sh_120mm_HE : ShellBase { + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; + GVAR(metal) = 23000; + GVAR(charge) = 3148; + GVAR(gurney_c) = 2830; + GVAR(gurney_k) = 1/2; + }; + class Sh_125mm_HE: Sh_120mm_HE { + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; + GVAR(metal) = 16000; + GVAR(charge) = 3200; + GVAR(gurney_c) = 2440; + GVAR(gurney_k) = 1/2; + }; class Sh_155mm_AMOS: ShellBase { // Source: http://www.globalsecurity.org/military/systems/munitions/m795.htm GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 36000; GVAR(charge) = 9979; - GVAR(gurney_c) = 1906; + GVAR(gurney_c) = 2440; GVAR(gurney_k) = 1/2; }; class ModuleOrdnanceHowitzer_F_ammo: Sh_155mm_AMOS { @@ -146,11 +163,23 @@ class CfgAmmo { // GVAR(multiplier) = 1.2; //}; - //class MissileBase; - //class M_Hellfire_AT: MissileBase { - // GVAR(force) = 1; - // GVAR(multiplier) = 1.75; - //}; + class MissileBase; + class Missile_AGM_02_F : MissileBase { + // Source: http://fas.org/man/dod-101/sys/smart/agm-65.htm + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; + GVAR(metal) = 56250; + GVAR(charge) = 39000; + GVAR(gurney_c) = 2700; + GVAR(gurney_k) = 1/2; + }; + class M_Hellfire_AT: MissileBase { + // Source: http://www.designation-systems.net/dusrm/m-114.html + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; + GVAR(metal) = 8000; + GVAR(charge) = 2400; + GVAR(gurney_c) = 2700; + GVAR(gurney_k) = 1/2; + }; /* class B_762x51_Ball; From e77ddcf837553a6d251fc18ad5f782cdd7bf4d69 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 30 Apr 2015 10:35:06 +0200 Subject: [PATCH 131/478] Added Sh_105mm_HEAT_MP frag config --- addons/frag/CfgAmmo.hpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index 4a01b7fe69..142414ab40 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -103,6 +103,7 @@ class CfgAmmo { // curator ammo entries class ShellBase; + class Sh_125mm_HEAT; class Sh_82mm_AMOS : ShellBase { // Source: http://www.arsenal-bg.com/defense_police/mortar_bombs_82mm.htm GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; @@ -118,6 +119,13 @@ class CfgAmmo { GVAR(gurney_c) = 2320; GVAR(gurney_k) = 1/2; }; + class Sh_105mm_HEAT_MP : Sh_125mm_HEAT { + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; + GVAR(metal) = 11400; + GVAR(charge) = 7100; + GVAR(gurney_c) = 2800; + GVAR(gurney_k) = 1/2; + }; class Sh_120mm_HE : ShellBase { GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 23000; From 50a8a89b2805d7755854b31d80fdc86918a4521a Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 30 Apr 2015 10:50:49 +0200 Subject: [PATCH 132/478] Added missing privates --- addons/ballistics/scripts/initTargetWall.sqf | 2 ++ addons/disarming/functions/fnc_openDisarmDialog.sqf | 2 +- addons/frag/functions/fnc_trackTrace.sqf | 2 +- addons/hearing/functions/fnc_firedNear.sqf | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/addons/ballistics/scripts/initTargetWall.sqf b/addons/ballistics/scripts/initTargetWall.sqf index b09d5897bc..391faaa82e 100644 --- a/addons/ballistics/scripts/initTargetWall.sqf +++ b/addons/ballistics/scripts/initTargetWall.sqf @@ -1,6 +1,8 @@ // by commy2 #include "script_component.hpp" +private ["_wall", "_paper"]; + _wall = _this select 0; if (local _wall) then { diff --git a/addons/disarming/functions/fnc_openDisarmDialog.sqf b/addons/disarming/functions/fnc_openDisarmDialog.sqf index 832f32ced5..88e0e81be8 100644 --- a/addons/disarming/functions/fnc_openDisarmDialog.sqf +++ b/addons/disarming/functions/fnc_openDisarmDialog.sqf @@ -60,7 +60,7 @@ GVAR(disarmTarget) = _target; //Setup PFEH [{ - private ["_groundContainer", "_targetContainer", "_playerName", "_rankPicture", "_rankIndex", "_targetUniqueItems", "_holderUniqueItems"]; + private ["_groundContainer", "_targetContainer", "_playerName", "_rankPicture", "_rankIndex", "_targetUniqueItems", "_holderUniqueItems", "_holder"]; disableSerialization; EXPLODE_2_PVT(_this,_args,_pfID); EXPLODE_3_PVT(_args,_player,_target,_display); diff --git a/addons/frag/functions/fnc_trackTrace.sqf b/addons/frag/functions/fnc_trackTrace.sqf index 205292a820..371d58b3b1 100644 --- a/addons/frag/functions/fnc_trackTrace.sqf +++ b/addons/frag/functions/fnc_trackTrace.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -private ["_params", "_tracerObj", "_index", "_positions"]; +private ["_params", "_tracerObj", "_index", "_positions", "_data"]; _params = _this select 0; _tracerObj = _params select 0; _index = _params select 1; diff --git a/addons/hearing/functions/fnc_firedNear.sqf b/addons/hearing/functions/fnc_firedNear.sqf index 6a603c3c3a..b456b3b872 100644 --- a/addons/hearing/functions/fnc_firedNear.sqf +++ b/addons/hearing/functions/fnc_firedNear.sqf @@ -21,7 +21,7 @@ */ #include "script_component.hpp" -private ["_silencer", "_audibleFireCoef", "_loudness", "_strength", "_vehAttenuation"]; +private ["_silencer", "_audibleFireCoef", "_audibleFire", "_loudness", "_strength", "_vehAttenuation"]; PARAMS_7(_object,_firer,_distance,_weapon,_muzzle,_mode,_ammo); From 5d1478b733363e12954195ac7255974e8421efd9 Mon Sep 17 00:00:00 2001 From: Bla1337 Date: Thu, 30 Apr 2015 14:01:22 +0300 Subject: [PATCH 133/478] interact and medical system localization upd --- addons/interact_menu/stringtable.xml | 6 ++++++ addons/medical/stringtable.xml | 16 ++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index b8913ce1c9..de1d972faf 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -85,6 +85,7 @@ Interaction - Texte Max Interaktionstextfarbe Max Interazioni - Testo Massimo + Взаимодействие - Текст Макс.
Interaction - Text Min @@ -92,6 +93,7 @@ Interaction - Texte Min Interaktionstextfarbe Min Interazioni - Testo Minimo + Взаимодействие - Текст Мин. Interaction - Shadow Max @@ -99,6 +101,7 @@ Interaction - Ombre Max Interaktionstextschatten Max Interazioni - Ombra Massima + Взаимодействие - Тень Макс. Interaction - Shadow Min @@ -106,14 +109,17 @@ Interaction - Ombre Min Interaktionstextschatten Min Interazioni - Ombra Minima + Взаимодействие - Тень Мин. Keep cursor centered Garder le curseur au centre + Центрировать курсор Keeps cursor centered and pans the option menu around. Useful if screen size is limited. Garde le curseur au milieu et dispose le menu des options autour. Utile si la taille de l'écran est limitée. + Центрирует курсор и двигает само меню опций. Полезно при ограниченном размере экрана. diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 2cb2d5715d..53fb7d16f6 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -347,7 +347,7 @@ QuikClot QuikClot QuikClot - QuickClot + QuikClot Opatrunek QuikClot QuikClot Hémostatique @@ -443,7 +443,7 @@ CPR HLW RCP - Сердечно-легочная реанимация + Сердечно-лёгочная реанимация RPC RKO
@@ -451,7 +451,7 @@ Performing CPR ... HLW durchführen ... Eseguendo RCP... - Сердечно-легочная реанимация ... + Сердечно-лёгочная реанимация ... RPC en cours Przeprowadzanie RKO ...
@@ -789,7 +789,7 @@
A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. - Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжелых сочетанных ранениях возможно тампонирование раны. + Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжёлых сочетанных ранениях возможно тампонирование раны. Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos. Bandage servant à recouvrir les blessures pour arrêter les hémmoragies et faciliter la guérisson. Recouvrir une blessure est optionnel dans le cas de blessures polytraumatiques Opatrunek stosowany w celu zatrzymania krwawienia i osłony większych ran. @@ -824,7 +824,7 @@ Allows an even compression and extra support to the injured area. Ermöglicht eine gleichmäßige Kompression und zusätzliche Unterstützung für den verletzten Bereich. - Давящая повязка обеспечивает равномерное сжатие и дополнительную поддержку поврежденной области + Давящая повязка обеспечивает равномерное сжатие и дополнительную поддержку повреждённой области Ce bandage peut être utilisé pour compresser la plaie afin de ralentir le saignement et assurer la tenue du bandage lors de mouvement. Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada @@ -1035,7 +1035,7 @@ Blood IV, for restoring a patients blood (keep cold) - Пакет крови для возмещения объема потерянной крови (хранить в холодильнике) + Пакет крови для возмещения объёма потерянной крови (хранить в холодильнике) Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío) Cullot sanguin O- ,utiliser seulement lors de perte sanguine majeur afin de remplacer le volume sanguin perdu. Habituelment utiliser lors du transport ou dans un etablisement de soin. Krew IV, używana do uzupełnienia krwi u pacjenta, trzymać w warunkach chłodniczych @@ -1089,7 +1089,7 @@ Saline IV, for restoring a patients blood - Пакет физраствора для возмещения объема потерянной крови + Пакет физраствора для возмещения объёма потерянной крови Solución salina intravenosa, para restaurar el volumen sanguíneo Solution saline 0.9% IV, pour rétablir temporairement la tension artérielle Sól fizjologiczna, podawana dożylnie (IV), używana w celu uzupełnienia krwi u pacjenta @@ -1100,7 +1100,7 @@ A medical volume-replenishing agent introduced into the blood system through an IV infusion. - Пакет физиологического раствора для возмещения объема потерянной крови путем внутривенного вливания + Пакет физиологического раствора для возмещения объёма потерянной крови путем внутривенного вливания Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. Un remplacant temporaire pour rétablir la tension artérielle lors de perte sanguine, administré par intra-veineuse Używany w medycynie w formie płynu infuzyjnego jako środek nawadniający i uzupełniający niedobór elektrolitów, podawany dożylnie (IV). From 4e165e25724b03425a91ecf50cc23f0d754c9a8b Mon Sep 17 00:00:00 2001 From: Harakhti Date: Thu, 30 Apr 2015 13:25:25 +0200 Subject: [PATCH 134/478] Update Hungarian translations Let us match the current revision. At the time of making, the Ballistics XML was broken. --- addons/advanced_ballistics/stringtable.xml | 2 + addons/atragmx/stringtable.xml | 3 + addons/disarming/stringtable.xml | 1 + addons/interact_menu/stringtable.xml | 10 ++- addons/kestrel4500/stringtable.xml | 7 +- addons/laserpointer/stringtable.xml | 5 +- addons/medical/stringtable.xml | 80 +++++++++++++++++++++- addons/microdagr/stringtable.xml | 3 +- addons/missileguidance/stringtable.xml | 7 +- addons/mk6mortar/stringtable.xml | 6 +- addons/optionsmenu/stringtable.xml | 3 +- addons/realisticnames/stringtable.xml | 30 +++++++- addons/respawn/stringtable.xml | 8 ++- addons/scopes/stringtable.xml | 11 ++- addons/weather/stringtable.xml | 3 +- 15 files changed, 165 insertions(+), 14 deletions(-) diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index dbf2784f21..b88e569fdf 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -9,6 +9,7 @@ Afficher les info sur le vent Mostrar información del viento Windinformationen anzeigen + Széladatok mutatása Show Protractor @@ -18,6 +19,7 @@ Afficher le rapporteur Mostrar transportador Winkelmesser anzeigen + Szögmérő mutatása \ No newline at end of file diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index f6bafa7762..e2fc54f9ab 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -20,6 +20,7 @@ Abrir ATragMX Ouvrir ATragMX ATragMX öffnen + ATragMX elővétele Rugged PDA with ATragMX @@ -28,6 +29,7 @@ PDA rugerizada con ATragMX Robuster PDA mit ATragMX PDA robuste avec ATragMX + Megerősített PDA, ATragMX-el Open ATragMX @@ -36,6 +38,7 @@ Abrir ATragMX Ouvrir ATragMX ATragMX öffnen + ATragMX elővétele \ No newline at end of file diff --git a/addons/disarming/stringtable.xml b/addons/disarming/stringtable.xml index 583080ff08..8f02cb7769 100644 --- a/addons/disarming/stringtable.xml +++ b/addons/disarming/stringtable.xml @@ -10,6 +10,7 @@ Открыть инвентарь Apri l'inventario Ouvrir l'inventaire + Felszerelés megtekintése
\ No newline at end of file diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index b8913ce1c9..6fe1208e35 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -21,6 +21,7 @@ Zawsze wyświetlaj kursor dla interakcji Показывать курсор (взаимодействие) Immer den Cursor für Fremd-Interaktionen anzeigen + Mindig legyen a cselekvés kurzorja látható
Display interaction menus as lists @@ -30,6 +31,7 @@ Mostra il menù di interazione come lista Wyświetlaj menu interakcji jako listę Interaktionsmenü in Listen anzeigen + Cselekvő menük listaként való megjelenítése Interact Key @@ -85,6 +87,7 @@ Interaction - Texte Max Interaktionstextfarbe Max Interazioni - Testo Massimo + Cselekvés - Szöveg max. Interaction - Text Min @@ -92,6 +95,7 @@ Interaction - Texte Min Interaktionstextfarbe Min Interazioni - Testo Minimo + Cselekvés - Szöveg min. Interaction - Shadow Max @@ -99,6 +103,7 @@ Interaction - Ombre Max Interaktionstextschatten Max Interazioni - Ombra Massima + Cselekvés - Árnyék max. Interaction - Shadow Min @@ -106,14 +111,17 @@ Interaction - Ombre Min Interaktionstextschatten Min Interazioni - Ombra Minima + Cselekvés - Árnyék min. Keep cursor centered Garder le curseur au centre + Kurzor középen tartása Keeps cursor centered and pans the option menu around. Useful if screen size is limited. Garde le curseur au milieu et dispose le menu des options autour. Utile si la taille de l'écran est limitée. + Középen tartja a kurzort, és a menüelemeket mozgatja. Hasznos lehetőség korlátozott képméretnél. - + \ No newline at end of file diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index 15808311d9..9d069acf6a 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -22,6 +22,7 @@ Kestrel 4500 Taschenwettermessgerät Kestrel 4500 Indicatore Meteorologico Tascabile Kestrel 4500 Medidor Balístico Ativo + Kestrel 4500 kézi szél-és időjárásmérő
Open Kestrel 4500 @@ -42,6 +43,7 @@ Mostra Kestrel 4500 Mostrar Kestrel 4500 Kestrel 4500 anzeigen + Kestrel 4500 mutatása Hide Kestrel 4500 @@ -51,6 +53,7 @@ Nascondi Kestrel 4500 Esconder Kestrel 4500 Kestrel 4500 wegstecken + Kestrel 4500 elrejtése Open Kestrel 4500 @@ -60,6 +63,7 @@ Accendi Kestrel 4500 Abrir Kestrel 4500 Kestrel 4500 öffnen + Kestrel 4500 elővétele Show Kestrel 4500 @@ -69,6 +73,7 @@ Mostra Kestrel 4500 Mostrar Kestrel 4500 Kestrel 4500 anzeigen + Kestrel 4500 mutatása - + \ No newline at end of file diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index c3c227d8e3..e7a80dc1bd 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -57,6 +57,7 @@ Laser Laser Laser + Lézer
IR Laser @@ -66,6 +67,7 @@ Laser IR Laser IR Laser IR + Infravörös Lézer Switch Laser / IR Laser @@ -75,6 +77,7 @@ Changer Laser / Laser IR Alterna Laser / IR Laser Cambiar Laser / Laser IR + Lézer / Infravörös Lézer váltása - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 2cb2d5715d..0655f2e0c4 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -8,6 +8,7 @@ ТРАВМЫ BLESSURES OBRAŻENIA + SÉRÜLÉSEK
No injuries on this bodypart ... @@ -16,6 +17,7 @@ Данная часть тела не повреждена ... Aucune blessures sur cette partie du corps Brak obrażeń na tej części ciała ... + Ezen a testrészen nincs sérülés ... Litter Simulation Detail @@ -24,6 +26,7 @@ Количество мусора от медицины Dettagli Simulazione Rifiuti Niveau de simulation des détritus + Hulladékszimuláció részletessége Litter simulation detail level sets the number of litter items which will be locally spawned in the client. Excessive amounts in local areas could cause FPS lag, so this is a client only setting. @@ -32,6 +35,7 @@ Устанавливает количество мусора, который появляется после использования мед. препаратов. Большое количество мусора может уменьшить производительность, поэтому данная настройка локальна для клиента. Il livello di dettagli della simulazione dei rifiuti indica il numero di rifiuti che verranno creati localmente nel client. La creazione di troppi rifiuti in aree locali potrebbe causare lag e calo di FPS. Questo è un settaggio client. Le nieau de simulation des détritus règle la quantité de déchets qui vont être créer localement dans le client. Des quantitées excessive dans certaines zones locales aurait pu causer des chutes D'IPS, donc c'est une option client uniquement. + A hulladékszimuláció részletessége megszabja a kliens által megjelenített hulladékobjektumok mennyiségét. Súlyos mennyiségek izolált területeken alacsony FPS-t okozhatnak, így ez egy kliensoldali beállítás. Inject Atropine @@ -115,6 +119,7 @@ Наложить жгут Applica laccio emostatico Aplicar Torniquete + Érszorító alkalmazása Bandage @@ -398,6 +403,7 @@ Нет записей. Aucune entrée sur cette carte de triage Brak wpisów w tej karcie segregacyjnej. + Ez az orvosi lap nem tartalmaz bejegyzést. Tourniquet @@ -430,6 +436,7 @@ Диагностика Diagnostiquer Diagnoza + Diagnosztizálás Diagnosing ... @@ -438,6 +445,7 @@ Диагностика ... Diagnostic en cours Diagnozowanie ... + Diagnózis folyamatban... CPR @@ -446,6 +454,7 @@ Сердечно-легочная реанимация RPC RKO + Újraélesztés Performing CPR ... @@ -454,6 +463,7 @@ Сердечно-легочная реанимация ... RPC en cours Przeprowadzanie RKO ... + Újraélesztés folyamatban... Give Blood IV (1000ml) @@ -966,6 +976,7 @@ Una sostanza che permette di dilatare i bronchi, aumentare il battito cardiaco e combattere effetti di reazioni allergiche. Usato anche in casi di arresto cardiaco. Ein Medikament, dass die Bronchien erweitert, die Herzfrequenz erhöht und Symptome von allergischen Reaktionen(Anaphylaxie) bekämpft. Wird bei plötzlichem Herzstillstand verabreicht. Uma droga trabalha dilatando os bronquios, aumentando a frequência cardíaca e combate efeitos de reações alérgicas(anáfilaticas). Usado em casos de parada cardiaca com poucas changes de recuperação. + Egy hormon, mely a szimpatikus idegrendszer által kitágítja a hörgőket, valamint megnöveli a szívverést, ezzel ellensúlyozva ilyen jellegű allergiás reakciókat (anafilaxiás sokk). Hirtelen szívmegállás esetén is használt, idő alatt csökkenő hatásfokkal. Plasma IV (1000ml) @@ -1053,6 +1064,7 @@ Cullot sanguin O- utilisé dans de rares et stricts cas pour compléter une perte de sang importante. Administré normalement lors d'un MEDEVAC O Negative Blutinfusion wird nur in seltenen Fällen verwendet, um den Bluthaushalt des Patienten zu ergänzen. Wird in der Regel wärend der Transportphase durchgeführt. Sangue O- , utilizado em casos raros para rapidamente repor o sangue. Uso habitual ocorre durante o transporte ou em estações de tratamento. + Nullás vércsoportú, Rh-negatív vér-infúzió, melyet kritikus és ritka helyzetekben vérutánpótlásra használnak, jellemzően az orvosi ellátás szállítási fázisa közben. Blood IV (500ml) @@ -1192,6 +1204,7 @@ Полевая аптчека для продвинутого лечения и зашивания ран Persönliches Verbandspäckchen zum ambulanten Nähen und fortgeschrittener Behandlung. Trousse de premiers soins pour coudre sur le terrain et traitements avancés. + Elsősegélycsomag, terepen való sebvarráshoz és haladó ellátáshoz Use Personal Aid Kit @@ -1199,6 +1212,7 @@ Использовать аптечку Utiliser la Trousse de premier soins Użyj apteczki osobistej + Elsősegélycsomag használata Surgical Kit @@ -1239,6 +1253,7 @@ Использовать хирургический набор Utiliser la trousse chirugicale Zszyj rany + Sebészeti készlet használata Bodybag @@ -1301,6 +1316,7 @@ %1 проверил артериальное давление: %2 %1 à vérifié la tension: %2 %1 sprawdził ciśnienie krwi: %2 + %1 ellenőrizte a vérnyomást: %2 You checked %1 @@ -1385,6 +1401,7 @@ Низкое Faible Niskie + Alacsony Normal @@ -1392,6 +1409,7 @@ Нормальное Normale Normalne + Normális High @@ -1399,6 +1417,7 @@ Высокое Haute Wysokie + Magas No Blood Pressure @@ -1406,6 +1425,7 @@ Артериальное давление отсутствует Aucune tension Brak ciśnienia krwi + Nincs vérnyomás Pulse @@ -1446,6 +1466,7 @@ %1 проверил пульс: %2 %1 à vérifié le rythme cardiaque: %2 %1 sprawdził tętno: %2 + %1 ellenőrizte a szívverés-számot: %2 Weak @@ -1453,6 +1474,7 @@ Слабый Faible Słabe + Gyenge Normal @@ -1460,6 +1482,7 @@ Нормальный Normal Normalne + Normális Strong @@ -1467,6 +1490,7 @@ Сильный Fort Silne + Erős You find a Heart Rate of %2 @@ -1584,6 +1608,7 @@ Patient %1<br/>ist %2.<br/>%3.<br/>%4 Patient %1<br/>est %2.<br/>%3.<br/> Pacjent %1<br/>jest %2.<br/>%3.<br/>%4 + A páciens, %1,<br/>%2.<br/>%3.<br/>%4 alive @@ -1591,6 +1616,7 @@ lebendig vivant żywy + élő dead @@ -1598,6 +1624,7 @@ tot mort martwy + halott He's lost some blood @@ -1605,9 +1632,11 @@ Er hat etwas Blut verloren Il à perdu du sang Stracił trochę krwi + Valamennyi vért vesztett He's lost a lot of blood + Sok vért vesztett He hasn't lost blood @@ -1615,6 +1644,7 @@ Er hat kein Blut verloren il n'a pas perdu de sang Nie stracił krwi + Nem vesztett vért He is in pain @@ -1622,6 +1652,7 @@ Er hat Schmerzen il souffre Odczuwa ból + Fájdalmai vannak He is not in pain @@ -1629,6 +1660,7 @@ Er hat keine Schmerzen Il ne souffre pas Nie odczuwa bólu + Nincsenek fájdalmai Bandaged @@ -1874,6 +1906,7 @@ Gravemente ferito Gravemente herido Lourdement blessé + Erősen sérült Lightly wounded @@ -1883,6 +1916,7 @@ Leggermente ferito Levemente herido Légèrement blessé + Enyhén sérült Very lightly wounded @@ -1892,6 +1926,7 @@ Ferito lievemente Muy levemente herido Très légèrement blessé + Nagyon enyhén sérült Head @@ -1901,6 +1936,7 @@ Testa Cabeza Tête + Fej Torso @@ -1910,6 +1946,7 @@ Torso Torso Torse + Testtörzs Left Arm @@ -1919,6 +1956,7 @@ Braccio sinistro Brazo izquierdo Bras gouche + Bal kar Right Arm @@ -1928,6 +1966,7 @@ Braccio destro Brazo derecho Bras droit + Jobb kar Left Leg @@ -1937,6 +1976,7 @@ Gamba sinistra Pierna izquierda Jambe gauche + Bal láb Right Leg @@ -1946,6 +1986,7 @@ Gamba destra Pierna derecha Jambe droite + Jobb láb Pain Effect Type @@ -1955,6 +1996,7 @@ Pain Effect Type Tipo de efecto de dolor Type d'effet de douleur + Fájdalom-effekt típusa Colour Flashing @@ -1964,6 +2006,7 @@ Colore lampeggiante Parpadeo de color Flash de couleur + Színvillódzás Chromatic Aberration @@ -1973,6 +2016,7 @@ Aberrazione cromatica Aberración cromática Aberration chromatique + Kromatikus aberráció Scrape @@ -1980,6 +2024,7 @@ Ссадина Eraflure Draśnięcie + Horzsolás Minor Scrape @@ -1987,6 +2032,7 @@ Малая ссадина Eraflure Mineure Pomniejsze draśnięcie + Kis horzsolás Medium Scrape @@ -1994,6 +2040,7 @@ Средняя ссадина Moyenne Eraflure Średnie draśnięcie + Közepes horzsolás Large Scrape @@ -2001,6 +2048,7 @@ Большая ссадина Large Eraflure Duże draśnięcie + Nagy horzsolás Avulsion @@ -2008,6 +2056,7 @@ Рваная рана Avulsion Rana płatowa + Leszakadás Minor Avulsion @@ -2015,6 +2064,7 @@ Малая рваная рана Avulsion Mineure Pomniejsza rana płatowa + Kis leszakadás Medium Avulsion @@ -2022,6 +2072,7 @@ Средняя рваная рана Avulsion Moyenne Średnia rana płatowa + Közepes leszakadás Large Avulsion @@ -2029,6 +2080,7 @@ Большая рваная рана Large Avulsion Duża rana płatowa + Nagy leszakadás Bruise @@ -2036,6 +2088,7 @@ Ушиб Hématome Stłuczenie + Zúzódás Minor Bruise @@ -2043,6 +2096,7 @@ Малый ушиб Hématome Mineur Pomniejsze stłuczenie + Kis zúzódás Medium Bruise @@ -2050,6 +2104,7 @@ Средний ушиб Hématome Moyen Średnie stłuczenie + Közepes zúzódás Large Bruise @@ -2057,6 +2112,7 @@ Большой ушиб Large Hématome Duże stłuczenie + Nagy zúzódás Crushed tissue @@ -2064,6 +2120,7 @@ Компресионная травма Tissu écrasé Zgniecienie tkanek miękkich + Zúzott szövet Minor crushed tissue @@ -2071,6 +2128,7 @@ Малая компрессионная травма Tissu écrasé Mineur Pomniejsze zgniecienie tkanek miękkich + Kis zúzott szövet Medium crushed tissue @@ -2078,6 +2136,7 @@ Средняя компрессионная травма Tissu écrasé Moyen Średnie zgniecienie tkanek miękkich + Közepes zúzott szövet Large crushed tissue @@ -2085,6 +2144,7 @@ Большая компрессионная травма Tissu écrasé Large Duże zgniecienie tkanek miękkich + Nagy zúzött szövet Cut @@ -2092,6 +2152,7 @@ Резаная рана Coupure Rana cięta + Vágás Small Cut @@ -2099,6 +2160,7 @@ Малая резаная рана Pomniejsza rana cięta Petite Coupure + Kis vágás Medium Cut @@ -2106,6 +2168,7 @@ Средняя резаная рана Średnia rana cięta Moyenne Coupure + Közepes vágás Large Cut @@ -2113,6 +2176,7 @@ Большая резаная рана Duża rana cięta Large Coupure + Nagy vágás Tear @@ -2120,6 +2184,7 @@ Рваная рана Rozerwanie skóry Déchirure + Szakadás Small Tear @@ -2127,6 +2192,7 @@ Малая рваная рана Pomniejsze rozerwanie skóry Petite Déchirure + Kis szakadás Medium Tear @@ -2134,6 +2200,7 @@ Средняя рваная рана Średnie rozerwanie skóry Moyenne Déchirure + Közepes szakadás Large Tear @@ -2141,6 +2208,7 @@ Большая рваная рана Duże rozerwanie skóry Large Déchirure + Nagy szakadás Velocity Wound @@ -2148,6 +2216,7 @@ Огнестрельная рана Rana postrzałowa Blessure de vélocité + Lőtt seb Smal Velocity Wound @@ -2155,6 +2224,7 @@ Малая огнестрельная рана Pomniejsza rana postrzałowa Petite Bessure de vélocité + Kis lőtt seb Medium Velocity Wound @@ -2162,6 +2232,7 @@ Средняя огнестрельная рана Średnia rana postrzałowa Moyenne Blessure de vélocité + Közepes lőtt seb Large Velocity Wound @@ -2169,6 +2240,7 @@ Большая огнестрельная рана Duża rana postrzałowa Large Blessure de vélocité + Nagy lőtt seb Puncture Wound @@ -2176,6 +2248,7 @@ Колотая рана Rana kłuta Blessure de perforation + Szúrt seb Minor Puncture Wound @@ -2183,6 +2256,7 @@ Малая колотая рана Pomniejsza rana kłuta Blessure de perforation Mineure + Kis szúrt seb Medium Puncture Wound @@ -2190,6 +2264,7 @@ Средняя колотая рана Średnia rana kłuta Blessure de perforation Moyenne + Közepes szúrt seb Large Puncture Wound @@ -2197,6 +2272,7 @@ Большая колотая рана Duża rana kłuta Large Blessure de perforation + Nagy szúrt seb Broken Femur @@ -2204,9 +2280,11 @@ Перелом Zkłamana kość udowa Femur Cassé + Törött combcsont Treating... + Ellátás... - + \ No newline at end of file diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index f9ca634fd2..32fad199de 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -251,6 +251,7 @@ Excluir Удалить Borrar + Törlés
Toggle MicroDAGR Display Mode @@ -301,4 +302,4 @@ Fechar MicroDAGR - + \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 15a87c31ba..cacec33b33 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -20,6 +20,7 @@ Продвинутое наведение ракет, или ПНР, обеспечивает множество усовершествований для наведения и стрельбы ракет. Также, это система, необходимая для всех ракетных типов оружия. Das Erweiterte Raketenlenksystem, auch AMG genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. + A fejlett rakétairányító (vagy AMG) többféle módosítást tartalmaz a rakéták célkövetéséhez és tüzeléséhez. Ez egy szükséges keresztrendszer a rakéta-alapú fegyverekhez.
Hydra-70 DAGR Missile @@ -54,7 +55,7 @@ Hydra-70 DAGR laserem naváděná střela Hydra-70 DAGR missile guida laser - Hydra-70 DAGR lézer-irányított rakéta + Hydra-70 DAGR lézer-irányított rakéta Управляемая ракета лазерного наведения Hydra-70 DAGR @@ -66,7 +67,7 @@ Hellfire II AGM-114K Missile Hellfire II AGM-114K - Hellfire II AGM-114K rakéta + Hellfire II AGM-114K rakéta Hellfire II AGM-114K @@ -90,7 +91,7 @@ Hellfire II AGM-114K laserem naváděná střela Missile guida laser Hellfire II AGM-114K - Hellfire II AGM-114K lézer-irányított rakéta + Hellfire II AGM-114K lézer-irányított rakéta Управляемая ракета лазерного наведения Hellfire II AGM-114K diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index fe08d320e5..da01ebc149 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -7,6 +7,7 @@ Tabela strzelnicza 82mm table de tir 82mm 82 мм Таблица дальностей и прицелов + 82mm hatótáv-tábla
Range Table for the MK6 82mm Mortar @@ -14,6 +15,7 @@ Tabela strzelnicza dla moździerza 82mm MK6 Table de tir pour le mortier MK6 82mm Таблица дальностей и прицелов для MK6 82 мм мортиры + Hatótáv-tábla a MK6 82mm-es mozsárhoz Open 82mm Rangetable @@ -21,6 +23,7 @@ Otwórz tabelę strzelniczą 82mm ouvrir la table de tir 82mm Открыть 82 мм Таблицу дальностей и прицелов + 82mm hatótáv-tábla megnyitása Charge @@ -28,6 +31,7 @@ Charge Ładunek Зарядить + Töltés - + \ No newline at end of file diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index ccb39c93c8..3823562905 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -235,6 +235,7 @@ Opción de escalado del menú UI Размер интерфейса меню настройки UI Skalierung + Beállításmenü kezelőfelületének skálázása
- + \ No newline at end of file diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 49ffbf1773..fcd54a5610 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1533,6 +1533,7 @@ Noreen "Bad News" ULR Noreen "Bad News" ULR Noreen "Bad News" ULR + Noreen "Bad News"ULR
Noreen "Bad News" ULR (Black) @@ -1542,6 +1543,7 @@ Noreen "Bad News" ULR (Чёрный) Noreen "Bad News" ULR (Schwarz) Noreen "Bad News" ULR (czarny) + Noreen "Bad News"ULR (Fekete) Noreen "Bad News" ULR (Camo) @@ -1551,6 +1553,7 @@ Noreen "Bad News" ULR (Камо) Noreen "Bad News" ULR (Camo) Noreen "Bad News" ULR (kamuflaż) + Noreen "Bad News"ULR (Terepmintás) Noreen "Bad News" ULR (Sand) @@ -1560,6 +1563,7 @@ Noreen "Bad News" ULR (Песочный) Noreen "Bad News" ULR (Sand) Noreen "Bad News" ULR (piaskowy) + Noreen "Bad News"ULR (Homok) SIG 556 @@ -1569,6 +1573,7 @@ SIG 556 SIG 556 SIG 556 + SIG 556 SIG 556 (Black) @@ -1578,6 +1583,7 @@ SIG 556 (Чёрный) SIG 556 (czarny) SIG 556 (Schwarz) + SIG 556 (Fekete) SIG 556 (Khaki) @@ -1587,6 +1593,7 @@ SIG 556 (Хаки) SIG 556 (khaki) SIG 556 (Khaki) + SIG 556 (Khaki) SIG 556 (Sand) @@ -1596,6 +1603,7 @@ SIG 556 (Песочный) SIG 556 (piaskowy) SIG 556 (Sand) + SIG 556 (Homok) SIG 556 (Camo) @@ -1605,6 +1613,7 @@ SIG 556 (Камо) SIG 556 (kamuflaż) SIG 556 (Camo) + SIG 556 (Terepmintás) SIG 556 (Woodland) @@ -1614,6 +1623,7 @@ SIG 556 (Лесной) SIG 556 (leśny) SIG 556 (Woodland) + SIG 556 (Erdőmintás) SIG 556 (provisional) spotter @@ -1623,6 +1633,7 @@ SIG 556 (provisional) корректировщик SIG 556 (prowizoryczny) obserwator SIG 556 (provisorisch) Beobachter + SIG 556 (Ellátmányi) Megfigyelő ASP-1 Kir @@ -1632,6 +1643,7 @@ ASP-1 Kir ASP-1 Kir ASP-1 Kir + ASP-1 Kir ASP-1 Kir (Black) @@ -1641,6 +1653,7 @@ ASP-1 Kir (Чёрный) ASP-1 Kir (Schwarz) ASP-1 Kir (czarny) + ASP-1 Kir (Fekete) ASP-1 Kir (Tan) @@ -1650,6 +1663,7 @@ ASP-1 Kir (Бронзовый) ASP-1 Kir (Hellbraun) ASP-1 Kir (Tan) + ASP-1 Kir (Cserszín) Cyrus @@ -1659,6 +1673,7 @@ Cyrus Cyrus Cyrus + Cyrus Cyrus (Black) @@ -1668,6 +1683,7 @@ Cyrus (Чёрный) Cyrus (Schwarz) Cyrus (czarny) + Cyrus (Fekete) Cyrus (Hex) @@ -1677,6 +1693,7 @@ Cyrus (Гекс) Cyrus (Hex) Cyrus (hex) + Cyrus (Hex) Cyrus (Tan) @@ -1686,6 +1703,7 @@ Cyrus (Бронза) Cyrus (Hellbraun) Cyrus (podpalany) + Cyrus (Cserszín) M14 @@ -1695,6 +1713,7 @@ M14 M14 M14 + M14 M14 (Camo) @@ -1704,6 +1723,7 @@ M14 (Камо) M14 (kamuflaż) M14 (Camo) + M14 (Terepmintás) M14 (Olive) @@ -1713,6 +1733,7 @@ M14 (Олива) M14 (oliwkowy) M14 (Olive) + M14 (Olíva) HK121 @@ -1722,6 +1743,7 @@ HK121 HK121 HK121 + HK121 HK121 (Hex) @@ -1731,6 +1753,7 @@ HK121 (Гекс) HK121 (Hex) HK121 (hex) + HK121 (Hex) HK121 (Tan) @@ -1740,6 +1763,7 @@ HK121 (Бронза) HK121 (Hellbraun) HK121 (podpalany) + HK121 (Cserszín) LWMMG @@ -1749,6 +1773,7 @@ LWMMG LWMMG LWMMG + LWMMG LWMMG (MTP) @@ -1758,6 +1783,7 @@ LWMMG (MTP) LWMMG (MTP) LWMMG (MTP) + LWMMG (MTP) LWMMG (Black) @@ -1767,6 +1793,7 @@ LWMMG (Чёрный) LWMMG (czarny) LWMMG (Schwarz) + LWMMG (Fekete) LWMMG (Sand) @@ -1776,6 +1803,7 @@ LWMMG (Песочный) LWMMG (piaskowy) LWMMG (Sand) + LWMMG (Homok) - + \ No newline at end of file diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 8d0305c3ed..1e95313e0e 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -56,6 +56,7 @@ Точка сбора Синих (База) Punkt zbiórki Zachodu (Baza) Point de ralliement OUEST (Base) + Gyülekezőpont, Nyugat (Bázis)
Rallypoint East (Base) @@ -64,6 +65,7 @@ Точка сбора Красных (База) Punkt zbiórki Wschodu (Baza) Point de ralliement EST (Base) + Gyülekezőpont, Kelet (Bázis) Rallypoint Independent (Base) @@ -72,6 +74,7 @@ Точка сбора Независимых (База) Punkt zbiórki Ruchu oporu (Baza) Point de ralliement Indépendant (Base) + Gyülekezőpont, Független (Bázis) Rallypoint West @@ -80,6 +83,7 @@ Точка сбора Синих Punkt zbiórki Zachodu Point de ralliement OUEST + Gyülekezőpont, Nyugat Rallypoint East @@ -88,6 +92,7 @@ Точка сбора Красных Punkt zbiórki Wschodu Point de ralliement EST + Gyülekezőpont, Kelet Rallypoint Independent @@ -96,6 +101,7 @@ Точка сбора Независимых Punkt zbiórki Ruchu oporu Point de ralliement Indépendant + Gyülekezőpont, Független - + \ No newline at end of file diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index d84f0932af..257b78892b 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -9,6 +9,7 @@ Regola leggermente alzata in alto Hausse + Kleine Korrektur nach oben + Enyhe állítás fel Minor adjustment down @@ -18,6 +19,7 @@ Regola leggermente alzata in basso Hausse - Kleine Korrektur nach unten + Enyhe állítás le Minor adjustment right @@ -27,6 +29,7 @@ Regola leggermente il tiro a destra Dérive + Kleine Korrektur nach rechts + Enyhe állítás jobbra Minor adjustment left @@ -36,6 +39,7 @@ Regola leggermete il tiro a sinistra Dérive - Kleine Korrektur nach links + Enyhe állítás balra Major adjustment up @@ -45,6 +49,7 @@ Regola l'alzata in alto Hausse +++ Große Korrektur nach oben + Nagy állítás fel Major adjustment down @@ -54,6 +59,7 @@ Regola l'alzata in basso Hausse --- Große Korrektur nach unten + Nagy állítás le Major adjustment right @@ -63,6 +69,7 @@ Regola il tiro a destra Dérive +++ Große Korrektur nach rechts + Nagy állítás jobbra Major adjustment left @@ -72,6 +79,7 @@ Regola il tiro a sinistra Dérive --- Große Korrektur nach links + Nagy állítás balra Set zero adjustment @@ -81,6 +89,7 @@ Resetta i valori del tiro RAZ corrections Auf 0 justieren + Állítások nullázása - + \ No newline at end of file diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index 4e0723bb7a..0b891b3a78 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -9,6 +9,7 @@ Mostrar información del viento Mostra informazioni sul vento Zeige Windinformationen + Széladatok mutatása - + \ No newline at end of file From 0f135c5dab1b84f59635970932c0429e4022a2de Mon Sep 17 00:00:00 2001 From: bux578 Date: Thu, 30 Apr 2015 15:23:52 +0200 Subject: [PATCH 135/478] fix ballistics stringtable --- addons/ballistics/stringtable.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 5826461a39..eea2f0cb9e 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -788,7 +788,7 @@ Cargador de 30 balas de 5.56mm (M995 AP) Магазин из 30-ти 5.56 мм (M995 бронебойные) 5,56mm 30-Patronen-Magazin (M995AP) - 5.56mm 30Rnd Mag (M995 AP) + 5.56mm 30Rnd Mag (M995 AP) 5.56mm AP @@ -1022,7 +1022,6 @@ Calibre: 7.62x51mm NATO (M993 AP)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M993 бронебойные)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 20 - Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 20 @@ -1137,9 +1136,9 @@ 6.5mm Creedmor 30Rnd Mag Magazynek 6,5mm Creedmor 30rd 6.5mm Creedmor 30Rnd Mag - Магазин из 30-ти 6,5 мм Creedmor + Магазин из 30-ти 6,5 мм Creedmor 6,5mm Creedmor 30-Patronen-Magazin - Chargeur 6.5mm Creedmor 30Cps + Chargeur 6.5mm Creedmor 30Cps 6.5mm CM From 7568773ecee066cf566a8c3454c203060e4f8c7f Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 30 Apr 2015 09:00:09 -0700 Subject: [PATCH 136/478] class localize and disable all guidance/locking. --- addons/javelin/CfgVehicles.hpp | 42 ++++++++++++++++++-- addons/javelin/CfgWeapons.hpp | 40 +++++++++++++++++-- addons/javelin/functions/fnc_onFired.sqf | 5 +++ addons/javelin/functions/fnc_onOpticDraw.sqf | 6 ++- 4 files changed, 86 insertions(+), 7 deletions(-) diff --git a/addons/javelin/CfgVehicles.hpp b/addons/javelin/CfgVehicles.hpp index 5ea7e3327c..48781036ad 100644 --- a/addons/javelin/CfgVehicles.hpp +++ b/addons/javelin/CfgVehicles.hpp @@ -9,12 +9,48 @@ class CfgVehicles { class MainTurret; }; }; + class AT_01_base_F: StaticMGWeapon {}; - - class AT_01_base_F: StaticMGWeapon { + class B_static_AT_F: AT_01_base_F { class Turrets : Turrets { class MainTurret : MainTurret { - weapons[] = { "missiles_titan_static_at" }; + weapons[] = { QGVAR(Titan_Static) }; + magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"}; + + turretInfoType = "ACE_RscOptics_javelin"; + gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d); + opticsZoomMin = 0.08333; + opticsZoomMax = 0.04167; + opticsZoomInit = 0.08333; + opticsPPEffects[] = {"OpticsCHAbera1","OpticsBlur1"}; + opticsFlare = 0; + discretefov[] = {0.08333,0.04167}; + discreteInitIndex = 0; + }; + }; + }; + class O_static_AT_F: AT_01_base_F { + class Turrets : Turrets { + class MainTurret : MainTurret { + weapons[] = { QGVAR(Titan_Static) }; + magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"}; + + turretInfoType = "ACE_RscOptics_javelin"; + gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d); + opticsZoomMin = 0.08333; + opticsZoomMax = 0.04167; + opticsZoomInit = 0.08333; + opticsPPEffects[] = {"OpticsCHAbera1","OpticsBlur1"}; + opticsFlare = 0; + discretefov[] = {0.08333,0.04167}; + discreteInitIndex = 0; + }; + }; + }; + class I_static_AT_F: AT_01_base_F { + class Turrets : Turrets { + class MainTurret : MainTurret { + weapons[] = { QGVAR(Titan_Static) }; magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"}; turretInfoType = "ACE_RscOptics_javelin"; diff --git a/addons/javelin/CfgWeapons.hpp b/addons/javelin/CfgWeapons.hpp index 1392cd1a56..1bbf713b3b 100644 --- a/addons/javelin/CfgWeapons.hpp +++ b/addons/javelin/CfgWeapons.hpp @@ -11,7 +11,9 @@ class CfgWeapons { }; - class missiles_titan_at : missiles_titan { + class missiles_titan_at : missiles_titan { }; + class GVAR(Titan_Static) : missiles_titan_at { + GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; modelOptics = PATHTOF(data\reticle_titan.p3d); @@ -20,18 +22,50 @@ class CfgWeapons { lockingTargetSound[] = {"",0,1}; lockedTargetSound[] = {"",0,1}; }; - class missiles_titan_static_at : missiles_titan_at { }; // @TODO: AA by default, motherfuckers class launch_Titan_base : Launcher_Base_F {}; - class launch_Titan_short_base : launch_Titan_base { + class launch_Titan_short_base : launch_Titan_base { }; + + class launch_B_Titan_short_F: launch_Titan_short_base { + GVAR(enabled) = 1; + weaponInfoType = "ACE_RscOptics_javelin"; + modelOptics = PATHTOF(data\reticle_titan.p3d); + + canLock = 0; + + lockingTargetSound[] = {"",0,1}; + lockedTargetSound[] = {"",0,1}; + }; + class launch_I_Titan_short_F: launch_Titan_short_base { + GVAR(enabled) = 1; + weaponInfoType = "ACE_RscOptics_javelin"; + modelOptics = PATHTOF(data\reticle_titan.p3d); + + canLock = 0; + + lockingTargetSound[] = {"",0,1}; + lockedTargetSound[] = {"",0,1}; + }; + class launch_O_Titan_short_F: launch_Titan_short_base { + GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; modelOptics = PATHTOF(data\reticle_titan.p3d); canLock = 0; + lockingTargetSound[] = {"",0,1}; + lockedTargetSound[] = {"",0,1}; + }; + class launch_Titan_short_F: launch_Titan_short_base { + GVAR(enabled) = 1; + weaponInfoType = "ACE_RscOptics_javelin"; + modelOptics = PATHTOF(data\reticle_titan.p3d); + + canLock = 0; + lockingTargetSound[] = {"",0,1}; lockedTargetSound[] = {"",0,1}; }; diff --git a/addons/javelin/functions/fnc_onFired.sqf b/addons/javelin/functions/fnc_onFired.sqf index 8c6590f5df..4c0f798167 100644 --- a/addons/javelin/functions/fnc_onFired.sqf +++ b/addons/javelin/functions/fnc_onFired.sqf @@ -6,10 +6,15 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); // Bail on not missile if( _shooter != ACE_player) exitWith { false }; +/* if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_short_base"] call EFUNC(common,inheritsFrom)) && { ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "missiles_titan_at"] call EFUNC(common,inheritsFrom)) } ) exitWith { }; +*/ +_configs = configProperties [configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) >> QGVAR(enabled), "true", false]; +if( (count _configs) < 1) exitWith {}; +_config = _configs select 1; _pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil]; if(!isNil "_pfh_handle") then { diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index 8fa96c036a..134260c064 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -35,10 +35,14 @@ _soundTime = _args select 4; _randomLockInterval = _args select 5; _fireDisabledEH = _args select 6; +_configs = configProperties [configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) >> QGVAR(enabled), "true", false]; + +/* if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_short_base"] call EFUNC(common,inheritsFrom)) && { ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "missiles_titan_at"] call EFUNC(common,inheritsFrom)) } - ) exitWith { +*/ +if((count _config) < 1) exitWith { __JavelinIGUITargeting ctrlShow false; __JavelinIGUITargetingGate ctrlShow false; __JavelinIGUITargetingLines ctrlShow false; From 21cc0db28f03a9d7fe74dae54b1021a5592b4b14 Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 30 Apr 2015 09:04:29 -0700 Subject: [PATCH 137/478] Correctly look up configs. --- addons/missileguidance/functions/fnc_onFired.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 6c6c2717bf..5145258cd3 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -17,7 +17,7 @@ if(! (_ammo isKindOf "MissileBase") ) exitWith { false }; _configs = configProperties [configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON), "true", false]; if( (count _configs) < 1) exitWith {}; -_config = _configs select 1; +_config = (configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON)); _enabled = getNumber ( _config >> "enabled"); // Bail if guidance is not enabled From b9c1936efc93c599125f204f2bdb8f7e3ba86474 Mon Sep 17 00:00:00 2001 From: Kavinsky Date: Thu, 30 Apr 2015 18:51:30 +0200 Subject: [PATCH 138/478] changed laserpointer to allow 3rd party laser pointers. now there is a new config option for CfgWeapons called ace_laserpointer, number with value 0 no laser, 1 red laser, 2 green laser --- addons/laserpointer/CfgWeapons.hpp | 4 ++++ addons/laserpointer/functions/fnc_onDraw.sqf | 13 ++++++++++--- documentation/development/ace3-config-entries.md | 3 +++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/addons/laserpointer/CfgWeapons.hpp b/addons/laserpointer/CfgWeapons.hpp index 4f6a61c83a..6223c3a988 100644 --- a/addons/laserpointer/CfgWeapons.hpp +++ b/addons/laserpointer/CfgWeapons.hpp @@ -20,6 +20,8 @@ class CfgWeapons { ACE_nextModeClass = "acc_pointer_IR"; ACE_modeDescription = "$STR_ACE_Laserpointer_Laser"; + ACE_laserpointer = 1; + author = "$STR_ACE_Common_ACETeam"; _generalMacro = "ACE_acc_pointer_red"; scope = 1; @@ -79,6 +81,8 @@ class CfgWeapons { ACE_nextModeClass = "ACE_acc_pointer_green_IR"; ACE_modeDescription = "$STR_ACE_Laserpointer_Laser"; + ACE_laserpointer = 2; + author = "$STR_ACE_Common_ACETeam"; _generalMacro = "ACE_acc_pointer_green"; scope = 2; diff --git a/addons/laserpointer/functions/fnc_onDraw.sqf b/addons/laserpointer/functions/fnc_onDraw.sqf index 0e4ddf981a..e3236f7cb5 100644 --- a/addons/laserpointer/functions/fnc_onDraw.sqf +++ b/addons/laserpointer/functions/fnc_onDraw.sqf @@ -25,10 +25,17 @@ _isIR = _isIR == 1; default {""}; }; - _laserID = ["ACE_acc_pointer_red", "ACE_acc_pointer_green"] find _laser; + if (_laser != "") then { + _cacheName = format ["ACE_laserpointer_%1", _laser]; + _laserID = missionNamespace getVariable [_cacheName, -1]; + if (missionNamespace getVariable [_cacheName, -1] == -1) then { + _laserID = getNumber (configFile >> "CfgWeapons" >> _laser >> "ACE_laserpointer"); + missionNamespace setVariable [_cacheName, _laserID]; + }; - if (_laserID > -1 && {_x isFlashlightOn _weapon}) then { - [_x, 50, _laserID == 1 || _isIR] call FUNC(drawLaserpoint); + if (_laserID > 0 && {_x isFlashlightOn _weapon}) then { + [_x, 50, _laserID == 2 || _isIR] call FUNC(drawLaserpoint); + }; }; } forEach GVAR(nearUnits); diff --git a/documentation/development/ace3-config-entries.md b/documentation/development/ace3-config-entries.md index 78f8022856..1033172469 100644 --- a/documentation/development/ace3-config-entries.md +++ b/documentation/development/ace3-config-entries.md @@ -54,6 +54,9 @@ ace_detonator ace_barrelTwist ace_twistDirection ace_barrelLength +ace_laserpointer +ace_nextmodeclass +ace_modedescription ``` From 5ca75f9973b58bcd559ffe05c6fb261413a5defb Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 30 Apr 2015 12:20:01 -0500 Subject: [PATCH 139/478] Action names Join->Assign --- addons/interaction/CfgVehicles.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index e7095806bc..97b0ff6cdf 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -42,7 +42,7 @@ class CfgVehicles { icon = PATHTOF(UI\team\team_management_ca.paa); hotkey = "M"; - class ACE_JoinTeamRed { + class ACE_AssignTeamRed { displayName = "$STR_ACE_Interaction_AssignTeamRed"; condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam)); statement = QUOTE([ARR_2(_target,'RED')] call DFUNC(joinTeam)); @@ -51,7 +51,7 @@ class CfgVehicles { priority = 2.4; hotkey = "R"; }; - class ACE_JoinTeamGreen { + class ACE_AssignTeamGreen { displayName = "$STR_ACE_Interaction_AssignTeamGreen"; condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam)); statement = QUOTE([ARR_2(_target,'GREEN')] call DFUNC(joinTeam)); @@ -60,7 +60,7 @@ class CfgVehicles { priority = 2.3; hotkey = "G"; }; - class ACE_JoinTeamBlue { + class ACE_AssignTeamBlue { displayName = "$STR_ACE_Interaction_AssignTeamBlue"; condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam)); statement = QUOTE([ARR_2(_target,'BLUE')] call DFUNC(joinTeam)); @@ -69,7 +69,7 @@ class CfgVehicles { priority = 2.2; hotkey = "B"; }; - class ACE_JoinTeamYellow { + class ACE_AssignTeamYellow { displayName = "$STR_ACE_Interaction_AssignTeamYellow"; condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam)); statement = QUOTE([ARR_2(_target,'YELLOW')] call DFUNC(joinTeam)); From 367da1f4bfaae7e0e0ee36d44a9058b01debd799 Mon Sep 17 00:00:00 2001 From: bux578 Date: Thu, 30 Apr 2015 19:36:35 +0200 Subject: [PATCH 140/478] cleaned up insignias --- addons/common/data/insignia_ace3logo_ca.paa | Bin 33382 -> 33082 bytes addons/common/data/insignia_banana_ca.paa | Bin 36279 -> 36749 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/addons/common/data/insignia_ace3logo_ca.paa b/addons/common/data/insignia_ace3logo_ca.paa index 04640aa187fdd60644c9daebc8e9547f13ada719..5a8ca321d7a59e68d8878fedc7877666eb7427c6 100644 GIT binary patch delta 5266 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�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 MBtgjWGB2zA3ueQP-T(jq literal 36279 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 Qj6 Date: Thu, 30 Apr 2015 12:38:19 -0500 Subject: [PATCH 141/478] Remove linebreak from teamManagement, fix leaveteam --- addons/interaction/CfgVehicles.hpp | 4 ++-- addons/interaction/stringtable.xml | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index 97b0ff6cdf..bfa6839479 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -79,9 +79,9 @@ class CfgVehicles { hotkey = "Y"; }; - class ACE_LeaveTeam { + class ACE_UnassignTeam { displayName = "$STR_ACE_Interaction_LeaveTeam"; - condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {assignedTeam _player != 'MAIN'}); + condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {assignedTeam _target != 'MAIN'}); statement = QUOTE([ARR_2(_target,'MAIN')] call DFUNC(joinTeam)); showDisabled = 1; icon = PATHTOF(UI\team\team_white_ca.paa); diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 1e5d18a159..31768d71b7 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -506,16 +506,16 @@ A Terra! - Team<br/>Management - Team<br/>Management - Gestión<br/>de equipo - Gestion<br/>d'équipe - Zarządzanie<br/>oddziałem - Správa<br/>týmu - Управление<br/>группой - Gerenciamento<br/>de Equipe - Organizzazione<br/>Squadra - Csapat<br/>kezelése + Team Management + Team Management + Gestión de equipo + Gestion d'équipe + Zarządzanie oddziałem + Správa týmu + Управление группой + Gerenciamento de Equipe + Organizzazione Squadra + Csapat kezelése Red From 432a0102e89a2649cca7007d0a1f301035486eb4 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 30 Apr 2015 20:44:43 +0200 Subject: [PATCH 142/478] Improved unloadPerson function Removed caller parameter. --- addons/common/functions/fnc_unloadPerson.sqf | 53 +++++++------------ .../functions/fnc_actionUnloadUnit.sqf | 2 +- 2 files changed, 20 insertions(+), 35 deletions(-) diff --git a/addons/common/functions/fnc_unloadPerson.sqf b/addons/common/functions/fnc_unloadPerson.sqf index 33c0e9c0c2..60e4f56d7d 100644 --- a/addons/common/functions/fnc_unloadPerson.sqf +++ b/addons/common/functions/fnc_unloadPerson.sqf @@ -1,59 +1,44 @@ -/** - * fn_unloadPerson_f.sqf - * @Descr: Unload a person from a vehicle - * @Author: Glowbal +/* + * Author: Glowbal + * Unload a person from a vehicle * - * @Arguments: [caller OBJECT, unit OBJECT] - * @Return: BOOL Returns true if succesfully unloaded person - * @PublicAPI: true + * Arguments: + * 0: unit + * + * Return Value: + * Returns true if succesfully unloaded person + * + * Public: No */ #include "script_component.hpp" #define GROUP_SWITCH_ID QUOTE(FUNC(loadPerson)) -private ["_caller", "_unit","_vehicle", "_loaded"]; -_caller = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param; -_unit = [_this, 1, ObjNull,[ObjNull]] call BIS_fnc_Param; +private ["_unit","_vehicle", "_loaded", "_emptyPos"]; +_unit = _this select 0; _vehicle = vehicle _unit; if (_vehicle == _unit) exitwith {false;}; if !(speed _vehicle <1 && (((getpos _vehicle) select 2) < 2)) exitwith {false;}; -if (!([_caller] call FUNC(isAwake))) exitwith{false;}; -moveOut _unit; +_emptyPos = ((getPos _vehicle) findEmptyPosition [0, 10, typeof _unit]); +if (count _emptyPos == 0) exitwith {false}; + +_unit setPos _emptyPos; unassignVehicle _unit; if (!alive _unit) then { _unit action ["Eject", vehicle _unit]; }; -[_unit, false, GROUP_SWITCH_ID, side group _caller] call FUNC(switchToGroupSide); +[_unit, false, GROUP_SWITCH_ID, side group _unit] call FUNC(switchToGroupSide); _loaded = _vehicle getvariable [QGVAR(loaded_persons),[]]; _loaded = _loaded - [_unit]; _vehicle setvariable [QGVAR(loaded_persons),_loaded,true]; if (!([_unit] call FUNC(isAwake))) then { - _handle = [_unit,_vehicle] spawn { - private ["_unit","_vehicle"]; - _unit = _this select 0; - _vehicle = _this select 1; - waituntil {vehicle _unit != _vehicle}; - [_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call FUNC(doAnimation); - [format["Unit should move into death anim: %1", _unit]] call FUNC(debug); - }; -} else { - if ([_unit] call FUNC(isArrested)) then { - _handle = [_unit,_vehicle] spawn { - _unit = _this select 0; - _vehicle = _this select 1; - waituntil {vehicle _unit != _vehicle}; - [_unit,"UnaErcPoslechVelitele2", 1] call FUNC(doAnimation); - [format["Unit should move into arrested anim: %1", _unit]] call FUNC(debug); - }; - } else { - [format["Unit should move into normal anim: %1", _unit]] call FUNC(debug); - }; + [_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call FUNC(doAnimation); }; -true; \ No newline at end of file +true; diff --git a/addons/medical/functions/fnc_actionUnloadUnit.sqf b/addons/medical/functions/fnc_actionUnloadUnit.sqf index fd56e6d6bd..bb66147f2a 100644 --- a/addons/medical/functions/fnc_actionUnloadUnit.sqf +++ b/addons/medical/functions/fnc_actionUnloadUnit.sqf @@ -24,7 +24,7 @@ _drag = if (count _this > 2) then {_this select 2} else {false}; if (vehicle _target == _target) exitwith {}; if (([_target] call cse_fnc_isAwake)) exitwith {}; -if ([_caller, _target] call EFUNC(common,unloadPerson)) then { +if ([_target] call EFUNC(common,unloadPerson)) then { if (_drag) then { if ((vehicle _caller) == _caller) then { [[_caller, _target, true], QUOTE(DFUNC(actionDragUnit)), _caller, false] call EFUNC(common,execRemoteFnc); // TODO replace by event From 8d358f3ab577b5dabb9f99bb7f6d60d641eca003 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 30 Apr 2015 20:44:59 +0200 Subject: [PATCH 143/478] can only carry/drag units that are not in a vehicle --- addons/dragging/functions/fnc_canCarry.sqf | 2 +- addons/dragging/functions/fnc_canDrag.sqf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/dragging/functions/fnc_canCarry.sqf b/addons/dragging/functions/fnc_canCarry.sqf index 0fc5c074d6..6472124aef 100644 --- a/addons/dragging/functions/fnc_canCarry.sqf +++ b/addons/dragging/functions/fnc_canCarry.sqf @@ -22,4 +22,4 @@ if !([_unit, _target, []] call EFUNC(common,canInteractWith)) exitWith {false}; // a static weapon has to be empty for dragging if ((typeOf _target) isKindOf "StaticWeapon" && {count crew _target > 0}) exitWith {false}; -alive _target && {_target getVariable [QGVAR(canCarry), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})} +alive _target && {vehicle _target == _target} && {_target getVariable [QGVAR(canCarry), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})} diff --git a/addons/dragging/functions/fnc_canDrag.sqf b/addons/dragging/functions/fnc_canDrag.sqf index 92744553fd..7eedfce179 100644 --- a/addons/dragging/functions/fnc_canDrag.sqf +++ b/addons/dragging/functions/fnc_canDrag.sqf @@ -22,4 +22,4 @@ if !([_unit, _target, []] call EFUNC(common,canInteractWith)) exitWith {false}; // a static weapon has to be empty for dragging if ((typeOf _target) isKindOf "StaticWeapon" && {count crew _target > 0}) exitWith {false}; -alive _target && {_target getVariable [QGVAR(canDrag), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})}; \ No newline at end of file +alive _target && {vehicle _target == _target} && {_target getVariable [QGVAR(canDrag), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})}; \ No newline at end of file From 67370f334028fdabb381515fe137907fbb46bc85 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 30 Apr 2015 20:49:38 +0200 Subject: [PATCH 144/478] Handles waking up --- addons/common/XEH_postInit.sqf | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 7dc07743ed..53de6b5d69 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -73,7 +73,7 @@ if (_currentVersion != _previousVersion) then { // Synced ACE events // Handle JIP scenario if(!isServer) then { - ["PlayerJip", { + ["PlayerJip", { diag_log text format["[ACE] * JIP event synchronization initialized"]; ["SEH_all", [player]] call FUNC(serverEvent); }] call FUNC(addEventHandler); @@ -112,7 +112,7 @@ enableCamShake true; // Set the name for the current player ["playerChanged", { EXPLODE_2_PVT(_this,_newPlayer,_oldPlayer); - + if (alive _newPlayer) then { [_newPlayer] call FUNC(setName) }; @@ -227,6 +227,7 @@ GVAR(OldIsCamera) = false; ["displayTextStructured", FUNC(displayTextStructured)] call FUNC(addEventhandler); ["displayTextPicture", FUNC(displayTextPicture)] call FUNC(addEventhandler); +["medical_onUnconscious", {if (local (_this select 0) && {!(_this select 1)}) then {[ _this select 0, false, QUOTE(FUNC(loadPerson)), west /* dummy side */] call FUNC(switchToGroupSide);};}] call FUNC(addEventhandler); ["notOnMap", {!visibleMap}] call FUNC(addCanInteractWithCondition); ["isNotInside", { @@ -243,10 +244,10 @@ GVAR(OldIsCamera) = false; if(isMultiplayer && { time > 0 || isNull player } ) then { // We are jipping! Get ready and wait, and throw the event [{ - if(!(isNull player)) then { + if(!(isNull player)) then { ["PlayerJip", [player] ] call FUNC(localEvent); [(_this select 1)] call cba_fnc_removePerFrameHandler; - }; + }; }, 0, []] call cba_fnc_addPerFrameHandler; }; From 8c8e310d663ad46816d84d4c6f85a6bceb0f1dad Mon Sep 17 00:00:00 2001 From: commy2 Date: Thu, 30 Apr 2015 21:00:30 +0200 Subject: [PATCH 145/478] handle cursor mode --- addons/interact_menu/functions/fnc_handlePlayerChanged.sqf | 6 +++--- addons/interact_menu/functions/fnc_keyDown.sqf | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf index f1f6e78f6d..cff8bb1048 100644 --- a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf +++ b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf @@ -16,9 +16,9 @@ EXPLODE_2_PVT(_this,_newUnit,_oldUnit); // add to new unit private "_ehid"; _ehid = [_newUnit, "DefaultAction", {GVAR(openedMenuType) >= 0}, { - if !(GVAR(actionOnKeyRelease)) then { - [GVAR(openedMenuType),true] call FUNC(keyUp); - }; + if !(GVAR(actionOnKeyRelease)) then { + [GVAR(openedMenuType),true] call FUNC(keyUp); + }; }] call EFUNC(common,addActionEventHandler); _newUnit setVariable [QGVAR(AAEHID), _ehid]; diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index 9f1d0b9bcb..d4e460c10f 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -52,6 +52,12 @@ if (GVAR(useCursorMenu)) then { GVAR(cursorPos) = [_this select 1, _this select 2, 0]; }; }]; + // handles LMB in cursor mode when action on keyrelease is disabled + ((finddisplay 91919) displayctrl 91921) ctrlAddEventHandler ["MouseButtonDown", { + if !(GVAR(actionOnKeyRelease)) then { + [GVAR(openedMenuType),true] call FUNC(keyUp); + }; + }]; setMousePosition [0.5, 0.5]; }; From ba18f8b43002748576e9c044d57c293a46355ab1 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 30 Apr 2015 14:07:19 -0500 Subject: [PATCH 146/478] Handle Scaling --- .../functions/fnc_renderMenu.sqf | 37 +++++++++++++------ .../functions/fnc_setupTextColors.sqf | 8 ++-- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/addons/interact_menu/functions/fnc_renderMenu.sqf b/addons/interact_menu/functions/fnc_renderMenu.sqf index c4615d8337..c88b6cb862 100644 --- a/addons/interact_menu/functions/fnc_renderMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderMenu.sqf @@ -68,7 +68,7 @@ if !(_menuInSelectedPath) exitWith {true}; //BEGIN_COUNTER(children); -private ["_numChildren","_angleSpan","_angle","_angleInterval","_scale","_offset"]; +private ["_numChildren","_angleSpan","_angle","_angleInterval","_scaleX", "_scaleY", "_offset", "_textSize"]; _numChildren = count _activeChildren; _angleSpan = _maxAngleSpan min (55 * ((_numChildren) - 1)); if (_angleSpan >= 305) then { @@ -87,15 +87,30 @@ if (_numChildren == 1) then { }; // Scale menu based on the amount of children -_scale = if (GVAR(UseListMenu)) then { - 0.17 +_scaleX = if (GVAR(UseListMenu)) then { + _textSize = switch (GVAR(textSize)) do { + case (0): {0.75}; + case (1): {0.875}; + case (2): {1}; + case (3): {1.2}; + case (4): {1.4}; + }; + 0.17 * _textSize * 1.1 } else { - 0.17 * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.1) max 0.5) + _textSize = if (GVAR(textSize) > 2) then {1.3} else {1}; + _textSize * 0.17 * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.1) max 0.5) +}; +_scaleY = if (GVAR(UseListMenu)) then { + 0.17 * 0.30 * 4/3 +} else { + _textSize = if (GVAR(textSize) > 2) then {1.3} else {1}; + _textSize * 0.17 * 4/3 * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.1) max 0.5) }; // Animate menu scale if (_menuInSelectedPath && (_menuDepth == count _path)) then { - _scale = _scale * (0.3 + 0.7 * (((diag_tickTime - GVAR(expandedTime)) * 8) min 1)); + _scaleX = _scaleX * (0.3 + 0.7 * (((diag_tickTime - GVAR(expandedTime)) * 8) min 1)); + _scaleY = _scaleY * (0.3 + 0.7 * (((diag_tickTime - GVAR(expandedTime)) * 8) min 1)); }; _target = _actionObject; @@ -107,12 +122,12 @@ _angle = _centerAngle - _angleSpan / 2; //BEGIN_COUNTER(children); private ["_offset","_newPos"]; _newPos = if (GVAR(UseListMenu)) then { - [(_sPos select 0) + _scale * 1.10, - (_sPos select 1) + _scale * 0.30 * 4/3 * (_foreachindex - _numChildren/2 + 0.5)]; - } else { - [(_sPos select 0) -_scale * cos _angle, - (_sPos select 1) +_scale * (sin _angle) * 4/3]; - }; + [(_sPos select 0) + _scaleX, + (_sPos select 1) + _scaleY * (_foreachindex - _numChildren/2 + 0.5)]; + } else { + [(_sPos select 0) - _scaleX * (cos _angle), + (_sPos select 1) + _scaleY * (sin _angle)]; + }; //drawLine3D [_pos, _newPos, [1,0,0,0.8]]; //END_COUNTER(children); diff --git a/addons/interact_menu/functions/fnc_setupTextColors.sqf b/addons/interact_menu/functions/fnc_setupTextColors.sqf index 0183e9e50b..e26ef9dad8 100644 --- a/addons/interact_menu/functions/fnc_setupTextColors.sqf +++ b/addons/interact_menu/functions/fnc_setupTextColors.sqf @@ -33,11 +33,11 @@ _mixColor = { _textColor = [GVAR(colorTextMin), GVAR(colorTextMax), 1] call _mixColor; _shadowColor = [GVAR(colorShadowMin), GVAR(colorShadowMax), 1] call _mixColor; _textSize = switch (GVAR(textSize)) do { - case (0): {0.6}; - case (1): {0.7}; + case (0): {0.4}; + case (1): {0.6}; case (2): {0.8}; - case (3): {0.9}; - case (4): {1}; + case (3): {1}; + case (4): {1.2}; }; GVAR(colorSelectedSettings) = format ["color='%1' size='%2' shadow='%3' shadowColor='%4' shadowOffset='0.06'", _textColor, _textSize, GVAR(shadowSetting), _shadowColor]; From 2f763a23101872f310f25f54a3ec5ef54bbdd125 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 30 Apr 2015 21:17:33 +0200 Subject: [PATCH 147/478] Disabled client setting for menu style --- addons/medical/ACE_Settings.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index 36d882c9d8..453c6962d2 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -155,6 +155,6 @@ class ACE_Settings { typeName = "SCALAR"; value = 0; values[] = {"$STR_ACE_Medical_useSelection", "$STR_ACE_Medical_useRadial"}; - isClientSettable = 1; + // isClientSettable = 1; }; }; From e7290feaa20c90afd5dbd6074a87722fd4e21584 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 30 Apr 2015 21:20:04 +0200 Subject: [PATCH 148/478] disabled radial option, so it isn't server selectable either --- addons/medical/ACE_Settings.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index 453c6962d2..ef4a4f0162 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -154,7 +154,7 @@ class ACE_Settings { description = "$STR_ACE_Medical_menuTypeDescription"; typeName = "SCALAR"; value = 0; - values[] = {"$STR_ACE_Medical_useSelection", "$STR_ACE_Medical_useRadial"}; + values[] = {"$STR_ACE_Medical_useSelection"/*, "$STR_ACE_Medical_useRadial"*/}; // isClientSettable = 1; }; }; From b52906800fbd8c9cde993828010610fee695efdc Mon Sep 17 00:00:00 2001 From: bux578 Date: Thu, 30 Apr 2015 21:20:41 +0200 Subject: [PATCH 149/478] add translation guide --- documentation/development/how-to-translate-ace3.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/documentation/development/how-to-translate-ace3.md b/documentation/development/how-to-translate-ace3.md index b7e23fa575..576cd3a98b 100644 --- a/documentation/development/how-to-translate-ace3.md +++ b/documentation/development/how-to-translate-ace3.md @@ -24,3 +24,7 @@ This page describes in short how you can help translating ACE3 into your languag (The last three steps require some git knowledge, but there are a lot of tutorials out there) [GitHub for Windows help](https://windows.github.com/help.html) + + +#### Community Translation Guides +**Spanish:** [https://gist.github.com/Legolasindar/bf8a3b09cb835f72501f](https://gist.github.com/Legolasindar/bf8a3b09cb835f72501f) From 85669a9e92c28093114abf753a1ecf13f0deef4d Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 30 Apr 2015 22:01:09 +0200 Subject: [PATCH 150/478] Convert Medical stringtable key names to lowercase --- addons/medical/ACE_Medical_Actions.hpp | 162 +++++----- addons/medical/ACE_Medical_SelfActions.hpp | 80 ++--- addons/medical/ACE_Medical_Treatments.hpp | 22 +- addons/medical/CfgVehicles.hpp | 32 +- addons/medical/CfgWeapons.hpp | 96 +++--- .../fnc_actionCheckBloodPressureLocal.sqf | 22 +- .../functions/fnc_actionCheckPulseLocal.sqf | 18 +- .../functions/fnc_actionCheckResponse.sqf | 4 +- .../medical/functions/fnc_actionDiagnose.sqf | 16 +- .../fnc_displayPatientInformation.sqf | 10 +- .../functions/fnc_displayTriageCard.sqf | 2 +- .../medical/functions/fnc_getTriageStatus.sqf | 10 +- .../fnc_treatmentAdvanced_bandage.sqf | 2 +- .../fnc_treatmentAdvanced_medication.sqf | 2 +- addons/medical/functions/fnc_treatmentIV.sqf | 2 +- .../functions/fnc_treatmentTourniquet.sqf | 2 +- addons/medical/stringtable.xml | 292 +++++++++--------- addons/medical/ui/triagecard.hpp | 12 +- 18 files changed, 393 insertions(+), 393 deletions(-) diff --git a/addons/medical/ACE_Medical_Actions.hpp b/addons/medical/ACE_Medical_Actions.hpp index 98c61a330c..9052df81da 100644 --- a/addons/medical/ACE_Medical_Actions.hpp +++ b/addons/medical/ACE_Medical_Actions.hpp @@ -21,7 +21,7 @@ class ACE_Head { }; // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(treatment)); @@ -32,47 +32,47 @@ class ACE_Head { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\bandage.paa); }; class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + displayName = "$STR_ACE_Medical_Actions_CheckPulse"; condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(treatment)); EXCEPTIONS icon = ""; }; class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure"; condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(treatment)); EXCEPTIONS }; class CheckResponse: CheckPulse { - displayName = "$STR_ACE_MEDICAL_CHECK_RESPONSE"; + displayName = "$STR_ACE_Medical_Check_Response"; condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(treatment)); EXCEPTIONS }; class Diagnose: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Diagnose"; + displayName = "$STR_ACE_Medical_Actions_Diagnose"; condition = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(treatment)); EXCEPTIONS @@ -100,7 +100,7 @@ class ACE_Torso { icon = PATHTOF(UI\icons\bandage.paa); }; class PlaceInBodyBag { - displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag"; + displayName = "$STR_ACE_Medical_PlaceInBodyBag"; distance = 2.0; condition = QUOTE([ARR_4(_player, _target, 'body', 'BodyBag')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'BodyBag')] call DFUNC(treatment)); @@ -111,7 +111,7 @@ class ACE_Torso { enableInside = 1; }; class TriageCard { - displayName = "$STR_ACE_MEDICAL_ACTIONS_TriageCard"; + displayName = "$STR_ACE_Medical_Actions_TriageCard"; distance = 2.0; condition = "true"; statement = QUOTE([ARR_2(_target, true)] call DFUNC(displayTriageCard)); @@ -125,7 +125,7 @@ class ACE_Torso { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(treatment)); @@ -137,42 +137,42 @@ class ACE_Torso { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\bandage.paa); }; class SurgicalKit: fieldDressing { - displayName = "$STR_ACE_MEDICAL_USE_SURGICALKIT"; + displayName = "$STR_ACE_Medical_Use_SurgicalKit"; condition = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\surgicalKit.paa); }; class PersonalAidKit: fieldDressing { - displayName = "$STR_ACE_MEDICAL_USE_AID_KIT"; + displayName = "$STR_ACE_Medical_Use_Aid_Kit"; condition = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(treatment)); EXCEPTIONS icon = ""; }; class CPR: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CPR"; + displayName = "$STR_ACE_Medical_Actions_CPR"; condition = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(treatment)); EXCEPTIONS @@ -203,7 +203,7 @@ class ACE_ArmLeft { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(treatment)); @@ -214,28 +214,28 @@ class ACE_ArmLeft { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\bandage.paa); }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -263,75 +263,75 @@ class ACE_ArmLeft { icon = PATHTOF(UI\icons\autoInjector.paa); }; class BloodIV: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; + displayName = "$STR_ACE_Medical_Actions_Blood4_1000"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; + displayName = "$STR_ACE_Medical_Actions_Blood4_500"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class BloodIV_250: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; + displayName = "$STR_ACE_Medical_Actions_Blood4_250"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_1000"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_500: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_500"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_250: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_250"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; + displayName = "$STR_ACE_Medical_Actions_Saline4_1000"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_500: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; + displayName = "$STR_ACE_Medical_Actions_Saline4_500"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_250: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; + displayName = "$STR_ACE_Medical_Actions_Saline4_250"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + displayName = "$STR_ACE_Medical_Actions_CheckPulse"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(treatment)); EXCEPTIONS icon = ""; }; class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(treatment)); EXCEPTIONS }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -361,7 +361,7 @@ class ACE_ArmRight { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(treatment)); @@ -372,26 +372,26 @@ class ACE_ArmRight { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -417,75 +417,75 @@ class ACE_ArmRight { EXCEPTIONS }; class BloodIV: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; + displayName = "$STR_ACE_Medical_Actions_Blood4_1000"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; + displayName = "$STR_ACE_Medical_Actions_Blood4_500"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class BloodIV_250: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; + displayName = "$STR_ACE_Medical_Actions_Blood4_250"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_1000"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_500: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_500"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_250: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_250"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; + displayName = "$STR_ACE_Medical_Actions_Saline4_1000"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_500: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; + displayName = "$STR_ACE_Medical_Actions_Saline4_500"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_250: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; + displayName = "$STR_ACE_Medical_Actions_Saline4_250"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + displayName = "$STR_ACE_Medical_Actions_CheckPulse"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(treatment)); EXCEPTIONS icon = ""; }; class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(treatment)); EXCEPTIONS }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -517,7 +517,7 @@ class ACE_LegLeft { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(treatment)); @@ -528,26 +528,26 @@ class ACE_LegLeft { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -574,62 +574,62 @@ class ACE_LegLeft { EXCEPTIONS }; class BloodIV: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; + displayName = "$STR_ACE_Medical_Actions_Blood4_1000"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; + displayName = "$STR_ACE_Medical_Actions_Blood4_500"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class BloodIV_250: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; + displayName = "$STR_ACE_Medical_Actions_Blood4_250"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_1000"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_500: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_500"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_250: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_250"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; + displayName = "$STR_ACE_Medical_Actions_Saline4_1000"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_500: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; + displayName = "$STR_ACE_Medical_Actions_Saline4_500"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_250: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; + displayName = "$STR_ACE_Medical_Actions_Saline4_250"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -660,7 +660,7 @@ class ACE_LegRight { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(treatment)); @@ -671,26 +671,26 @@ class ACE_LegRight { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(treatment)); EXCEPTIONS @@ -716,62 +716,62 @@ class ACE_LegRight { EXCEPTIONS }; class BloodIV: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000"; + displayName = "$STR_ACE_Medical_Actions_Blood4_1000"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(treatment)); EXCEPTIONS icon = PATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500"; + displayName = "$STR_ACE_Medical_Actions_Blood4_500"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class BloodIV_250: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250"; + displayName = "$STR_ACE_Medical_Actions_Blood4_250"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_1000"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_500: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_500"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class PlasmaIV_250: PlasmaIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250"; + displayName = "$STR_ACE_Medical_Actions_Plasma4_250"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV: BloodIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000"; + displayName = "$STR_ACE_Medical_Actions_Saline4_1000"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_500: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500"; + displayName = "$STR_ACE_Medical_Actions_Saline4_500"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_500')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_500')] call DFUNC(treatment)); EXCEPTIONS }; class SalineIV_250: SalineIV { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250"; + displayName = "$STR_ACE_Medical_Actions_Saline4_250"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_250')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_250')] call DFUNC(treatment)); EXCEPTIONS }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment)); EXCEPTIONS diff --git a/addons/medical/ACE_Medical_SelfActions.hpp b/addons/medical/ACE_Medical_SelfActions.hpp index add07c8262..5b98448664 100644 --- a/addons/medical/ACE_Medical_SelfActions.hpp +++ b/addons/medical/ACE_Medical_SelfActions.hpp @@ -1,5 +1,5 @@ class Medical { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Medical"; + displayName = "$STR_ACE_Medical_Actions_Medical"; runOnHover = 1; hotkey = "M"; exceptions[] = {"isNotInside"}; @@ -29,7 +29,7 @@ class Medical { }; // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -40,35 +40,35 @@ class Medical { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\bandage.paa); }; class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + displayName = "$STR_ACE_Medical_Actions_CheckPulse"; condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(treatment)); icon = ""; }; class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure"; condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(treatment)); @@ -100,7 +100,7 @@ class Medical { }; class TriageCard { - displayName = "$STR_ACE_MEDICAL_ACTIONS_TriageCard"; + displayName = "$STR_ACE_Medical_Actions_TriageCard"; distance = 2.0; condition = "true"; exceptions[] = {"isNotInside"}; @@ -113,7 +113,7 @@ class Medical { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -124,21 +124,21 @@ class Medical { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(treatment)); @@ -168,7 +168,7 @@ class Medical { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -179,28 +179,28 @@ class Medical { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\bandage.paa); }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(treatment)); @@ -228,20 +228,20 @@ class Medical { icon = PATHTOF(UI\icons\autoInjector.paa); }; class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + displayName = "$STR_ACE_Medical_Actions_CheckPulse"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(treatment)); icon = ""; }; class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(treatment)); }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(treatment)); @@ -270,7 +270,7 @@ class Medical { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -281,26 +281,26 @@ class Medical { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(treatment)); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(treatment)); }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(treatment)); @@ -326,20 +326,20 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Epinephrine')] call DFUNC(treatment)); }; class CheckPulse: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse"; + displayName = "$STR_ACE_Medical_Actions_CheckPulse"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(treatment)); icon = ""; }; class CheckBloodPressure: CheckPulse { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure"; + displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(treatment)); }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(treatment)); @@ -369,7 +369,7 @@ class Medical { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -380,26 +380,26 @@ class Medical { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(treatment)); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(treatment)); }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(treatment)); @@ -426,7 +426,7 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Epinephrine')] call DFUNC(treatment)); }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(treatment)); @@ -456,7 +456,7 @@ class Medical { // Advanced medical class FieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing"; + displayName = "$STR_ACE_Medical_Actions_FieldDressing"; distance = 5.0; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; @@ -467,26 +467,26 @@ class Medical { icon = PATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage"; + displayName = "$STR_ACE_Medical_Actions_PackingBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(treatment)); icon = PATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage"; + displayName = "$STR_ACE_Medical_Actions_ElasticBandage"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(treatment)); }; class QuikClot: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot"; + displayName = "$STR_ACE_Medical_Actions_QuikClot"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(treatment)); }; class Tourniquet: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet"; + displayName = "$STR_ACE_Medical_Actions_Tourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(treatment)); @@ -512,7 +512,7 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Epinephrine')] call DFUNC(treatment)); }; class RemoveTourniquet: Tourniquet { - displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet"; + displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet"; condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment)); diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index fced8c93bf..4f47e68a0b 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -56,8 +56,8 @@ class ACE_Medical_Actions { litter[] = {}; }; class BodyBag: Bandage { - displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag"; - displayNameProgress = "$STR_ACE_MEDICAL_PlacingInBodyBag"; + displayName = "$STR_ACE_Medical_PlaceInBodyBag"; + displayNameProgress = "$STR_ACE_Medical_PlacingInBodyBag"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 2; @@ -72,8 +72,8 @@ class ACE_Medical_Actions { litter[] = {}; }; class Diagnose: Bandage { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Diagnose"; - displayNameProgress = "$STR_ACE_MEDICAL_ACTIONS_Diagnosing"; + displayName = "$STR_ACE_Medical_Actions_Diagnose"; + displayNameProgress = "$STR_ACE_Medical_Actions_Diagnosing"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 1; @@ -225,7 +225,7 @@ class ACE_Medical_Actions { }; class CheckPulse: fieldDressing { displayName = ""; - displayNameProgress = "$STR_ACE_MEDICAL_CHECK_PULSE_CONTENT"; + displayNameProgress = "$STR_ACE_Medical_Check_Pulse_CONTENT"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 2; @@ -240,11 +240,11 @@ class ACE_Medical_Actions { }; class CheckBloodPressure: CheckPulse { callbackSuccess = QUOTE(DFUNC(actionCheckBloodPressure)); - displayNameProgress = "$STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_CONTENT"; + displayNameProgress = "$STR_ACE_Medical_Check_Bloodpressure_CONTENT"; }; class CheckResponse: CheckPulse { callbackSuccess = QUOTE(DFUNC(actionCheckResponse)); - displayNameProgress = "$STR_ACE_MEDICAL_CHECK_RESPONSE_CONTENT"; + displayNameProgress = "$STR_ACE_Medical_Check_Response_CONTENT"; }; class RemoveTourniquet: CheckPulse { treatmentTime = 2.5; @@ -252,8 +252,8 @@ class ACE_Medical_Actions { condition = QUOTE([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo)); }; class CPR: fieldDressing { - displayName = "$STR_ACE_MEDICAL_ACTIONS_CPR"; - displayNameProgress = "$STR_ACE_MEDICAL_ACTIONS_PerformingCPR"; + displayName = "$STR_ACE_Medical_Actions_CPR"; + displayNameProgress = "$STR_ACE_Medical_Actions_PerformingCPR"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 15; @@ -272,8 +272,8 @@ class ACE_Medical_Actions { litter[] = {}; }; class BodyBag: fieldDressing { - displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag"; - displayNameProgress = "$STR_ACE_MEDICAL_PlacingInBodyBag"; + displayName = "$STR_ACE_Medical_PlaceInBodyBag"; + displayNameProgress = "$STR_ACE_Medical_PlacingInBodyBag"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 2; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 3d77a24172..6149c57afd 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -444,7 +444,7 @@ class CfgVehicles { // Create a consolidates medical menu for treatment while boarded class ACE_MainActions { class Medical { - displayName = "$STR_ACE_MEDICAL_ACTIONS_Medical"; + displayName = "$STR_ACE_Medical_Actions_Medical"; runOnHover = 1; exceptions[] = {"isNotInside"}; condition = QUOTE((vehicle _target != _target && vehicle _target == vehicle _player) || GVAR(menuTypeStyle) == 1); @@ -653,7 +653,7 @@ class CfgVehicles { side = -1; model = QUOTE(PATHTOF(data\bodybag.p3d)); icon = ""; - displayName = $STR_ACE_MEDICAL_BODYBAG_DISPLAY; + displayName = $STR_ACE_Medical_Bodybag_Display; EGVAR(dragging,canDrag) = 1; EGVAR(dragging,dragPosition[]) = {0,1.2,0}; EGVAR(dragging,dragDirection) = 0; @@ -706,7 +706,7 @@ class CfgVehicles { class ACE_fieldDressingItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY; + displayName = $STR_ACE_Medical_Bandage_Basic_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -719,7 +719,7 @@ class CfgVehicles { class ACE_packingBandageItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY; + displayName = $STR_ACE_Medical_Packing_Bandage_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -732,7 +732,7 @@ class CfgVehicles { class ACE_elasticBandageItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY; + displayName = $STR_ACE_Medical_Bandage_Elastic_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -745,7 +745,7 @@ class CfgVehicles { class ACE_tourniquetItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY; + displayName = $STR_ACE_Medical_Tourniquet_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -758,7 +758,7 @@ class CfgVehicles { class ACE_morphineItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY; + displayName = $STR_ACE_Medical_Morphine_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -771,7 +771,7 @@ class CfgVehicles { class ACE_atropineItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY; + displayName = $STR_ACE_Medical_Atropine_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -784,7 +784,7 @@ class CfgVehicles { class ACE_epinephrineItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY; + displayName = $STR_ACE_Medical_Epinephrine_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -797,7 +797,7 @@ class CfgVehicles { class ACE_plasmaIVItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_PLASMA_IV; + displayName = $STR_ACE_Medical_Plasma_IV; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -811,7 +811,7 @@ class CfgVehicles { class ACE_bloodIVItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_BLOOD_IV; + displayName = $STR_ACE_Medical_Blood_IV; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -824,7 +824,7 @@ class CfgVehicles { class ACE_salineIVItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_SALINE_IV; + displayName = $STR_ACE_Medical_Saline_IV; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -837,7 +837,7 @@ class CfgVehicles { class ACE_quikClotItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY; + displayName = $STR_ACE_Medical_QuikClot_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -850,7 +850,7 @@ class CfgVehicles { class ACE_personalAidKitItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY; + displayName = $STR_ACE_Medical_Aid_Kit_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -863,7 +863,7 @@ class CfgVehicles { class ACE_surgicalKitItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY; + displayName = $STR_ACE_Medical_SurgicalKit_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { @@ -876,7 +876,7 @@ class CfgVehicles { class ACE_bodyBagItem: Item_Base_F { scope = 2; scopeCurator = 2; - displayName = $STR_ACE_MEDICAL_BODYBAG_DISPLAY; + displayName = $STR_ACE_Medical_Bodybag_Display; author = "$STR_ACE_Common_ACETeam"; vehicleClass = "Items"; class TransportItems { diff --git a/addons/medical/CfgWeapons.hpp b/addons/medical/CfgWeapons.hpp index 8c45b6906c..5fc5a4c9a8 100644 --- a/addons/medical/CfgWeapons.hpp +++ b/addons/medical/CfgWeapons.hpp @@ -24,64 +24,64 @@ class CfgWeapons { scope = 2; model = QUOTE(PATHTOF(data\bandage.p3d)); picture = QUOTE(PATHTOF(ui\items\fieldDressing_x_ca.paa)); - displayName = $STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY; - descriptionShort = $STR_ACE_MEDICAL_BANDAGE_BASIC_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_BANDAGE_BASIC_DESC_USE; + displayName = $STR_ACE_Medical_Bandage_Basic_Display; + descriptionShort = $STR_ACE_Medical_Bandage_Basic_Desc_Short; + descriptionUse = $STR_ACE_Medical_Bandage_Basic_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_packingBandage: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY; + displayName = $STR_ACE_Medical_Packing_Bandage_Display; picture = QUOTE(PATHTOF(ui\items\packingBandage_x_ca.paa)); model = QUOTE(PATHTOF(data\packingbandage.p3d)); - descriptionShort = $STR_ACE_MEDICAL_PACKING_BANDAGE_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_PACKING_BANDAGE_DESC_USE; + descriptionShort = $STR_ACE_Medical_Packing_Bandage_Desc_Short; + descriptionUse = $STR_ACE_Medical_Packing_Bandage_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_elasticBandage: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY; + displayName = $STR_ACE_Medical_Bandage_Elastic_Display; picture = QUOTE(PATHTOF(ui\items\elasticBandage_x_ca.paa)); model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d"; - descriptionShort = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DESC_USE; + descriptionShort = $STR_ACE_Medical_Bandage_Elastic_Desc_Short; + descriptionUse = $STR_ACE_Medical_Bandage_Elastic_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_tourniquet: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY; + displayName = $STR_ACE_Medical_Tourniquet_Display; picture = QUOTE(PATHTOF(ui\items\tourniquet_x_ca.paa)); model = QUOTE(PATHTOF(data\tourniquet.p3d)); - descriptionShort = $STR_ACE_MEDICAL_TOURNIQUET_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_TOURNIQUET_DESC_USE; + descriptionShort = $STR_ACE_Medical_Tourniquet_Desc_Short; + descriptionUse = $STR_ACE_Medical_Tourniquet_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_morphine: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY; + displayName = $STR_ACE_Medical_Morphine_Display; picture = QUOTE(PATHTOF(ui\items\morphine_x_ca.paa)); model = QUOTE(PATHTOF(data\morphine.p3d)); - descriptionShort = $STR_ACE_MEDICAL_MORPHINE_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_MORPHINE_DESC_USE; + descriptionShort = $STR_ACE_Medical_Morphine_Desc_Short; + descriptionUse = $STR_ACE_Medical_Morphine_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_atropine: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY; + displayName = $STR_ACE_Medical_Atropine_Display; picture = QUOTE(PATHTOF(ui\items\atropine_x_ca.paa)); model = QUOTE(PATHTOF(data\atropine.p3d)); - descriptionShort = $STR_ACE_MEDICAL_ATROPINE_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_ATROPINE_DESC_USE; + descriptionShort = $STR_ACE_Medical_Atropine_Desc_Short; + descriptionUse = $STR_ACE_Medical_Atropine_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; @@ -89,33 +89,33 @@ class CfgWeapons { }; class ACE_epinephrine: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY; + displayName = $STR_ACE_Medical_Epinephrine_Display; picture = QUOTE(PATHTOF(ui\items\epinephrine_x_ca.paa)); model = QUOTE(PATHTOF(data\epinephrine.p3d)); - descriptionShort = $STR_ACE_MEDICAL_EPINEPHRINE_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_EPINEPHRINE_DESC_USE; + descriptionShort = $STR_ACE_Medical_Epinephrine_Desc_Short; + descriptionUse = $STR_ACE_Medical_Epinephrine_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_plasmaIV: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_PLASMA_IV; + displayName = $STR_ACE_Medical_Plasma_IV; picture = QUOTE(PATHTOF(ui\items\plasmaIV_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_PLASMA_IV_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_PLASMA_IV_DESC_USE; + descriptionShort = $STR_ACE_Medical_Plasma_IV_DESC_SHORT; + descriptionUse = $STR_ACE_Medical_Plasma_IV_DESC_USE; class ItemInfo: InventoryItem_Base_F { mass = 10; }; }; class ACE_plasmaIV_500: ACE_plasmaIV { - displayName = $STR_ACE_MEDICAL_PLASMA_IV_500; + displayName = $STR_ACE_Medical_Plasma_IV_500; class ItemInfo: InventoryItem_Base_F { mass = 5; }; }; class ACE_plasmaIV_250: ACE_plasmaIV { - displayName = $STR_ACE_MEDICAL_PLASMA_IV_250; + displayName = $STR_ACE_Medical_Plasma_IV_250; class ItemInfo: InventoryItem_Base_F { mass = 2.5; }; @@ -123,86 +123,86 @@ class CfgWeapons { class ACE_bloodIV: ACE_ItemCore { scope = 2; model = "\A3\Structures_F_EPA\Items\Medical\BloodBag_F.p3d"; - displayName = $STR_ACE_MEDICAL_BLOOD_IV; + displayName = $STR_ACE_Medical_Blood_IV; picture = QUOTE(PATHTOF(ui\items\bloodIV_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_BLOOD_IV_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_BLOOD_IV_DESC_USE; + descriptionShort = $STR_ACE_Medical_Blood_IV_DESC_SHORT; + descriptionUse = $STR_ACE_Medical_Blood_IV_DESC_USE; class ItemInfo: InventoryItem_Base_F { mass = 10; }; }; class ACE_bloodIV_500: ACE_bloodIV { - displayName = $STR_ACE_MEDICAL_BLOOD_IV_500; + displayName = $STR_ACE_Medical_Blood_IV_500; class ItemInfo: InventoryItem_Base_F { mass = 5; }; }; class ACE_bloodIV_250: ACE_bloodIV { - displayName = $STR_ACE_MEDICAL_BLOOD_IV_250; + displayName = $STR_ACE_Medical_Blood_IV_250; class ItemInfo: InventoryItem_Base_F { mass = 2.5; }; }; class ACE_salineIV: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_SALINE_IV; + displayName = $STR_ACE_Medical_Saline_IV; picture = QUOTE(PATHTOF(ui\items\salineIV_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_SALINE_IV_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_SALINE_IV_DESC_USE; + descriptionShort = $STR_ACE_Medical_Saline_IV_DESC_SHORT; + descriptionUse = $STR_ACE_Medical_Saline_IV_DESC_USE; class ItemInfo: InventoryItem_Base_F { mass = 10; }; }; class ACE_salineIV_500: ACE_salineIV { - displayName = $STR_ACE_MEDICAL_SALINE_IV_500; + displayName = $STR_ACE_Medical_Saline_IV_500; class ItemInfo: InventoryItem_Base_F { mass = 2.5; }; }; class ACE_salineIV_250: ACE_salineIV { - displayName = $STR_ACE_MEDICAL_SALINE_IV_250; + displayName = $STR_ACE_Medical_Saline_IV_250; class ItemInfo: InventoryItem_Base_F { mass = 2.5; }; }; class ACE_quikclot: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY; + displayName = $STR_ACE_Medical_QuikClot_Display; picture = QUOTE(PATHTOF(ui\items\quickclot_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_QUIKCLOT_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_QUIKCLOT_DESC_USE; + descriptionShort = $STR_ACE_Medical_QuikClot_Desc_Short; + descriptionUse = $STR_ACE_Medical_QuikClot_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 1; }; }; class ACE_personalAidKit: ACE_ItemCore { scope = 2; - displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY; + displayName = $STR_ACE_Medical_Aid_Kit_Display; picture = QUOTE(PATHTOF(ui\items\personal_aid_kit_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_AID_KIT_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_AID_KIT_DESC_USE; + descriptionShort = $STR_ACE_Medical_Aid_Kit_Desc_Short; + descriptionUse = $STR_ACE_Medical_Aid_Kit_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 2; }; }; class ACE_surgicalKit: ACE_ItemCore { scope=2; - displayName= $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY; + displayName= $STR_ACE_Medical_SurgicalKit_Display; model = QUOTE(PATHTOF(data\surgical_kit.p3d)); picture = QUOTE(PATHTOF(ui\items\surgicalKit_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_SURGICALKIT_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_SURGICALKIT_DESC_USE; + descriptionShort = $STR_ACE_Medical_SurgicalKit_Desc_Short; + descriptionUse = $STR_ACE_Medical_SurgicalKit_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 5; }; }; class ACE_bodyBag: ACE_ItemCore { scope=2; - displayName= $STR_ACE_MEDICAL_BODYBAG_DISPLAY; + displayName= $STR_ACE_Medical_Bodybag_Display; model = QUOTE(PATHTOF(data\bodybagItem.p3d)); picture = QUOTE(PATHTOF(ui\items\bodybag_x_ca.paa)); - descriptionShort = $STR_ACE_MEDICAL_BODYBAG_DESC_SHORT; - descriptionUse = $STR_ACE_MEDICAL_BODYBAG_DESC_USE; + descriptionShort = $STR_ACE_Medical_Bodybag_Desc_Short; + descriptionUse = $STR_ACE_Medical_Bodybag_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 15; }; diff --git a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf index d686515308..7a0b332400 100644 --- a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf @@ -28,27 +28,27 @@ _bloodPressureLow = _bloodPressure select 0; _output = ""; _logOutPut = ""; if ([_caller] call FUNC(isMedic)) then { - _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_1"; + _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_1"; _logOutPut = format["%1/%2",round(_bloodPressureHigh),round(_bloodPressureLow)]; } else { if (_bloodPressureHigh > 20) then { - _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_2"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOW"; + _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_2"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_LOW"; if (_bloodPressureHigh > 100) then { - _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_3"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NORMAL"; + _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_3"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_NORMAL"; if (_bloodPressureHigh > 160) then { - _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_4"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_HIGH"; + _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_4"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_HIGH"; }; }; } else { if (random(10) > 3) then { - _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_5"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NOBLOODPRESSURE"; + _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_5"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_NOBLOODPRESSURE"; } else { - _output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_6"; + _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_6"; }; }; }; @@ -56,5 +56,5 @@ if ([_caller] call FUNC(isMedic)) then { ["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller]] call EFUNC(common,targetEvent); if (_logOutPut != "") then { - [_target,"activity", localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOG", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); + [_target,"activity", localize "STR_ACE_Medical_Check_Bloodpressure_LOG", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); }; diff --git a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf index f035ae18ad..3f49cba6e6 100644 --- a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf @@ -23,24 +23,24 @@ _heartRate = _unit getvariable [QGVAR(heartRate), 80]; if (!alive _unit) then { _heartRate = 0; }; -_heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_5"; +_heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_5"; _logOutPut = "No heart rate"; if (_heartRate > 1.0) then { if ([_caller] call FUNC(isMedic)) then { - _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_1"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_1"; _logOutPut = format["%1",round(_heartRate)]; } else { // non medical personel will only find a pulse/HR - _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_2"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_WEAK"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_2"; + _logOutPut = localize "STR_ACE_Medical_Check_Pulse_WEAK"; if (_heartRate > 60) then { if (_heartRate > 100) then { - _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_3"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_STRONG"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_3"; + _logOutPut = localize "STR_ACE_Medical_Check_Pulse_STRONG"; } else { - _heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_4"; - _logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_NORMAL"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_4"; + _logOutPut = localize "STR_ACE_Medical_Check_Pulse_NORMAL"; }; }; }; @@ -49,5 +49,5 @@ if (_heartRate > 1.0) then { ["displayTextStructured", [_caller], [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller]] call EFUNC(common,targetEvent); if (_logOutPut != "") then { - [_unit,"activity", localize "STR_ACE_MEDICAL_CHECK_PULSE_LOG",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); + [_unit,"activity", localize "STR_ACE_Medical_Check_Pulse_LOG",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); }; diff --git a/addons/medical/functions/fnc_actionCheckResponse.sqf b/addons/medical/functions/fnc_actionCheckResponse.sqf index babd93bf92..92e724a3e0 100644 --- a/addons/medical/functions/fnc_actionCheckResponse.sqf +++ b/addons/medical/functions/fnc_actionCheckResponse.sqf @@ -20,9 +20,9 @@ _target = _this select 1; _output = ""; if ([_target] call EFUNC(common,isAwake)) then { - _output = "STR_ACE_MEDICAL_CHECK_REPONSE_RESPONSIVE"; + _output = "STR_ACE_Medical_Check_Response_Responsive"; } else { - _output = "STR_ACE_MEDICAL_CHECK_REPONSE_UNRESPONSIVE"; + _output = "STR_ACE_Medical_Check_Response_Unresponsive"; }; ["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName)], 2, _caller]] call EFUNC(common,targetEvent); diff --git a/addons/medical/functions/fnc_actionDiagnose.sqf b/addons/medical/functions/fnc_actionDiagnose.sqf index 692414027a..d0a5aebc9f 100644 --- a/addons/medical/functions/fnc_actionDiagnose.sqf +++ b/addons/medical/functions/fnc_actionDiagnose.sqf @@ -18,28 +18,28 @@ private ["_caller", "_target", "_genericMessages"]; _caller = _this select 0; _target = _this select 1; -_genericMessages = ["STR_ACE_MEDICAL_diagnoseMessage"]; +_genericMessages = ["STR_ACE_Medical_diagnoseMessage"]; _genericMessages pushBack ([_target] call EFUNC(common,getName)); if (alive _target) then { - _genericMessages pushback "STR_ACE_MEDICAL_diagnoseAlive"; + _genericMessages pushback "STR_ACE_Medical_diagnoseAlive"; } else { - _genericMessages pushback "STR_ACE_MEDICAL_diagnoseDead"; + _genericMessages pushback "STR_ACE_Medical_diagnoseDead"; }; if (_target getvariable[QGVAR(hasLostBlood), 0] > 0) then { if (_target getvariable[QGVAR(hasLostBlood), 0] > 1) then { - _genericMessages pushback "STR_ACE_MEDICAL_lostBloodALot"; + _genericMessages pushback "STR_ACE_Medical_lostBloodALot"; } else { - _genericMessages pushback "STR_ACE_MEDICAL_lostBlood"; + _genericMessages pushback "STR_ACE_Medical_lostBlood"; }; } else { - _genericMessages pushback "STR_ACE_MEDICAL_noBloodloss"; + _genericMessages pushback "STR_ACE_Medical_noBloodloss"; }; if (_target getvariable[QGVAR(hasPain), false]) then { - _genericMessages pushback "STR_ACE_MEDICAL_inPain"; + _genericMessages pushback "STR_ACE_Medical_inPain"; } else { - _genericMessages pushback "STR_ACE_MEDICAL_noPain"; + _genericMessages pushback "STR_ACE_Medical_noPain"; }; ["displayTextStructured", [_caller], [_genericMessages, 3.0, _caller]] call EFUNC(common,targetEvent); diff --git a/addons/medical/functions/fnc_displayPatientInformation.sqf b/addons/medical/functions/fnc_displayPatientInformation.sqf index f3385c7d51..c5c5d23a01 100644 --- a/addons/medical/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical/functions/fnc_displayPatientInformation.sqf @@ -55,17 +55,17 @@ if (_show) then { }; if (_target getvariable[QGVAR(isBleeding), false]) then { - _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_BLEEDING", [1, 0.1, 0.1, 1]]; + _genericMessages pushback [localize "STR_ACE_Medical_Status_Bleeding", [1, 0.1, 0.1, 1]]; }; if (_target getvariable[QGVAR(hasLostBlood), 0] > 1) then { - _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_LOST_BLOOD", [1, 0.1, 0.1, 1]]; + _genericMessages pushback [localize "STR_ACE_Medical_Status_Lost_Blood", [1, 0.1, 0.1, 1]]; }; if (((_target getvariable [QGVAR(tourniquets), [0,0,0,0,0,0]]) select _selectionN) > 0) then { - _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_TOURNIQUET_APPLIED", [0.77, 0.51, 0.08, 1]]; + _genericMessages pushback [localize "STR_ACE_Medical_Status_Tourniquet_Applied", [0.77, 0.51, 0.08, 1]]; }; if (_target getvariable[QGVAR(hasPain), false]) then { - _genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_PAIN", [1, 1, 1, 1]]; + _genericMessages pushback [localize "STR_ACE_Medical_Status_Pain", [1, 1, 1, 1]]; }; _totalIvVolume = 0; @@ -77,7 +77,7 @@ if (_show) then { }; }foreach GVAR(IVBags); if (_totalIvVolume >= 1) then { - _genericMessages pushback [format[localize "STR_ACE_MEDICAL_receivingIvVolume", floor _totalIvVolume], [1, 1, 1, 1]]; + _genericMessages pushback [format[localize "STR_ACE_Medical_receivingIvVolume", floor _totalIvVolume], [1, 1, 1, 1]]; }; _damaged = [false, false, false, false, false, false]; diff --git a/addons/medical/functions/fnc_displayTriageCard.sqf b/addons/medical/functions/fnc_displayTriageCard.sqf index dd3b44a946..a9054dac46 100644 --- a/addons/medical/functions/fnc_displayTriageCard.sqf +++ b/addons/medical/functions/fnc_displayTriageCard.sqf @@ -58,7 +58,7 @@ if (_show) then { }foreach _log; if (count _triageCardTexts == 0) then { - _lbCtrl lbAdd (localize "STR_ACE_MEDICAL_TriageCard_NoEntry"); + _lbCtrl lbAdd (localize "STR_ACE_Medical_TriageCard_NoEntry"); }; { _lbCtrl lbAdd _x; diff --git a/addons/medical/functions/fnc_getTriageStatus.sqf b/addons/medical/functions/fnc_getTriageStatus.sqf index d80cbe5d64..aaeec2d516 100644 --- a/addons/medical/functions/fnc_getTriageStatus.sqf +++ b/addons/medical/functions/fnc_getTriageStatus.sqf @@ -17,10 +17,10 @@ private ["_unit","_return","_status"]; _unit = _this select 0; _status = _unit getvariable [QGVAR(triageLevel), -1]; _return = switch (_status) do { - case 1: {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_MINOR", 1, [0, 0.5, 0, 0.9]]}; - case 2: {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_DELAYED", 2, [0.7, 0.5, 0, 0.9]]}; - case 3: {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_IMMEDIATE", 3, [0.4, 0.07, 0.07, 0.9]]}; - case 4: {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_DECEASED", 4, [0, 0, 0, 0.9]]}; - default {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_NONE", 0, [0, 0, 0, 0.9]]}; + case 1: {[localize "STR_ACE_Medical_Triage_Status_Minor", 1, [0, 0.5, 0, 0.9]]}; + case 2: {[localize "STR_ACE_Medical_Triage_Status_Delayed", 2, [0.7, 0.5, 0, 0.9]]}; + case 3: {[localize "STR_ACE_Medical_Triage_Status_Immediate", 3, [0.4, 0.07, 0.07, 0.9]]}; + case 4: {[localize "STR_ACE_Medical_Triage_Status_Deceased", 4, [0, 0, 0, 0.9]]}; + default {[localize "STR_ACE_Medical_Triage_Status_None", 0, [0, 0, 0, 0.9]]}; }; _return; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf index 42ca38cd0a..394595ade3 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf @@ -37,6 +37,6 @@ if !([_target] call FUNC(hasMedicalEnabled)) exitwith { }; }foreach _items;*/ -[_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_bandagedPatient", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); +[_target, "activity", "STR_ACE_Medical_Activity_bandagedPatient", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); true; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf index 55057f1758..c6ac2dc8e5 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf @@ -32,6 +32,6 @@ _items = _this select 4; }; }foreach _items; -[_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_usedItem", [[_caller] call EFUNC(common,getName), _className]] call FUNC(addToLog); +[_target, "activity", "STR_ACE_Medical_Activity_usedItem", [[_caller] call EFUNC(common,getName), _className]] call FUNC(addToLog); true; diff --git a/addons/medical/functions/fnc_treatmentIV.sqf b/addons/medical/functions/fnc_treatmentIV.sqf index 3a62b9e657..c0f4e4681f 100644 --- a/addons/medical/functions/fnc_treatmentIV.sqf +++ b/addons/medical/functions/fnc_treatmentIV.sqf @@ -29,4 +29,4 @@ if (count _items == 0) exitwith {}; _removeItem = _items select 0; [[_target, _removeItem], QUOTE(DFUNC(treatmentIVLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ [_target, _removeItem] call FUNC(addToTriageCard); -[_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_gaveIV", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); +[_target, "activity", "STR_ACE_Medical_Activity_gaveIV", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); diff --git a/addons/medical/functions/fnc_treatmentTourniquet.sqf b/addons/medical/functions/fnc_treatmentTourniquet.sqf index 731797f1f9..c4ee10011e 100644 --- a/addons/medical/functions/fnc_treatmentTourniquet.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquet.sqf @@ -43,7 +43,7 @@ _removeItem = _items select 0; [[_target, _removeItem, _selectionName], QUOTE(DFUNC(treatmentTourniquetLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ [_target, _removeItem] call FUNC(addToTriageCard); -[_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_appliedTourniquet", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); +[_target, "activity", "STR_ACE_Medical_Activity_appliedTourniquet", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); true; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 1029bda77a..122244f990 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -296,7 +296,7 @@ Sto applicando il laccio emostatico ... Applicando Torniquete - + Medical Zdravotní Médical @@ -308,7 +308,7 @@ Médico Orvosi - + Field Dressing Verbandpäckchen Compresa de campaña @@ -320,7 +320,7 @@ Bendaggio rapido Curativo de Campo - + Packing Bandage Mullbinde Vendaje compresivo @@ -331,7 +331,7 @@ Bandage gauze Bandagem de Compressão - + Elastic Bandage Elastischer Verband Vendaje elástico @@ -343,7 +343,7 @@ Bendaggio elastico Bandagem Elástica - + QuikClot QuikClot QuikClot @@ -355,7 +355,7 @@ QuikClot(polvere emostatica) QuikClot - + Check Pulse Puls überprüfen Comprobar pulso @@ -367,7 +367,7 @@ Controlla il polso Checar Pulso - + Check Blood Pressure Blutdruck überprüfen Comprobar presión arterial @@ -379,7 +379,7 @@ Controlla pressionsa sanguigna Chegar Pressão Sanguínea - + Triage Card Triagekarte Tarjeta de triaje @@ -391,7 +391,7 @@ Triage Card Cartão de Triagem - + No entries on this triage card. Keine Einträge auf der Triagekarte Nessuna voce sulla Triage Card @@ -399,7 +399,7 @@ Aucune entrée sur cette carte de triage Brak wpisów w tej karcie segregacyjnej. - + Tourniquet Tourniquet Torniquete @@ -411,7 +411,7 @@ Laccio emostatico Torniquete - + Remove Tourniquet Tourniquet entfernen Quitar torniquete @@ -423,7 +423,7 @@ Rimuovi laccio emostatico Remover Torniquete - + Diagnose Diagnose Diagnosi @@ -431,7 +431,7 @@ Diagnostiquer Diagnoza - + Diagnosing ... Diagnostizieren ... Diagnosi in corso... @@ -439,7 +439,7 @@ Diagnostic en cours Diagnozowanie ... - + CPR HLW RCP @@ -447,7 +447,7 @@ RPC RKO - + Performing CPR ... HLW durchführen ... Eseguendo RCP... @@ -455,7 +455,7 @@ RPC en cours Przeprowadzanie RKO ... - + Give Blood IV (1000ml) Bluttransfusion IV (1000ml) Dar Sangre IV (1000ml) @@ -467,7 +467,7 @@ Effettua trasfusione sangue IV (1000ml) Administrar Sangue IV (1000ml) - + Give Blood IV (500ml) Bluttransfusion IV (500ml) Dar Sangre IV (500ml) @@ -479,7 +479,7 @@ Effettua trasfusione sangue IV (500ml) Administrar Sangue IV (500ml) - + Give Blood IV (250ml) Bluttransfusion IV (250ml) Dar Sangre IV (250ml) @@ -491,7 +491,7 @@ Effettua trasfusione sangue IV (250ml) Administrar Sangue IV (250ml) - + Give Plasma IV (1000ml) Plasmatransfusion IV (1000ml) Dar Plasma IV (1000ml) @@ -503,7 +503,7 @@ Effettua trasfusione plasma IV (1000ml) Administrar Plasma IV (1000ml) - + Give Plasma IV (500ml) Plasmatransfusion IV (500ml) Dar Plasma IV (500ml) @@ -515,7 +515,7 @@ Effettua trasfusione plasma IV (500ml) Administrar Plasma IV (500ml) - + Give Plasma IV (250ml) Plasmatransfusion IV (250ml) Dar Plasma IV (250ml) @@ -527,7 +527,7 @@ Effettua trasfusione plasma IV (250ml) Administrar Plasma IV (250ml) - + Give Saline IV (1000ml) Kochsalzlösung IV (1000ml) Dar Salino IV (1000ml) @@ -539,7 +539,7 @@ Effettua trasfusione salina IV (1000ml) Administrar Soro IV (1000ml) - + Give Saline IV (500ml) Kochsalzlösung IV (500ml) Dar Salino IV (500ml) @@ -551,7 +551,7 @@ Effettua trasfusione salina IV (500ml) Administrar Soro IV (500ml) - + Give Saline IV (250ml) Kochsalzlösung IV (250ml) Dar Salino IV (250ml) @@ -563,7 +563,7 @@ Effettua trasfusione salina IV (250ml) Administrar Soro IV (250ml) - + Minor Gering Menor @@ -575,7 +575,7 @@ Minore Leve - + Delayed Retrasado Срочная помощь @@ -587,7 +587,7 @@ Differito Atrasado - + Immediate Inmediato Неотложная помощь @@ -599,7 +599,7 @@ Immediata Imediato - + Deceased Fallecido Труп @@ -611,7 +611,7 @@ Deceduto Falecido - + None Ninguno Отсутствует @@ -623,7 +623,7 @@ Nessuna Nenhum - + Normal breathing Дыхание в норме Respiración normal @@ -635,7 +635,7 @@ Respiro normale Respiração normal - + No breathing Keine Atmung Дыхание отсутствует @@ -647,7 +647,7 @@ Mancanza di respiro Não respira - + Difficult breathing Дыхание затруднено Dificultad para respirar @@ -659,7 +659,7 @@ Difficoltà a respirare Dificuldade para respirar - + Almost no breathing Fast keine Atmung Дыхание очень слабое @@ -671,7 +671,7 @@ Respira a fatica Quase não respira - + Bleeding Blutet Кровотечение @@ -683,7 +683,7 @@ Sanguinando Sangrando - + In Pain Hat Schmerzen Испытывает боль @@ -695,7 +695,7 @@ Con dolore Com dor - + Lost a lot of Blood Hat eine große Menge Blut verloren Большая кровопотеря @@ -707,7 +707,7 @@ Ha perso parecchio sangue Perdeu muito sangue - + Tourniquet [CAT] Tourniquet [CAT] Жгут @@ -719,7 +719,7 @@ Laccio emostatico [CAT] Torniquete [CAT] - + Receiving IV [%1ml] Erhalte IV [%1ml] Reciviendo IV [%1ml] @@ -731,7 +731,7 @@ Ricevendo IV [%1ml] Recebendo IV [%1ml] - + Bandage (Basic) Bandage (Standard) Повязка (обычная) @@ -743,7 +743,7 @@ Bendaggio (base) Bandagem(Básico) - + Used to cover a wound Для перевязки ран Utilizado para cubrir una herida @@ -754,7 +754,7 @@ Usato per coprire una ferita Usado para cobrir um ferimento - + A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. Ein Verband, der aus einem besonderen Material besteht um die Wunde zu schützen, nachdem die Blutung gestoppt wurde. Повязка, накладываемая поверх раны после остановки кровотечения. @@ -765,7 +765,7 @@ Una benda apposita, utilizzata per coprire una ferita, la quale è applicata sopra di essa una volta fermata l'emorragia. Uma curativo, material específico para cobrir um ferimento que é aplicado assim que o sangramento é estancando. - + Packing Bandage Mullbinde Тампонирующая повязка @@ -776,7 +776,7 @@ Bendaggio compressivo Bandagem de Compressão - + Used to pack medium to large wounds and stem the bleeding Wird verwendet, um mittlere bis große Wunden abzudecken und Blutungen zu stoppen Для тампонирования ран среднего и большого размера и остановки кровотечения. @@ -787,7 +787,7 @@ Usato su medie o larghe ferite per fermare emorragie. Usado para o preenchimento de cavidades geradas por ferimentos médios e grandes e estancar o sangramento. - + A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. Повязка для тампонирования раны, остановки кровотечения и лучшего заживления. При тяжёлых сочетанных ранениях возможно тампонирование раны. Se utiliza para detener la hemorragia de una herida y favorecer su cicatrización. Se usa en grandes lesiones o politraumatismos. @@ -798,7 +798,7 @@ Ein Verband, um die Wunde abzudecken und die Wundheilung zu fördern. Wunden abdecken ist eine Option bei größeren Polytraumen Uma bandagem usada para preencher o ferimento para estancar o sangramento e facilitar a cicatrização. Preenchimento de feridas é uma opção em ferimentos de politrauma grandes. - + Bandage (Elastic) Bandage (Elastisch) Повязка (давящая) @@ -810,7 +810,7 @@ Benda (Elastica) Bandagem (Elástica) - + Bandage kit, Elastic Elastische Binde (Kompressionsbinde) Давящая повязка @@ -821,7 +821,7 @@ Kit bendaggio, elastico Kit de Bandagem, Elástica - + Allows an even compression and extra support to the injured area. Ermöglicht eine gleichmäßige Kompression und zusätzliche Unterstützung für den verletzten Bereich. Давящая повязка обеспечивает равномерное сжатие и дополнительную поддержку повреждённой области @@ -832,7 +832,7 @@ Permette di comprimevere e aiutare la zone ferita. Esta bandagem pode ser utilizada para comprimir o ferimento e diminuir o sangramento e garantir que o ferimento não abra em movimento. - + Tourniquet (CAT) Tourniquet [CAT] Жгут @@ -844,7 +844,7 @@ Laccio emostatico (CAT) Torniquete (CAT) - + Slows down blood loss when bleeding Замедляет кровопотерю при кровотечении Reduce la velocidad de pérdida de sangre @@ -855,7 +855,7 @@ Rallenta la perdita di sangue in caso di sanguinamento Reduz a velocidade da perda de sangue - + A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. Жгут используется для прижатия сосудов к костным выступам, которое приводит к остановке или значительному уменьшению кровотечения Dispositivo utilizado para eliminar el pulso distal y de ese modo controlar la pérdida de sangre @@ -866,7 +866,7 @@ Un laccio emostatico usato per comprimere le vene e arterie per bloccare o rallentare la circolazione del sangue e quindi rallentare dissanguamenti. A aparelho que comprime as artérias e veias para diminuir a perda de sangue. - + Morphine autoinjector Morphium Autoinjektor Морфин в пневмошприце @@ -878,7 +878,7 @@ Autoiniettore di morfina Auto-injetor de morfina - + Used to combat moderate to severe pain experiences Wird verwendet um moderate bis starke Schmärzen zu lindern. Для снятия средних и сильных болевых ощущений @@ -889,7 +889,7 @@ Usato per combattere il dolore. Usado para combater dores moderadas e severas - + An analgesic used to combat moderate to severe pain experiences. Обезболивающее для снятия средних и сильных болевых ощущений. Analgésico usado para combatir los estados dolorosos de moderados a severos. @@ -900,7 +900,7 @@ Un analgesico usato per combattere il dolore. Um analgésico usado para combater dores moderadas e fortes. - + Atropin autoinjector Атропин в пневмошприце Atropina auto-inyectable @@ -912,7 +912,7 @@ Autoiniettore di Atropina Auto-injetor de Atropina - + Used in NBC scenarios Применяется для защиты от ОМП Usado en escenarios NBQ @@ -923,7 +923,7 @@ Usato in situazioni con gas nervino. Usado em casos de ataque QBRN - + A drug used by the Military in NBC scenarios. Препарат, используемый в войсках для защиты от оружия массового поражения. Medicamento usado por militares en escenarios NBQ @@ -934,7 +934,7 @@ E' un farmaco usato in ambito militare in scenari con presenza di gas nervino. Uma droga usada por militares em casos de ataque QBRN. - + Epinephrine autoinjector Адреналин в пневмошприце Epinefrina auto-inyectable @@ -946,7 +946,7 @@ Autoiniettore di Epinefrina Auto-injetor de epinefrina - + Increase heart rate and counter effects given by allergic reactions Стимулирует работу сердца и купирует аллергические реакции Aumenta la frecuencia cardiaca y contraresta los efectos de las reacciones alérgicas @@ -957,7 +957,7 @@ Aumenta il battito cardiaco e combatte gli effetti di reazioni allergiche. Aumenta a frequência cardíaca e combate efeitos causados por reações alérgicas - + A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. Препарат, вызывающий симпатическую реакцию, приводящую к расширению бронхов, увеличению частоты сердечных сокращений и купированию аллергических реакций (анафилактического шока). Применяется при остановке сердца с уменьшенной вероятностью благоприятного исхода. Medicamento que dilata los bronquios, aumenta la frecuencia cardiaca y contrarresta los efectos de las reacciones alérgicas (anafilaxis). Se utiliza en caso de paros cardiacos repentinos. @@ -967,7 +967,7 @@ Ein Medikament, dass die Bronchien erweitert, die Herzfrequenz erhöht und Symptome von allergischen Reaktionen(Anaphylaxie) bekämpft. Wird bei plötzlichem Herzstillstand verabreicht. Uma droga trabalha dilatando os bronquios, aumentando a frequência cardíaca e combate efeitos de reações alérgicas(anáfilaticas). Usado em casos de parada cardiaca com poucas changes de recuperação. - + Plasma IV (1000ml) Плазма для в/в вливания (1000 мл) Plasma IV (1000ml) @@ -978,7 +978,7 @@ Plasma IV (1000ml) Plasma IV (1000ml) - + A volume-expanding blood supplement. Дополнительный препарат, применяемый при возмещении объема крови. Suplemento para expandir el volumen sanguíneo. @@ -989,7 +989,7 @@ Volumenerweiterungsmittel (künstliches Blutvolumen) Suplemento para expandir o volume sanguíneo. - + A volume-expanding blood supplement. Дополнительный препарат, применяемый при возмещении объема крови. Suplemento para expandir el volumen sanguíneo. @@ -1000,7 +1000,7 @@ Volumenerweiterungsmittel (künstliches Blutvolumen) Suplemento para expandir o volume sanguíneo. - + Plasma IV (500ml) Плазма для в/в вливания (500 мл) Plasma IV (500ml) @@ -1011,7 +1011,7 @@ Plasma IV (500ml) Plasma IV (500ml) - + Plasma IV (250ml) Плазма для в/в вливания (250 мл) Plasma IV (250ml) @@ -1022,7 +1022,7 @@ Plasma IV (250ml) Plasma IV (250ml) - + Blood IV (1000ml) Кровь для переливания (1000 мл) Sangre IV (1000ml) @@ -1033,7 +1033,7 @@ Sangue IV (1000ml) Sangue IV (1000ml) - + Blood IV, for restoring a patients blood (keep cold) Пакет крови для возмещения объёма потерянной крови (хранить в холодильнике) Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío) @@ -1044,7 +1044,7 @@ Blut IV, Bluthaushalt des Patienten wiederherstellen. (Kühl halten) Sangue intravenoso, para restaurar o volume sanguinio do paciente.(Manter frio) - + O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. @@ -1054,7 +1054,7 @@ O Negative Blutinfusion wird nur in seltenen Fällen verwendet, um den Bluthaushalt des Patienten zu ergänzen. Wird in der Regel wärend der Transportphase durchgeführt. Sangue O- , utilizado em casos raros para rapidamente repor o sangue. Uso habitual ocorre durante o transporte ou em estações de tratamento. - + Blood IV (500ml) Кровь для переливания (500 мл) Sangre IV (500ml) @@ -1065,7 +1065,7 @@ Sangue IV (500ml) Sangue IV (500ml) - + Blood IV (250ml) Кровь для переливания (250 мл) Sangre IV (250ml) @@ -1076,7 +1076,7 @@ Samgue IV (250ml) Sangue IV (250ml) - + Saline IV (1000ml) Физраствор для в/в вливания (1000 мл) Solución Salina IV (1000ml) @@ -1087,7 +1087,7 @@ Soluzione salina IV (1000ml) Soro IV (1000ml) - + Saline IV, for restoring a patients blood Пакет физраствора для возмещения объёма потерянной крови Solución salina intravenosa, para restaurar el volumen sanguíneo @@ -1098,7 +1098,7 @@ Kochsalzlösung, ein medizinisches Volumenersatzmittel Solução Salina Intravenosa 0.9%, para restaurar o volume de sangue temporariamente. - + A medical volume-replenishing agent introduced into the blood system through an IV infusion. Пакет физиологического раствора для возмещения объёма потерянной крови путем внутривенного вливания Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. @@ -1109,7 +1109,7 @@ Ein medizinisches Volumenersatzmittel, dass durch einen intravenösen Zugang in den Blutkreislauf verabreicht wird. Uma reposição temporaria para restaurar a pressão arterial perdida por perda de sangue. - + Saline IV (500ml) Физраствор для в/в вливания (500 мл) Salino IV (500ml) @@ -1120,7 +1120,7 @@ Soluzione salina IV (500ml) Soro IV (1000ml) - + Saline IV (250ml) Физраствор для в/в вливания (250 мл) Salino IV (250ml) @@ -1131,7 +1131,7 @@ Soluzione salina IV (250ml) Soro IV (1000ml) - + Basic Field Dressing (QuikClot) Первичный перевязочный пакет (QuikClot) Vendaje básico (QuickClot) @@ -1142,7 +1142,7 @@ Bendaggio emostatico (QuikClot) Bandagem básica (Coagulante) - + QuikClot bandage Гемостатический пакет QuikClot Vendaje QuikClot @@ -1153,7 +1153,7 @@ Bendaggio emostatico (QuikClot) Bandagem com agente coagulante - + Hemostatic bandage with coagulant that stops bleeding. Медицинский коагулянт для экстренной остановки кровотечения Un bandage aidant à coaguler les saignements mineurs à moyens. @@ -1164,7 +1164,7 @@ Bendaggio emostatico con coagulante che permette di arrestare perdite di sangue Bandagem Hemostática com coagulante que controla hemorragia médias e grandes com risco de vida. - + Personal Aid Kit Аптечка Botiquín de primeros auxilios @@ -1175,7 +1175,7 @@ Pronto soccorso personale Kit De Primeiros Socorros Pessoal - + Includes various treatment kit needed for stitching or advanced treatment Содержит различные материалы и инструменты для зашивания ран и оказания специальной медпомощи. Incluye material médico para tratamientos avanzados @@ -1186,21 +1186,21 @@ Include vario materiale medico per trattamenti avanzati. Inclui vários tratamentos materiais para custura e tratamento avançado - + Personal Aid Kit for in field stitching or advanced treatment W znacznym stopniu poprawia stan pacjenta Полевая аптчека для продвинутого лечения и зашивания ран Persönliches Verbandspäckchen zum ambulanten Nähen und fortgeschrittener Behandlung. Trousse de premiers soins pour coudre sur le terrain et traitements avancés. - + Use Personal Aid Kit Verbandpäckchen benutzen Использовать аптечку Utiliser la Trousse de premier soins Użyj apteczki osobistej - + Surgical Kit Trousse chirurgicale Хирургический набор @@ -1211,7 +1211,7 @@ Kit chirurgico Kit Cirurgico - + Surgical Kit for in field advanced medical treatment Trousse chirurgicale pour le traitement sur le terrain Набор для хирургической помощи в полевых условиях @@ -1222,7 +1222,7 @@ Kit chirurgico per trattamenti avanzati sul campo. Kit Cirurgico para uso de tratamento médico avançado em campo - + Surgical Kit for in field advanced medical treatment Набор для хирургической помощи в полевых условиях Kit quirúrgico para el tratamiento avanzado en el campo de batalla @@ -1233,7 +1233,7 @@ Kit chirurgico per trattamenti avanzati sul campo. Kit Cirurgico para uso de tratamento médico avançado em campo. - + Use Surgical Kit Operationsset benutzen Usa kit chirurgico @@ -1241,7 +1241,7 @@ Utiliser la trousse chirugicale Zszyj rany - + Bodybag Housse mortuaire Мешок для трупов @@ -1252,7 +1252,7 @@ Sacca per corpi Saco para cadáver - + A bodybag for dead bodies Housse de transport des corps Мешок для упаковки трупов @@ -1263,7 +1263,7 @@ Una sacca nera per trasportare cadaveri. Um saco para corpos mortos - + A bodybag for dead bodies Housse de transport des corps Мешок для упаковки трупов @@ -1274,7 +1274,7 @@ Una sacca nera per trasportare cadaveri. Um saco para corpos mortos. - + Blood Pressure Tension artérielle Артериальное давление @@ -1285,7 +1285,7 @@ Pressione sanguigna Pressão Arterial - + Checking Blood Pressure.. Mesure de la tension ... Проверка артериального давления ... @@ -1296,7 +1296,7 @@ Controllando la pressione sanguigna.. Aferindo Pressão Arterial... - + %1 checked Blood Pressure: %2 %1 kontrollierte Blutdruck: %2 %1 controllata pressione sanguigna: %2 @@ -1304,7 +1304,7 @@ %1 à vérifié la tension: %2 %1 sprawdził ciśnienie krwi: %2 - + You checked %1 Vous diagnostiquez %1 Вы осмотрели раненого %1 @@ -1315,7 +1315,7 @@ Hai diagnosticato %1 Você aferiu o paciente %1 - + You find a blood pressure of %2/%3 Vous avez trouvé une tension de %2/%3 Артериальное давление %2/%3 @@ -1326,7 +1326,7 @@ Der Blutdruck liegt bei %2/%3 A Pressão Arterial é de %2/%3 - + You find a low blood pressure Tension basse Давление низкое @@ -1337,7 +1337,7 @@ La pressione sanguigna è bassa Pressão Arterial baixa - + You find a normal blood pressure Tension normale Давление нормальное @@ -1348,7 +1348,7 @@ La pressione sanguigna è normale Pressão Arterial normal - + You find a high blood pressure Tension haute Давление высокое @@ -1359,7 +1359,7 @@ La pressione sanguigna è alta Pressão Arterial Alta - + You find no blood pressure Pas de tension Давления нет @@ -1370,7 +1370,7 @@ La pressione sanguigna è assente Sem Pressão Arterial - + You fail to find a blood pressure Vous n'avez pas pu mesurer de tension Артериальное давление не определяется @@ -1381,7 +1381,7 @@ Manca strumento per misurare pressione sanguigna Você falhou em aferir a Pressão Arterial - + Low Niedrig Basso @@ -1389,7 +1389,7 @@ Faible Niskie - + Normal Normal Normale @@ -1397,7 +1397,7 @@ Normale Normalne - + High Hoch Alto @@ -1405,7 +1405,7 @@ Haute Wysokie - + No Blood Pressure Kein Blutdruck Nessuna Pressione Sanguigna @@ -1413,7 +1413,7 @@ Aucune tension Brak ciśnienia krwi - + Pulse Пульс Pouls @@ -1424,7 +1424,7 @@ Polso Pulso - + Checking Heart Rate ... Vérification du rythme cardiaque ... Проверка пульса ... @@ -1435,7 +1435,7 @@ Controllando il battito cardiaco ... Aferindo Pulso ... - + You checked %1 Вы осмотрели раненого %1 Vous examinez %1 @@ -1446,7 +1446,7 @@ Hai diagnosticato %1 Você aferiu o paciente %1 - + %1 checked Heart Rate: %2 %1 kontrollierte Herzfrequenz: %2 %1 Controllata Frequenza Cardiaca: %2 @@ -1454,7 +1454,7 @@ %1 à vérifié le rythme cardiaque: %2 %1 sprawdził tętno: %2 - + Weak Schwach Lento @@ -1462,7 +1462,7 @@ Faible Słabe - + Normal Normal Normale @@ -1470,7 +1470,7 @@ Normal Normalne - + Strong Stark Veloce @@ -1478,7 +1478,7 @@ Fort Silne - + You find a Heart Rate of %2 Rythme cardiaque de %2 Пульс %2 уд./мин. @@ -1489,7 +1489,7 @@ Il battito cardiaco è %2 A Freqüência Cardíaca é de %2 - + You find a weak Heart Rate Rythme cardiaque faible Пульс слабый @@ -1500,7 +1500,7 @@ Hai riscontrato un debole battito cardiaco Freqüência Cardíaca baixa - + You find a strong Heart Rate Rythme cardiaque élevé Пульс учащенный @@ -1511,7 +1511,7 @@ Hai riscontrato un forte battito cardiaco Freqüência Cardíaca normal - + You find a normal Heart Rate Rythme cardiaque normal Пульс в норме @@ -1522,7 +1522,7 @@ Hai riscontrato un normale battito cardiaco Freqüência Cardíaca alta - + You find no Heart Rate Pas de rythme cardiaque Пульс не прощупывается @@ -1533,7 +1533,7 @@ Hai riscontrato una assenza di battito cardiaco Sem Freqüência Cardíaca - + Response Etat de Conscience Реакция @@ -1544,7 +1544,7 @@ Risposta Reação - + You check response of patient Vous vérifiez la réponse du patient Вы проверяете реакцию раненого @@ -1555,7 +1555,7 @@ Controlli la risposta del paziente Aferindo se o paciente tem reação... - + %1 is responsive %1 реагирует на раздражители %1 est conscient @@ -1566,7 +1566,7 @@ %1 e' cosciente %1 está respondendo - + %1 is not responsive %1 не реагирует на раздражители %1 est inconscient @@ -1577,7 +1577,7 @@ %1 e' incosciente %1 não está respondendo - + You checked %1 Вы осмотрели раненого %1 Vous avez examiné %1 @@ -1588,7 +1588,7 @@ Hai controllato %1 Você aferiu o paciente %1 - + Patient %1<br/>is %2.<br/>%3.<br/>%4 Paziente %1<br/>è %2.<br/>%3.<br/>%4 Пациент %1<br/>%2.<br/>%3.<br/>%4 @@ -1596,7 +1596,7 @@ Patient %1<br/>est %2.<br/>%3.<br/> Pacjent %1<br/>jest %2.<br/>%3.<br/>%4 - + alive Vivo жив @@ -1604,7 +1604,7 @@ vivant żywy - + dead Morto мёртв @@ -1612,7 +1612,7 @@ mort martwy - + He's lost some blood Ha perso molto sangue Есть кровопотеря @@ -1620,10 +1620,10 @@ Il à perdu du sang Stracił trochę krwi - + He's lost a lot of blood - + He hasn't lost blood Non ha perso sangue Нет кровопотери @@ -1631,7 +1631,7 @@ il n'a pas perdu de sang Nie stracił krwi - + He is in pain è affetto da dolore Испытывает боль @@ -1639,7 +1639,7 @@ il souffre Odczuwa ból - + He is not in pain Non è affetto da dolore Не испытывает боли @@ -1647,7 +1647,7 @@ Il ne souffre pas Nie odczuwa bólu - + Bandaged Bandé Повязка наложена @@ -1658,7 +1658,7 @@ verbunden Enfaixado - + You bandage %1 (%2) Vous bandez %1 (%2) Вы перевязали раненого %1 (%2) @@ -1669,7 +1669,7 @@ Du verbindest %1 (%2) Você aplica bandagem no paciente %1 (%2) - + %1 is bandaging you %1 vous bande %1 перевязывает вас @@ -1680,7 +1680,7 @@ %1 verbindet dich %1 está aplicando uma bandagem em você - + You start stitching injuries from %1 (%2) Вы зашиваете ранения от %1 (%2) Du nähst die Wunden von %1 (%2) @@ -1691,7 +1691,7 @@ Stai suturando le ferite di %1 (%2) Você começa a suturar os ferimentos do %1 (%2) - + Stitching Наложение швов Suturando @@ -1702,7 +1702,7 @@ Suturando Suturando... - + You treat the airway of %1 Вы интубируете раненого %1 Estás intubando a %1 @@ -1713,7 +1713,7 @@ Controlli le vie respiratorie di %1 Você entuba o %1 - + Airway Дыхательные пути Vías aéreas @@ -1724,7 +1724,7 @@ Vie respiratorie Vias Aéreas - + %1 is treating your airway %1 проводит вам интубацию %1 traite vos voies respiratoires @@ -1735,7 +1735,7 @@ %1 ti sta trattando le vie respiratorie %1 está te entubando - + Drag Ziehen Arrastrar @@ -1747,7 +1747,7 @@ Arrastar Trascina - + Carry Tragen Cargar @@ -1759,7 +1759,7 @@ Carregar Trasporta - + Release Loslassen Soltar @@ -1771,7 +1771,7 @@ Soltar Rrilascia - + Load Patient Into Patient Einladen Cargar el paciente en @@ -1783,7 +1783,7 @@ Carregar Paciente Em Carica paziente nel - + Unload Patient Patient Ausladen Descargar el paciente @@ -1817,7 +1817,7 @@ Carica il paziente Carregar Paciente Em - + Place body in bodybag Colocar cuerpo en bolsa para cadáveres Поместить тело в мешок для трупов @@ -1828,7 +1828,7 @@ Metti il corpo nella sacca per cadaveri Colocar corpo dentro do saco para cadáver - + Placing body in bodybag Colocando cuerpo en bolsa para cadáveres Упаковка тела ... @@ -1839,7 +1839,7 @@ Stai mettendo il corpo nella sacca Colocando corpo dentro do saco para cadáver... - + %1 has bandaged patient %1 has vendado al paciente %1 перевязал пациента @@ -1850,7 +1850,7 @@ %1 ha bendato il paziente %1 aplicou bandagem no paciente - + %1 used %2 %1 usó %2 %1 benutzt %2 @@ -1861,7 +1861,7 @@ %1 ha usato %2 %1 usou %2 - + %1 has given an IV %1 has puesto una IV %1 провёл переливание @@ -1872,7 +1872,7 @@ %1 ha somministrato una IV %1 aplicou um intravenoso - + %1 applied a tourniquet %1 aplicado torniquete %1 наложил жгут diff --git a/addons/medical/ui/triagecard.hpp b/addons/medical/ui/triagecard.hpp index a93440d13a..c4d3145964 100644 --- a/addons/medical/ui/triagecard.hpp +++ b/addons/medical/ui/triagecard.hpp @@ -49,7 +49,7 @@ class GVAR(triageCard) { font = "PuristaMedium"; colorText[] = {0,0,0,1}; colorBackground[] = {0,0,0,0}; - text = "$STR_ACE_MEDICAL_ACTIONS_TriageCard"; + text = "$STR_ACE_Medical_Actions_TriageCard"; }; class TriageList: ACE_gui_listBoxBase { idc = 200; @@ -103,7 +103,7 @@ class GVAR(triageCard) { y = 0; w = 0; h = 0; - text = $STR_ACE_MEDICAL_TRIAGE_STATUS_NONE; + text = $STR_ACE_Medical_Triage_Status_None; style = 0x02; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; @@ -121,7 +121,7 @@ class GVAR(triageCard) { y = 0; w = 0; h = 0; - text = $STR_ACE_MEDICAL_TRIAGE_STATUS_MINOR; + text = $STR_ACE_Medical_Triage_Status_Minor; style = 0x02; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; @@ -139,7 +139,7 @@ class GVAR(triageCard) { y = 0; w = 0; h = 0; - text = $STR_ACE_MEDICAL_TRIAGE_STATUS_DELAYED; + text = $STR_ACE_Medical_Triage_Status_Delayed; style = 0x02; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; @@ -157,7 +157,7 @@ class GVAR(triageCard) { y = 0; w = 0; h = 0; - text = $STR_ACE_MEDICAL_TRIAGE_STATUS_IMMEDIATE; + text = $STR_ACE_Medical_Triage_Status_Immediate; style = 0x02; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; @@ -175,7 +175,7 @@ class GVAR(triageCard) { y = 0; w = 0; h = 0; - text = $STR_ACE_MEDICAL_TRIAGE_STATUS_DECEASED; + text = $STR_ACE_Medical_Triage_Status_Deceased; style = 0x02; size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; From 1ca0d66f30347c662ddaf5df5915f2330c7b2958 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 30 Apr 2015 22:02:20 +0200 Subject: [PATCH 151/478] Initial categories --- addons/advanced_ballistics/initKeybinds.sqf | 2 +- addons/atragmx/initKeybinds.sqf | 4 +-- addons/fcs/initKeybinds.sqf | 6 ++--- addons/grenades/XEH_postInit.sqf | 2 +- addons/javelin/initKeybinds.sqf | 10 ++++---- addons/kestrel4500/initKeybinds.sqf | 8 +++--- addons/laserpointer/initKeybinds.sqf | 2 +- addons/microdagr/XEH_clientInit.sqf | 4 +-- addons/movement/XEH_postInit.sqf | 2 +- addons/nightvision/XEH_postInitClient.sqf | 4 +-- addons/overheating/XEH_postInit.sqf | 2 +- addons/parachute/XEH_postInit.sqf | 2 +- addons/reload/XEH_postInit.sqf | 2 +- addons/safemode/XEH_postInit.sqf | 2 +- addons/scopes/XEH_postInit.sqf | 18 ++++++------- addons/vector/initKeybinds.sqf | 4 +-- addons/vehicles/XEH_postInit.sqf | 2 +- addons/weaponselect/XEH_postInit.sqf | 28 ++++++++++----------- 18 files changed, 52 insertions(+), 52 deletions(-) diff --git a/addons/advanced_ballistics/initKeybinds.sqf b/addons/advanced_ballistics/initKeybinds.sqf index 59866576aa..cddf47877a 100644 --- a/addons/advanced_ballistics/initKeybinds.sqf +++ b/addons/advanced_ballistics/initKeybinds.sqf @@ -1,4 +1,4 @@ -["ACE3", QGVAR(ProtractorKey), localize "STR_ACE_AdvancedBallistics_ProtractorKey", +["ACE3 Equipment", QGVAR(ProtractorKey), localize "STR_ACE_AdvancedBallistics_ProtractorKey", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/atragmx/initKeybinds.sqf b/addons/atragmx/initKeybinds.sqf index d8a69a09e3..796d7f9d97 100644 --- a/addons/atragmx/initKeybinds.sqf +++ b/addons/atragmx/initKeybinds.sqf @@ -1,8 +1,8 @@ -["ACE3", QGVAR(ATragMXDialogKey), localize "STR_ACE_ATragMX_ATragMXDialogKey", +["ACE3 Equipment", QGVAR(ATragMXDialogKey), localize "STR_ACE_ATragMX_ATragMXDialogKey", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - + // Statement [] call FUNC(create_dialog); false diff --git a/addons/fcs/initKeybinds.sqf b/addons/fcs/initKeybinds.sqf index 8e79bc8056..0e5eb7b117 100644 --- a/addons/fcs/initKeybinds.sqf +++ b/addons/fcs/initKeybinds.sqf @@ -1,6 +1,6 @@ // by commy2 -["ACE3", QGVAR(lazeTarget), localize "STR_ACE_FCS_LaseTarget", +["ACE3 Vehicle", QGVAR(lazeTarget), localize "STR_ACE_FCS_LaseTarget", { // Conditions: canInteract if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -30,7 +30,7 @@ }, [15, [false, false, false]], false] call cba_fnc_addKeybind; //Tab Key -["ACE3", QGVAR(adjustRangeUp), localize "STR_ACE_FCS_AdjustRangeUp", +["ACE3 Vehicle", QGVAR(adjustRangeUp), localize "STR_ACE_FCS_AdjustRangeUp", { // Conditions: canInteract if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -44,7 +44,7 @@ {false}, [201, [false, false, false]], false] call cba_fnc_addKeybind; //PageUp Key -["ACE3", QGVAR(adjustRangDown), localize "STR_ACE_FCS_AdjustRangeDown", +["ACE3 Vehicle", QGVAR(adjustRangDown), localize "STR_ACE_FCS_AdjustRangeDown", { // Conditions: canInteract if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/grenades/XEH_postInit.sqf b/addons/grenades/XEH_postInit.sqf index 7572a41c10..e3ed93c4dd 100644 --- a/addons/grenades/XEH_postInit.sqf +++ b/addons/grenades/XEH_postInit.sqf @@ -10,7 +10,7 @@ GVAR(flashbangPPEffectCC) = ppEffectCreate ["ColorCorrections", 4265]; GVAR(flashbangPPEffectCC) ppEffectForceInNVG true; // Add keybinds -["ACE3", QGVAR(switchGrenadeMode), localize "STR_ACE_Grenades_SwitchGrenadeMode", +["ACE3 Weapon", QGVAR(switchGrenadeMode), localize "STR_ACE_Grenades_SwitchGrenadeMode", { // Conditions: canInteract if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/javelin/initKeybinds.sqf b/addons/javelin/initKeybinds.sqf index ecce40bbf0..c5a510eb93 100644 --- a/addons/javelin/initKeybinds.sqf +++ b/addons/javelin/initKeybinds.sqf @@ -1,9 +1,9 @@ // by commy2 -["ACE3", QGVAR(lockTarget), localize "STR_ACE_JAVELIN_LockTarget", +["ACE3 Weapon", QGVAR(lockTarget), localize "STR_ACE_JAVELIN_LockTarget", { if (GETGVAR(isLockKeyDown,false)) exitWith {false}; - + GVAR(isLockKeyDown) = true; // Statement @@ -14,16 +14,16 @@ { // prevent holding down GVAR(isLockKeyDown) = false; - + // Statement [ACE_player] call FUNC(lockKeyUp); false }, [15, [false, false, false]], false] call cba_fnc_addKeybind; //Tab Key -["ACE3", QGVAR(cycleFireMode), localize "STR_ACE_JAVELIN_CycleFireMode", +["ACE3 Weapon", QGVAR(cycleFireMode), localize "STR_ACE_JAVELIN_CycleFireMode", { false }, -{ +{ [ACE_player] call FUNC(cycleFireMode); false }, diff --git a/addons/kestrel4500/initKeybinds.sqf b/addons/kestrel4500/initKeybinds.sqf index 585856cbbb..f6b4fec3ce 100644 --- a/addons/kestrel4500/initKeybinds.sqf +++ b/addons/kestrel4500/initKeybinds.sqf @@ -1,8 +1,8 @@ -["ACE3", QGVAR(KestrelDialogKey), localize "STR_ACE_Kestrel4500_KestrelDialogKey", +["ACE3 Equipment", QGVAR(KestrelDialogKey), localize "STR_ACE_Kestrel4500_KestrelDialogKey", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - + // Statement [] call FUNC(createKestrelDialog); false @@ -10,11 +10,11 @@ {false}, [0, [false, false, false]], false, 0] call CBA_fnc_addKeybind; // (empty default key) -["ACE3", QGVAR(DisplayKestrelKey), localize "STR_ACE_Kestrel4500_DisplayKestrelKey", +["ACE3 Equipment", QGVAR(DisplayKestrelKey), localize "STR_ACE_Kestrel4500_DisplayKestrelKey", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - + // Statement [] call FUNC(displayKestrel); false diff --git a/addons/laserpointer/initKeybinds.sqf b/addons/laserpointer/initKeybinds.sqf index 04516f0757..e2197f08b8 100644 --- a/addons/laserpointer/initKeybinds.sqf +++ b/addons/laserpointer/initKeybinds.sqf @@ -1,6 +1,6 @@ // by commy2 -["ACE3", QGVAR(switchLaserLightMode), localize "STR_ACE_Laserpointer_switchLaserLight", +["ACE3 Weapon", QGVAR(switchLaserLightMode), localize "STR_ACE_Laserpointer_switchLaserLight", { // Conditions: canInteract if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/microdagr/XEH_clientInit.sqf b/addons/microdagr/XEH_clientInit.sqf index 99c94b4512..587bf85ef5 100644 --- a/addons/microdagr/XEH_clientInit.sqf +++ b/addons/microdagr/XEH_clientInit.sqf @@ -4,7 +4,7 @@ if (!hasInterface) exitWith {}; //Add Keybinds: -["ACE3", QGVAR(openGPS), (localize "STR_ACE_microdagr_toggleUnit"), +["ACE3 Equipment", QGVAR(openGPS), (localize "STR_ACE_microdagr_toggleUnit"), { // canInteractWith (can use on map) if !([ACE_player, objNull, ["notOnMap", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -17,7 +17,7 @@ if (!hasInterface) exitWith {}; {false}, [0xC7, [false, false, false]], false] call cba_fnc_addKeybind; //Home Key -["ACE3", QGVAR(closeGPS), (localize "STR_ACE_microdagr_closeUnit"), +["ACE3 Equipment", QGVAR(closeGPS), (localize "STR_ACE_microdagr_closeUnit"), { // canInteractWith (can use on map) if !([ACE_player, objNull, ["notOnMap", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/movement/XEH_postInit.sqf b/addons/movement/XEH_postInit.sqf index 224cd93273..0e451832d9 100644 --- a/addons/movement/XEH_postInit.sqf +++ b/addons/movement/XEH_postInit.sqf @@ -20,7 +20,7 @@ if (!hasInterface) exitWith {}; }] call EFUNC(common,addEventHandler); -["ACE3", QGVAR(climb), localize "STR_ACE_Movement_Climb", +["ACE3 Movement", QGVAR(climb), localize "STR_ACE_Movement_Climb", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/nightvision/XEH_postInitClient.sqf b/addons/nightvision/XEH_postInitClient.sqf index db5d395096..3edc3edad5 100644 --- a/addons/nightvision/XEH_postInitClient.sqf +++ b/addons/nightvision/XEH_postInitClient.sqf @@ -37,7 +37,7 @@ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0; ["playerTurretChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler); // Add keybinds -["ACE3", QGVAR(IncreaseNVGBrightness), localize "STR_ACE_NightVision_IncreaseNVGBrightness", +["ACE3 Equipment", QGVAR(IncreaseNVGBrightness), localize "STR_ACE_NightVision_IncreaseNVGBrightness", { // Conditions: canInteract if !([ACE_player, objNull, ["isNotEscorting", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -51,7 +51,7 @@ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0; {false}, [201, [false, false, true]], false] call cba_fnc_addKeybind; //PageUp + ALT -["ACE3", QGVAR(DecreaseNVGBrightness), localize "STR_ACE_NightVision_DecreaseNVGBrightness", +["ACE3 Equipment", QGVAR(DecreaseNVGBrightness), localize "STR_ACE_NightVision_DecreaseNVGBrightness", { // Conditions: canInteract if !([ACE_player, objNull, ["isNotEscorting", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/overheating/XEH_postInit.sqf b/addons/overheating/XEH_postInit.sqf index 2281a1eeac..fb97038dd7 100644 --- a/addons/overheating/XEH_postInit.sqf +++ b/addons/overheating/XEH_postInit.sqf @@ -4,7 +4,7 @@ if !(hasInterface) exitWith {}; // Add keybinds -["ACE3", QGVAR(unjamWeapon), localize "STR_ACE_Overheating_UnjamWeapon", +["ACE3 Weapon", QGVAR(unjamWeapon), localize "STR_ACE_Overheating_UnjamWeapon", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/parachute/XEH_postInit.sqf b/addons/parachute/XEH_postInit.sqf index 19e6d413a2..a6c589a39a 100644 --- a/addons/parachute/XEH_postInit.sqf +++ b/addons/parachute/XEH_postInit.sqf @@ -17,7 +17,7 @@ if (!hasInterface) exitWith {}; -["ACE3", QGVAR(showAltimeter), localize "STR_ACE_Parachute_showAltimeter", +["ACE3 Equipment", QGVAR(showAltimeter), localize "STR_ACE_Parachute_showAltimeter", { // Conditions: canInteract if !([ACE_player, objNull, ["isNotEscorting", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/reload/XEH_postInit.sqf b/addons/reload/XEH_postInit.sqf index 422ea183d3..c5b47a0f63 100644 --- a/addons/reload/XEH_postInit.sqf +++ b/addons/reload/XEH_postInit.sqf @@ -4,7 +4,7 @@ if !(hasInterface) exitWith {}; // Add keybinds -["ACE3", QGVAR(checkAmmo), localize "STR_ACE_Reload_checkAmmo", +["ACE3 Weapon", QGVAR(checkAmmo), localize "STR_ACE_Reload_checkAmmo", { // Conditions: canInteract if !([ACE_player, (vehicle ACE_player), ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/safemode/XEH_postInit.sqf b/addons/safemode/XEH_postInit.sqf index be6b79d82a..1e6c9d7a72 100644 --- a/addons/safemode/XEH_postInit.sqf +++ b/addons/safemode/XEH_postInit.sqf @@ -9,7 +9,7 @@ if (!hasInterface) exitWith {}; // Add keybinds -["ACE3", QGVAR(safeMode), localize "STR_ACE_SafeMode_SafeMode", +["ACE3 Weapon", QGVAR(safeMode), localize "STR_ACE_SafeMode_SafeMode", { // Conditions: canInteract if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/scopes/XEH_postInit.sqf b/addons/scopes/XEH_postInit.sqf index ca4017222a..d7affc0534 100644 --- a/addons/scopes/XEH_postInit.sqf +++ b/addons/scopes/XEH_postInit.sqf @@ -33,20 +33,20 @@ if !(hasInterface) exitWith {}; // Add keybinds -["ACE3", QGVAR(AdjustUpMinor), localize "STR_ACE_Scopes_AdjustUpMinor", +["ACE3 Scope Adjustment", QGVAR(AdjustUpMinor), localize "STR_ACE_Scopes_AdjustUpMinor", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific [ACE_player] call FUNC(inventoryCheck); - + // Statement [ACE_player, ELEVATION_UP, MINOR_INCREMENT] call FUNC(adjustScope); }, {false}, [201, [false, false, false]], true] call cba_fnc_addKeybind; -["ACE3", QGVAR(AdjustDownMinor), localize "STR_ACE_Scopes_AdjustDownMinor", +["ACE3 Scope Adjustment", QGVAR(AdjustDownMinor), localize "STR_ACE_Scopes_AdjustDownMinor", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -59,7 +59,7 @@ if !(hasInterface) exitWith {}; {false}, [209, [false, false, false]], true] call cba_fnc_addKeybind; -["ACE3", QGVAR(AdjustLeftMinor), localize "STR_ACE_Scopes_AdjustLeftMinor", +["ACE3 Scope Adjustment", QGVAR(AdjustLeftMinor), localize "STR_ACE_Scopes_AdjustLeftMinor", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -72,7 +72,7 @@ if !(hasInterface) exitWith {}; {false}, [209, [false, true, false]], true] call cba_fnc_addKeybind; -["ACE3", QGVAR(AdjustRightMinor), localize "STR_ACE_Scopes_AdjustRightMinor", +["ACE3 Scope Adjustment", QGVAR(AdjustRightMinor), localize "STR_ACE_Scopes_AdjustRightMinor", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -85,7 +85,7 @@ if !(hasInterface) exitWith {}; {false}, [201, [false, true, false]], true] call cba_fnc_addKeybind; -["ACE3", QGVAR(AdjustUpMajor), localize "STR_ACE_Scopes_AdjustUpMajor", +["ACE3 Scope Adjustment", QGVAR(AdjustUpMajor), localize "STR_ACE_Scopes_AdjustUpMajor", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -98,7 +98,7 @@ if !(hasInterface) exitWith {}; {false}, [201, [true, false, false]], true] call cba_fnc_addKeybind; -["ACE3", QGVAR(AdjustDownMajor), localize "STR_ACE_Scopes_AdjustDownMajor", +["ACE3 Scope Adjustment", QGVAR(AdjustDownMajor), localize "STR_ACE_Scopes_AdjustDownMajor", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -111,7 +111,7 @@ if !(hasInterface) exitWith {}; {false}, [209, [true, false, false]], true] call cba_fnc_addKeybind; -["ACE3", QGVAR(AdjustLeftMajor), localize "STR_ACE_Scopes_AdjustLeftMajor", +["ACE3 Scope Adjustment", QGVAR(AdjustLeftMajor), localize "STR_ACE_Scopes_AdjustLeftMajor", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -124,7 +124,7 @@ if !(hasInterface) exitWith {}; {false}, [209, [true, true, false]], true] call cba_fnc_addKeybind; -["ACE3", QGVAR(AdjustRightMajor), localize "STR_ACE_Scopes_AdjustRightMajor", +["ACE3 Scope Adjustment", QGVAR(AdjustRightMajor), localize "STR_ACE_Scopes_AdjustRightMajor", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/vector/initKeybinds.sqf b/addons/vector/initKeybinds.sqf index 31fb3bbd1b..79df40b0a2 100644 --- a/addons/vector/initKeybinds.sqf +++ b/addons/vector/initKeybinds.sqf @@ -1,6 +1,6 @@ // by commy2 -["ACE3", QGVAR(AzimuthKey), localize "STR_ACE_Vector_AzimuthKey", +["ACE3 Equipment", QGVAR(AzimuthKey), localize "STR_ACE_Vector_AzimuthKey", { // Conditions: canInteract if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -29,7 +29,7 @@ [15, [false, false, false]], false, 0] call CBA_fnc_addKeybind; //Tab Key -["ACE3", QGVAR(DistanceKey), localize "STR_ACE_Vector_DistanceKey", +["ACE3 Equipment", QGVAR(DistanceKey), localize "STR_ACE_Vector_DistanceKey", { // Conditions: canInteract if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/vehicles/XEH_postInit.sqf b/addons/vehicles/XEH_postInit.sqf index c7665cf2aa..6c9f4afd4b 100644 --- a/addons/vehicles/XEH_postInit.sqf +++ b/addons/vehicles/XEH_postInit.sqf @@ -4,7 +4,7 @@ if !(hasInterface) exitWith {}; // Add keybinds -["ACE3", QGVAR(speedLimiter), localize "STR_ACE_SpeedLimiter", +["ACE3 Vehicle", QGVAR(speedLimiter), localize "STR_ACE_SpeedLimiter", { // Conditions: canInteract if !([ACE_player, objNull, ["isnotinside"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/weaponselect/XEH_postInit.sqf b/addons/weaponselect/XEH_postInit.sqf index 93813b4ed0..19f7d8d7a5 100644 --- a/addons/weaponselect/XEH_postInit.sqf +++ b/addons/weaponselect/XEH_postInit.sqf @@ -4,7 +4,7 @@ if !(hasInterface) exitWith {}; // Add keybinds -["ACE3", QGVAR(SelectPistolNew), localize "STR_ACE_WeaponSelect_SelectPistol", +["ACE3 Weapon", QGVAR(SelectPistolNew), localize "STR_ACE_WeaponSelect_SelectPistol", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -18,7 +18,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //1 Key -["ACE3", QGVAR(SelectRifleNew), localize "STR_ACE_WeaponSelect_SelectRifle", +["ACE3 Weapon", QGVAR(SelectRifleNew), localize "STR_ACE_WeaponSelect_SelectRifle", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -32,7 +32,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //2 Key -["ACE3", QGVAR(SelectRifleMuzzleNew), localize "STR_ACE_WeaponSelect_SelectRifleMuzzle", +["ACE3 Weapon", QGVAR(SelectRifleMuzzleNew), localize "STR_ACE_WeaponSelect_SelectRifleMuzzle", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -46,7 +46,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //3 Key -["ACE3", QGVAR(SelectLauncherNew), localize "STR_ACE_WeaponSelect_SelectLauncher", +["ACE3 Weapon", QGVAR(SelectLauncherNew), localize "STR_ACE_WeaponSelect_SelectLauncher", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -60,7 +60,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //4 Key -["ACE3", QGVAR(SelectBinocularNew), localize "STR_ACE_WeaponSelect_SelectBinocular", +["ACE3 Weapon", QGVAR(SelectBinocularNew), localize "STR_ACE_WeaponSelect_SelectBinocular", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -74,7 +74,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //5 Key -["ACE3", QGVAR(SelectGrenadeFrag), localize "STR_ACE_WeaponSelect_SelectGrenadeFrag", +["ACE3 Weapon", QGVAR(SelectGrenadeFrag), localize "STR_ACE_WeaponSelect_SelectGrenadeFrag", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -88,7 +88,7 @@ if !(hasInterface) exitWith {}; {false}, [7, [false, false, false]], false] call cba_fnc_addKeybind; //6 Key -["ACE3", QGVAR(SelectGrenadeOther), localize "STR_ACE_WeaponSelect_SelectGrenadeOther", +["ACE3 Weapon", QGVAR(SelectGrenadeOther), localize "STR_ACE_WeaponSelect_SelectGrenadeOther", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -102,7 +102,7 @@ if !(hasInterface) exitWith {}; {false}, [8, [false, false, false]], false] call cba_fnc_addKeybind; //7 Key -["ACE3", QGVAR(HolsterWeapon), localize "STR_ACE_WeaponSelect_HolsterWeapon", +["ACE3 Weapon", QGVAR(HolsterWeapon), localize "STR_ACE_WeaponSelect_HolsterWeapon", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -116,7 +116,7 @@ if !(hasInterface) exitWith {}; {false}, [11, [false, false, false]], false] call cba_fnc_addKeybind; //0 Key -["ACE3", QGVAR(EngineOn), localize "STR_ACE_WeaponSelect_EngineOn", +["ACE3 Vehicle", QGVAR(EngineOn), localize "STR_ACE_WeaponSelect_EngineOn", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -130,7 +130,7 @@ if !(hasInterface) exitWith {}; {false}, [3, [false, false, false]], false] call cba_fnc_addKeybind; //2 Key -["ACE3", QGVAR(EngineOff), localize "STR_ACE_WeaponSelect_EngineOff", +["ACE3 Vehicle", QGVAR(EngineOff), localize "STR_ACE_WeaponSelect_EngineOff", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -144,7 +144,7 @@ if !(hasInterface) exitWith {}; {false}, [2, [false, false, false]], false] call cba_fnc_addKeybind; //1 Key -["ACE3", QGVAR(SelectMainGunNew), localize "STR_ACE_WeaponSelect_SelectMainGun", +["ACE3 Vehicle", QGVAR(SelectMainGunNew), localize "STR_ACE_WeaponSelect_SelectMainGun", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -158,7 +158,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //3 Key -["ACE3", QGVAR(SelectMachineGunNew), localize "STR_ACE_WeaponSelect_SelectMachineGun", +["ACE3 Vehicle", QGVAR(SelectMachineGunNew), localize "STR_ACE_WeaponSelect_SelectMachineGun", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -172,7 +172,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //4 Key -["ACE3", QGVAR(SelectMissilesNew), localize "STR_ACE_WeaponSelect_SelectMissiles", +["ACE3 Vehicle", QGVAR(SelectMissilesNew), localize "STR_ACE_WeaponSelect_SelectMissiles", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -186,7 +186,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //5 Key -["ACE3", QGVAR(FireSmokeLauncher), localize "STR_ACE_WeaponSelect_FireSmokeLauncher", +["ACE3 Vehicle", QGVAR(FireSmokeLauncher), localize "STR_ACE_WeaponSelect_FireSmokeLauncher", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; From 270c3adc1e67bdfa111e29fcc04e62a411c64afc Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 30 Apr 2015 22:06:10 +0200 Subject: [PATCH 152/478] Do it again, but properly this time --- addons/medical/ACE_Medical_Treatments.hpp | 6 +- addons/medical/CfgWeapons.hpp | 12 ++-- .../fnc_actionCheckBloodPressureLocal.sqf | 22 +++---- .../functions/fnc_actionCheckPulseLocal.sqf | 18 +++--- addons/medical/stringtable.xml | 62 +++++++++---------- 5 files changed, 60 insertions(+), 60 deletions(-) diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index 4f47e68a0b..8a42bbbb68 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -225,7 +225,7 @@ class ACE_Medical_Actions { }; class CheckPulse: fieldDressing { displayName = ""; - displayNameProgress = "$STR_ACE_Medical_Check_Pulse_CONTENT"; + displayNameProgress = "$STR_ACE_Medical_Check_Pulse_Content"; treatmentLocations[] = {"All"}; requiredMedic = 0; treatmentTime = 2; @@ -240,11 +240,11 @@ class ACE_Medical_Actions { }; class CheckBloodPressure: CheckPulse { callbackSuccess = QUOTE(DFUNC(actionCheckBloodPressure)); - displayNameProgress = "$STR_ACE_Medical_Check_Bloodpressure_CONTENT"; + displayNameProgress = "$STR_ACE_Medical_Check_Bloodpressure_Content"; }; class CheckResponse: CheckPulse { callbackSuccess = QUOTE(DFUNC(actionCheckResponse)); - displayNameProgress = "$STR_ACE_Medical_Check_Response_CONTENT"; + displayNameProgress = "$STR_ACE_Medical_Check_Response_Content"; }; class RemoveTourniquet: CheckPulse { treatmentTime = 2.5; diff --git a/addons/medical/CfgWeapons.hpp b/addons/medical/CfgWeapons.hpp index 5fc5a4c9a8..d70b64a1d2 100644 --- a/addons/medical/CfgWeapons.hpp +++ b/addons/medical/CfgWeapons.hpp @@ -102,8 +102,8 @@ class CfgWeapons { scope = 2; displayName = $STR_ACE_Medical_Plasma_IV; picture = QUOTE(PATHTOF(ui\items\plasmaIV_x_ca.paa)); - descriptionShort = $STR_ACE_Medical_Plasma_IV_DESC_SHORT; - descriptionUse = $STR_ACE_Medical_Plasma_IV_DESC_USE; + descriptionShort = $STR_ACE_Medical_Plasma_IV_Desc_Short; + descriptionUse = $STR_ACE_Medical_Plasma_IV_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 10; }; @@ -125,8 +125,8 @@ class CfgWeapons { model = "\A3\Structures_F_EPA\Items\Medical\BloodBag_F.p3d"; displayName = $STR_ACE_Medical_Blood_IV; picture = QUOTE(PATHTOF(ui\items\bloodIV_x_ca.paa)); - descriptionShort = $STR_ACE_Medical_Blood_IV_DESC_SHORT; - descriptionUse = $STR_ACE_Medical_Blood_IV_DESC_USE; + descriptionShort = $STR_ACE_Medical_Blood_IV_Desc_Short; + descriptionUse = $STR_ACE_Medical_Blood_IV_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 10; }; @@ -147,8 +147,8 @@ class CfgWeapons { scope = 2; displayName = $STR_ACE_Medical_Saline_IV; picture = QUOTE(PATHTOF(ui\items\salineIV_x_ca.paa)); - descriptionShort = $STR_ACE_Medical_Saline_IV_DESC_SHORT; - descriptionUse = $STR_ACE_Medical_Saline_IV_DESC_USE; + descriptionShort = $STR_ACE_Medical_Saline_IV_Desc_Short; + descriptionUse = $STR_ACE_Medical_Saline_IV_Desc_Use; class ItemInfo: InventoryItem_Base_F { mass = 10; }; diff --git a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf index 7a0b332400..560b171400 100644 --- a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf @@ -28,27 +28,27 @@ _bloodPressureLow = _bloodPressure select 0; _output = ""; _logOutPut = ""; if ([_caller] call FUNC(isMedic)) then { - _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_1"; + _output = "STR_ACE_Medical_Check_Bloodpressure_Output_1"; _logOutPut = format["%1/%2",round(_bloodPressureHigh),round(_bloodPressureLow)]; } else { if (_bloodPressureHigh > 20) then { - _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_2"; - _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_LOW"; + _output = "STR_ACE_Medical_Check_Bloodpressure_Output_2"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_Low"; if (_bloodPressureHigh > 100) then { - _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_3"; - _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_NORMAL"; + _output = "STR_ACE_Medical_Check_Bloodpressure_Output_3"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_Normal"; if (_bloodPressureHigh > 160) then { - _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_4"; - _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_HIGH"; + _output = "STR_ACE_Medical_Check_Bloodpressure_Output_4"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_High"; }; }; } else { if (random(10) > 3) then { - _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_5"; - _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_NOBLOODPRESSURE"; + _output = "STR_ACE_Medical_Check_Bloodpressure_Output_5"; + _logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_NoBloodpressure"; } else { - _output = "STR_ACE_Medical_Check_Bloodpressure_OUTPUT_6"; + _output = "STR_ACE_Medical_Check_Bloodpressure_Output_6"; }; }; }; @@ -56,5 +56,5 @@ if ([_caller] call FUNC(isMedic)) then { ["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller]] call EFUNC(common,targetEvent); if (_logOutPut != "") then { - [_target,"activity", localize "STR_ACE_Medical_Check_Bloodpressure_LOG", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); + [_target,"activity", localize "STR_ACE_Medical_Check_Bloodpressure_Log", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); }; diff --git a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf index 3f49cba6e6..85e9bee828 100644 --- a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf @@ -23,24 +23,24 @@ _heartRate = _unit getvariable [QGVAR(heartRate), 80]; if (!alive _unit) then { _heartRate = 0; }; -_heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_5"; +_heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_5"; _logOutPut = "No heart rate"; if (_heartRate > 1.0) then { if ([_caller] call FUNC(isMedic)) then { - _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_1"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_1"; _logOutPut = format["%1",round(_heartRate)]; } else { // non medical personel will only find a pulse/HR - _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_2"; - _logOutPut = localize "STR_ACE_Medical_Check_Pulse_WEAK"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_2"; + _logOutPut = localize "STR_ACE_Medical_Check_Pulse_Weak"; if (_heartRate > 60) then { if (_heartRate > 100) then { - _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_3"; - _logOutPut = localize "STR_ACE_Medical_Check_Pulse_STRONG"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_3"; + _logOutPut = localize "STR_ACE_Medical_Check_Pulse_Strong"; } else { - _heartRateOutput = "STR_ACE_Medical_Check_Pulse_OUTPUT_4"; - _logOutPut = localize "STR_ACE_Medical_Check_Pulse_NORMAL"; + _heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_4"; + _logOutPut = localize "STR_ACE_Medical_Check_Pulse_Normal"; }; }; }; @@ -49,5 +49,5 @@ if (_heartRate > 1.0) then { ["displayTextStructured", [_caller], [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller]] call EFUNC(common,targetEvent); if (_logOutPut != "") then { - [_unit,"activity", localize "STR_ACE_Medical_Check_Pulse_LOG",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); + [_unit,"activity", localize "STR_ACE_Medical_Check_Pulse_Log",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); }; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 122244f990..c164b37bf1 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -978,7 +978,7 @@ Plasma IV (1000ml) Plasma IV (1000ml) - + A volume-expanding blood supplement. Дополнительный препарат, применяемый при возмещении объема крови. Suplemento para expandir el volumen sanguíneo. @@ -989,7 +989,7 @@ Volumenerweiterungsmittel (künstliches Blutvolumen) Suplemento para expandir o volume sanguíneo. - + A volume-expanding blood supplement. Дополнительный препарат, применяемый при возмещении объема крови. Suplemento para expandir el volumen sanguíneo. @@ -1033,7 +1033,7 @@ Sangue IV (1000ml) Sangue IV (1000ml) - + Blood IV, for restoring a patients blood (keep cold) Пакет крови для возмещения объёма потерянной крови (хранить в холодильнике) Sangre intravenosa, para restarurar el volumen sanguíneo (mantener frío) @@ -1044,7 +1044,7 @@ Blut IV, Bluthaushalt des Patienten wiederherstellen. (Kühl halten) Sangue intravenoso, para restaurar o volume sanguinio do paciente.(Manter frio) - + O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. Кровь I группы, резус-отрицательная, применяется по жизненным показаниям для возмещения объема потерянной крови на догоспитальном этапе оказания медицинской помощи. Krew 0 Rh-, używana w rzadkich i szczególnych przypadkach do uzupełnienia krwi u pacjenta, zazwyczaj w trakcie fazie transportu rannej osoby do szpitala. @@ -1087,7 +1087,7 @@ Soluzione salina IV (1000ml) Soro IV (1000ml) - + Saline IV, for restoring a patients blood Пакет физраствора для возмещения объёма потерянной крови Solución salina intravenosa, para restaurar el volumen sanguíneo @@ -1098,7 +1098,7 @@ Kochsalzlösung, ein medizinisches Volumenersatzmittel Solução Salina Intravenosa 0.9%, para restaurar o volume de sangue temporariamente. - + A medical volume-replenishing agent introduced into the blood system through an IV infusion. Пакет физиологического раствора для возмещения объёма потерянной крови путем внутривенного вливания Suero fisiológico inoculado al torrente sanguíneo de forma intravenosa. @@ -1285,7 +1285,7 @@ Pressione sanguigna Pressão Arterial - + Checking Blood Pressure.. Mesure de la tension ... Проверка артериального давления ... @@ -1296,7 +1296,7 @@ Controllando la pressione sanguigna.. Aferindo Pressão Arterial... - + %1 checked Blood Pressure: %2 %1 kontrollierte Blutdruck: %2 %1 controllata pressione sanguigna: %2 @@ -1304,7 +1304,7 @@ %1 à vérifié la tension: %2 %1 sprawdził ciśnienie krwi: %2 - + You checked %1 Vous diagnostiquez %1 Вы осмотрели раненого %1 @@ -1315,7 +1315,7 @@ Hai diagnosticato %1 Você aferiu o paciente %1 - + You find a blood pressure of %2/%3 Vous avez trouvé une tension de %2/%3 Артериальное давление %2/%3 @@ -1326,7 +1326,7 @@ Der Blutdruck liegt bei %2/%3 A Pressão Arterial é de %2/%3 - + You find a low blood pressure Tension basse Давление низкое @@ -1337,7 +1337,7 @@ La pressione sanguigna è bassa Pressão Arterial baixa - + You find a normal blood pressure Tension normale Давление нормальное @@ -1348,7 +1348,7 @@ La pressione sanguigna è normale Pressão Arterial normal - + You find a high blood pressure Tension haute Давление высокое @@ -1359,7 +1359,7 @@ La pressione sanguigna è alta Pressão Arterial Alta - + You find no blood pressure Pas de tension Давления нет @@ -1370,7 +1370,7 @@ La pressione sanguigna è assente Sem Pressão Arterial - + You fail to find a blood pressure Vous n'avez pas pu mesurer de tension Артериальное давление не определяется @@ -1381,7 +1381,7 @@ Manca strumento per misurare pressione sanguigna Você falhou em aferir a Pressão Arterial - + Low Niedrig Basso @@ -1389,7 +1389,7 @@ Faible Niskie - + Normal Normal Normale @@ -1397,7 +1397,7 @@ Normale Normalne - + High Hoch Alto @@ -1405,7 +1405,7 @@ Haute Wysokie - + No Blood Pressure Kein Blutdruck Nessuna Pressione Sanguigna @@ -1424,7 +1424,7 @@ Polso Pulso - + Checking Heart Rate ... Vérification du rythme cardiaque ... Проверка пульса ... @@ -1435,7 +1435,7 @@ Controllando il battito cardiaco ... Aferindo Pulso ... - + You checked %1 Вы осмотрели раненого %1 Vous examinez %1 @@ -1446,7 +1446,7 @@ Hai diagnosticato %1 Você aferiu o paciente %1 - + %1 checked Heart Rate: %2 %1 kontrollierte Herzfrequenz: %2 %1 Controllata Frequenza Cardiaca: %2 @@ -1454,7 +1454,7 @@ %1 à vérifié le rythme cardiaque: %2 %1 sprawdził tętno: %2 - + Weak Schwach Lento @@ -1462,7 +1462,7 @@ Faible Słabe - + Normal Normal Normale @@ -1470,7 +1470,7 @@ Normal Normalne - + Strong Stark Veloce @@ -1478,7 +1478,7 @@ Fort Silne - + You find a Heart Rate of %2 Rythme cardiaque de %2 Пульс %2 уд./мин. @@ -1489,7 +1489,7 @@ Il battito cardiaco è %2 A Freqüência Cardíaca é de %2 - + You find a weak Heart Rate Rythme cardiaque faible Пульс слабый @@ -1500,7 +1500,7 @@ Hai riscontrato un debole battito cardiaco Freqüência Cardíaca baixa - + You find a strong Heart Rate Rythme cardiaque élevé Пульс учащенный @@ -1511,7 +1511,7 @@ Hai riscontrato un forte battito cardiaco Freqüência Cardíaca normal - + You find a normal Heart Rate Rythme cardiaque normal Пульс в норме @@ -1522,7 +1522,7 @@ Hai riscontrato un normale battito cardiaco Freqüência Cardíaca alta - + You find no Heart Rate Pas de rythme cardiaque Пульс не прощупывается @@ -1544,7 +1544,7 @@ Risposta Reação - + You check response of patient Vous vérifiez la réponse du patient Вы проверяете реакцию раненого From f28a806938ba9bbcccdc7b1cb938b4e1d8defcc1 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 30 Apr 2015 22:15:40 +0200 Subject: [PATCH 153/478] Remove max unconsciousness time again --- addons/medical/ACE_Settings.hpp | 4 ---- addons/medical/CfgVehicles.hpp | 6 ------ .../functions/fnc_moduleMedicalSettings.sqf | 1 - addons/medical/functions/fnc_setUnconscious.sqf | 16 ---------------- 4 files changed, 27 deletions(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index aa354f7c56..6006515b45 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -63,10 +63,6 @@ class ACE_Settings { typeName = "BOOL"; value = 0; }; - class GVAR(maxUnconsciousTime) { - typeName = "SCALAR"; - value = -1; - }; class GVAR(enableRevive) { typeName = "SCALAR"; value = 0; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 0a0d67559d..f41ecac36f 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -113,12 +113,6 @@ class CfgVehicles { typeName = "BOOL"; defaultValue = 0; }; - class maxUnconsciousTime { - displayName = "Max. Uncon. Time"; - description = "Maximum time a unit can be unconscious before dying. Negative Values disable this."; - typeName = "NUMBER"; - defaultValue = -1; - }; class bleedingCoefficient { displayName = "Bleeding coefficient"; description = "Coefficient to modify the bleeding speed"; diff --git a/addons/medical/functions/fnc_moduleMedicalSettings.sqf b/addons/medical/functions/fnc_moduleMedicalSettings.sqf index 388531a9b1..25020e227b 100644 --- a/addons/medical/functions/fnc_moduleMedicalSettings.sqf +++ b/addons/medical/functions/fnc_moduleMedicalSettings.sqf @@ -31,7 +31,6 @@ if !(_activated) exitWith {}; [_logic, QGVAR(AIDamageThreshold), "AIDamageThreshold"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(enableUnsconsiousnessAI), "enableUnsconsiousnessAI"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(preventInstaDeath), "preventInstaDeath"] call EFUNC(common,readSettingFromModule); -[_logic, QGVAR(maxUnconsciousTime), "maxUnconsciousTime"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(bleedingCoefficient), "bleedingCoefficient"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(painCoefficient), "painCoefficient"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(keepLocalSettingsSynced), "keepLocalSettingsSynced"] call EFUNC(common,readSettingFromModule); diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index ce218b409c..60ca184bc9 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -25,12 +25,6 @@ _minWaitingTime = if (count _this > 2) then {_this select 2} else {DEFAULT_DELAY // No change, fuck off. (why is there no xor?) if (_set isEqualTo (_unit getVariable ["ACE_isUnconscious", false])) exitWith {}; -// Remove maximum unconsciousness time handler -_maxUnconHandle = _unit getVariable [QGVAR(maxUnconTimeHandle), -1]; -if (_maxUnconHandle > 0) then { - [_maxUnconHandle] call CBA_fnc_removePerFrameHandler; -}; - if !(_set) exitwith { _unit setvariable ["ACE_isUnconscious", false, true]; }; @@ -101,16 +95,6 @@ _startingTime = time; [DFUNC(unconsciousPFH), 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler; -// Maximum unconsciousness time -_maxUnconTime = _unit getVariable [QGVAR(maxUnconsciousTime), GVAR(maxUnconsciousTime)]; -if (_maxUnconTime >= 0) then { - _handle = [{ - _unit = _this select 0; - [_unit] call FUNC(setDead); - }, [_unit], _maxUnconTime, 0.5] call EFUNC(common,waitAndExecute); - _unit setVariable [QGVAR(maxUnconTimeHandle), _handle]; -}; - // unconscious can't talk [_unit, "isUnconscious"] call EFUNC(common,muteUnit); From 965a976dafe6d2db3cb8237ac7d0f1c49c64392b Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 30 Apr 2015 22:16:45 +0200 Subject: [PATCH 154/478] Reorganize AI unconsciousness --- addons/medical/ACE_Settings.hpp | 2 +- addons/medical/CfgVehicles.hpp | 8 ++++---- addons/medical/functions/fnc_moduleMedicalSettings.sqf | 2 +- addons/medical/functions/fnc_setUnconscious.sqf | 7 +++++-- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index 6006515b45..8e2d0421a7 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -54,7 +54,7 @@ class ACE_Settings { typeName = "SCALAR"; value = 1; }; - class GVAR(enableUnsconsiousnessAI) { + class GVAR(enableUnconsiousnessAI) { value = 1; typeName = "SCALAR"; values[] = {"Disabled", "Enabled", "50/50"}; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index f41ecac36f..70f88fa9b4 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -87,7 +87,7 @@ class CfgVehicles { typeName = "NUMBER"; defaultValue = 1; }; - class enableUnsconsiousnessAI { + class enableUnconsiousnessAI { displayName = "AI Unconsciousness"; description = "Allow AI to go unconscious"; typeName = "NUMBER"; @@ -97,12 +97,12 @@ class CfgVehicles { value = 0; }; class normal { - name = "Enabled"; + name = "50/50"; value = 1; default = 1; }; - class full { - name = "50/50"; + class full { + name = "Enabled"; value = 2; }; }; diff --git a/addons/medical/functions/fnc_moduleMedicalSettings.sqf b/addons/medical/functions/fnc_moduleMedicalSettings.sqf index 25020e227b..ad8fbba18a 100644 --- a/addons/medical/functions/fnc_moduleMedicalSettings.sqf +++ b/addons/medical/functions/fnc_moduleMedicalSettings.sqf @@ -29,7 +29,7 @@ if !(_activated) exitWith {}; [_logic, QGVAR(enableScreams), "enableScreams"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(playerDamageThreshold), "playerDamageThreshold"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(AIDamageThreshold), "AIDamageThreshold"] call EFUNC(common,readSettingFromModule); -[_logic, QGVAR(enableUnsconsiousnessAI), "enableUnsconsiousnessAI"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(enableUnconsiousnessAI), "enableUnconsiousnessAI"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(preventInstaDeath), "preventInstaDeath"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(bleedingCoefficient), "bleedingCoefficient"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(painCoefficient), "painCoefficient"] call EFUNC(common,readSettingFromModule); diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 60ca184bc9..09b3faf07b 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -46,8 +46,11 @@ if (_unit == ACE_player) then { }; // if we have unconsciousness for AI disabled, we will kill the unit instead -if (!([_unit] call EFUNC(common,IsPlayer)) && (GVAR(enableUnsconsiousnessAI) == 0 || (GVAR(enableUnsconsiousnessAI) == 2 && random(1) <= 0.5))) exitwith { - [_unit, true] call FUNC(setDead); // force, to avoid getting into a loop in case revive is enabled. +if !([_unit] call EFUNC(common,isPlayer)) then { + _enableUncon = _unit getVariable [QGVAR(enableUnconsciousnessAI), GVAR(enableUnconsciousnessAI)]; + if (_enableUncon == 0 or {_enableUncon == 1 and (random 1) < 0.5}) exitWith { + [_unit, true] call FUNC(setDead); + }; }; // If a unit has the launcher out, it will sometimes start selecting the primairy weapon while unconscious, From 8fda984903d0c58a7f141496b3111af49b385e04 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 30 Apr 2015 22:17:25 +0200 Subject: [PATCH 155/478] Fix missing semicolon --- addons/medical/functions/fnc_setUnconscious.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 09b3faf07b..41b965e7e1 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -84,7 +84,7 @@ if (GVAR(moveUnitsFromGroupOnUnconscious)) then { }; [_unit, QGVAR(unconscious), true] call EFUNC(common,setCaptivityStatus); -_anim = [_unit] call EFUNC(common,getDeathAnim) +_anim = [_unit] call EFUNC(common,getDeathAnim); [_unit, _anim, 1, true] call EFUNC(common,doAnimation); [{ _unit = _this select 0; From d59436c588138855fd093a60cd755e78799d4470 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 30 Apr 2015 22:19:31 +0200 Subject: [PATCH 156/478] Only force animation when necessary --- addons/medical/functions/fnc_setUnconscious.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 41b965e7e1..12f5f8832c 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -89,7 +89,7 @@ _anim = [_unit] call EFUNC(common,getDeathAnim); [{ _unit = _this select 0; _anim = _this select 1; - if (_unit getVariable "ACE_isUnconscious") then { + if ((_unit getVariable "ACE_isUnconscious") and (animationState _unit != _anim)) then { [_unit, _anim, 2, true] call EFUNC(common,doAnimation); }; }, [_unit, _anim], 2, 1] call EFUNC(common,waitAndExecute); From 131468f0d8be257382b5769aa36bd141b9f61039 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 30 Apr 2015 22:39:33 +0200 Subject: [PATCH 157/478] plurals --- addons/fcs/initKeybinds.sqf | 6 +++--- addons/grenades/XEH_postInit.sqf | 2 +- addons/javelin/initKeybinds.sqf | 4 ++-- addons/laserpointer/initKeybinds.sqf | 2 +- addons/overheating/XEH_postInit.sqf | 2 +- addons/reload/XEH_postInit.sqf | 2 +- addons/safemode/XEH_postInit.sqf | 2 +- addons/vehicles/XEH_postInit.sqf | 2 +- addons/weaponselect/XEH_postInit.sqf | 28 ++++++++++++++-------------- 9 files changed, 25 insertions(+), 25 deletions(-) diff --git a/addons/fcs/initKeybinds.sqf b/addons/fcs/initKeybinds.sqf index 0e5eb7b117..96482ddd1c 100644 --- a/addons/fcs/initKeybinds.sqf +++ b/addons/fcs/initKeybinds.sqf @@ -1,6 +1,6 @@ // by commy2 -["ACE3 Vehicle", QGVAR(lazeTarget), localize "STR_ACE_FCS_LaseTarget", +["ACE3 Vehicles", QGVAR(lazeTarget), localize "STR_ACE_FCS_LaseTarget", { // Conditions: canInteract if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -30,7 +30,7 @@ }, [15, [false, false, false]], false] call cba_fnc_addKeybind; //Tab Key -["ACE3 Vehicle", QGVAR(adjustRangeUp), localize "STR_ACE_FCS_AdjustRangeUp", +["ACE3 Vehicles", QGVAR(adjustRangeUp), localize "STR_ACE_FCS_AdjustRangeUp", { // Conditions: canInteract if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -44,7 +44,7 @@ {false}, [201, [false, false, false]], false] call cba_fnc_addKeybind; //PageUp Key -["ACE3 Vehicle", QGVAR(adjustRangDown), localize "STR_ACE_FCS_AdjustRangeDown", +["ACE3 Vehicles", QGVAR(adjustRangDown), localize "STR_ACE_FCS_AdjustRangeDown", { // Conditions: canInteract if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/grenades/XEH_postInit.sqf b/addons/grenades/XEH_postInit.sqf index e3ed93c4dd..63516407f3 100644 --- a/addons/grenades/XEH_postInit.sqf +++ b/addons/grenades/XEH_postInit.sqf @@ -10,7 +10,7 @@ GVAR(flashbangPPEffectCC) = ppEffectCreate ["ColorCorrections", 4265]; GVAR(flashbangPPEffectCC) ppEffectForceInNVG true; // Add keybinds -["ACE3 Weapon", QGVAR(switchGrenadeMode), localize "STR_ACE_Grenades_SwitchGrenadeMode", +["ACE3 Weapons", QGVAR(switchGrenadeMode), localize "STR_ACE_Grenades_SwitchGrenadeMode", { // Conditions: canInteract if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/javelin/initKeybinds.sqf b/addons/javelin/initKeybinds.sqf index c5a510eb93..2c095b93fc 100644 --- a/addons/javelin/initKeybinds.sqf +++ b/addons/javelin/initKeybinds.sqf @@ -1,6 +1,6 @@ // by commy2 -["ACE3 Weapon", QGVAR(lockTarget), localize "STR_ACE_JAVELIN_LockTarget", +["ACE3 Weapons", QGVAR(lockTarget), localize "STR_ACE_JAVELIN_LockTarget", { if (GETGVAR(isLockKeyDown,false)) exitWith {false}; @@ -21,7 +21,7 @@ }, [15, [false, false, false]], false] call cba_fnc_addKeybind; //Tab Key -["ACE3 Weapon", QGVAR(cycleFireMode), localize "STR_ACE_JAVELIN_CycleFireMode", +["ACE3 Weapons", QGVAR(cycleFireMode), localize "STR_ACE_JAVELIN_CycleFireMode", { false }, { [ACE_player] call FUNC(cycleFireMode); diff --git a/addons/laserpointer/initKeybinds.sqf b/addons/laserpointer/initKeybinds.sqf index e2197f08b8..e01f3be5fa 100644 --- a/addons/laserpointer/initKeybinds.sqf +++ b/addons/laserpointer/initKeybinds.sqf @@ -1,6 +1,6 @@ // by commy2 -["ACE3 Weapon", QGVAR(switchLaserLightMode), localize "STR_ACE_Laserpointer_switchLaserLight", +["ACE3 Weapons", QGVAR(switchLaserLightMode), localize "STR_ACE_Laserpointer_switchLaserLight", { // Conditions: canInteract if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/overheating/XEH_postInit.sqf b/addons/overheating/XEH_postInit.sqf index fb97038dd7..5e7089ab75 100644 --- a/addons/overheating/XEH_postInit.sqf +++ b/addons/overheating/XEH_postInit.sqf @@ -4,7 +4,7 @@ if !(hasInterface) exitWith {}; // Add keybinds -["ACE3 Weapon", QGVAR(unjamWeapon), localize "STR_ACE_Overheating_UnjamWeapon", +["ACE3 Weapons", QGVAR(unjamWeapon), localize "STR_ACE_Overheating_UnjamWeapon", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/reload/XEH_postInit.sqf b/addons/reload/XEH_postInit.sqf index c5b47a0f63..149317c136 100644 --- a/addons/reload/XEH_postInit.sqf +++ b/addons/reload/XEH_postInit.sqf @@ -4,7 +4,7 @@ if !(hasInterface) exitWith {}; // Add keybinds -["ACE3 Weapon", QGVAR(checkAmmo), localize "STR_ACE_Reload_checkAmmo", +["ACE3 Weapons", QGVAR(checkAmmo), localize "STR_ACE_Reload_checkAmmo", { // Conditions: canInteract if !([ACE_player, (vehicle ACE_player), ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/safemode/XEH_postInit.sqf b/addons/safemode/XEH_postInit.sqf index 1e6c9d7a72..9c3d989425 100644 --- a/addons/safemode/XEH_postInit.sqf +++ b/addons/safemode/XEH_postInit.sqf @@ -9,7 +9,7 @@ if (!hasInterface) exitWith {}; // Add keybinds -["ACE3 Weapon", QGVAR(safeMode), localize "STR_ACE_SafeMode_SafeMode", +["ACE3 Weapons", QGVAR(safeMode), localize "STR_ACE_SafeMode_SafeMode", { // Conditions: canInteract if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/vehicles/XEH_postInit.sqf b/addons/vehicles/XEH_postInit.sqf index 6c9f4afd4b..6ff723338b 100644 --- a/addons/vehicles/XEH_postInit.sqf +++ b/addons/vehicles/XEH_postInit.sqf @@ -4,7 +4,7 @@ if !(hasInterface) exitWith {}; // Add keybinds -["ACE3 Vehicle", QGVAR(speedLimiter), localize "STR_ACE_SpeedLimiter", +["ACE3 Vehicles", QGVAR(speedLimiter), localize "STR_ACE_SpeedLimiter", { // Conditions: canInteract if !([ACE_player, objNull, ["isnotinside"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/weaponselect/XEH_postInit.sqf b/addons/weaponselect/XEH_postInit.sqf index 19f7d8d7a5..ab77f5d2ee 100644 --- a/addons/weaponselect/XEH_postInit.sqf +++ b/addons/weaponselect/XEH_postInit.sqf @@ -4,7 +4,7 @@ if !(hasInterface) exitWith {}; // Add keybinds -["ACE3 Weapon", QGVAR(SelectPistolNew), localize "STR_ACE_WeaponSelect_SelectPistol", +["ACE3 Weapons", QGVAR(SelectPistolNew), localize "STR_ACE_WeaponSelect_SelectPistol", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -18,7 +18,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //1 Key -["ACE3 Weapon", QGVAR(SelectRifleNew), localize "STR_ACE_WeaponSelect_SelectRifle", +["ACE3 Weapons", QGVAR(SelectRifleNew), localize "STR_ACE_WeaponSelect_SelectRifle", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -32,7 +32,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //2 Key -["ACE3 Weapon", QGVAR(SelectRifleMuzzleNew), localize "STR_ACE_WeaponSelect_SelectRifleMuzzle", +["ACE3 Weapons", QGVAR(SelectRifleMuzzleNew), localize "STR_ACE_WeaponSelect_SelectRifleMuzzle", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -46,7 +46,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //3 Key -["ACE3 Weapon", QGVAR(SelectLauncherNew), localize "STR_ACE_WeaponSelect_SelectLauncher", +["ACE3 Weapons", QGVAR(SelectLauncherNew), localize "STR_ACE_WeaponSelect_SelectLauncher", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -60,7 +60,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //4 Key -["ACE3 Weapon", QGVAR(SelectBinocularNew), localize "STR_ACE_WeaponSelect_SelectBinocular", +["ACE3 Weapons", QGVAR(SelectBinocularNew), localize "STR_ACE_WeaponSelect_SelectBinocular", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -74,7 +74,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //5 Key -["ACE3 Weapon", QGVAR(SelectGrenadeFrag), localize "STR_ACE_WeaponSelect_SelectGrenadeFrag", +["ACE3 Weapons", QGVAR(SelectGrenadeFrag), localize "STR_ACE_WeaponSelect_SelectGrenadeFrag", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -88,7 +88,7 @@ if !(hasInterface) exitWith {}; {false}, [7, [false, false, false]], false] call cba_fnc_addKeybind; //6 Key -["ACE3 Weapon", QGVAR(SelectGrenadeOther), localize "STR_ACE_WeaponSelect_SelectGrenadeOther", +["ACE3 Weapons", QGVAR(SelectGrenadeOther), localize "STR_ACE_WeaponSelect_SelectGrenadeOther", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -102,7 +102,7 @@ if !(hasInterface) exitWith {}; {false}, [8, [false, false, false]], false] call cba_fnc_addKeybind; //7 Key -["ACE3 Weapon", QGVAR(HolsterWeapon), localize "STR_ACE_WeaponSelect_HolsterWeapon", +["ACE3 Weapons", QGVAR(HolsterWeapon), localize "STR_ACE_WeaponSelect_HolsterWeapon", { // Conditions: canInteract if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -116,7 +116,7 @@ if !(hasInterface) exitWith {}; {false}, [11, [false, false, false]], false] call cba_fnc_addKeybind; //0 Key -["ACE3 Vehicle", QGVAR(EngineOn), localize "STR_ACE_WeaponSelect_EngineOn", +["ACE3 Vehicles", QGVAR(EngineOn), localize "STR_ACE_WeaponSelect_EngineOn", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -130,7 +130,7 @@ if !(hasInterface) exitWith {}; {false}, [3, [false, false, false]], false] call cba_fnc_addKeybind; //2 Key -["ACE3 Vehicle", QGVAR(EngineOff), localize "STR_ACE_WeaponSelect_EngineOff", +["ACE3 Vehicles", QGVAR(EngineOff), localize "STR_ACE_WeaponSelect_EngineOff", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -144,7 +144,7 @@ if !(hasInterface) exitWith {}; {false}, [2, [false, false, false]], false] call cba_fnc_addKeybind; //1 Key -["ACE3 Vehicle", QGVAR(SelectMainGunNew), localize "STR_ACE_WeaponSelect_SelectMainGun", +["ACE3 Vehicles", QGVAR(SelectMainGunNew), localize "STR_ACE_WeaponSelect_SelectMainGun", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -158,7 +158,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //3 Key -["ACE3 Vehicle", QGVAR(SelectMachineGunNew), localize "STR_ACE_WeaponSelect_SelectMachineGun", +["ACE3 Vehicles", QGVAR(SelectMachineGunNew), localize "STR_ACE_WeaponSelect_SelectMachineGun", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -172,7 +172,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //4 Key -["ACE3 Vehicle", QGVAR(SelectMissilesNew), localize "STR_ACE_WeaponSelect_SelectMissiles", +["ACE3 Vehicles", QGVAR(SelectMissilesNew), localize "STR_ACE_WeaponSelect_SelectMissiles", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -186,7 +186,7 @@ if !(hasInterface) exitWith {}; {false}, [0, [false, false, false]], false] call cba_fnc_addKeybind; //5 Key -["ACE3 Vehicle", QGVAR(FireSmokeLauncher), localize "STR_ACE_WeaponSelect_FireSmokeLauncher", +["ACE3 Vehicles", QGVAR(FireSmokeLauncher), localize "STR_ACE_WeaponSelect_FireSmokeLauncher", { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; From 2ae5538df5948c922e2877d8456e3c5736a91653 Mon Sep 17 00:00:00 2001 From: commy2 Date: Thu, 30 Apr 2015 22:46:08 +0200 Subject: [PATCH 158/478] change wrong strings --- addons/respawn/CfgVehicles.hpp | 12 ++++++------ addons/respawn/stringtable.xml | 8 ++++++++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index 384376b00c..19efdf7774 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -96,7 +96,7 @@ class CfgVehicles { class ACE_Actions: ACE_Actions { class ACE_Teleport { - displayName = "$STR_ACE_Respawn_TeleportedToRallypoint"; + displayName = "$STR_ACE_Respawn_TeleportToRallypoint"; distance = 4; condition = QUOTE(side group _player == west); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_West')] call FUNC(teleportToRallypoint)); @@ -116,7 +116,7 @@ class CfgVehicles { class ACE_Actions: ACE_Actions { class ACE_Teleport { - displayName = "$STR_ACE_Respawn_TeleportedToRallypoint"; + displayName = "$STR_ACE_Respawn_TeleportToRallypoint"; distance = 4; condition = QUOTE(side group _player == east); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_East')] call FUNC(teleportToRallypoint)); @@ -136,7 +136,7 @@ class CfgVehicles { class ACE_Actions: ACE_Actions { class ACE_Teleport { - displayName = "$STR_ACE_Respawn_TeleportedToRallypoint"; + displayName = "$STR_ACE_Respawn_TeleportToRallypoint"; distance = 4; condition = QUOTE(side group _player == independent); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_Independent')] call FUNC(teleportToRallypoint)); @@ -157,7 +157,7 @@ class CfgVehicles { class ACE_Actions: ACE_Actions { class ACE_Teleport { - displayName = "$STR_ACE_Respawn_TeleportedToBase"; + displayName = "$STR_ACE_Respawn_TeleportToBase"; distance = 4; condition = QUOTE(side group _player == west); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_West_Base')] call FUNC(teleportToRallypoint)); @@ -177,7 +177,7 @@ class CfgVehicles { class ACE_Actions: ACE_Actions { class ACE_Teleport { - displayName = "$STR_ACE_Respawn_TeleportedToBase"; + displayName = "$STR_ACE_Respawn_TeleportToBase"; distance = 4; condition = QUOTE(side group _player == east); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_East_Base')] call FUNC(teleportToRallypoint)); @@ -197,7 +197,7 @@ class CfgVehicles { class ACE_Actions: ACE_Actions { class ACE_Teleport { - displayName = "$STR_ACE_Respawn_TeleportedToBase"; + displayName = "$STR_ACE_Respawn_TeleportToBase"; distance = 4; condition = QUOTE(side group _player == independent); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_Independent_Base')] call FUNC(teleportToRallypoint)); diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index cfd1d51bb9..44c0a676e3 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -25,6 +25,14 @@ Rallypoint dispiegato Rallypoints posicionado + + Teleport to Base + Zur Basis teleportieren + + + Teleport to Rallypoint + Zum Rallypoint teleportieren + Teleported to Base Téléporté à la base From 03973f3dcfcd1c40d73843ecc9e1061074e9938a Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Thu, 30 Apr 2015 22:54:15 +0200 Subject: [PATCH 159/478] PL translation --- addons/interact_menu/stringtable.xml | 6 +++++- addons/medical/stringtable.xml | 9 ++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 5761815af1..b33e603d05 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,4 +1,5 @@  + @@ -115,15 +116,18 @@ Keep cursor centered Garder le curseur au centre Центрировать курсор + Utrzymaj kursor wyśrodkowany Keeps cursor centered and pans the option menu around. Useful if screen size is limited. Garde le curseur au milieu et dispose le menu des options autour. Utile si la taille de l'écran est limitée. Центрирует курсор и двигает само меню опций. Полезно при ограниченном размере экрана. + Utrzymuje kursor na środku ekranu, zamiast tego ruch myszą powoduje przesuwanie menu interakcji. Użyteczne w przypadku kiedy rozmiar ekranu jest ograniczony. Do action when releasing menu key Aktion nach Loslassen der Taste ausführen + Wykonuj akcje po puszczeniu klawisza menu - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index c164b37bf1..f73915e7af 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,4 +1,5 @@  + @@ -1622,6 +1623,7 @@ He's lost a lot of blood + Stracił sporo krwi He hasn't lost blood @@ -1993,15 +1995,19 @@ Style of menu (Medical) + Styl menu medycznego Select the type of menu you prefer; default 3d selections or radial. + Wybierz rodzaj menu, który preferujesz: domyślne pozycje 3D lub radialne Selections (3d) + Pozycje (3D) Radial + Radialne Scrape @@ -2269,6 +2275,7 @@ Treating... + Leczenie... - + \ No newline at end of file From 1e0eaa1971625ca6f4acf062e6ad5fa5a3bd1858 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Thu, 30 Apr 2015 22:55:43 +0200 Subject: [PATCH 160/478] Update stringtable.xml --- addons/interact_menu/stringtable.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index b33e603d05..1e322d95d6 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,5 +1,4 @@  - @@ -130,4 +129,4 @@ Wykonuj akcje po puszczeniu klawisza menu - \ No newline at end of file + From 3f932c0a939a49307ea5d5d0d3876fcba969f0af Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Thu, 30 Apr 2015 22:55:51 +0200 Subject: [PATCH 161/478] Update stringtable.xml --- addons/medical/stringtable.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index f73915e7af..5fd2ed9ba7 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,5 +1,4 @@  - @@ -2278,4 +2277,4 @@ Leczenie... - \ No newline at end of file + From f301491c7a7833c9f36da26d1bf52b606209b300 Mon Sep 17 00:00:00 2001 From: Kavinsky Date: Thu, 30 Apr 2015 23:18:45 +0200 Subject: [PATCH 162/478] changed variable name to use QGVAR macro --- addons/laserpointer/functions/fnc_onDraw.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/laserpointer/functions/fnc_onDraw.sqf b/addons/laserpointer/functions/fnc_onDraw.sqf index e3236f7cb5..c1e955d028 100644 --- a/addons/laserpointer/functions/fnc_onDraw.sqf +++ b/addons/laserpointer/functions/fnc_onDraw.sqf @@ -26,7 +26,7 @@ _isIR = _isIR == 1; }; if (_laser != "") then { - _cacheName = format ["ACE_laserpointer_%1", _laser]; + _cacheName = format [QGVAR(laser_%1), _laser]; _laserID = missionNamespace getVariable [_cacheName, -1]; if (missionNamespace getVariable [_cacheName, -1] == -1) then { _laserID = getNumber (configFile >> "CfgWeapons" >> _laser >> "ACE_laserpointer"); From 47acc90db7d88e09d31a559dd2ea7ec2a4226b04 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Thu, 30 Apr 2015 14:21:13 -0700 Subject: [PATCH 163/478] Pretty up the name. --- mod.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mod.cpp b/mod.cpp index f1cef6b6a2..0caaba2909 100644 --- a/mod.cpp +++ b/mod.cpp @@ -1,4 +1,4 @@ -name = "ACE3"; +name = "Advanced Combat Environment 3.0.0"; picture = "logo_ace3_ca.paa"; actionName = "GitHub"; action = "https://github.com/acemod/ACE3"; @@ -7,6 +7,6 @@ logo = "logo_ace3_ca.paa"; logoOver = "logo_ace3_ca.paa"; tooltip = "ACE3"; tooltipOwned = "ACE3 Owned"; -overview = "ACE3 is a joint effort by the teams behind ACE2, AGM and CSE to improve the realism and authenticity of Arma 3."; +overview = "Advanced Combat Environment 3, or ACE3 is a joint effort by the teams behind ACE2, AGM and CSE to improve the realism and authenticity of Arma 3."; author = "ACE3 Team"; overviewPicture = "logo_ace3_ca.paa"; From d68e744fe2c63d039acd144e81c4da862e0b7b1d Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Thu, 30 Apr 2015 14:41:45 -0700 Subject: [PATCH 164/478] better grammar --- mod.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod.cpp b/mod.cpp index 0caaba2909..b878c76a6d 100644 --- a/mod.cpp +++ b/mod.cpp @@ -7,6 +7,6 @@ logo = "logo_ace3_ca.paa"; logoOver = "logo_ace3_ca.paa"; tooltip = "ACE3"; tooltipOwned = "ACE3 Owned"; -overview = "Advanced Combat Environment 3, or ACE3 is a joint effort by the teams behind ACE2, AGM and CSE to improve the realism and authenticity of Arma 3."; +overview = "Advanced Combat Environment 3, also known as ACE3, is a joint effort by the teams behind ACE2, AGM and CSE to improve the realism and authenticity of Arma 3."; author = "ACE3 Team"; overviewPicture = "logo_ace3_ca.paa"; From aa9f1c53c7466665920ad2218416ac306584b95c Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 1 May 2015 01:34:18 +0200 Subject: [PATCH 165/478] Whoops --- .../functions/fnc_handleDamage_basic.sqf | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage_basic.sqf b/addons/medical/functions/fnc_handleDamage_basic.sqf index 044b35d5f2..68792b1656 100644 --- a/addons/medical/functions/fnc_handleDamage_basic.sqf +++ b/addons/medical/functions/fnc_handleDamage_basic.sqf @@ -24,14 +24,13 @@ #define ARMDAMAGETRESHOLD2 1.7 #define UNCONSCIOUSNESSTRESHOLD 0.7 -<<<<<<< HEAD -private ["_unit", "_selectionName", "_damage", "_shooter", "_projectile", "_threshold"]; +private ["_unit", "_selectionName", "_damage", "_shooter", "_projectile", "_damage", "_armdamage", "_hitPoint", "_index", "_legdamage", "_newDamage", "_otherDamage", "_pain", "_restore"]; -_unit = _this select 0; +_unit = _this select 0; _selectionName = _this select 1; -_damage = _this select 2; -_shooter = _this select 3; -_projectile = _this select 4; +_damage = _this select 2; +_shooter = _this select 3; +_projectile = _this select 4; // Apply damage treshold / coefficient _threshold = [ @@ -39,15 +38,6 @@ _threshold = [ _unit getVariable [QGVAR(damageThreshold), GVAR(playerDamageThreshold)] ] select ([_unit] call EFUNC(common,isPlayer)); _damage = _damage * (1 / _threshold); -======= -private ["_unit", "_selectionName", "_damage", "_shooter", "_projectile", "_damage", "_armdamage", "_hitPoint", "_index", "_legdamage", "_newDamage", "_otherDamage", "_pain", "_restore"]; - -_unit = _this select 0; -_selectionName = _this select 1; -_damage = _this select 2; -_shooter = _this select 3; -_projectile = _this select 4; ->>>>>>> origin/master // This is a new hit, reset variables. // Note: sometimes handleDamage spans over 2 or even 3 frames. From f7f416c8d3af17d64f6bf5551437154604d23632 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 1 May 2015 01:34:38 +0200 Subject: [PATCH 166/478] Proper privates and alignment --- addons/medical/functions/fnc_handleDamage.sqf | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index d457762321..25b65ac0b0 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -17,12 +17,12 @@ #include "script_component.hpp" -private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_typeOfDamage", "_minLethalDamage", "_newDamage", "_typeIndex"]; -_unit = _this select 0; -_selection = _this select 1; -_damage = _this select 2; -_shooter = _this select 3; -_projectile = _this select 4; +private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_typeOfDamage", "_minLethalDamage", "_newDamage", "_typeIndex", "_preventDeath"]; +_unit = _this select 0; +_selection = _this select 1; +_damage = _this select 2; +_shooter = _this select 3; +_projectile = _this select 4; if !(local _unit) exitWith {nil}; From 98e44e86d801e626832fa7b265f24e4b6931d7fe Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 1 May 2015 01:35:50 +0200 Subject: [PATCH 167/478] Offload ejecting to unloadPerson --- addons/medical/functions/fnc_setUnconscious.sqf | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 048dd9633c..b752a51431 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -56,9 +56,7 @@ if !([_unit] call EFUNC(common,isPlayer)) then { // If a unit has the launcher out, it will sometimes start selecting the primairy weapon while unconscious, // therefor we force it to select the primairy weapon before going unconscious if ((vehicle _unit) isKindOf "StaticWeapon") then { - moveOut _unit; - unassignVehicle _unit; - //_unit action ["eject", vehicle _unit]; + [_unit] call EFUNC(common,unloadPerson); }; if (animationState _unit in ["ladderriflestatic","laddercivilstatic"]) then { _unit action ["ladderOff", (nearestBuilding _unit)]; From 67bd2b4e2f30c35f1bb6a4ffa74fb636d304b926 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 1 May 2015 01:36:09 +0200 Subject: [PATCH 168/478] Reduce animation forcing delay --- addons/medical/functions/fnc_setUnconscious.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index b752a51431..0e0e6cf67e 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -90,7 +90,7 @@ _anim = [_unit] call EFUNC(common,getDeathAnim); if ((_unit getVariable "ACE_isUnconscious") and (animationState _unit != _anim)) then { [_unit, _anim, 2, true] call EFUNC(common,doAnimation); }; -}, [_unit, _anim], 2, 1] call EFUNC(common,waitAndExecute); +}, [_unit, _anim], 0.5, 0] call EFUNC(common,waitAndExecute); _startingTime = time; From 48770f77d222de037e4d2d7e01a36fac7b9d0ad0 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 1 May 2015 01:37:58 +0200 Subject: [PATCH 169/478] Rename caching variables in basic HD --- addons/medical/functions/fnc_handleDamage_basic.sqf | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage_basic.sqf b/addons/medical/functions/fnc_handleDamage_basic.sqf index 68792b1656..3b8f80a22f 100644 --- a/addons/medical/functions/fnc_handleDamage_basic.sqf +++ b/addons/medical/functions/fnc_handleDamage_basic.sqf @@ -41,14 +41,13 @@ _damage = _damage * (1 / _threshold); // This is a new hit, reset variables. // Note: sometimes handleDamage spans over 2 or even 3 frames. -if (diag_frameno > (_unit getVariable [QGVAR(frameNo), -3]) + 2) then { - _unit setVariable [QGVAR(frameNo), diag_frameno]; +if (diag_frameno > (_unit getVariable [QGVAR(basic_frameNo), -3]) + 2) then { + _unit setVariable [QGVAR(basic_frameNo), diag_frameno]; _unit setVariable [QGVAR(isFalling), false]; _unit setVariable [QGVAR(projectiles), []]; _unit setVariable [QGVAR(hitPoints), []]; _unit setVariable [QGVAR(damages), []]; _unit setVariable [QGVAR(structDamage), 0]; - _unit setVariable [QGVAR(preventDeath), false]; // Assign orphan structural damage to torso [{ private ["_unit", "_damagesum"]; From cb82b20464012ad8147ca0a629a1a5dabf45f87d Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 1 May 2015 01:38:16 +0200 Subject: [PATCH 170/478] Let setUncon handle AI unconsciousness --- addons/medical/functions/fnc_handleDamage_basic.sqf | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage_basic.sqf b/addons/medical/functions/fnc_handleDamage_basic.sqf index 3b8f80a22f..7b308ad188 100644 --- a/addons/medical/functions/fnc_handleDamage_basic.sqf +++ b/addons/medical/functions/fnc_handleDamage_basic.sqf @@ -178,11 +178,7 @@ if (_selectionName == "" and _damage < 1 and !(_unit getVariable ["ACE_isUnconscious", False] )) then { - if (_unit getVariable [QGVAR(allowUnconscious), ([_unit] call EFUNC(common,isPlayer)) or random 1 > 0.3]) then { - [_unit, true] call FUNC(setUnconscious); - } else { - _damage = 1; - }; + [_unit, true] call FUNC(setUnconscious); }; _damage From e06e1a2f89a0d2ff5f89af80bb0385b547db762a Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 1 May 2015 01:38:36 +0200 Subject: [PATCH 171/478] Make preventDeath work --- addons/medical/functions/fnc_handleDamage.sqf | 58 ++++++++++++++----- 1 file changed, 43 insertions(+), 15 deletions(-) diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index 25b65ac0b0..1d8c821d1f 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -34,6 +34,30 @@ if (typeName _projectile == "OBJECT") then { // If the damage is being weird, we just tell it to fuck off. if !(_selection in (GVAR(SELECTIONS) + [""])) exitWith {0}; +// Exit if we disable damage temporarily +_damageOld = damage _unit; +if (_selection in GVAR(SELECTIONS)) then { + _damageOld = _unit getHit _selection; +}; +if !(_unit getVariable [QGVAR(allowDamage), true]) exitWith {_damageOld}; + +// Figure out whether to prevent death before handling damage +if (diag_frameno > (_unit getVariable [QGVAR(frameNo), -3]) + 2) then { + _unit setVariable [QGVAR(frameNo), diag_frameno]; + _unit setVariable [QGVAR(wasUnconscious), _unit getVariable ["ACE_isUnconscious", false]]; + + _preventDeath = _unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)]; + if (_unit getVariable ["ACE_isUnconscious", false]) then { + _preventDeath = _unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]; + if !([_unit] call EFUNC(common,isPlayer)) then { + _preventDeath = _preventDeath - 1; + }; + _preventDeath = _preventDeath > 0; + }; + _unit setVariable [QGVAR(preventDeath), _preventDeath]; +}; + +// Get return damage _damageReturn = _damage; if (GVAR(level) < 2) then { _damageReturn = _this call FUNC(handleDamage_basic); @@ -73,26 +97,30 @@ if (GVAR(level) < 2) then { }; [_unit] call FUNC(addToInjuredCollection); -if (_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)]) exitWith { - if (_damageReturn >= 0.9 && {_selection in ["", "head", "body"]}) exitWith { - if (_unit getvariable ["ACE_isUnconscious", false]) exitwith { +// Prevent death if necessary +if (_unit getVariable QGVAR(preventDeath)) then { + if (_selection in ["", "head", "body"]) then { + _damageReturn = _damageReturn min 0.89; + }; + + // Move the unit out of the vehicle if necessary + if (vehicle _unit != _unit and damage (vehicle _unit) == 1) then { + [_unit] call EFUNC(common,unloadPerson); + if (_unit getVariable QGVAR(wasUnconscious)) then { [_unit] call FUNC(setDead); - 0.89 + } else { + [_unit, true] call FUNC(setUnconscious); }; - [{ [_this select 0, true] call FUNC(setUnconscious); }, [_unit]] call EFUNC(common,execNextFrame); - 0.89 }; - _damageReturn min 0.89; -}; -if (((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]) > 0) && {_damageReturn >= 0.9} && {_selection in ["", "head", "body"]}) exitWith { - if (vehicle _unit != _unit and {damage (vehicle _unit) >= 1}) then { - // @todo - // [_unit] call FUNC(unload); + // Temporarily disable all damage to prevent stuff like + // being killed during the animation etc. + if (!_wasUnconscious and (_unit getVariable ["ACE_isUnconscious", false])) then { + _unit setVariable [QGVAR(allowDamage), false]; + [{ + _this setVariable [QGVAR(allowDamage), true]; + }, _unit, 0.7, 0] call EFUNC(common,waitAndExecute); }; - [_unit] call FUNC(setDead); - - 0.89 }; _damageReturn From 15f1680c2012eb5f568be11b22d9a3248631609c Mon Sep 17 00:00:00 2001 From: Felix Wiegand Date: Fri, 1 May 2015 01:47:59 +0200 Subject: [PATCH 172/478] Add Bla1337 to AUTHORS file --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 6585a8eeb7..9d41ad267f 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -88,3 +88,4 @@ Coren OnkelDisMaster Dimaslg VyMajoris(W-Cephei) +Bla1337 From 984a1fe3377979bb8fdf98fcbfadd2c71f2f1e39 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 1 May 2015 02:14:23 +0200 Subject: [PATCH 173/478] Rename breakLine to break_line --- ace_breakLine.dll => ace_break_line.dll | Bin addons/interact_menu/config.cpp | 2 +- addons/interact_menu/functions/fnc_renderIcon.sqf | 2 +- extensions/CMakeLists.txt | 2 +- extensions/{breakLine => break_line}/CMakeLists.txt | 2 +- .../ace_break_line.cpp} | 2 +- 6 files changed, 5 insertions(+), 5 deletions(-) rename ace_breakLine.dll => ace_break_line.dll (100%) rename extensions/{breakLine => break_line}/CMakeLists.txt (89%) rename extensions/{breakLine/ace_breakLine.cpp => break_line/ace_break_line.cpp} (98%) diff --git a/ace_breakLine.dll b/ace_break_line.dll similarity index 100% rename from ace_breakLine.dll rename to ace_break_line.dll diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index 281f66492a..13ad55ff1d 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -77,5 +77,5 @@ class ACE_Settings { }; class ACE_Extensions { - extensions[] += {"ace_breakLine"}; + extensions[] += {"ace_break_line"}; }; diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index 642464028d..15edf7c8bb 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -35,7 +35,7 @@ if(_icon == "") then { _text = if (GVAR(UseListMenu)) then { format ["%5", _icon, _iconColor, _textColor, _shadowColor, _text] } else { - format ["
%5", _icon, _iconColor, _textColor, _shadowColor, "ace_breakLine" callExtension _text]; + format ["
%5", _icon, _iconColor, _textColor, _shadowColor, "ace_break_line" callExtension _text]; }; //_ctrl ctrlSetStructuredText parseText _text; diff --git a/extensions/CMakeLists.txt b/extensions/CMakeLists.txt index 038bb71d5c..835cd30fd6 100644 --- a/extensions/CMakeLists.txt +++ b/extensions/CMakeLists.txt @@ -55,7 +55,7 @@ set(GLOBAL_SOURCES ${GLOBAL_RC}) # Add extensions to build here add_subdirectory(fcs) -add_subdirectory(breakLine) +add_subdirectory(break_line) add_subdirectory(advanced_ballistics) message("Build Type: ${CMAKE_BUILD_TYPE}") \ No newline at end of file diff --git a/extensions/breakLine/CMakeLists.txt b/extensions/break_line/CMakeLists.txt similarity index 89% rename from extensions/breakLine/CMakeLists.txt rename to extensions/break_line/CMakeLists.txt index d34ae1b58e..00a74d4c3a 100644 --- a/extensions/breakLine/CMakeLists.txt +++ b/extensions/break_line/CMakeLists.txt @@ -1,4 +1,4 @@ -set(ACE_EXTENSION_NAME "ace_breakLine") +set(ACE_EXTENSION_NAME "ace_break_line") file(GLOB SOURCES *.h *.hpp *.c *.cpp) add_library( ${ACE_EXTENSION_NAME} SHARED ${GLOBAL_SOURCES} ${SOURCES}) diff --git a/extensions/breakLine/ace_breakLine.cpp b/extensions/break_line/ace_break_line.cpp similarity index 98% rename from extensions/breakLine/ace_breakLine.cpp rename to extensions/break_line/ace_break_line.cpp index 89ea1cfd85..2b253c05bc 100644 --- a/extensions/breakLine/ace_breakLine.cpp +++ b/extensions/break_line/ace_break_line.cpp @@ -1,5 +1,5 @@ /* - * ace_breakLine.cpp + * ace_break_line.cpp * * Takes a string and insert as many line breaks as needed so it fits a given width * From fc02bb4e066050ae3eb49dae52d5ec826d638e32 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Fri, 1 May 2015 00:32:16 -0300 Subject: [PATCH 174/478] Stylistic changes --- .../functions/fnc_renderIcon.sqf | 10 +++---- .../functions/fnc_renderMenu.sqf | 29 +++++++------------ .../functions/fnc_renderSelector.sqf | 14 ++++----- 3 files changed, 23 insertions(+), 30 deletions(-) diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index 2910cb2d03..180b5a3c36 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -25,7 +25,7 @@ if(GVAR(iconCount) > (count GVAR(iconCtrls))-1) then { GVAR(iconCtrls) pushBack ((findDisplay _displayNum) ctrlCreate ["RscStructuredText", 54021+GVAR(iconCount)]); }; _ctrl = GVAR(iconCtrls) select GVAR(iconCount); -GVAR(iconCount) = GVAR(iconCount) + 1; + if(_icon == "") then { _icon = DEFAULT_ICON; }; @@ -38,12 +38,12 @@ _text = if (GVAR(UseListMenu)) then { //_ctrl ctrlSetStructuredText parseText _text; [_ctrl, GVAR(iconCount), _text] call FUNC(ctrlSetParsedTextCached); +GVAR(iconCount) = GVAR(iconCount) + 1; -_pos = []; -if (GVAR(UseListMenu)) then { - _pos = [(_sPos select 0)-(0.0095*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.20*SafeZoneW, 0.035*SafeZoneW]; +_pos = if (GVAR(UseListMenu)) then { + [(_sPos select 0)-(0.0095*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.20*SafeZoneW, 0.035*SafeZoneW] } else { - _pos = [(_sPos select 0)-(0.0750*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.15*SafeZoneW, 0.100*SafeZoneW]; + [(_sPos select 0)-(0.0750*SafeZoneW), (_sPos select 1)-(0.0095*SafeZoneW), 0.15*SafeZoneW, 0.100*SafeZoneW] }; if (GVAR(cursorKeepCentered) && {uiNamespace getVariable [QGVAR(cursorMenuOpened),false]}) then { diff --git a/addons/interact_menu/functions/fnc_renderMenu.sqf b/addons/interact_menu/functions/fnc_renderMenu.sqf index c88b6cb862..84c7799684 100644 --- a/addons/interact_menu/functions/fnc_renderMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderMenu.sqf @@ -87,24 +87,17 @@ if (_numChildren == 1) then { }; // Scale menu based on the amount of children -_scaleX = if (GVAR(UseListMenu)) then { - _textSize = switch (GVAR(textSize)) do { - case (0): {0.75}; - case (1): {0.875}; - case (2): {1}; - case (3): {1.2}; - case (4): {1.4}; - }; - 0.17 * _textSize * 1.1 +_scaleX = 1; +_scaleY = 1; + +if (GVAR(UseListMenu)) then { + _textSize = [0.75, 0.875, 1, 1.2, 1.4] select GVAR(textSize); + _scaleX = _textSize * 0.17 * 1.1; + _scaleY = 0.17 * 0.30 * 4/3; } else { _textSize = if (GVAR(textSize) > 2) then {1.3} else {1}; - _textSize * 0.17 * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.1) max 0.5) -}; -_scaleY = if (GVAR(UseListMenu)) then { - 0.17 * 0.30 * 4/3 -} else { - _textSize = if (GVAR(textSize) > 2) then {1.3} else {1}; - _textSize * 0.17 * 4/3 * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.1) max 0.5) + _scaleX = _textSize * 0.17 * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.1) max 0.5); + _scaleY = _textSize * 0.17 * 4/3 * (((0.8 * (0.46 / sin (0.5 * _angleInterval))) min 1.1) max 0.5); }; // Animate menu scale @@ -123,10 +116,10 @@ _angle = _centerAngle - _angleSpan / 2; private ["_offset","_newPos"]; _newPos = if (GVAR(UseListMenu)) then { [(_sPos select 0) + _scaleX, - (_sPos select 1) + _scaleY * (_foreachindex - _numChildren/2 + 0.5)]; + (_sPos select 1) + _scaleY * (_foreachindex - _numChildren/2 + 0.5)]; } else { [(_sPos select 0) - _scaleX * (cos _angle), - (_sPos select 1) + _scaleY * (sin _angle)]; + (_sPos select 1) + _scaleY * (sin _angle)]; }; //drawLine3D [_pos, _newPos, [1,0,0,0.8]]; diff --git a/addons/interact_menu/functions/fnc_renderSelector.sqf b/addons/interact_menu/functions/fnc_renderSelector.sqf index 569fa79198..7ac9559297 100644 --- a/addons/interact_menu/functions/fnc_renderSelector.sqf +++ b/addons/interact_menu/functions/fnc_renderSelector.sqf @@ -23,17 +23,17 @@ if(GVAR(iconCount) > (count GVAR(iconCtrls))-1) then { }; _ctrl = GVAR(iconCtrls) select GVAR(iconCount); -GVAR(iconCount) = GVAR(iconCount) + 1; -_pos = []; -if (GVAR(UseListMenu)) then { - [_ctrl, GVAR(iconCount), format ["", _icon]] call FUNC(ctrlSetParsedTextCached); - _pos = [(_sPos select 0)-(0.014*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.05*SafeZoneW, 0.035*SafeZoneW]; +_pos = if (GVAR(UseListMenu)) then { + [_ctrl, GVAR(iconCount), format ["", _icon]] call FUNC(ctrlSetParsedTextCached); + [(_sPos select 0)-(0.014*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.05*SafeZoneW, 0.035*SafeZoneW] } else { - [_ctrl, GVAR(iconCount), format ["", _icon]] call FUNC(ctrlSetParsedTextCached); - _pos = [(_sPos select 0)-(0.050*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW]; + [_ctrl, GVAR(iconCount), format ["", _icon]] call FUNC(ctrlSetParsedTextCached); + [(_sPos select 0)-(0.050*SafeZoneW), (_sPos select 1)-(0.014*SafeZoneW), 0.1*SafeZoneW, 0.035*SafeZoneW] }; +GVAR(iconCount) = GVAR(iconCount) + 1; + if (GVAR(cursorKeepCentered) && {uiNamespace getVariable [QGVAR(cursorMenuOpened),false]}) then { _pos set [0, ((_pos select 0) - (GVAR(cursorPos) select 0) + 0.5)]; _pos set [1, ((_pos select 1) - (GVAR(cursorPos) select 1) + 0.5)]; From 324b9510e3c9395649052da5f775e2ed64a960e4 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Fri, 1 May 2015 01:56:39 -0300 Subject: [PATCH 175/478] Allow positions for actions to be computed dynamically. Also leverage that for the position of the "Weapon" action, instead of hard coding an exception for that. --- .../functions/fnc_compileMenu.sqf | 23 +++++++++++-------- .../functions/fnc_compileMenuSelfAction.sqf | 4 ++-- .../functions/fnc_createAction.sqf | 16 ++++++++++--- .../functions/fnc_renderBaseMenu.sqf | 22 +++++++----------- addons/interaction/CfgVehicles.hpp | 2 +- addons/interaction/XEH_preInit.sqf | 1 + .../functions/fnc_getWeaponPos.sqf | 21 +++++++++++++++++ 7 files changed, 60 insertions(+), 29 deletions(-) create mode 100644 addons/interaction/functions/fnc_getWeaponPos.sqf diff --git a/addons/interact_menu/functions/fnc_compileMenu.sqf b/addons/interact_menu/functions/fnc_compileMenu.sqf index f5296ec9cf..7b995375b7 100644 --- a/addons/interact_menu/functions/fnc_compileMenu.sqf +++ b/addons/interact_menu/functions/fnc_compileMenu.sqf @@ -26,7 +26,7 @@ if !(isNil {missionNamespace getVariable [_actionsVarName, nil]}) exitWith {}; private "_recurseFnc"; _recurseFnc = { - private ["_actions", "_displayName", "_distance", "_icon", "_statement", "_selection", "_condition", "_showDisabled", "_enableInside", "_canCollapse", "_runOnHover", "_children", "_entry", "_entryCfg", "_insertChildren", "_modifierFunction", "_i"]; + private ["_actions", "_displayName", "_distance", "_icon", "_statement", "_position", "_condition", "_showDisabled", "_enableInside", "_canCollapse", "_runOnHover", "_children", "_entry", "_entryCfg", "_insertChildren", "_modifierFunction", "_i"]; EXPLODE_1_PVT(_this,_actionsCfg); _actions = []; @@ -38,13 +38,18 @@ _recurseFnc = { _icon = getText (_entryCfg >> "icon"); _statement = compile (getText (_entryCfg >> "statement")); - _selection = ""; - if (isArray ( _entryCfg >> "selection" )) then { - _selection = getArray ( _entryCfg >> "selection" ) + // If the position entry is present, compile it + _position = getText (_entryCfg >> "position"); + if (_position != "") then { + _position = compile _position; } else { - _selection = getText (_entryCfg >> "selection"); - if (_selection == "") then { - _selection = [0,0,0]; + // If the not, but the selection entry is present use that + _position = getText (_entryCfg >> "selection"); + if (_position != "") then { + _position = compile format ["_target selectionPosition '%1'", _position]; + } else { + // Otherwise, just use the origin + _position = {[0,0,0]}; }; }; @@ -76,7 +81,7 @@ _recurseFnc = { _condition, _insertChildren, [], - _selection, + _position, _distance, [_showDisabled,_enableInside,_canCollapse,_runOnHover], _modifierFunction @@ -105,7 +110,7 @@ missionNamespace setVariable [_actionsVarName, [_actionsCfg] call _recurseFnc]; { true }, {}, [], - [0,0,0], + {[0,0,0]}, 1, [false,false,false] ], diff --git a/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf b/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf index e4c449ce80..e767c3525d 100644 --- a/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf +++ b/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf @@ -64,7 +64,7 @@ _recurseFnc = { _statement, _condition, _insertChildren, - [], + {}, [0,0,0], 10, //distace [_showDisabled,_enableInside,_canCollapse,_runOnHover], @@ -113,7 +113,7 @@ _actions = [ }, {[ACE_player, _target, ["isNotInside","isNotDragging", "isNotCarrying", "isNotSwimming", "notOnMap", "isNotEscorting", "isNotSurrendering"]] call EFUNC(common,canInteractWith)}, {}, - [], + {}, "Spine3", 10, [false,true,false] diff --git a/addons/interact_menu/functions/fnc_createAction.sqf b/addons/interact_menu/functions/fnc_createAction.sqf index a7d939722e..b26cb186f3 100644 --- a/addons/interact_menu/functions/fnc_createAction.sqf +++ b/addons/interact_menu/functions/fnc_createAction.sqf @@ -11,7 +11,7 @@ * 4: Condition * 5: Insert children code (Optional) * 6: Action parameters (Optional) - * 7: Position (Position or Selection Name) or (Optional) + * 7: Position (Position array, Position code or Selection Name) , or (Optional) * 8: Distance (Optional) * 9: Other parameters (Optional) * 10: Modifier function (Optional) @@ -44,9 +44,19 @@ _customParams = if (count _this > 6) then { }; _position = if (count _this > 7) then { - _this select 7 + if (typeName (_this select 7) == "STRING") then { + // If the action is set to a selection, create the suitable code + compile format ["_target selectionPosition '%1'", _this select 7]; + } else { + if (typeName (_this select 7) == "ARRAY") then { + // If the action is set to a array position, create the suitable code + compile format ["%1", _this select 7]; + } else { + _this select 7 + }; + } } else { - [0,0,0] + {[0,0,0]} }; _distance = if (count _this > 8) then { diff --git a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf index 841303bcdf..4daa4a5c90 100644 --- a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf @@ -24,21 +24,15 @@ EXPLODE_1_PVT(_baseActionNode,_actionData); _distance = _actionData select 8; // Obtain a 3D position for the action -if((count _this) > 2) then { - _pos = _this select 2; +_pos = if((count _this) > 2) then { + _this select 2 } else { - if(typeName (_actionData select 7) == "ARRAY") then { - _pos = _object modelToWorldVisual (_actionData select 7); - } else { - if ((_actionData select 7) == "weapon") then { - // Craft a suitable position for weapon interaction - _weaponDir = _object weaponDirection currentWeapon _object; - _ref = _weaponDir call EFUNC(common,createOrthonormalReference); - _pos = (_object modelToWorldVisual (_object selectionPosition "righthand")) vectorAdd ((_ref select 2) vectorMultiply 0.1); - } else { - _pos = _object modelToWorldVisual (_object selectionPosition (_actionData select 7)); - }; - }; + // Setup scope variables for position code + private ["_target"]; + _target = _object; + + // Get action position + _object modelToWorldVisual (call (_actionData select 7)) }; // For non-self actions, exit if the action is too far away or ocluded diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index 96165d63e3..0a13dc0870 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -166,7 +166,7 @@ class CfgVehicles { }; class ACE_Weapon { displayName = "$STR_ACE_Interaction_Weapon"; - selection = "weapon"; + position = QUOTE(call FUNC(getWeaponPos)); distance = 1.50; condition = ""; statement = ""; diff --git a/addons/interaction/XEH_preInit.sqf b/addons/interaction/XEH_preInit.sqf index 34c225c8f0..c2534b44b9 100644 --- a/addons/interaction/XEH_preInit.sqf +++ b/addons/interaction/XEH_preInit.sqf @@ -16,6 +16,7 @@ PREP(getDoor); PREP(getDoorAnimations); PREP(getDown); PREP(getSelectedButton); +PREP(getWeaponPos); PREP(hideMenu); PREP(hideMouseHint); PREP(isInRange); diff --git a/addons/interaction/functions/fnc_getWeaponPos.sqf b/addons/interaction/functions/fnc_getWeaponPos.sqf new file mode 100644 index 0000000000..477e74f9bf --- /dev/null +++ b/addons/interaction/functions/fnc_getWeaponPos.sqf @@ -0,0 +1,21 @@ +/* + * Author: esteldunedain + * Return a suitable position for the action point for the current weapon + * + * Argument: + * None + * + * Return value: + * Children actions + * + * Public: No + */ +#include "script_component.hpp" +// IGNORE_PRIVATE_WARNING(_target); + +private ["_weaponDir","_refSystem"]; + +_weaponDir = _target weaponDirection currentWeapon _target; +_refSystem = _weaponDir call EFUNC(common,createOrthonormalReference); + +(_target selectionPosition "righthand") vectorAdd ((_refSystem select 2) vectorMultiply 0.1); From a0923aa5c375d02926acf9a6652f3ba9e2c9c0dc Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Fri, 1 May 2015 01:57:37 -0300 Subject: [PATCH 176/478] Tweak the position for rally point actions. Fix #837 --- addons/respawn/CfgVehicles.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index 19efdf7774..ddd8f28405 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -100,7 +100,7 @@ class CfgVehicles { distance = 4; condition = QUOTE(side group _player == west); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_West')] call FUNC(teleportToRallypoint)); - position = "[0,0,-1]"; + position = "[-0.05,-0.35,-2.6]"; showDisabled = 1; priority = 1; }; @@ -120,7 +120,7 @@ class CfgVehicles { distance = 4; condition = QUOTE(side group _player == east); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_East')] call FUNC(teleportToRallypoint)); - position = "[0,0,-1]"; + position = "[-0.05,-0.35,-2.6]"; showDisabled = 1; priority = 1; }; @@ -140,7 +140,7 @@ class CfgVehicles { distance = 4; condition = QUOTE(side group _player == independent); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_Independent')] call FUNC(teleportToRallypoint)); - position = "[0,0,-1]"; + position = "[-0.05,-0.35,-2.6]"; showDisabled = 1; priority = 1; }; @@ -161,7 +161,7 @@ class CfgVehicles { distance = 4; condition = QUOTE(side group _player == west); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_West_Base')] call FUNC(teleportToRallypoint)); - position = "[0,0,-1]"; + position = "[-0.05,-0.35,-2.6]"; showDisabled = 1; priority = 1; }; @@ -181,7 +181,7 @@ class CfgVehicles { distance = 4; condition = QUOTE(side group _player == east); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_East_Base')] call FUNC(teleportToRallypoint)); - position = "[0,0,-1]"; + position = "[-0.05,-0.35,-2.6]"; showDisabled = 1; priority = 1; }; @@ -201,7 +201,7 @@ class CfgVehicles { distance = 4; condition = QUOTE(side group _player == independent); statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_Independent_Base')] call FUNC(teleportToRallypoint)); - position = "[0,0,-1]"; + position = "[-0.05,-0.35,-2.6]"; showDisabled = 1; priority = 1; }; From e8264110bb02c1b910367ed6f52c5e8b257e0114 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 10:12:41 +0200 Subject: [PATCH 177/478] Replaced sleep with waitAndExecute --- addons/explosives/functions/fnc_startDefuse.sqf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/explosives/functions/fnc_startDefuse.sqf b/addons/explosives/functions/fnc_startDefuse.sqf index d3631fdb5f..3d5a620ed2 100644 --- a/addons/explosives/functions/fnc_startDefuse.sqf +++ b/addons/explosives/functions/fnc_startDefuse.sqf @@ -43,15 +43,15 @@ if (ACE_player != _unit) then { if (isPlayer _unit) then { [[_unit, _target], QFUNC(startDefuse), _unit] call EFUNC(common,execRemoteFnc); } else { - // TODO: use scheduled delay execution [_unit, _target, [[_unit] call EFUNC(Common,isEOD), _target] call _fnc_DefuseTime] spawn { (_this select 0) playActionNow _actionToPlay; (_this select 0) disableAI "MOVE"; (_this select 0) disableAI "TARGET"; - sleep (_this select 2); - [(_this select 0), (_this select 1)] call FUNC(defuseExplosive); - (_this select 0) enableAI "MOVE"; - (_this select 0) enableAI "TARGET"; + [{ + [(_this select 0), (_this select 1)] call FUNC(defuseExplosive); + (_this select 0) enableAI "MOVE"; + (_this select 0) enableAI "TARGET"; + }, _this, (_this select 2), 0] call EFUNC(common,waitAndExecute); }; }; } else { From 0f736ae684f2dbf4400068c608bb66fee6cd7ae5 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 1 May 2015 03:13:26 -0500 Subject: [PATCH 178/478] GetDeathAnim --- addons/common/functions/fnc_getDeathAnim.sqf | 65 +++++++++++--------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/addons/common/functions/fnc_getDeathAnim.sqf b/addons/common/functions/fnc_getDeathAnim.sqf index d5185e6562..3f056e9362 100644 --- a/addons/common/functions/fnc_getDeathAnim.sqf +++ b/addons/common/functions/fnc_getDeathAnim.sqf @@ -1,38 +1,45 @@ -/** - * fn_getDeathAnim.sqf - * @Descr: Get the death animation for the unit at current time - * @Author: Glowbal +/* + * Author: Glowbal, PabstMirror + * Get the death animation for the unit at current time * - * @Arguments: [unit OBJECT] - * @Return: STRING animation - * @PublicAPI: true + * Arguments: + * 0: unit + * + * Return Value: + * animation + * + * Example: + * [bob] call ace_common_fnc_getDeathAnim; + * + * Public: No */ #include "script_component.hpp" -private ["_unit", "_curAnim", "_animation", "_cfg","_unitAnimation", "_animationState"]; -_unit = _this select 0; +PARAMS_1(_unit); -if (vehicle _unit != _unit) exitwith { - _animation = ""; - _animationState = (animationState _unit); - _unitAnimation = (configFile >> "CfgMovesMaleSdr" >> "States" >> _animationState); - if (isText (_unitAnimation >> "actions")) then { - if ((vehicle _unit) != _unit) then { - _cfg = (configFile >> "CfgMovesMaleSdr" >> "States" >> _animationState); - if (isArray (_cfg >> "interpolateTo")) then { - _animation = getArray (_cfg >> "interpolateTo") select 0; - }; - } else { - _cfg = (configFile >> "CfgMovesBasic" >> "Actions" >> (getText (_unitAnimation >> "actions")) >> "die"); - if (isText _cfg) then { - _animation = getText _cfg; - }; +private ["_returnAnimation", "_animationState", "_unitAnimationCfg", "_unitActionsCfg", "_interpolateArray", "_indexAnimation", "_index"]; + +_returnAnimation = ""; + +_animationState = (animationState _unit); +_unitAnimationCfg = (configFile >> "CfgMovesMaleSdr" >> "States" >> _animationState); +_unitActionsCfg = (configFile >> "CfgMovesBasic" >> "Actions" >> (getText (_unitAnimationCfg >> "actions"))); + +TRACE_2("Animation/Action", configName _unitAnimationCfg, configName _unitActionsCfg); + +if ((vehicle _unit) != _unit) then { + _interpolateArray = getArray (_unitAnimationCfg >> "interpolateTo"); + for "_index" from 0 to (count _interpolateArray - 1) step 2 do { + _indexAnimation = _interpolateArray select _index; + //No guarentee that first animation will be right so scan for the first scan for the first "terminal" animation + //E.G.: interpolateTo[] = {"passenger_apc_generic04still",1,"KIA_passenger_apc_generic04",1}; + + if ((getNumber ((configFile >> "CfgMovesMaleSdr" >> "States" >> _indexAnimation) >> "terminal")) == 1) exitWith { + _returnAnimation = _indexAnimation; }; }; - if (isnil "_animation") then { - _animation = ""; - }; - _animation; +} else { + _returnAnimation = getText (_unitActionsCfg >> "die"); }; -"Unconscious"; +_returnAnimation From b8599566043d3378a5535b4b886ae308789201b7 Mon Sep 17 00:00:00 2001 From: commy2 Date: Fri, 1 May 2015 10:19:47 +0200 Subject: [PATCH 179/478] rename category ace to ace common --- addons/goggles/XEH_postInit.sqf | 2 +- addons/interact_menu/XEH_clientInit.sqf | 4 ++-- addons/interaction/XEH_postInit.sqf | 6 +++--- addons/nametags/XEH_postInit.sqf | 2 +- addons/weather/XEH_postInit.sqf | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/goggles/XEH_postInit.sqf b/addons/goggles/XEH_postInit.sqf index 4fcf4fc055..a6fe7c415f 100644 --- a/addons/goggles/XEH_postInit.sqf +++ b/addons/goggles/XEH_postInit.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" if (!hasInterface) exitWith {}; -["ACE3", QGVAR(wipeGlasses), localize "STR_ACE_Goggles_WipeGlasses", +["ACE3 Common", QGVAR(wipeGlasses), localize "STR_ACE_Goggles_WipeGlasses", { if (!(GETVAR(ace_player,ACE_isUnconscious,false))) exitWith { call FUNC(clearGlasses); diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index d86ab4bd53..edb25d99bb 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -28,7 +28,7 @@ addMissionEventHandler ["Draw3D", DFUNC(render)]; }; -["ACE3", QGVAR(InteractKey), (localize "STR_ACE_Interact_Menu_InteractKey"), +["ACE3 Common", QGVAR(InteractKey), (localize "STR_ACE_Interact_Menu_InteractKey"), { // Conditions: canInteract if !([ACE_player, objNull, ["isNotInside","isNotDragging", "isNotCarrying", "isNotSwimming", "notOnMap", "isNotEscorting", "isNotSurrendering"]] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -37,7 +37,7 @@ addMissionEventHandler ["Draw3D", DFUNC(render)]; },{[0,false] call FUNC(keyUp)}, [219, [false, false, false]], false] call cba_fnc_addKeybind; //Left Windows Key -["ACE3", QGVAR(SelfInteractKey), (localize "STR_ACE_Interact_Menu_SelfInteractKey"), +["ACE3 Common", QGVAR(SelfInteractKey), (localize "STR_ACE_Interact_Menu_SelfInteractKey"), { // Conditions: canInteract if !([ACE_player, objNull, ["isNotInside","isNotDragging", "isNotCarrying", "isNotSwimming", "notOnMap", "isNotEscorting", "isNotSurrendering"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/interaction/XEH_postInit.sqf b/addons/interaction/XEH_postInit.sqf index 98b1cc1523..6417043df2 100644 --- a/addons/interaction/XEH_postInit.sqf +++ b/addons/interaction/XEH_postInit.sqf @@ -22,7 +22,7 @@ GVAR(isOpeningDoor) = false; // Add keybinds -["ACE3", QGVAR(openDoor), localize "STR_ACE_Interaction_OpenDoor", +["ACE3 Common", QGVAR(openDoor), localize "STR_ACE_Interaction_OpenDoor", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -42,7 +42,7 @@ GVAR(isOpeningDoor) = false; [57, [false, true, false]], false] call cba_fnc_addKeybind; //Key CTRL+Space -["ACE3", QGVAR(tapShoulder), localize "STR_ACE_Interaction_TapShoulder", +["ACE3 Common", QGVAR(tapShoulder), localize "STR_ACE_Interaction_TapShoulder", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -56,7 +56,7 @@ GVAR(isOpeningDoor) = false; {false}, [20, [true, false, false]], false] call cba_fnc_addKeybind; -["ACE3", QGVAR(modifierKey), localize "STR_ACE_Interaction_ModifierKey", +["ACE3 Common", QGVAR(modifierKey), localize "STR_ACE_Interaction_ModifierKey", { // Conditions: canInteract //if !([ACE_player, objNull, ["isNotDragging"]] call EFUNC(common,canInteractWith)) exitWith {false}; // not needed diff --git a/addons/nametags/XEH_postInit.sqf b/addons/nametags/XEH_postInit.sqf index 1df20e45e7..cea2025dcc 100644 --- a/addons/nametags/XEH_postInit.sqf +++ b/addons/nametags/XEH_postInit.sqf @@ -8,7 +8,7 @@ if (!hasInterface) exitWith {}; GVAR(ShowNamesTime) = -10; // Add keybinds -["ACE3", QGVAR(showNameTags), localize "STR_ACE_NameTags_ShowNames", +["ACE3 Common", QGVAR(showNameTags), localize "STR_ACE_NameTags_ShowNames", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/weather/XEH_postInit.sqf b/addons/weather/XEH_postInit.sqf index 1427ff59b1..455c336d96 100644 --- a/addons/weather/XEH_postInit.sqf +++ b/addons/weather/XEH_postInit.sqf @@ -25,7 +25,7 @@ GVAR(rain_period_start_time) = time; }; }; -["ACE3", QGVAR(WindInfoKey), localize "STR_ACE_Weather_WindInfoKey", +["ACE3 Common", QGVAR(WindInfoKey), localize "STR_ACE_Weather_WindInfoKey", { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; From 965e45a53c6010ecacb7676c8123c77377ac9046 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 10:25:33 +0200 Subject: [PATCH 180/478] Takes negative initSpeed values into account --- addons/fcs/functions/fnc_firedEH.sqf | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/addons/fcs/functions/fnc_firedEH.sqf b/addons/fcs/functions/fnc_firedEH.sqf index 698a9bef22..1bdff913d4 100644 --- a/addons/fcs/functions/fnc_firedEH.sqf +++ b/addons/fcs/functions/fnc_firedEH.sqf @@ -44,9 +44,11 @@ _offset = 0; } forEach _FCSMagazines; // Correct velocity for weapons that have initVelocity -// @todo: Take into account negative initVelocities -_velocityCorrection = (vectorMagnitude velocity _projectile) - - getNumber (configFile >> "CfgMagazines" >> _magazine >> "initSpeed"); +_velocityCorrection = if (getNumber(configFile >> "CfgMagazines" >> _weapon >> "initSpeed") > 0) then { + (vectorMagnitude velocity _projectile) - getNumber(configFile >> "CfgMagazines" >> _magazine >> "initSpeed") +} else { + 0 +}; [_projectile, (_vehicle getVariable format ["%1_%2", QGVAR(Azimuth), _turret]), _offset, -_velocityCorrection] call EFUNC(common,changeProjectileDirection); From 2219339e24f4900cd25b16e16ab23a14cc0832a7 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 10:25:59 +0200 Subject: [PATCH 181/478] Fixed a typo --- addons/advanced_ballistics/XEH_postInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index 3f0e101d3b..8efdd6799b 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -24,7 +24,7 @@ GVAR(currentGrid) = 0; GVAR(INIT_MESSAGE_ENABLED) = false; GVAR(extensionAvailable) = true; -/* @TODO: Remove this until verisoning is in sync with cmake/build versioning +/* @TODO: Remove this until versioning is in sync with cmake/build versioning GVAR(extensionVersion) = ("ace_advanced_ballistics" callExtension "version"); GVAR(extensionAvailable) = (GVAR(extensionVersion) == EXTENSION_REQUIRED_VERSION); if (!GVAR(extensionAvailable)) exitWith { From 723ffc21d12088fef82051e8ae74824f2f31b21a Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 10:26:37 +0200 Subject: [PATCH 182/478] Removed unneeded TODO --- addons/advanced_ballistics/functions/fnc_handleFired.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index b6aae2c740..e63b1d7dfc 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -47,7 +47,7 @@ if (GVAR(onlyActiveForLocalPlayers) && !(local _unit)) then { _abort = true; }; }; -//if (!GVAR(vehicleGunnerEnabled) && !(_unit isKindOf "Man")) then { _abort = true; }; // TODO: We currently do not have firedEHs on vehicles +//if (!GVAR(vehicleGunnerEnabled) && !(_unit isKindOf "Man")) then { _abort = true; }; // We currently do not have firedEHs on vehicles if (GVAR(disabledInFullAutoMode) && getNumber(configFile >> "cfgWeapons" >> _weapon >> _mode >> "autoFire") == 1) then { _abort = true; }; if (_abort || !(GVAR(extensionAvailable))) exitWith { From a97c9346883368c8b99418592347133d327991e0 Mon Sep 17 00:00:00 2001 From: commy2 Date: Fri, 1 May 2015 11:01:07 +0200 Subject: [PATCH 183/478] fix ubc, fix #938 --- addons/frag/CfgAmmo.hpp | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index c4841ef96a..ac20dabf5e 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -73,14 +73,6 @@ class CfgAmmo { GVAR(gurney_k) = 1/2; }; - class G_40mm_HEDP: GrenadeBase { - // Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M433 - GVAR(classes)[] = {"ACE_frag_tiny_HD"}; - GVAR(metal) = 200; - GVAR(charge) = 45; - GVAR(gurney_c) = 2830; - GVAR(gurney_k) = 1/2; - }; class G_40mm_HE: GrenadeBase { // Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M441 GVAR(classes)[] = {"ACE_frag_tiny_HD"}; @@ -89,6 +81,14 @@ class CfgAmmo { GVAR(gurney_c) = 2700; GVAR(gurney_k) = 1/2; }; + class G_40mm_HEDP: G_40mm_HE { + // Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M433 + GVAR(classes)[] = {"ACE_frag_tiny_HD"}; + GVAR(metal) = 200; + GVAR(charge) = 45; + GVAR(gurney_c) = 2830; + GVAR(gurney_k) = 1/2; + }; class ACE_G_40mm_HEDP: G_40mm_HEDP { }; @@ -105,7 +105,15 @@ class CfgAmmo { // curator ammo entries class ShellBase; class Sh_125mm_HEAT; - class Sh_82mm_AMOS : ShellBase { + class Sh_155mm_AMOS: ShellBase { + // Source: http://www.globalsecurity.org/military/systems/munitions/m795.htm + GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; + GVAR(metal) = 36000; + GVAR(charge) = 9979; + GVAR(gurney_c) = 2440; + GVAR(gurney_k) = 1/2; + }; + class Sh_82mm_AMOS : Sh_155mm_AMOS { // Source: http://www.arsenal-bg.com/defense_police/mortar_bombs_82mm.htm GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 3200; @@ -141,14 +149,6 @@ class CfgAmmo { GVAR(gurney_c) = 2440; GVAR(gurney_k) = 1/2; }; - class Sh_155mm_AMOS: ShellBase { - // Source: http://www.globalsecurity.org/military/systems/munitions/m795.htm - GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; - GVAR(metal) = 36000; - GVAR(charge) = 9979; - GVAR(gurney_c) = 2440; - GVAR(gurney_k) = 1/2; - }; class ModuleOrdnanceHowitzer_F_ammo: Sh_155mm_AMOS { GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 1950; From 940f8e834980abddc3ef09a244ea34729fbc7d2c Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 11:38:09 +0200 Subject: [PATCH 184/478] Cleanup++: *Removed spawn *Added, moved and renamed some privates --- .../explosives/functions/fnc_startDefuse.sqf | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/addons/explosives/functions/fnc_startDefuse.sqf b/addons/explosives/functions/fnc_startDefuse.sqf index 3d5a620ed2..3ec6a21de6 100644 --- a/addons/explosives/functions/fnc_startDefuse.sqf +++ b/addons/explosives/functions/fnc_startDefuse.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" EXPLODE_2_PVT(_this,_unit,_target); -private["_actionToPlay"]; +private["_actionToPlay", "_defuseTime", "_isEOD"]; _target = attachedTo (_target); @@ -43,23 +43,23 @@ if (ACE_player != _unit) then { if (isPlayer _unit) then { [[_unit, _target], QFUNC(startDefuse), _unit] call EFUNC(common,execRemoteFnc); } else { - [_unit, _target, [[_unit] call EFUNC(Common,isEOD), _target] call _fnc_DefuseTime] spawn { - (_this select 0) playActionNow _actionToPlay; - (_this select 0) disableAI "MOVE"; - (_this select 0) disableAI "TARGET"; - [{ - [(_this select 0), (_this select 1)] call FUNC(defuseExplosive); - (_this select 0) enableAI "MOVE"; - (_this select 0) enableAI "TARGET"; - }, _this, (_this select 2), 0] call EFUNC(common,waitAndExecute); - }; + //[_unit, _target, [[_unit] call EFUNC(Common,isEOD), _target] call _fnc_DefuseTime] spawn { + _unit playActionNow _actionToPlay; + _unit disableAI "MOVE"; + _unit disableAI "TARGET"; + _defuseTime = [[_unit] call EFUNC(Common,isEOD), _target] call _fnc_DefuseTime; + [{ + PARAMS_2(_unit,_target); + [_unit, _target] call FUNC(defuseExplosive); + _unit enableAI "MOVE"; + _unit enableAI "TARGET"; + }, [_unit, _target], _defuseTime, 0] call EFUNC(common,waitAndExecute); }; } else { _unit playActionNow _actionToPlay; - private ["_defuseSeconds", "_isEOD"]; _isEOD = [_unit] call EFUNC(Common,isEOD); - _defuseSeconds = [_isEOD, _target] call _fnc_DefuseTime; + _defuseTime = [_isEOD, _target] call _fnc_DefuseTime; if (_isEOD || {!GVAR(RequireSpecialist)}) then { - [_defuseSeconds, [_unit,_target], {(_this select 0) call FUNC(defuseExplosive)}, {}, (localize "STR_ACE_Explosives_DefusingExplosive")] call EFUNC(common,progressBar); + [_defuseTime, [_unit,_target], {(_this select 0) call FUNC(defuseExplosive)}, {}, (localize "STR_ACE_Explosives_DefusingExplosive")] call EFUNC(common,progressBar); }; }; From 5beca63ae20d15b8b75ceee2b499bc5106f3d39a Mon Sep 17 00:00:00 2001 From: Glowbal Date: Fri, 1 May 2015 11:51:23 +0200 Subject: [PATCH 185/478] Added missing private --- addons/medical/functions/fnc_getBloodLoss.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_getBloodLoss.sqf b/addons/medical/functions/fnc_getBloodLoss.sqf index 0ccbe6c29e..1881643d97 100644 --- a/addons/medical/functions/fnc_getBloodLoss.sqf +++ b/addons/medical/functions/fnc_getBloodLoss.sqf @@ -15,7 +15,7 @@ #define BLOODLOSSRATE_BASIC 0.2 -private ["_totalBloodLoss","_tourniquets","_openWounds", "_cardiacOutput", "_internalWounds"]; +private ["_unit", "_totalBloodLoss","_tourniquets","_openWounds", "_cardiacOutput", "_internalWounds"]; // TODO Only use this calculation if medium or higher, otherwise use vanilla calculations (for basic medical). _unit = _this select 0; From 4c0bed609e2709a8b78f65c51b6e2ce4c9282761 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 11:53:53 +0200 Subject: [PATCH 186/478] Fixed a typo --- addons/fcs/functions/fnc_firedEH.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/fcs/functions/fnc_firedEH.sqf b/addons/fcs/functions/fnc_firedEH.sqf index 1bdff913d4..e8f58298d3 100644 --- a/addons/fcs/functions/fnc_firedEH.sqf +++ b/addons/fcs/functions/fnc_firedEH.sqf @@ -44,7 +44,7 @@ _offset = 0; } forEach _FCSMagazines; // Correct velocity for weapons that have initVelocity -_velocityCorrection = if (getNumber(configFile >> "CfgMagazines" >> _weapon >> "initSpeed") > 0) then { +_velocityCorrection = if (getNumber(configFile >> "CfgWeapons" >> _weapon >> "initSpeed") > 0) then { (vectorMagnitude velocity _projectile) - getNumber(configFile >> "CfgMagazines" >> _magazine >> "initSpeed") } else { 0 From aa2e5077e49fdfcfdd211041a1da348df8109b3c Mon Sep 17 00:00:00 2001 From: bux578 Date: Fri, 1 May 2015 12:17:28 +0200 Subject: [PATCH 187/478] missing german translation --- addons/interact_menu/stringtable.xml | 12 +++++++++--- addons/medical/stringtable.xml | 12 ++++++++++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index d694ecceb1..4191c9b666 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -115,11 +115,13 @@ Keep cursor centered Garder le curseur au centre Центрировать курсор + Cursor zentriert halten - Keeps cursor centered and pans the option menu around. Useful if screen size is limited. + Keeps cursor centered and pans the option menu around. Useful if screen size is limited. Garde le curseur au milieu et dispose le menu des options autour. Utile si la taille de l'écran est limitée. Центрирует курсор и двигает само меню опций. Полезно при ограниченном размере экрана. + Hält den Cursor zentriert und verschiebt das Menü beim Bewegen. Nützlich, wenn bei kleinen Bildschirmen. Do action when releasing menu key @@ -127,15 +129,19 @@ Interaction Text Size + Menü-Schriftgröße Interaction Text Shadow + Menü-Hintergrundschatten - Allows controlling the text's shadow. Outline ignores custom shadow colors. + Allows controlling the text's shadow. Outline ignores custom shadow colors. + Stellt den Hintergrundschatten ein. Die Einstellung 'Kontur' ignoriert die Farbe des Schattens. Outline + Kontur - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index c164b37bf1..681c4ebe04 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -24,6 +24,7 @@ Количество мусора от медицины Dettagli Simulazione Rifiuti Niveau de simulation des détritus + Abfall-Detaillevel Litter simulation detail level sets the number of litter items which will be locally spawned in the client. Excessive amounts in local areas could cause FPS lag, so this is a client only setting. @@ -32,6 +33,7 @@ Устанавливает количество мусора, который появляется после использования мед. препаратов. Большое количество мусора может уменьшить производительность, поэтому данная настройка локальна для клиента. Il livello di dettagli della simulazione dei rifiuti indica il numero di rifiuti che verranno creati localmente nel client. La creazione di troppi rifiuti in aree locali potrebbe causare lag e calo di FPS. Questo è un settaggio client. Le nieau de simulation des détritus règle la quantité de déchets qui vont être créer localement dans le client. Des quantitées excessive dans certaines zones locales aurait pu causer des chutes D'IPS, donc c'est une option client uniquement. + Die Einstellung für das Abfalldetaillevel stellt die Menge der lokal erzeugten medizinischen Abfälle ein. Zuviel erzeugte Abfälle können FPS-Lags erzeugen, deswegen ist diese Einstellung nur clientseitig. Inject Atropine @@ -1622,6 +1624,7 @@ He's lost a lot of blood + Er hat viel Blut verloren He hasn't lost blood @@ -1993,15 +1996,19 @@ Style of menu (Medical) + Menü-Stil (Medical) Select the type of menu you prefer; default 3d selections or radial. + Wähle den Menü-Stil: Standard 3D-Selektion oder kreisförmig. Selections (3d) + 3D-Selektion Radial + Kreisförmig Scrape @@ -2268,7 +2275,8 @@ Femur Cassé - Treating... + Treating ... + Behandlen ... - + \ No newline at end of file From e9a86da8e087d037c490ab6db2a78f9e00040089 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Fri, 1 May 2015 12:18:21 +0200 Subject: [PATCH 188/478] Should be in same order as the module --- addons/medical/ACE_Settings.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index 0389c3eba4..a3e6c60167 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -57,7 +57,7 @@ class ACE_Settings { class GVAR(enableUnconsiousnessAI) { value = 1; typeName = "SCALAR"; - values[] = {"Disabled", "Enabled", "50/50"}; + values[] = {"Disabled", "50/50", "Enabled"}; }; class GVAR(preventInstaDeath) { typeName = "BOOL"; From 2acc10ba7053a1cbd2fe9f144af090e95b883a52 Mon Sep 17 00:00:00 2001 From: bux578 Date: Fri, 1 May 2015 12:19:42 +0200 Subject: [PATCH 189/478] meh --- addons/interact_menu/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 4191c9b666..916d76b781 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -121,7 +121,7 @@ Keeps cursor centered and pans the option menu around. Useful if screen size is limited. Garde le curseur au milieu et dispose le menu des options autour. Utile si la taille de l'écran est limitée. Центрирует курсор и двигает само меню опций. Полезно при ограниченном размере экрана. - Hält den Cursor zentriert und verschiebt das Menü beim Bewegen. Nützlich, wenn bei kleinen Bildschirmen. + Hält den Cursor zentriert und verschiebt das Menü beim Bewegen. Nützlich bei kleinen Bildschirmen. Do action when releasing menu key From a6f4c68ef437085c95eb88844dab5f66906840f5 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 13:50:01 +0200 Subject: [PATCH 190/478] Removed obsolete comment --- addons/explosives/functions/fnc_startDefuse.sqf | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/explosives/functions/fnc_startDefuse.sqf b/addons/explosives/functions/fnc_startDefuse.sqf index 3ec6a21de6..11ca95f894 100644 --- a/addons/explosives/functions/fnc_startDefuse.sqf +++ b/addons/explosives/functions/fnc_startDefuse.sqf @@ -43,7 +43,6 @@ if (ACE_player != _unit) then { if (isPlayer _unit) then { [[_unit, _target], QFUNC(startDefuse), _unit] call EFUNC(common,execRemoteFnc); } else { - //[_unit, _target, [[_unit] call EFUNC(Common,isEOD), _target] call _fnc_DefuseTime] spawn { _unit playActionNow _actionToPlay; _unit disableAI "MOVE"; _unit disableAI "TARGET"; From 53be70f66145528460a60f5f8df445e7380e5203 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Fri, 1 May 2015 14:07:08 +0200 Subject: [PATCH 191/478] French : update stringtable --- addons/atragmx/stringtable.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index cd5eff1181..1351c1b8b5 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -28,7 +28,7 @@ Защищенный КПК с ATragMX PDA rugerizada con ATragMX Robuster PDA mit ATragMX - PDA robuste avec ATragMX + PDA avec ATragMX PDA Robusto con ATragMX @@ -41,4 +41,4 @@ Apri ATragMX - \ No newline at end of file + From 820c841b35eb3ac35b847802d064d051bb6c02c1 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Fri, 1 May 2015 14:12:10 +0200 Subject: [PATCH 192/478] Update stringtable.xml --- addons/ballistics/stringtable.xml | 62 +++++++++++++++---------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index eea2f0cb9e..47509b5632 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -455,7 +455,7 @@ 9.3mm 10Rnd Tracer Mag 9,3mm 10-Patronen-Magazin Leuchtspur Magazynek 9.3mm 10rd Smugacz - Chargeur 9.3mm 10Cps Traçante + Ch. 9.3mm 10Cps Traçante Cargador de 10 balas trazadoras de 9.3mm Магазин из 10-ти 9,3 мм трассирующих 9.3mm 10Rnd Tracer Mag @@ -483,7 +483,7 @@ 9.3mm 10Rnd Tracer IR-DIM Mag 9,3mm 10-Patronen-Magazin Leuchtspur IR-DIM Magazynek 9,3mm 10rd Smugacz IR-DIM - Chargeur 9.3mm 10Cps Traçante IR-DIM + Ch. 9.3mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 9.3mm Магазин из 10-ти 9,3 мм ИК-трассирующих 9.3mm 10Rnd Tracciante IR-DIM Mag @@ -595,7 +595,7 @@ 9x19mm 16Rnd Mag Magazynek 9x19mm 16rd - Chargeur 9x19mm 16Cps + Ch. 9x19mm 16Cps Cargador de 16 balas de 9x19mm Магазин из 16-ти 9х19 мм 9x19mm 20-Patronen-Magazin @@ -613,7 +613,7 @@ 9x19mm 30Rnd Mag Magazynek 9x19mm 16rd - Chargeur 9x19mm 30Cps + Ch. 9x19mm 30Cps Cargador de 16 balas de 9x19mm Магазин из 16-ти 9х19 мм 9x19mm 30-Patronen-Magazin @@ -622,7 +622,7 @@ 9x19mm 30Rnd Mag Magazynek 9x19mm 30rd - Chargeur 9x19mm 30Cps + Ch. 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм 9x19mm 30-Patronen-Magazin @@ -640,7 +640,7 @@ 9x19mm 30Rnd Mag Magazynek 9x19mm 30rd - Chargeur 9x19mm 30Cps + Ch. 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм 9x19mm 30-Patronen-Magazin @@ -649,7 +649,7 @@ 7.62x54mm 10Rnd Tracer Mag Magazynek 7,62x54mm 10rd Smugacz - Chargeur 7.62x54mm 10Rnd Traçante + Ch. 7.62x54mm 10Rnd Traçante Cargador de 10 balas trazadoras de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих 7,62x54mm 10-Patronen-Magazin Leuchtspur @@ -667,7 +667,7 @@ 7.62x54mm 10Rnd Tracer Mag Magazynek 7,62x54mm 10rd Smugacz - Chargeur 7.62x54mm 10Cps Traçante + Ch. 7.62x54mm 10Cps Traçante Cargador de 10 balas trazadoras de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих 7,62x54mm 10-Patronen-Magazin Leuchtspur @@ -676,7 +676,7 @@ 6.5mm 100Rnd Tracer IR-DIM Mag Magazynek 6,5mm 100rd Smugacz IR-DIM - Chargeur 6.5mm 100Rnd Traçante IR-DIM + Ch. 6.5mm 100Rnd Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur @@ -694,7 +694,7 @@ 6.5mm 100Rnd Tracer IR-DIM Mag<br />Rounds: 100<br />Used in: MX LSW Magazynek 6,5mm 100rd Smugacz IR-DIM - Chargeur 6.5mm 100Rnd Traçante IR-DIM<br />Cartouches: 100<br />Utilisé avec: MX LSW + Ch. 6.5mm 100Rnd Traçante IR-DIM<br />Cartouches: 100<br />Utilisé avec: MX LSW Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur<br />Patronen: 100<br />Eingesetzt von: MXLSW @@ -757,7 +757,7 @@ 5.56mm 30Rnd Mag (Mk318) Magazynek 5,56mm 30rd (Mk318) - Chargeur 5.56mm 30Cps (Mk318) + Ch. 5.56mm 30Cps (Mk318) Cargador de 30 balas de 5.56mm (Mk318) Магазин из 30-ти 5.56 мм (Mk318) 5,56mm 30-Patronen-Magazin (Mk318) @@ -784,7 +784,7 @@ 5.56mm 30Rnd Mag (M995 AP) Magazynek 5,56mm 30rd (M995 AP) - Chargeur 5.56mm 30Cps (M995 AP) + Ch. 5.56mm 30Cps (M995 AP) Cargador de 30 balas de 5.56mm (M995 AP) Магазин из 30-ти 5.56 мм (M995 бронебойные) 5,56mm 30-Patronen-Magazin (M995AP) @@ -811,7 +811,7 @@ 7.62mm 10Rnd Mag (M118LR) Magazynek 7,62mm 10rd (M118LR) - Chargeur 7.62mm 10Cps (M118LR) + Ch. 7.62mm 10Cps (M118LR) Cargador de 10 balas de 7.62mm (M118LR) Магазин из 10-ти 7,62 мм (M118LR) 7,62mm 10-Patronen-Magazin (M118LR) @@ -838,7 +838,7 @@ 7.62mm 20Rnd Mag (M118LR) Magazynek 7,62mm 20rd (M118LR) - Chargeur 7.62mm 20Cps (M118LR) + Ch. 7.62mm 20Cps (M118LR) Cargador de 20 balas de 7.62mm (M118LR) Магазин из 20-ти 7,62 мм (M118LR) 7,62mm 20-Patronen-Magazin (M118LR) @@ -865,7 +865,7 @@ 7.62mm 10Rnd Mag (Mk316 Mod 0) Magazynek 7,62mm 10rd (Mk316 Mod 0) - Chargeur 7.62mm 10Cps (Mk316 Mod 0) + Ch. 7.62mm 10Cps (Mk316 Mod 0) Cargador de 10 balas de 7.62mm (Mk316 Mod 0) Магазин из 10-ти 7,62 мм (Mk316 Mod 0) 7,62mm 10-Patronen-Magazin (Mk316 Mod 0) @@ -892,7 +892,7 @@ 7.62mm 20Rnd Mag (Mk316 Mod 0) Magazynek 7,62mm 20rd (Mk316 Mod 0) - Chargeur 7.62mm 20Cps (Mk316 Mod 0) + Ch. 7.62mm 20Cps (Mk316 Mod 0) Cargador de 20 balas de 7.62mm (Mk316 Mod 0) Магазин из 20-ти 7,62 мм (Mk316 Mod 0) 7,62mm 20-Patronen-Magazin (Mk316 Mod 0) @@ -919,7 +919,7 @@ 7.62mm 10Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 10rd (Mk319 Mod 0) - Chargeur 7.62mm 10Cps (Mk319 Mod 0) + Ch. 7.62mm 10Cps (Mk319 Mod 0) Cargador de 10 balas de 7.62mm (Mk319 Mod 0) Магазин из 10-ти 7,62 мм (Mk319 Mod 0) 7,62mm 10-Patronen-Magazin (Mk319 Mod 0) @@ -946,7 +946,7 @@ 7.62mm 20Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 20rd (Mk319 Mod 0) - Chargeur 7.62mm 20Cps (Mk319 Mod 0) + Ch. 7.62mm 20Cps (Mk319 Mod 0) Cargador de 20 balas de 7.62mm (Mk319 Mod 0) Магазин из 20-ти 7,62 мм (Mk319 Mod 0) 7,62mm 20-Patronen-Magazin (Mk319 Mod 0) @@ -973,7 +973,7 @@ 7.62mm 10Rnd Mag (M993 AP) Magazynek 7,62mm 10rd (M993 AP) - Chargeur 7.62mm 10Cps (M993 AP) + Ch. 7.62mm 10Cps (M993 AP) Cargador de 10 balas de 7.62mm (M993 AP) Магазин из 10-ти 7,62 мм (M993 бронебойные) 7,62mm 10-Patronen-Magazin (M993 AP) @@ -1000,7 +1000,7 @@ 7.62mm 20Rnd Mag (M993 AP) Magazynek 7,62mm 20rd (M993 AP) - Chargeur 7.62mm 20Cps (M993 AP) + Ch. 7.62mm 20Cps (M993 AP) Cargador de 20 balas de 7.62mm (M993 AP) Магазин из 20-ти 7,62 мм (M993 бронебойные) 7,62mm 20-Patronen-Magazin (M993 AP) @@ -1027,7 +1027,7 @@ 7.62mm 20Rnd Mag (Mk248 Mod 0) Magazynek 7,62mm 20rd (Mk248 Mod 0) - Chargeur 7.62mm 20Cps (Mk248 Mod 0) + Ch. 7.62mm 20Cps (Mk248 Mod 0) Cargador de 20 balas de 7.62mm (Mk248 Mod 0) Магазин из 20-ти 7,62 мм (Mk248 Mod 0) 7,62mm 20-Patronen-Magazin (Mk248 Mod 0) @@ -1054,7 +1054,7 @@ 7.62mm 20Rnd Mag (Mk248 Mod 1) Magazynek 7,62mm 20rd (Mk248 Mod 1) - Chargeur 7.62mm 20Cps (Mk248 Mod 1) + Ch. 7.62mm 20Cps (Mk248 Mod 1) Cargador de 20 balas de 7.62mm (Mk248 Mod 1) Магазин из 20-ти 7,62 мм (Mk248 Mod 1) 7,62mm 20-Patronen-Magazin (Mk248 Mod 1) @@ -1081,7 +1081,7 @@ 7.62mm 20Rnd Mag (Berger Hybrid OTM) Magazynek 7,62mm 20rd (Berger Hybrid OTM) - Chargeur 7.62 20Cps (Berger Hybrid OTM) + Ch. 7.62 20Cps (Berger Hybrid OTM) Cargador de 20 balas de 7.62mm (Berger Hybrid OTM) Магазин из 20-ти 7,62 мм (Berger Hybrid OTM) 7,62mm 20-Patronen-Magazin (Berger Hybrid OTM) @@ -1107,7 +1107,7 @@ 6.5x47mm 30Rnd Mag (HPBT Scenar) - Chargeur 6.5x47mm 30Cps (HPBT Scenar) + Ch. 6.5x47mm 30Cps (HPBT Scenar) Cargador de 30 balas de 6.5x47mm (HPBT Scenar) Magazynek 6,5x47mm 30rd (HPBT Scenar) Магазин из 30-ти 6,5x47 мм (экспансивные Scenar) @@ -1138,7 +1138,7 @@ 6.5mm Creedmor 30Rnd Mag Магазин из 30-ти 6,5 мм Creedmor 6,5mm Creedmor 30-Patronen-Magazin - Chargeur 6.5mm Creedmor 30Cps + Ch. 6.5mm Creedmor 30Cps 6.5mm CM @@ -1158,7 +1158,7 @@ .338 10Rnd Mag (300gr Sierra MatchKing HPBT) - Chargeur .338 10 Cps (300gr Sierra MatchKing HPBT) + Ch. .338 10 Cps (300gr Sierra MatchKing HPBT) Cargador de 10 balas de 8.6x70mm (300gr Sierra MatchKing HPBT) Magazynek .338 10rd (300gr Sierra MatchKing HPBT) Магазин из 10-ти .338 (300 гран Sierra MatchKing экспансивные) @@ -1185,7 +1185,7 @@ .338 10Rnd Mag (API526) - Chargeur .338 10Cps (API526) + Ch. .338 10Cps (API526) Cargador de 10 balas de .338 (API526) Magazynek .338 10rd (API526) Магазин из 10-ти .338 (API526) @@ -1212,7 +1212,7 @@ 12.7x99mm 5Rnd Mag - Chargeur 12.7x99mm 5Cps + Ch. 12.7x99mm 5Cps Cargador de 5 balas de 12.7x99mm Magazynek 12,7x99mm 5rd Магазин из 5-ти 12,7x99 мм @@ -1239,7 +1239,7 @@ 12.7x99mm API 5Rnd Mag - Chargeur 12.7x99mm API 5Cps + Ch. 12.7x99mm API 5Cps Cargador de 5 balas de 12.7x99mm API Magazynek 12,7x99mm API 5rd 12.7x99mm API 5Rnd Mag @@ -1266,7 +1266,7 @@ 12.7x99mm 5Rnd Mag (AMAX) - Chargeur 12.7x99mm 5Rnd Mag (AMAX) + Ch. 12.7x99mm 5Cps (AMAX) Cargador de 5 balas de 12.7x99mm (AMAX) Magazynek 12,7x99mm 5rd (AMAX) Магазин из 5-ти 12,7x99 мм (A-MAX) @@ -1292,4 +1292,4 @@ Kaliber:12,7x99mm (AMAX)<br />Patronen: 5 - \ No newline at end of file + From 371aa381ecbe0c27fabad7b5b12a8ff521c51ed0 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Fri, 1 May 2015 14:12:45 +0200 Subject: [PATCH 193/478] Update stringtable.xml --- addons/explosives/stringtable.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 1fbc728cb1..f200e29dc8 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -138,7 +138,7 @@ M57 Zündvorrichtung Dispositivo de detonación M57 Zapalnik M57 - M57 Dispositif de mise à feu + Dispositif de mise à feu M57 Odpalovací zařízení M57 Detonatore M57 M57 Gyújtóeszköz @@ -162,7 +162,7 @@ M26 Zündvorrichtung Dispositivo de detonación MK26 Zapalnik M26 - M26 Dispositif de mise à feu + Dispositif de mise à feu M26 Odpalovací zařízení M26 Detonatore M26 M26 Gyújtóeszköz @@ -282,7 +282,7 @@ "Zünden"-Menü Menú de detonación Menu detonacji - Menu de mise à feu + Menu de mise à feux Menu Detonace Menù di detonazione Robbantási menü @@ -294,7 +294,7 @@ "Platzieren"-Menü Menú de colocación Menu umieszczania - Menu placement + Menu de placement Menu Umístění Menù di collocamento Elhelyezési menü From 7a397459ae6f8edaed1eff1d4ccb672cd93dac60 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Fri, 1 May 2015 14:13:08 +0200 Subject: [PATCH 194/478] Update stringtable.xml --- addons/disposable/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index d80ac58885..2e6f204b6c 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -28,7 +28,7 @@ Preloaded Missile Dummy Vorgeladene Racketennachbildung - Missile préchargé Dummy + Missile préchargé Přednabitá dummy střela Wstępnie załadowana atrapa pocisku Preloaded Missile Dummy From acf74dd2ae62fae002c88a5c3b7dadfe4bbff5dd Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Fri, 1 May 2015 14:13:32 +0200 Subject: [PATCH 195/478] Update stringtable.xml --- addons/interact_menu/stringtable.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index d694ecceb1..60fcf4a18e 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -124,18 +124,23 @@ Do action when releasing menu key Aktion nach Loslassen der Taste ausführen + Action au relachement de touche Interaction Text Size + Taille du texte d'interaction Interaction Text Shadow + Ombre du texte d'interaction Allows controlling the text's shadow. Outline ignores custom shadow colors. + Permet de controler l'ombre du texte. Le contour ne prend pas en compte la couleur des ombres. Outline + Contour From 80ae016021903eaf3da08a44c3741a3cd3bc2f4a Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Fri, 1 May 2015 14:19:15 +0200 Subject: [PATCH 196/478] Update stringtable.xml --- addons/medical/stringtable.xml | 62 ++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index c164b37bf1..21bc537f22 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -14,7 +14,7 @@ Körperteil nicht verletzt ... Non ci sono lesioni in questa parte del corpo ... Данная часть тела не повреждена ... - Aucune blessures sur cette partie du corps + Aucune blessures sur cette partie du corps ... Brak obrażeń na tej części ciała ... @@ -31,7 +31,7 @@ Detalle simulación de basura establece el número de artículos de basura que se generan a nivel local en el cliente. Las cantidades excesivas en áreas locales podrían causar caída de rendimiento, así que esto es un ajuste de cliente únicamente. Устанавливает количество мусора, который появляется после использования мед. препаратов. Большое количество мусора может уменьшить производительность, поэтому данная настройка локальна для клиента. Il livello di dettagli della simulazione dei rifiuti indica il numero di rifiuti che verranno creati localmente nel client. La creazione di troppi rifiuti in aree locali potrebbe causare lag e calo di FPS. Questo è un settaggio client. - Le nieau de simulation des détritus règle la quantité de déchets qui vont être créer localement dans le client. Des quantitées excessive dans certaines zones locales aurait pu causer des chutes D'IPS, donc c'est une option client uniquement. + Le niveau de simulation des détritus règle la quantité de déchets qui vont être créés localement chez le client. Des quantitées excessive chez certains clients peuvent causer des chutes de FPS, c'est donc une option client uniquement. Inject Atropine @@ -1993,15 +1993,19 @@ Style of menu (Medical) + Style de menu (Médical) Select the type of menu you prefer; default 3d selections or radial. + Selctionne le type de menu préféré; par défaut la sélection 3D ou radiale Selections (3d) + sélections (3D) Radial + Radiale Scrape @@ -2016,7 +2020,7 @@ Kleiner Kratzer Minima Scorticatura Малая ссадина - Eraflure Mineure + Petite éraflure Pomniejsze draśnięcie @@ -2024,7 +2028,7 @@ Mittlerer Kratzer Media Scorticatura Средняя ссадина - Moyenne Eraflure + Moyenne éraflure Średnie draśnięcie @@ -2032,7 +2036,7 @@ Großer Kratzer Alta Scorticatura Большая ссадина - Large Eraflure + Grande éraflure Duże draśnięcie @@ -2048,7 +2052,7 @@ Kleine Avulsion Minima Avulsione Малая рваная рана - Avulsion Mineure + Petite avulsion Pomniejsza rana płatowa @@ -2056,7 +2060,7 @@ Mittlere Avulsion Media Avulsione Средняя рваная рана - Avulsion Moyenne + Moyenne avulsion Średnia rana płatowa @@ -2064,7 +2068,7 @@ Große Avulsion Alta Avulsione Большая рваная рана - Large Avulsion + Grande avulsion Duża rana płatowa @@ -2080,7 +2084,7 @@ Kleine Prellung Minima Contusione Малый ушиб - Hématome Mineur + Petit hématome Pomniejsze stłuczenie @@ -2088,7 +2092,7 @@ Mittlere Prellung Media Contusione Средний ушиб - Hématome Moyen + Hématome moyen Średnie stłuczenie @@ -2096,7 +2100,7 @@ Große Prellung Alta Contusione Большой ушиб - Large Hématome + Hématome important Duże stłuczenie @@ -2112,7 +2116,7 @@ Kleine Quetschverletzung Minimo Tessuto Schiacciato Малая компрессионная травма - Tissu écrasé Mineur + Tissu écrasé léger Pomniejsze zgniecienie tkanek miękkich @@ -2120,7 +2124,7 @@ Mittlere Quetschverletzung Medio Tessuto Schiacciato Средняя компрессионная травма - Tissu écrasé Moyen + Tissu écrasé moyen Średnie zgniecienie tkanek miękkich @@ -2128,7 +2132,7 @@ Große Quetschverletzung Alto Tessuto Schiacciato Большая компрессионная травма - Tissu écrasé Large + Tissu écrasé large Duże zgniecienie tkanek miękkich @@ -2145,7 +2149,7 @@ Piccolo Taglio Малая резаная рана Pomniejsza rana cięta - Petite Coupure + Petite coupure Medium Cut @@ -2153,7 +2157,7 @@ Medio Taglio Средняя резаная рана Średnia rana cięta - Moyenne Coupure + Moyenne coupure Large Cut @@ -2161,7 +2165,7 @@ Grande Taglio Большая резаная рана Duża rana cięta - Large Coupure + Large coupure Tear @@ -2185,7 +2189,7 @@ Medio Strappo Средняя рваная рана Średnie rozerwanie skóry - Moyenne Déchirure + Moyenne déchirure Large Tear @@ -2193,7 +2197,7 @@ Grande Strappo Большая рваная рана Duże rozerwanie skóry - Large Déchirure + Large déchirure Velocity Wound @@ -2209,7 +2213,7 @@ Lenta Velocità Ferita Малая огнестрельная рана Pomniejsza rana postrzałowa - Petite Bessure de vélocité + Petite blessure de vélocité Medium Velocity Wound @@ -2217,7 +2221,7 @@ Media Velocità Ferita Средняя огнестрельная рана Średnia rana postrzałowa - Moyenne Blessure de vélocité + Moyenne blessure de vélocité Large Velocity Wound @@ -2225,7 +2229,7 @@ Alta Velocità Ferita Большая огнестрельная рана Duża rana postrzałowa - Large Blessure de vélocité + Large blessure de vélocité Puncture Wound @@ -2241,7 +2245,7 @@ Piccola Puntura Ferita Малая колотая рана Pomniejsza rana kłuta - Blessure de perforation Mineure + Légère blessure de perforation Medium Puncture Wound @@ -2249,7 +2253,7 @@ Media Puntura Ferita Средняя колотая рана Średnia rana kłuta - Blessure de perforation Moyenne + Moyenne blessure de perforation Large Puncture Wound @@ -2257,7 +2261,7 @@ Grande Puntura Ferita Большая колотая рана Duża rana kłuta - Large Blessure de perforation + Large blessure de perforation Broken Femur @@ -2265,10 +2269,10 @@ Femore Rotto Перелом Zkłamana kość udowa - Femur Cassé + Fémur cassé - Treating... + Treating ... + Traitement ... - From bfb68fe36827eb74ec0bf04f6cbb31d87ff23bbd Mon Sep 17 00:00:00 2001 From: bux578 Date: Fri, 1 May 2015 14:19:30 +0200 Subject: [PATCH 197/478] fix spelling errors --- addons/medical/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 681c4ebe04..1553a16e7a 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -33,7 +33,7 @@ Устанавливает количество мусора, который появляется после использования мед. препаратов. Большое количество мусора может уменьшить производительность, поэтому данная настройка локальна для клиента. Il livello di dettagli della simulazione dei rifiuti indica il numero di rifiuti che verranno creati localmente nel client. La creazione di troppi rifiuti in aree locali potrebbe causare lag e calo di FPS. Questo è un settaggio client. Le nieau de simulation des détritus règle la quantité de déchets qui vont être créer localement dans le client. Des quantitées excessive dans certaines zones locales aurait pu causer des chutes D'IPS, donc c'est une option client uniquement. - Die Einstellung für das Abfalldetaillevel stellt die Menge der lokal erzeugten medizinischen Abfälle ein. Zuviel erzeugte Abfälle können FPS-Lags erzeugen, deswegen ist diese Einstellung nur clientseitig. + Die Einstellung für das Abfall-Detaillevel stellt die Menge der lokal erzeugten medizinischen Abfälle ein. Zuviel erzeugte Abfälle können FPS-Lags erzeugen, deswegen ist diese Einstellung nur clientseitig. Inject Atropine @@ -2276,7 +2276,7 @@ Treating ... - Behandlen ... + Behandeln ... \ No newline at end of file From 79ac41bd9589a4bda65c7b1e1841651439f8ea37 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Fri, 1 May 2015 14:19:43 +0200 Subject: [PATCH 198/478] Update stringtable.xml --- addons/mk6mortar/stringtable.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index fe08d320e5..2907bba751 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -1,11 +1,11 @@ - + 82mm Rangetable 82mm Distanztabelle Tabela strzelnicza 82mm - table de tir 82mm + Table de tir 82mm 82 мм Таблица дальностей и прицелов @@ -19,7 +19,7 @@ Open 82mm Rangetable Öffne 82mm Distanztabelle Otwórz tabelę strzelniczą 82mm - ouvrir la table de tir 82mm + Ouvrir la table de tir 82mm Открыть 82 мм Таблицу дальностей и прицелов From 518614ec0b67e009bb803d0c7e2b6a8bff313535 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Fri, 1 May 2015 14:20:03 +0200 Subject: [PATCH 199/478] Update stringtable.xml --- addons/reload/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index 1bad20f53a..0071c3c619 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -63,7 +63,7 @@ Linking belt... - Attache d'une bande + Attache d'une bande... Enlazando cinta... Сцепка лент ... Spojuji pás... From 68d62b00059bff4b7a01f48f07573cbeafca0997 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Fri, 1 May 2015 14:20:21 +0200 Subject: [PATCH 200/478] Update stringtable.xml --- addons/reloadlaunchers/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml index acb16bc92c..2585358591 100644 --- a/addons/reloadlaunchers/stringtable.xml +++ b/addons/reloadlaunchers/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -15,7 +15,7 @@ Loading launcher ... - Chargement du lanceur + Chargement du lanceur ... Panzerabwehr wird geladen ... Cargando lanzador ... Зарядка ПУ ... From b255d1040b6d6e8efd97e4dbc7f2917b8e49421f Mon Sep 17 00:00:00 2001 From: commy2 Date: Fri, 1 May 2015 15:30:11 +0200 Subject: [PATCH 201/478] scope 1 for ACE_Comanche_Test, #943 --- addons/missileguidance/CfgVehicles.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/missileguidance/CfgVehicles.hpp b/addons/missileguidance/CfgVehicles.hpp index 301795b8d7..0d9ef54d07 100644 --- a/addons/missileguidance/CfgVehicles.hpp +++ b/addons/missileguidance/CfgVehicles.hpp @@ -19,6 +19,7 @@ class CfgVehicles { }; class ACE_Comanche_Test : B_Heli_Attack_01_F { + scope = 1; displayName = "ACE_Comanche_Test"; author = "ACE Team"; class Library { From cde80b29015f24469f0a84201b2e60ed56c9deae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Badano?= Date: Fri, 1 May 2015 10:38:41 -0300 Subject: [PATCH 202/478] Revert "Takes negative initSpeed values into account" --- addons/fcs/functions/fnc_firedEH.sqf | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/addons/fcs/functions/fnc_firedEH.sqf b/addons/fcs/functions/fnc_firedEH.sqf index e8f58298d3..698a9bef22 100644 --- a/addons/fcs/functions/fnc_firedEH.sqf +++ b/addons/fcs/functions/fnc_firedEH.sqf @@ -44,11 +44,9 @@ _offset = 0; } forEach _FCSMagazines; // Correct velocity for weapons that have initVelocity -_velocityCorrection = if (getNumber(configFile >> "CfgWeapons" >> _weapon >> "initSpeed") > 0) then { - (vectorMagnitude velocity _projectile) - getNumber(configFile >> "CfgMagazines" >> _magazine >> "initSpeed") -} else { - 0 -}; +// @todo: Take into account negative initVelocities +_velocityCorrection = (vectorMagnitude velocity _projectile) - + getNumber (configFile >> "CfgMagazines" >> _magazine >> "initSpeed"); [_projectile, (_vehicle getVariable format ["%1_%2", QGVAR(Azimuth), _turret]), _offset, -_velocityCorrection] call EFUNC(common,changeProjectileDirection); From 9997b6d46439f2bfc21837461a4d300de1439a41 Mon Sep 17 00:00:00 2001 From: jaynus Date: Fri, 1 May 2015 06:57:49 -0700 Subject: [PATCH 203/478] action is select 1 --- addons/javelin/functions/fnc_onOpticDraw.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index 134260c064..86e59bf692 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -134,7 +134,7 @@ FUNC(disableFire) = { if(_firedEH < 0 && difficulty > 0) then { _firedEH = [ACE_player, "DefaultAction", {true}, { - _canFire = _this getVariable["ace_missileguidance_target", nil]; + _canFire = (_this select 1) getVariable["ace_missileguidance_target", nil]; if(!isNil "_canFire") exitWith { false }; true }] call EFUNC(common,addActionEventHandler); From 3ad668605a503dbd7db4eea1e9e371eed0f5f671 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 16:02:34 +0200 Subject: [PATCH 204/478] Fix for last fcs change --- addons/fcs/functions/fnc_keyUp.sqf | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index 433053178b..4dd6f6c7d6 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -82,6 +82,11 @@ if (time - GVAR(time) > 1 and GVAR(time) != -1 and count _this < 3) then { _timeToLive = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "timeToLive"); _simulationStep = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "simulationStep"); + _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> (_vehicle currentWeaponTurret _turret) >> "initSpeed"); + if (_initSpeedCoef < 0) then { + _initSpeed = _initSpeed * -_initSpeedCoef; + }; + if (_simulationStep != 0) then { private ["_posX", "_velocityX", "_velocityY", "_timeToTarget"]; @@ -148,7 +153,12 @@ _FCSElevation = []; _maxElev = getNumber (_turretConfig >> "maxElev"); _initSpeed = getNumber (configFile >> "CfgMagazines" >> _x >> "initSpeed"); _airFriction = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "airFriction"); - + + _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> (_vehicle currentWeaponTurret _turret) >> "initSpeed"); + if (_initSpeedCoef < 0) then { + _initSpeed = _initSpeed * -_initSpeedCoef; + }; + _offset = "ace_fcs" callExtension format ["%1,%2,%3,%4", _initSpeed, _airFriction, _angleTarget, _distance]; _offset = parseNumber _offset; From 800ccc07f39ff9ce00cc580194eed73e3b5133ef Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 16:24:16 +0200 Subject: [PATCH 205/478] Removed duplicate code --- addons/fcs/functions/fnc_keyUp.sqf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index 4dd6f6c7d6..44eb4e2e5f 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -31,9 +31,9 @@ if (_distance == 0) then { ] call EFUNC(common,getTargetDistance); // maximum distance: 5000m, 5m precision }; -private ["_weaponDirection", "_angleTarget"]; - -_weaponDirection = _vehicle weaponDirection (_vehicle currentWeaponTurret _turret); // @todo doesn't work for sub turrets +private ["_weapon", "_weaponDirection", "_angleTarget"]; +_weapon = _vehicle currentWeaponTurret _turret; +_weaponDirection = _vehicle weaponDirection _weapon; // @todo doesn't work for sub turrets if (_turret isEqualTo ([_vehicle] call EFUNC(common,getTurretCommander))) then { _weaponDirection = eyeDirection _vehicle; @@ -82,7 +82,7 @@ if (time - GVAR(time) > 1 and GVAR(time) != -1 and count _this < 3) then { _timeToLive = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "timeToLive"); _simulationStep = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "simulationStep"); - _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> (_vehicle currentWeaponTurret _turret) >> "initSpeed"); + _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> _weapon >> "initSpeed"); if (_initSpeedCoef < 0) then { _initSpeed = _initSpeed * -_initSpeedCoef; }; @@ -154,7 +154,7 @@ _FCSElevation = []; _initSpeed = getNumber (configFile >> "CfgMagazines" >> _x >> "initSpeed"); _airFriction = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "airFriction"); - _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> (_vehicle currentWeaponTurret _turret) >> "initSpeed"); + _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> _weapon >> "initSpeed"); if (_initSpeedCoef < 0) then { _initSpeed = _initSpeed * -_initSpeedCoef; }; From 6dc28f026f620ec503e6358317d97a7aa0facdda Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 17:15:49 +0200 Subject: [PATCH 206/478] Added missing private --- addons/fcs/functions/fnc_firedEH.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/fcs/functions/fnc_firedEH.sqf b/addons/fcs/functions/fnc_firedEH.sqf index e8f58298d3..43f6d25ef9 100644 --- a/addons/fcs/functions/fnc_firedEH.sqf +++ b/addons/fcs/functions/fnc_firedEH.sqf @@ -12,7 +12,7 @@ #include "script_component.hpp" -private ["_vehicle", "_weapon", "_ammo", "_magazine", "_projectile","_velocityCorrection"]; +private ["_vehicle", "_weapon", "_ammo", "_magazine", "_projectile", "_velocityCorrection", "_sumVelocity"]; _vehicle = _this select 0; _weapon = _this select 1; From 5dcb45bd33fbf44b4e5608bc7874ac2c53345fdf Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 17:39:38 +0200 Subject: [PATCH 207/478] Finds the corresponding weapon class for each magazine type. --- addons/fcs/functions/fnc_keyUp.sqf | 37 +++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index 44eb4e2e5f..afd2143970 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -12,7 +12,7 @@ #include "script_component.hpp" -private ["_vehicle", "_turret", "_turretConfig", "_distance", "_magazines", "_showHint", "_playSound"]; +private ["_vehicle", "_turret", "_turretConfig", "_distance", "_weapons", "_magazines", "_showHint", "_playSound"]; _vehicle = _this select 0; _turret = _this select 1; @@ -21,6 +21,7 @@ _turretConfig = [configFile >> "CfgVehicles" >> typeOf _vehicle, _turret] call E _distance = call FUNC(getRange); +_weapons = _vehicle weaponsTurret _turret; _magazines = _vehicle magazinesTurret _turret; if (_distance == 0) then { @@ -72,7 +73,7 @@ if (time - GVAR(time) > 1 and GVAR(time) != -1 and count _this < 3) then { ((_posTarget select 2) - (GVAR(position) select 2)) / (time - GVAR(time)) ]; - private ["_magazineType", "_ammoType", "_initSpeed", "_airFriction", "_timeToLive", "_simulationStep"]; + private ["_magazineType", "_ammoType", "_initSpeed", "_airFriction", "_timeToLive", "_simulationStep", "_initSpeedCoef"]; // estimate time to target _magazineType = _vehicle currentMagazineTurret _turret; @@ -143,26 +144,40 @@ _FCSMagazines = []; _FCSElevation = []; { - private "_ammoType"; - - _ammoType = getText (configFile >> "CfgMagazines" >> _x >> "ammo"); + private ["_magazine", "_ammoType"]; + _magazine = _x; + _ammoType = getText (configFile >> "CfgMagazines" >> _magazine >> "ammo"); if !(getText (configFile >> "CfgAmmo" >> _ammoType >> "simulation") == "shotMissile") then { private ["_maxElev", "_initSpeed", "_airFriction", "_offset"]; _maxElev = getNumber (_turretConfig >> "maxElev"); - _initSpeed = getNumber (configFile >> "CfgMagazines" >> _x >> "initSpeed"); + _initSpeed = getNumber (configFile >> "CfgMagazines" >> _magazine >> "initSpeed"); _airFriction = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "airFriction"); - _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> _weapon >> "initSpeed"); - if (_initSpeedCoef < 0) then { - _initSpeed = _initSpeed * -_initSpeedCoef; - }; + { + private ["_weapon", "_muzzles", "_weaponMagazines", "_muzzleMagazines"]; + _weapon = _x; + _muzzles = getArray (configFile >> "CfgWeapons" >> _weapon >> "muzzles"); + _weaponMagazines = getArray (configFile >> "CfgWeapons" >> _weapon >> "magazines"); + { + if (_x != "this") then { + _muzzleMagazines = getArray (configFile >> "CfgWeapons" >> _weapon >> _x >> "magazines"); + _weaponMagazines append _muzzleMagazines; + }; + } forEach _muzzles; + if (_magazine in _weaponMagazines) exitWith { + _initSpeedCoef = getNumber(configFile >> "CfgWeapons" >> _weapon >> "initSpeed"); + if (_initSpeedCoef < 0) then { + _initSpeed = _initSpeed * -_initSpeedCoef; + }; + }; + } forEach _weapons; _offset = "ace_fcs" callExtension format ["%1,%2,%3,%4", _initSpeed, _airFriction, _angleTarget, _distance]; _offset = parseNumber _offset; - _FCSMagazines = _FCSMagazines + [_x]; + _FCSMagazines = _FCSMagazines + [_magazine]; _FCSElevation = _FCSElevation + [_offset]; }; } forEach _magazines; From a42dec676009153a8c5237ba5fb62f7559b32271 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 17:40:30 +0200 Subject: [PATCH 208/478] Added more missing privates --- addons/fcs/functions/fnc_keyUp.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index afd2143970..1bebd6c919 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -56,7 +56,7 @@ if (!(isNil QGVAR(backgroundCalculation)) and {!(scriptDone GVAR(backgroundCalcu terminate GVAR(backgroundCalculation); }; -private "_movingAzimuth"; +private ["_movingAzimuth", "_posTarget", "_velocityTarget"]; // MOVING TARGETS _movingAzimuth = 0; @@ -73,7 +73,7 @@ if (time - GVAR(time) > 1 and GVAR(time) != -1 and count _this < 3) then { ((_posTarget select 2) - (GVAR(position) select 2)) / (time - GVAR(time)) ]; - private ["_magazineType", "_ammoType", "_initSpeed", "_airFriction", "_timeToLive", "_simulationStep", "_initSpeedCoef"]; + private ["_magazineType", "_ammoType", "_initSpeed", "_airFriction", "_timeToLive", "_simulationStep", "_initSpeedCoef", "_velocityMagnitude"]; // estimate time to target _magazineType = _vehicle currentMagazineTurret _turret; From 30e90a377edc629fbccf73b57b2d7295bfc4cfaf Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 1 May 2015 17:51:31 +0200 Subject: [PATCH 209/478] Fix duplicate entries --- addons/medical/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index b988df4173..e0b5f641c3 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -37,10 +37,9 @@ Detalle simulación de basura establece el número de artículos de basura que se generan a nivel local en el cliente. Las cantidades excesivas en áreas locales podrían causar caída de rendimiento, así que esto es un ajuste de cliente únicamente. Устанавливает количество мусора, который появляется после использования мед. препаратов. Большое количество мусора может уменьшить производительность, поэтому данная настройка локальна для клиента. Il livello di dettagli della simulazione dei rifiuti indica il numero di rifiuti che verranno creati localmente nel client. La creazione di troppi rifiuti in aree locali potrebbe causare lag e calo di FPS. Questo è un settaggio client. - Le nieau de simulation des détritus règle la quantité de déchets qui vont être créer localement dans le client. Des quantitées excessive dans certaines zones locales aurait pu causer des chutes D'IPS, donc c'est une option client uniquement. + Le niveau de simulation des détritus règle la quantité de déchets qui vont être créés localement chez le client. Des quantitées excessive chez certains clients peuvent causer des chutes de FPS, c'est donc une option client uniquement. Die Einstellung für das Abfall-Detaillevel stellt die Menge der lokal erzeugten medizinischen Abfälle ein. Zuviel erzeugte Abfälle können FPS-Lags erzeugen, deswegen ist diese Einstellung nur clientseitig. A hulladékszimuláció részletessége megszabja a kliens által megjelenített hulladékobjektumok mennyiségét. Súlyos mennyiségek izolált területeken alacsony FPS-t okozhatnak, így ez egy kliensoldali beállítás. - Le niveau de simulation des détritus règle la quantité de déchets qui vont être créés localement chez le client. Des quantitées excessive chez certains clients peuvent causer des chutes de FPS, c'est donc une option client uniquement. Inject Atropine @@ -2428,3 +2427,4 @@ Traitement ... + From a883517a5efb32139b61e793e2ee8f9e156f816d Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Fri, 1 May 2015 19:18:06 +0300 Subject: [PATCH 210/478] Update stringtable.xml --- addons/medical/stringtable.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index e0b5f641c3..247459152c 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1678,6 +1678,7 @@ Er hat viel Blut verloren Sok vért vesztett Stracił sporo krwi + Большая кровопотеря He hasn't lost blood @@ -2070,24 +2071,28 @@ Styl menu medycznego Style de menu (Médical) Menü-Stil (Medical) + Вид меню (медицина) Select the type of menu you prefer; default 3d selections or radial. Wybierz rodzaj menu, który preferujesz: domyślne pozycje 3D lub radialne Selctionne le type de menu préféré; par défaut la sélection 3D ou radiale Wähle den Menü-Stil: Standard 3D-Selektion oder kreisförmig. + Выберите тип меню: стандартный вариант (3D) или радиальный Selections (3d) Pozycje (3D) sélections (3D) 3D-Selektion + Стандартный (3D) Radial Radialne Radiale Kreisförmig + Радиальный Scrape @@ -2425,6 +2430,7 @@ Ellátás ... Leczenie ... Traitement ... + Лечение ... From 2aa788bba207881ce7f2ba61e07b8a877900291d Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Fri, 1 May 2015 19:26:23 +0300 Subject: [PATCH 211/478] Update stringtable.xml --- addons/interact_menu/stringtable.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 8b3704239b..ca53f840bc 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -142,26 +142,31 @@ Aktion nach Loslassen der Taste ausführen Wykonuj akcje po puszczeniu klawisza menu Action au relachement de touche + Выполнять действие при отпускании кнопки взаимодействия Interaction Text Size Menü-Schriftgröße Taille du texte d'interaction + Размер текста (меню взаимодействия) Interaction Text Shadow Menü-Hintergrundschatten Ombre du texte d'interaction + Тень от текста (меню взаимодействия) Allows controlling the text's shadow. Outline ignores custom shadow colors. Stellt den Hintergrundschatten ein. Die Einstellung 'Kontur' ignoriert die Farbe des Schattens. Permet de controler l'ombre du texte. Le contour ne prend pas en compte la couleur des ombres. + Дает возможность изменять тень, отбрасываемую текстом. Контур не зависит от выбранного цвета тени. Outline Kontur Contour + Контур From 80162627ecfefb5194b9b3a8e408b3e610e876b2 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Fri, 1 May 2015 18:49:59 +0200 Subject: [PATCH 212/478] Fixed spelling of enableUnconsciousnessAI --- addons/medical/ACE_Settings.hpp | 2 +- addons/medical/CfgVehicles.hpp | 2 +- addons/medical/functions/fnc_moduleMedicalSettings.sqf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index a3e6c60167..b3c2152df1 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -54,7 +54,7 @@ class ACE_Settings { typeName = "SCALAR"; value = 1; }; - class GVAR(enableUnconsiousnessAI) { + class GVAR(enableUnconsciousnessAI) { value = 1; typeName = "SCALAR"; values[] = {"Disabled", "50/50", "Enabled"}; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 234947c0b6..6fb2f332c6 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -87,7 +87,7 @@ class CfgVehicles { typeName = "NUMBER"; defaultValue = 1; }; - class enableUnconsiousnessAI { + class enableUnconsciousnessAI { displayName = "AI Unconsciousness"; description = "Allow AI to go unconscious"; typeName = "NUMBER"; diff --git a/addons/medical/functions/fnc_moduleMedicalSettings.sqf b/addons/medical/functions/fnc_moduleMedicalSettings.sqf index ad8fbba18a..296b4f1d56 100644 --- a/addons/medical/functions/fnc_moduleMedicalSettings.sqf +++ b/addons/medical/functions/fnc_moduleMedicalSettings.sqf @@ -29,7 +29,7 @@ if !(_activated) exitWith {}; [_logic, QGVAR(enableScreams), "enableScreams"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(playerDamageThreshold), "playerDamageThreshold"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(AIDamageThreshold), "AIDamageThreshold"] call EFUNC(common,readSettingFromModule); -[_logic, QGVAR(enableUnconsiousnessAI), "enableUnconsiousnessAI"] call EFUNC(common,readSettingFromModule); +[_logic, QGVAR(enableUnconsciousnessAI), "enableUnconsciousnessAI"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(preventInstaDeath), "preventInstaDeath"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(bleedingCoefficient), "bleedingCoefficient"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(painCoefficient), "painCoefficient"] call EFUNC(common,readSettingFromModule); From aa21962f8b58e2cf268fc7423e4b10688adf2382 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 1 May 2015 18:55:44 +0200 Subject: [PATCH 213/478] Allowed positive weapon initSpeed values --- addons/fcs/functions/fnc_firedEH.sqf | 10 ++-------- addons/fcs/functions/fnc_keyUp.sqf | 6 ++++++ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/fcs/functions/fnc_firedEH.sqf b/addons/fcs/functions/fnc_firedEH.sqf index 43f6d25ef9..31fe38335d 100644 --- a/addons/fcs/functions/fnc_firedEH.sqf +++ b/addons/fcs/functions/fnc_firedEH.sqf @@ -12,7 +12,7 @@ #include "script_component.hpp" -private ["_vehicle", "_weapon", "_ammo", "_magazine", "_projectile", "_velocityCorrection", "_sumVelocity"]; +private ["_vehicle", "_weapon", "_ammo", "_magazine", "_projectile", "_sumVelocity"]; _vehicle = _this select 0; _weapon = _this select 1; @@ -43,14 +43,8 @@ _offset = 0; }; } forEach _FCSMagazines; -// Correct velocity for weapons that have initVelocity -_velocityCorrection = if (getNumber(configFile >> "CfgWeapons" >> _weapon >> "initSpeed") > 0) then { - (vectorMagnitude velocity _projectile) - getNumber(configFile >> "CfgMagazines" >> _magazine >> "initSpeed") -} else { - 0 -}; -[_projectile, (_vehicle getVariable format ["%1_%2", QGVAR(Azimuth), _turret]), _offset, -_velocityCorrection] call EFUNC(common,changeProjectileDirection); +[_projectile, (_vehicle getVariable format ["%1_%2", QGVAR(Azimuth), _turret]), _offset, 0] call EFUNC(common,changeProjectileDirection); // Remove the platform velocity if( (vectorMagnitude velocity _vehicle) > 2) then { diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index 1bebd6c919..a7bf8defe5 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -87,6 +87,9 @@ if (time - GVAR(time) > 1 and GVAR(time) != -1 and count _this < 3) then { if (_initSpeedCoef < 0) then { _initSpeed = _initSpeed * -_initSpeedCoef; }; + if (_initSpeedCoef > 0) then { + _initSpeed = _initSpeedCoef; + }; if (_simulationStep != 0) then { private ["_posX", "_velocityX", "_velocityY", "_timeToTarget"]; @@ -171,6 +174,9 @@ _FCSElevation = []; if (_initSpeedCoef < 0) then { _initSpeed = _initSpeed * -_initSpeedCoef; }; + if (_initSpeedCoef > 0) then { + _initSpeed = _initSpeedCoef; + }; }; } forEach _weapons; From 8d1ac26e245a319d36dfc0a6159c4b2e5be632ae Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 1 May 2015 12:12:13 -0500 Subject: [PATCH 214/478] Save and replay valid awake animations --- addons/common/functions/fnc_getDeathAnim.sqf | 2 +- .../common/functions/fnc_loadPersonLocal.sqf | 6 +++ .../medical/functions/fnc_setUnconscious.sqf | 10 ++-- .../medical/functions/fnc_unconsciousPFH.sqf | 46 +++++++++++++++---- 4 files changed, 50 insertions(+), 14 deletions(-) diff --git a/addons/common/functions/fnc_getDeathAnim.sqf b/addons/common/functions/fnc_getDeathAnim.sqf index 3f056e9362..6e26add999 100644 --- a/addons/common/functions/fnc_getDeathAnim.sqf +++ b/addons/common/functions/fnc_getDeathAnim.sqf @@ -31,7 +31,7 @@ if ((vehicle _unit) != _unit) then { _interpolateArray = getArray (_unitAnimationCfg >> "interpolateTo"); for "_index" from 0 to (count _interpolateArray - 1) step 2 do { _indexAnimation = _interpolateArray select _index; - //No guarentee that first animation will be right so scan for the first scan for the first "terminal" animation + //No guarentee that first animation will be right so scan for the first "terminal" animation //E.G.: interpolateTo[] = {"passenger_apc_generic04still",1,"KIA_passenger_apc_generic04",1}; if ((getNumber ((configFile >> "CfgMovesMaleSdr" >> "States" >> _indexAnimation) >> "terminal")) == 1) exitWith { diff --git a/addons/common/functions/fnc_loadPersonLocal.sqf b/addons/common/functions/fnc_loadPersonLocal.sqf index 6e31050cf9..a4084287b7 100644 --- a/addons/common/functions/fnc_loadPersonLocal.sqf +++ b/addons/common/functions/fnc_loadPersonLocal.sqf @@ -30,6 +30,12 @@ if (!([_unit] call FUNC(isAwake))) then { _vehicle = _this select 1; waituntil {vehicle _unit == _vehicle}; sleep 0.5; + + //Save the "awake" animation before applying the death animation + if (vehicle _unit == _vehicle) then { + _unit setVariable [QEGVAR(medical,vehicleAwakeAnim), [_vehicle, (animationState _unit)]]; + }; + [_unit,([_unit] call FUNC(getDeathAnim)), 1] call FUNC(doAnimation); }; } else { diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 82e93eb1fb..f3d99cc4ce 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -17,7 +17,7 @@ #define DEFAULT_DELAY (round(random(10)+5)) -private ["_unit", "_set", "_animState", "_originalPos", "_startingTime","_minWaitingTime"]; +private ["_unit", "_set", "_originalPos", "_startingTime","_minWaitingTime"]; _unit = _this select 0; _set = if (count _this > 1) then {_this select 1} else {true}; _minWaitingTime = if (count _this > 2) then {_this select 2} else {DEFAULT_DELAY}; @@ -67,7 +67,11 @@ if (vehicle _unit == _unit) then { }; // We are storing the current animation, so we can use it later on when waking the unit up inside a vehicle -_animState = animationState _unit; +if (vehicle _unit != _unit) then { + _unit setVariable [QGVAR(vehicleAwakeAnim), [(vehicle _unit), (animationState _unit)]]; +}; + +//Save current stance: _originalPos = unitPos _unit; _unit setUnitPos "DOWN"; @@ -84,7 +88,7 @@ if (GVAR(moveUnitsFromGroupOnUnconscious)) then { _startingTime = time; -[DFUNC(unconsciousPFH), 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler; +[DFUNC(unconsciousPFH), 0.1, [_unit, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler; // unconscious can't talk [_unit, "isUnconscious"] call EFUNC(common,muteUnit); diff --git a/addons/medical/functions/fnc_unconsciousPFH.sqf b/addons/medical/functions/fnc_unconsciousPFH.sqf index bf328648d5..0db57876c9 100644 --- a/addons/medical/functions/fnc_unconsciousPFH.sqf +++ b/addons/medical/functions/fnc_unconsciousPFH.sqf @@ -13,15 +13,14 @@ #include "script_component.hpp" -private ["_unit", "_minWaitingTime", "_oldAnimation", "_hasMovedOut", "_parachuteCheck", "_args", "_originalPos", "_startingTime"]; +private ["_unit", "_minWaitingTime", "_slotInfo", "_hasMovedOut", "_parachuteCheck", "_args", "_originalPos", "_startingTime", "_awakeInVehicleAnimation", "_oldVehicleAnimation", "_vehicle"]; _args = _this select 0; _unit = _args select 0; -_oldAnimation = _args select 1; -_originalPos = _args select 2; -_startingTime = _args select 3; -_minWaitingTime = _args select 4; -_hasMovedOut = _args select 5; -_parachuteCheck = _args select 6; +_originalPos = _args select 1; +_startingTime = _args select 2; +_minWaitingTime = _args select 3; +_hasMovedOut = _args select 4; +_parachuteCheck = _args select 5; if (!alive _unit) exitwith { if (GVAR(moveUnitsFromGroupOnUnconscious)) then { @@ -51,10 +50,37 @@ if !(_unit getvariable ["ACE_isUnconscious",false]) exitwith { [_unit,"amovppnemstpsnonwnondnon", 2] call EFUNC(common,doAnimation); }; } else { - // Switch to the units original animation, assuming - // TODO: what if the unit switched vehicle? - [_unit, _oldAnimation, 2] call EFUNC(common,doAnimation); + _vehicle = vehicle _unit; + _oldVehicleAnimation = _unit getVariable [QGVAR(vehicleAwakeAnim), []]; + _awakeInVehicleAnimation = ""; + if (((count _oldVehicleAnimation) > 0) && {(_oldVehicleAnimation select 0) == _vehicle}) then { + _awakeInVehicleAnimation = _oldVehicleAnimation select 1; + }; + //Make sure we have a valid, non-terminal animation: + if ((_awakeInVehicleAnimation != "") && {(getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> _awakeInVehicleAnimation >> "terminal")) == 0}) then { + [_unit, _awakeInVehicleAnimation, 2] call EFUNC(common,doAnimation); + } else { + //Don't have a valid animation saved, reset the unit animation with a moveInXXX + TRACE_1("No Valid Animation, doing seat reset", _awakeInVehicleAnimation); + _slotInfo = []; + {if ((_x select 0) == _unit) exitWith {_slotInfo = _x;};} forEach (fullCrew _vehicle); + if (_slotInfo isEqualTo []) exitWith {ERROR("No _slotInfo?");}; + //Move the unit out: + _unit setPosASL ((getPosASL _unit) vectorAdd [0,0,100]); + //Move the unit back into old seat: + if ((_slotInfo select 1) == "driver") then { + _unit moveInDriver _vehicle; + } else { + if ((_slotInfo select 1) == "cargo") then { + _unit moveInCargo [_vehicle, (_slotInfo select 2)]; + } else { + _unit moveInTurret [_vehicle, (_slotInfo select 3)]; + }; + }; + }; }; + _unit setVariable [QGVAR(vehicleAwakeAnim), nil]; + ["medical_onUnconscious", [_unit, false]] call EFUNC(common,globalEvent); // EXIT PFH [(_this select 1)] call cba_fnc_removePerFrameHandler; From caf301ac998a712b37ec33e2ec7dde1fe1bf0d60 Mon Sep 17 00:00:00 2001 From: Tachii Date: Fri, 1 May 2015 20:15:35 +0300 Subject: [PATCH 215/478] Update stringtable.xml Added 1 RU string --- addons/ballistics/stringtable.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 63fd999703..d9be477980 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1157,7 +1157,8 @@ Calibre: 6.5x47mm Creedmor <br />Cartouches: 30<br />Utilisé avec: MXM Calibro: 6.5mm Creedmor<br />Munizioni: 30<br />In uso su: MXM Calibre: 6.5mm Creedmor<br />Balas: 30<br />Se usa en: MXM - + Калибр: 6,5x47mm Creedmor<br />Rounds: 30<br />Used in: MXM + .338 10Rnd Mag (300gr Sierra MatchKing HPBT) Ch. .338 10 Cps (300gr Sierra MatchKing HPBT) From 43655d0cec964f78e2ccf8fbdadb5cf4d05726b9 Mon Sep 17 00:00:00 2001 From: Tachii Date: Fri, 1 May 2015 20:18:51 +0300 Subject: [PATCH 216/478] Update stringtable.xml --- addons/ballistics/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index d9be477980..42034c3215 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1157,8 +1157,8 @@ Calibre: 6.5x47mm Creedmor <br />Cartouches: 30<br />Utilisé avec: MXM Calibro: 6.5mm Creedmor<br />Munizioni: 30<br />In uso su: MXM Calibre: 6.5mm Creedmor<br />Balas: 30<br />Se usa en: MXM - Калибр: 6,5x47mm Creedmor<br />Rounds: 30<br />Used in: MXM - + Калибр: 6,5x47mm Creedmor<br />Rounds: 30<br />Used in: MXM + .338 10Rnd Mag (300gr Sierra MatchKing HPBT) Ch. .338 10 Cps (300gr Sierra MatchKing HPBT) From 1771b61578c19f75939593557b90058a63335e12 Mon Sep 17 00:00:00 2001 From: Tachii Date: Fri, 1 May 2015 20:23:05 +0300 Subject: [PATCH 217/478] added 2 missing ru strings --- addons/respawn/stringtable.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 8735d6521d..058158f32d 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -28,10 +28,12 @@ Teleport to Base Zur Basis teleportieren + Телепортироваться на базу Teleport to Rallypoint Zum Rallypoint teleportieren + Телепортироваться на раллипоинт Teleported to Base From 889275091ea99d33cb0f324a8a02af46cb1e821d Mon Sep 17 00:00:00 2001 From: Tachii Date: Fri, 1 May 2015 20:24:13 +0300 Subject: [PATCH 218/478] Update stringtable.xml --- addons/respawn/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 058158f32d..c5f1a2bc28 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -28,12 +28,12 @@ Teleport to Base Zur Basis teleportieren - Телепортироваться на базу + Телепортироваться на базу Teleport to Rallypoint Zum Rallypoint teleportieren - Телепортироваться на раллипоинт + Телепортироваться на раллипоинт Teleported to Base From 66818e0a74422fa1c8b92156c01962a16b02ffb1 Mon Sep 17 00:00:00 2001 From: Tachii Date: Fri, 1 May 2015 20:26:05 +0300 Subject: [PATCH 219/478] Update stringtable.xml --- addons/ballistics/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 42034c3215..52d9dd0eba 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1157,7 +1157,7 @@ Calibre: 6.5x47mm Creedmor <br />Cartouches: 30<br />Utilisé avec: MXM Calibro: 6.5mm Creedmor<br />Munizioni: 30<br />In uso su: MXM Calibre: 6.5mm Creedmor<br />Balas: 30<br />Se usa en: MXM - Калибр: 6,5x47mm Creedmor<br />Rounds: 30<br />Used in: MXM + Калибр: 6,5x47 мм Creedmor
Патронов: 30
Используются с: MXM
.338 10Rnd Mag (300gr Sierra MatchKing HPBT) From 43dea56ae61c919f2e57aa7933e21019ad6412de Mon Sep 17 00:00:00 2001 From: Tachii Date: Fri, 1 May 2015 20:29:00 +0300 Subject: [PATCH 220/478] Update stringtable.xml --- addons/ballistics/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 52d9dd0eba..6fe4e23fae 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1128,7 +1128,7 @@ Calibre: 6.5x47mm (HPBT Scenar)<br />Cartouches: 30 Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30<br />Se usa en: MXM Kaliber: 6,5x47mm (HPBT Scenar)<br />Pociski: 30 - Калибр: 6,5x47 мм (экспансивные Scenar)<br />Патронов: 30 + Калибр: 6,5x47 мм (экспансивные Scenar)<br />Патронов: 30<br />Used in: MXM Kaliber: 6,5x47mm (HPBT Scenar)<br />Patronen: 30<br />Eingesetzt von: MXM Calibro: 6.5x47mm (HPBT Scenar)<br />Munizioni: 30<br />In uso su: MXM @@ -1157,7 +1157,7 @@ Calibre: 6.5x47mm Creedmor <br />Cartouches: 30<br />Utilisé avec: MXM Calibro: 6.5mm Creedmor<br />Munizioni: 30<br />In uso su: MXM Calibre: 6.5mm Creedmor<br />Balas: 30<br />Se usa en: MXM - Калибр: 6,5x47 мм Creedmor
Патронов: 30
Используются с: MXM
+ Калибр: 6,5x47мм Creedmor<br />Патронов: 30<br />Используются в: MXM
.338 10Rnd Mag (300gr Sierra MatchKing HPBT) From b1a23fd3c7a9179b4271a05c91ebc8430280ebba Mon Sep 17 00:00:00 2001 From: Tachii Date: Fri, 1 May 2015 20:29:57 +0300 Subject: [PATCH 221/478] Update stringtable.xml --- addons/ballistics/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 6fe4e23fae..1b76ae76c1 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1128,7 +1128,7 @@ Calibre: 6.5x47mm (HPBT Scenar)<br />Cartouches: 30 Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30<br />Se usa en: MXM Kaliber: 6,5x47mm (HPBT Scenar)<br />Pociski: 30 - Калибр: 6,5x47 мм (экспансивные Scenar)<br />Патронов: 30<br />Used in: MXM + Калибр: 6,5x47 мм (экспансивные Scenar)<br />Патронов: 30<br />Используются с: MXM Kaliber: 6,5x47mm (HPBT Scenar)<br />Patronen: 30<br />Eingesetzt von: MXM Calibro: 6.5x47mm (HPBT Scenar)<br />Munizioni: 30<br />In uso su: MXM @@ -1157,7 +1157,7 @@ Calibre: 6.5x47mm Creedmor <br />Cartouches: 30<br />Utilisé avec: MXM Calibro: 6.5mm Creedmor<br />Munizioni: 30<br />In uso su: MXM Calibre: 6.5mm Creedmor<br />Balas: 30<br />Se usa en: MXM - Калибр: 6,5x47мм Creedmor<br />Патронов: 30<br />Используются в: MXM + Калибр: 6,5x47мм Creedmor<br />Патронов: 30<br />Используются c: MXM
.338 10Rnd Mag (300gr Sierra MatchKing HPBT) From 46688699592458d6edec5e3f4b9221edabf0acb7 Mon Sep 17 00:00:00 2001 From: Grzegorz Sikora Date: Fri, 1 May 2015 19:30:30 +0200 Subject: [PATCH 222/478] PL translation --- addons/interact_menu/stringtable.xml | 9 +++++++-- addons/respawn/stringtable.xml | 5 ++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index ca53f840bc..bc4500af17 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,4 +1,5 @@ - + + @@ -149,24 +150,28 @@ Menü-Schriftgröße Taille du texte d'interaction Размер текста (меню взаимодействия) + Rozmiar tekstu interakcji Interaction Text Shadow Menü-Hintergrundschatten Ombre du texte d'interaction Тень от текста (меню взаимодействия) + Cień tekstu interakcji Allows controlling the text's shadow. Outline ignores custom shadow colors. Stellt den Hintergrundschatten ein. Die Einstellung 'Kontur' ignoriert die Farbe des Schattens. Permet de controler l'ombre du texte. Le contour ne prend pas en compte la couleur des ombres. Дает возможность изменять тень, отбрасываемую текстом. Контур не зависит от выбранного цвета тени. + Pozwala kontrolować cień tekstu. Kontury ignorują niestandardowe kolory cienia. Outline Kontur Contour Контур + Kontur - +
\ No newline at end of file diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 8735d6521d..82b2cf9551 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,4 +1,5 @@  + @@ -28,10 +29,12 @@ Teleport to Base Zur Basis teleportieren + Teleport do bazy Teleport to Rallypoint Zum Rallypoint teleportieren + Teleport do punktu zbiórki Teleported to Base @@ -118,4 +121,4 @@ Gyülekezőpont, Független - + \ No newline at end of file From e36fbe9da75a128208a59f0d2dd6ca50d45eaa65 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 1 May 2015 19:32:43 +0200 Subject: [PATCH 223/478] Update stringtable.xml --- addons/interact_menu/stringtable.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index bc4500af17..5b23dae602 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,5 +1,4 @@  - @@ -174,4 +173,4 @@ Kontur - \ No newline at end of file + From 7e87c3a250e5d9692a8cc99d8dfed48f5435ad5d Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 1 May 2015 19:32:59 +0200 Subject: [PATCH 224/478] Update stringtable.xml --- addons/respawn/stringtable.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 82b2cf9551..0bd7be2a3c 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,5 +1,4 @@  - @@ -121,4 +120,4 @@ Gyülekezőpont, Független - \ No newline at end of file + From 722c459c1e78159a8e3a2433ad0b86fd059dbaa9 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Fri, 1 May 2015 19:37:17 +0200 Subject: [PATCH 225/478] added APL pbo --- addons/apl/$PBOPREFIX$ | 1 + addons/apl/CfgEventHandlers.hpp | 7 ++ addons/apl/LICENSE | 110 ++++++++++++++++++ addons/apl/XEH_preInit.sqf | 5 + addons/apl/bodybag.p3d | Bin 0 -> 1011356 bytes addons/apl/config.cpp | 15 +++ addons/{medical => apl}/data/bodybag.rvmat | 4 +- addons/{medical => apl}/data/bodybag_co.paa | Bin addons/{medical => apl}/data/bodybag_nohq.paa | Bin addons/{medical => apl}/data/env_co.paa | Bin addons/apl/functions/script_component.hpp | 1 + addons/apl/script_component.hpp | 12 ++ addons/medical/CfgVehicles.hpp | 2 +- addons/medical/config.cpp | 2 +- addons/medical/data/bodybag.p3d | Bin 1050572 -> 0 bytes addons/medical/data/surgical_kit.rvmat | 2 +- 16 files changed, 156 insertions(+), 5 deletions(-) create mode 100644 addons/apl/$PBOPREFIX$ create mode 100644 addons/apl/CfgEventHandlers.hpp create mode 100644 addons/apl/LICENSE create mode 100644 addons/apl/XEH_preInit.sqf create mode 100644 addons/apl/bodybag.p3d create mode 100644 addons/apl/config.cpp rename addons/{medical => apl}/data/bodybag.rvmat (95%) rename addons/{medical => apl}/data/bodybag_co.paa (100%) rename addons/{medical => apl}/data/bodybag_nohq.paa (100%) rename addons/{medical => apl}/data/env_co.paa (100%) create mode 100644 addons/apl/functions/script_component.hpp create mode 100644 addons/apl/script_component.hpp delete mode 100644 addons/medical/data/bodybag.p3d diff --git a/addons/apl/$PBOPREFIX$ b/addons/apl/$PBOPREFIX$ new file mode 100644 index 0000000000..f2a70e80ff --- /dev/null +++ b/addons/apl/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\apl \ No newline at end of file diff --git a/addons/apl/CfgEventHandlers.hpp b/addons/apl/CfgEventHandlers.hpp new file mode 100644 index 0000000000..5bacc02434 --- /dev/null +++ b/addons/apl/CfgEventHandlers.hpp @@ -0,0 +1,7 @@ +/* +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; +*/ \ No newline at end of file diff --git a/addons/apl/LICENSE b/addons/apl/LICENSE new file mode 100644 index 0000000000..2274430c9b --- /dev/null +++ b/addons/apl/LICENSE @@ -0,0 +1,110 @@ +ARMA PUBLIC LICENSE +https://www.bistudio.com/community/licenses/arma-public-license + +Brief summary of this Licence + +PLEASE, NOTE THAT THIS SUMMARY HAS NO LEGAL EFFECT AND IS ONLY OF AN INFORMATORY NATURE DESIGNED FOR YOU TO GET THE BASIC INFORMATION ABOUT THE CONTENT OF THIS LICENCE. THE ONLY LEGALLY BINDING PROVISIONS ARE THOSE IN THE ORIGINAL AND FULL TEXT OF THIS LICENCE. + +With this licence you are free to adapt (i.e. modify, rework or update) and share (i.e. copy, distribute or transmit) the material under the following conditions: + + Attribution - You must attribute the material in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the material). + Noncommercial - You may not use this material for any commercial purposes. + Arma Only - You may not convert or adapt this material to be used in other games than Arma. + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Arma Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 - Definitions + + Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + ArmaOnly means primarily intended for or directed towards the use in any of existing and future Arma games, including but not limited to Arma: Cold War Assault, Arma, Arma 2 and Arma 3 and its official sequels and expansion packs. + Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + Licensor means the individual(s) or entity(ies) granting rights under this Public License. + NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange. + Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. + +Section 2 – Scope + + License grant + Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + reproduce and Share the Licensed Material, in whole or in part, for NonCommercial and ArmaOnly purposes only; and + produce, reproduce, and Share Adapted Material for NonCommercial and ArmaOnly purposes only. + Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + Term. The term of this Public License is specified in Section 6(a). + Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + Downstream recipients. + Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(a)(i). + Other rights + Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + Patent and trademark rights are not licensed under this Public License. + To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial and ArmaOnly purposes. + +Section 3 – License Conditions + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + + Attribution + + If You Share the Licensed Material (including in modified form), You must: + retain the following if it is supplied by the Licensor with the Licensed Material: + identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + a copyright notice; + a notice that refers to this Public License; + a notice that refers to the disclaimer of warranties; + a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(a) to the extent reasonably practicable. + If You Share Adapted Material You produce, the Adapter’s License You apply must not prevent recipients of the Adapted Material from complying with this Public License. + +Section 4 – Sui Generis Database Rights + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + + for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial and ArmaOnly purposes only; + if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and + You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + +Section 5 – Disclaimer of Warranties and Limitation of Liability + + Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +Section 6 – Term and Termination + + This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + + Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +Section 7 – Other Terms and Conditions + + The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +Section 8 – Interpretation + + For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. + +Bohemia Interactive Notices + + Bohemia Interactive a.s. is not a party to this License, and makes no warranty whatsoever in connection with the Licensed Material. Bohemia Interactive a.s. will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, Bohemia Interactive a.s. may elect to apply the Public License to material it publishes and in those instances it becomes the "Licensor". + Except for the limited purpose of indicating to the public that the Licensed Material is shared under this Public License, Bohemia Interactive a.s. does not authorize the use by either party of the trademarks "Arma", "Bohemia Interactive" or any related trademark or logo of Arma or Bohemia Interactive without the prior written consent of Bohemia Interactive a.s. diff --git a/addons/apl/XEH_preInit.sqf b/addons/apl/XEH_preInit.sqf new file mode 100644 index 0000000000..6899f59bd9 --- /dev/null +++ b/addons/apl/XEH_preInit.sqf @@ -0,0 +1,5 @@ +#include "script_component.hpp" + +ADDON = false; + +ADDON = true; diff --git a/addons/apl/bodybag.p3d b/addons/apl/bodybag.p3d new file mode 100644 index 0000000000000000000000000000000000000000..5b3622f9780be272adc8855e3ed780da73823682 GIT binary patch literal 1011356 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 P>XhI7@bT%qvVHys*fpox diff --git a/addons/medical/data/surgical_kit.rvmat b/addons/medical/data/surgical_kit.rvmat index e7db14f08b..71d266f668 100644 --- a/addons/medical/data/surgical_kit.rvmat +++ b/addons/medical/data/surgical_kit.rvmat @@ -80,7 +80,7 @@ class Stage6 }; class Stage7 { - texture="z\ace\addons\medical\data\env_co.tga"; + texture="z\ace\addons\apl\data\env_co.tga"; uvSource="tex"; class uvTransform { From 66eda924ac94db64e14ba02ed04e8e04061c1ca0 Mon Sep 17 00:00:00 2001 From: Tachii Date: Fri, 1 May 2015 20:48:37 +0300 Subject: [PATCH 226/478] Update stringtable.xml --- addons/ballistics/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 1b76ae76c1..d4e28f301f 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -1158,7 +1158,7 @@ Calibro: 6.5mm Creedmor<br />Munizioni: 30<br />In uso su: MXM Calibre: 6.5mm Creedmor<br />Balas: 30<br />Se usa en: MXM Калибр: 6,5x47мм Creedmor<br />Патронов: 30<br />Используются c: MXM - + .338 10Rnd Mag (300gr Sierra MatchKing HPBT) Ch. .338 10 Cps (300gr Sierra MatchKing HPBT) From d8a6dd1bbd6498fc7beb953009b05e4a614951a2 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 1 May 2015 12:58:56 -0500 Subject: [PATCH 227/478] Stuff --- addons/common/functions/fnc_getDeathAnim.sqf | 6 ++++++ addons/common/functions/fnc_loadPersonLocal.sqf | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/addons/common/functions/fnc_getDeathAnim.sqf b/addons/common/functions/fnc_getDeathAnim.sqf index 6e26add999..1e84224b0f 100644 --- a/addons/common/functions/fnc_getDeathAnim.sqf +++ b/addons/common/functions/fnc_getDeathAnim.sqf @@ -23,6 +23,9 @@ _returnAnimation = ""; _animationState = (animationState _unit); _unitAnimationCfg = (configFile >> "CfgMovesMaleSdr" >> "States" >> _animationState); +//If we're already in a terminal animation just return current +if ((getNumber (_unitAnimationCfg >> "terminal")) == 1) exitWith {_animationState}; + _unitActionsCfg = (configFile >> "CfgMovesBasic" >> "Actions" >> (getText (_unitAnimationCfg >> "actions"))); TRACE_2("Animation/Action", configName _unitAnimationCfg, configName _unitActionsCfg); @@ -42,4 +45,7 @@ if ((vehicle _unit) != _unit) then { _returnAnimation = getText (_unitActionsCfg >> "die"); }; +//Fallback if nothing valid found: +if (_returnAnimation == "") then {_returnAnimation = "Unconscious"}; + _returnAnimation diff --git a/addons/common/functions/fnc_loadPersonLocal.sqf b/addons/common/functions/fnc_loadPersonLocal.sqf index a4084287b7..ccde28b9aa 100644 --- a/addons/common/functions/fnc_loadPersonLocal.sqf +++ b/addons/common/functions/fnc_loadPersonLocal.sqf @@ -35,8 +35,7 @@ if (!([_unit] call FUNC(isAwake))) then { if (vehicle _unit == _vehicle) then { _unit setVariable [QEGVAR(medical,vehicleAwakeAnim), [_vehicle, (animationState _unit)]]; }; - - [_unit,([_unit] call FUNC(getDeathAnim)), 1] call FUNC(doAnimation); + [_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call FUNC(doAnimation); }; } else { if ([_unit] call FUNC(isArrested)) then { From e1d0ac4b9edc15fe3e831cac8f3573dc2ec0267f Mon Sep 17 00:00:00 2001 From: Glowbal Date: Fri, 1 May 2015 20:16:34 +0200 Subject: [PATCH 228/478] Added author --- addons/apl/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/apl/config.cpp b/addons/apl/config.cpp index 5961b721bb..fff902d962 100644 --- a/addons/apl/config.cpp +++ b/addons/apl/config.cpp @@ -6,7 +6,7 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_main"}; - author[] = {""}; + author[] = {"Bohemia Interactive"}; authorUrl = "http://ace3mod.com"; VERSION_CONFIG; }; From 7f7bedb80113d4f5bc23cef217003cb459ec6bba Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 1 May 2015 20:19:40 +0200 Subject: [PATCH 229/478] Change license to allow subfolders with individual licenses --- LICENSE | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/LICENSE b/LICENSE index b76b90e8fb..01832682d7 100644 --- a/LICENSE +++ b/LICENSE @@ -22,6 +22,10 @@ source code of the individual modules. When publishing a derivative of this product you may not use a name that might create the impression that your version is an official release. +Some folders of this project may contain a seperate LICENSE file. Should +that be the case, everything in that folder and all subfolders is subject +to that license instead. + ============================================================================ Full Gnu General Public License Text From dfbfb4ace27f2bec8ce3e3ad9e98ab08f361d614 Mon Sep 17 00:00:00 2001 From: jaynus Date: Fri, 1 May 2015 11:31:37 -0700 Subject: [PATCH 230/478] Laser code selection, hotkeys and locking. Turrets & designator, and gunner. Closes #751 --- addons/laser/CfgVehicles.hpp | 25 +++++++++++++++++ addons/laser/XEH_post_init.sqf | 2 ++ addons/laser/XEH_pre_init.sqf | 4 +++ .../laser/functions/fnc_keyLaserCodeDown.sqf | 12 +++++++++ addons/laser/functions/fnc_keyLaserCodeUp.sqf | 10 +++++++ .../functions/fnc_unitTurretCanLockLaser.sqf | 21 +++++++++++++++ addons/laser/initKeybinds.sqf | 27 +++++++++++++++++++ addons/laser/stringtable.xml | 14 ++++++++++ addons/laser_selfdesignate/CfgVehicles.hpp | 25 +++++++++++++++++ .../missileguidance/functions/fnc_onFired.sqf | 8 ++++-- .../functions/fnc_seekerType_SALH.sqf | 6 +++-- 11 files changed, 150 insertions(+), 4 deletions(-) create mode 100644 addons/laser/functions/fnc_keyLaserCodeDown.sqf create mode 100644 addons/laser/functions/fnc_keyLaserCodeUp.sqf create mode 100644 addons/laser/functions/fnc_unitTurretCanLockLaser.sqf create mode 100644 addons/laser/initKeybinds.sqf create mode 100644 addons/laser/stringtable.xml diff --git a/addons/laser/CfgVehicles.hpp b/addons/laser/CfgVehicles.hpp index 23eb00c37c..dd3f02a0cc 100644 --- a/addons/laser/CfgVehicles.hpp +++ b/addons/laser/CfgVehicles.hpp @@ -17,4 +17,29 @@ class CfgVehicles { simulation = "LaserTarget"; model = "\A3\Weapons_f\laserTgt.p3d"; }; + + // Vehicle lockable configurations + + class AllVehicles; + class Air: AllVehicles { + class Turrets; + }; + + class Helicopter: Air { + class Turrets { + class MainTurret; + }; + }; + + class Helicopter_Base_F: Helicopter {}; + + class Heli_Attack_01_base_F: Helicopter_Base_F {}; + + class B_Heli_Attack_01_F: Heli_Attack_01_base_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + GVAR(CanLockLaser) = 1; // Enable laser locking selection + }; + }; + }; }; \ No newline at end of file diff --git a/addons/laser/XEH_post_init.sqf b/addons/laser/XEH_post_init.sqf index f868ef9895..a9f0e82be3 100644 --- a/addons/laser/XEH_post_init.sqf +++ b/addons/laser/XEH_post_init.sqf @@ -1,5 +1,7 @@ #include "script_component.hpp" +#include "initKeybinds.sqf" + ["laser_laserOn", {_this call DFUNC(handleLaserOn)}] call EFUNC(common,addEventHandler); ["laser_laserOff", {_this call DFUNC(handleLaserOff)}] call EFUNC(common,addEventHandler); diff --git a/addons/laser/XEH_pre_init.sqf b/addons/laser/XEH_pre_init.sqf index 2dd6e666eb..20f31d9e5b 100644 --- a/addons/laser/XEH_pre_init.sqf +++ b/addons/laser/XEH_pre_init.sqf @@ -24,6 +24,10 @@ PREP(laserTargetPFH); GVAR(VanillaLasers) = []; +PREP(unitTurretCanLockLaser); +PREP(keyLaserCodeUp); +PREP(keyLaserCodeDown); + // Laser default variables ACE_DEFAULT_LASER_CODE = 1001; ACE_DEFAULT_LASER_WAVELENGTH = 1550; diff --git a/addons/laser/functions/fnc_keyLaserCodeDown.sqf b/addons/laser/functions/fnc_keyLaserCodeDown.sqf new file mode 100644 index 0000000000..a27b376d59 --- /dev/null +++ b/addons/laser/functions/fnc_keyLaserCodeDown.sqf @@ -0,0 +1,12 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +private["_oldLaserCode", "_laserCode"]; + +_oldLaserCode = ACE_player getVariable [QGVAR(code), ACE_DEFAULT_LASER_CODE]; +if(_oldLaserCode > ACE_DEFAULT_LASER_CODE) then { + _laserCode = _oldLaserCode - 1; + ACE_player setVariable [QGVAR(code), _laserCode, false]; +}; +if(_laserCode != _oldLaserCode) then { + [format ["%1: %2", localize "STR_ACE_laser_laserCode", _laserCode]] call EFUNC(common,displayTextStructured); +}; \ No newline at end of file diff --git a/addons/laser/functions/fnc_keyLaserCodeUp.sqf b/addons/laser/functions/fnc_keyLaserCodeUp.sqf new file mode 100644 index 0000000000..4e8750164c --- /dev/null +++ b/addons/laser/functions/fnc_keyLaserCodeUp.sqf @@ -0,0 +1,10 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" +private["_oldLaserCode", "_laserCode"]; + +_oldLaserCode = ACE_player getVariable [QGVAR(code), ACE_DEFAULT_LASER_CODE]; +_laserCode = _oldLaserCode + 1; +ACE_player setVariable [QGVAR(code), _laserCode, false]; +if(_laserCode != _oldLaserCode) then { +[format ["%1: %2", localize "STR_ACE_laser_laserCode", _laserCode]] call EFUNC(common,displayTextStructured); +}; \ No newline at end of file diff --git a/addons/laser/functions/fnc_unitTurretCanLockLaser.sqf b/addons/laser/functions/fnc_unitTurretCanLockLaser.sqf new file mode 100644 index 0000000000..a82e42400a --- /dev/null +++ b/addons/laser/functions/fnc_unitTurretCanLockLaser.sqf @@ -0,0 +1,21 @@ +/* + * Author: jaynus + * Checks if the turret occupied by the given unit can lock a laser designator and select laser code. + * + * Argument: + * 0: Unit + * + * Return value: + * Has designator? + */ +#include "script_component.hpp" + +EXPLODE_1_PVT(_this,_unit); + +// Get the player turret path +private ["_turret","_config","_turretConfig"]; +_turret = [_unit] call EFUNC(common,getTurretIndex); +_config = configFile >> "CfgVehicles" >> typeOf vehicle _unit; +_turretConfig = [_config, _turret] call EFUNC(common,getTurretConfigPath); + +getNumber (_turretConfig >> QGVAR(CanLockLaser)) > 0 diff --git a/addons/laser/initKeybinds.sqf b/addons/laser/initKeybinds.sqf new file mode 100644 index 0000000000..d367b3553c --- /dev/null +++ b/addons/laser/initKeybinds.sqf @@ -0,0 +1,27 @@ +["ACE3 Equipment", QGVAR(LaserCodeUp), localize "STR_ACE_laser_laserCodeUp", +{ + if( EGVAR(laser_selfdesignate,active) + || + { (currentWeapon ACE_player) == "Laserdesignator" && (call CBA_fnc_getFoV) select 1 > 5 } // If laserdesignator & FOV, we are in scope. + || + { [ACE_player] call FUNC(unitTurretCanLockLaser) } + ) then { + [] call FUNC(keyLaserCodeUp); + }; +}, +{false}, +[16, [false, true, true]], false, 0] call CBA_fnc_addKeybind; // (ALT+CTRL+Q) + +["ACE3 Equipment", QGVAR(LaserCodeDown), localize "STR_ACE_laser_laserCodeDown", +{ + if( EGVAR(laser_selfdesignate,active) + || + { (currentWeapon ACE_player) == "Laserdesignator" && (call CBA_fnc_getFoV) select 1 > 5 } // If laserdesignator & FOV, we are in scope. + || + { [ACE_player] call FUNC(unitTurretCanLockLaser) } + ) then { + [] call FUNC(keyLaserCodeDown); + }; +}, +{false}, +[18, [true, true, true]], false, 0] call CBA_fnc_addKeybind; // (ALT+CTRL+E) diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml new file mode 100644 index 0000000000..5eb1e23f1f --- /dev/null +++ b/addons/laser/stringtable.xml @@ -0,0 +1,14 @@ + + + + + Laser Code + + + Laser - Cycle Code Up + + + Laser - Cycle Code Down + + + \ No newline at end of file diff --git a/addons/laser_selfdesignate/CfgVehicles.hpp b/addons/laser_selfdesignate/CfgVehicles.hpp index 02d8b32b3d..3233a1e92c 100644 --- a/addons/laser_selfdesignate/CfgVehicles.hpp +++ b/addons/laser_selfdesignate/CfgVehicles.hpp @@ -21,4 +21,29 @@ class CfgVehicles { }; }; }; + + class Plane: Air {}; + class Plane_Base_F: Plane { + class Turrets { + class CopilotTurret; + }; + }; + + /* @TODO: LGB GBU + class Plane_CAS_01_base_F: Plane_Base_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + GVAR(Enabled) = 1; // Enable laser self-designation + }; + }; + }; + + class Plane_CAS_02_base_F: Plane_Base_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + GVAR(Enabled) = 1; // Enable laser self-designation + }; + }; + }; + */ }; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 7ada1d4442..d5580e3b53 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -7,7 +7,7 @@ if(GVAR(enabled) < 1 || {!local _projectile} ) exitWith { false }; if( !isPlayer _shooter && { GVAR(enabled) < 2 } ) exitWith { false }; -private["_config", "_enabled", "_target", "_seekerType", "_attackProfile"]; +private["_config", "_enabled", "_target", "_seekerType", "_attackProfile", "_laserCode", "_laserInfo"]; private["_args", "_canUseLock", "_guidingUnit", "_launchPos", "_lockMode", "_targetPos", "_vanillaTarget"]; PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); @@ -27,6 +27,9 @@ _seekerType = (vehicle _shooter) getVariable [QGVAR(seekerType), nil]; _attackProfile = (vehicle _shooter) getVariable [QGVAR(attackProfile), nil]; _lockMode = (vehicle _shooter) getVariable [QGVAR(lockMode), nil]; +_laserCode = (vehicle _shooter) getVariable [EGVAR(laser,code), ACE_DEFAULT_LASER_CODE]; +_laserInfo = [_laserCode, ACE_DEFAULT_LASER_WAVELENGTH, ACE_DEFAULT_LASER_WAVELENGTH]; + _launchPos = getPosASL (vehicle _shooter); TRACE_3("Begin guidance", _target, _seekerType, _attackProfile); @@ -67,7 +70,8 @@ _args = [_this, [_target, _targetPos, _launchPos], _seekerType, _attackProfile, - _lockMode + _lockMode, + _laserInfo ], [ getNumber ( _config >> "minDeflection" ), diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index 7aafad1114..8465a2ee94 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -2,17 +2,19 @@ #include "script_component.hpp" EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); -private["_angleFov", "_canSeeTarget", "_foundTargetPos", "_laserResult", "_launchParams", "_seekerParams", "_seekerTargetPos", "_sensorPos", "_target"]; +private["_angleFov", "_canSeeTarget", "_foundTargetPos", "_laserResult", "_launchParams", "_seekerParams", "_laserCode", "_laserParams", "_seekerTargetPos", "_sensorPos", "_target"]; _seekerTargetPos = _this select 0; _launchParams = _this select 1; _seekerParams = _launchParams select 3; _angleFov = _seekerParams select 0; +_laserParams = _launchParams select 5; + if(!isNil "_target") then { // Handle AI or moving vanilla lasers _foundTargetPos = getPosASL _target; } else { - _laserResult = [(getPosASL _projectile), (velocity _projectile), _angleFov, [ACE_DEFAULT_LASER_WAVELENGTH,ACE_DEFAULT_LASER_WAVELENGTH], ACE_DEFAULT_LASER_CODE] call EFUNC(laser,seekerFindLaserSpot); + _laserResult = [(getPosASL _projectile), (velocity _projectile), _angleFov, [(_laserParams select 1),(_laserParams select 2)], (_laserParams select 0)] call EFUNC(laser,seekerFindLaserSpot); _foundTargetPos = _laserResult select 0; TRACE_1("Search", _laserResult); }; From dcf4f3b53e132f405bac9a8c6646cf1cf1d7f63a Mon Sep 17 00:00:00 2001 From: jaynus Date: Fri, 1 May 2015 11:35:03 -0700 Subject: [PATCH 231/478] Resolved. Conflicts: addons/missileguidance/functions/fnc_onFired.sqf --- addons/missileguidance/functions/fnc_onFired.sqf | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index d5580e3b53..bea7ce123e 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -7,7 +7,7 @@ if(GVAR(enabled) < 1 || {!local _projectile} ) exitWith { false }; if( !isPlayer _shooter && { GVAR(enabled) < 2 } ) exitWith { false }; -private["_config", "_enabled", "_target", "_seekerType", "_attackProfile", "_laserCode", "_laserInfo"]; +private["_config", "_configs", "_enabled", "_target", "_seekerType", "_attackProfile"]; private["_args", "_canUseLock", "_guidingUnit", "_launchPos", "_lockMode", "_targetPos", "_vanillaTarget"]; PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); @@ -15,7 +15,9 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); // Bail on not missile if(! (_ammo isKindOf "MissileBase") ) exitWith { false }; -_config = configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON); +_configs = configProperties [configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON), "true", false]; +if( (count _configs) < 1) exitWith {}; +_config = (configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON)); _enabled = getNumber ( _config >> "enabled"); // Bail if guidance is not enabled From bed298d5b3886ff40c9ef0132adeefbec415dd1e Mon Sep 17 00:00:00 2001 From: Tachii Date: Fri, 1 May 2015 21:38:05 +0300 Subject: [PATCH 232/478] Update stringtable.xml --- addons/respawn/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index c5f1a2bc28..9df36736c0 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -33,7 +33,7 @@ Teleport to Rallypoint Zum Rallypoint teleportieren - Телепортироваться на раллипоинт + Телепортироваться на точку сбора Teleported to Base From 5bf763a08e29a51cf710f99415820fb56ad6b1d8 Mon Sep 17 00:00:00 2001 From: jaynus Date: Fri, 1 May 2015 11:47:49 -0700 Subject: [PATCH 233/478] quote, not var. --- addons/missileguidance/functions/fnc_onFired.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index bea7ce123e..6068e36e3f 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -29,7 +29,7 @@ _seekerType = (vehicle _shooter) getVariable [QGVAR(seekerType), nil]; _attackProfile = (vehicle _shooter) getVariable [QGVAR(attackProfile), nil]; _lockMode = (vehicle _shooter) getVariable [QGVAR(lockMode), nil]; -_laserCode = (vehicle _shooter) getVariable [EGVAR(laser,code), ACE_DEFAULT_LASER_CODE]; +_laserCode = (vehicle _shooter) getVariable [QEGVAR(laser,code), ACE_DEFAULT_LASER_CODE]; _laserInfo = [_laserCode, ACE_DEFAULT_LASER_WAVELENGTH, ACE_DEFAULT_LASER_WAVELENGTH]; _launchPos = getPosASL (vehicle _shooter); From dcb3196e58b327addcbb159cf470ef7506ed7044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bla=C5=BEek?= Date: Fri, 1 May 2015 20:52:41 +0200 Subject: [PATCH 234/478] Czech strings --- addons/advanced_ballistics/stringtable.xml | 2 ++ addons/interact_menu/stringtable.xml | 13 +++++++++++++ addons/optionsmenu/stringtable.xml | 2 ++ addons/respawn/stringtable.xml | 8 ++++++++ addons/weather/stringtable.xml | 1 + 5 files changed, 26 insertions(+) diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index b88e569fdf..21f589360e 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -4,6 +4,7 @@ Show Wind Info Pokaż inf. o wietrze + Zobrazit větrné info Mostra indicazioni del vento Показать информацию о ветре Afficher les info sur le vent @@ -14,6 +15,7 @@ Show Protractor Pokaż kątomierz + Zobrazit úhloměr Mostra il rapportatore Показать транспортир Afficher le rapporteur diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index ca53f840bc..1981f3bc6f 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -20,6 +20,7 @@ Mostra sempre il cursore per le interazioni Zawsze wyświetlaj kursor dla interakcji Показывать курсор (взаимодействие) + Vždy zobrazovat kurzor pro interakci Immer den Cursor für Fremd-Interaktionen anzeigen Mindig legyen a cselekvés kurzorja látható @@ -30,6 +31,7 @@ Afficher le menu d'interaction sous forme de liste Mostra il menù di interazione come lista Wyświetlaj menu interakcji jako listę + Zobrazit menu interakce jako seznam Interaktionsmenü in Listen anzeigen Cselekvő menük listaként való megjelenítése @@ -84,6 +86,7 @@ Interaction - Text Max Interakcja - Tekst max + Interakce - Text max Interaction - Texte Max Interaktionstextfarbe Max Interazioni - Testo Massimo @@ -94,6 +97,7 @@ Interaction - Text Min Interakcja - Tekst min + Interakce - Text min Interaction - Texte Min Interaktionstextfarbe Min Interazioni - Testo Minimo @@ -104,6 +108,7 @@ Interaction - Shadow Max Interakcja - Cień max + Interakce - Stíny max Interaction - Ombre Max Interaktionstextschatten Max Interazioni - Ombra Massima @@ -114,6 +119,7 @@ Interaction - Shadow Min Interakcja - Cień min + Interakce - Stíny min Interaction - Ombre Min Interaktionstextschatten Min Interazioni - Ombra Minima @@ -128,9 +134,11 @@ Cursor zentriert halten Kurzor középen tartása Utrzymaj kursor wyśrodkowany + Kurzor vždy na středu Keeps cursor centered and pans the option menu around. Useful if screen size is limited. + Udržuje kurzor na středu. Užitečné, pokud je velikost obrazovky omezena. Garde le curseur au milieu et dispose le menu des options autour. Utile si la taille de l'écran est limitée. Центрирует курсор и двигает само меню опций. Полезно при ограниченном размере экрана. Hält den Cursor zentriert und verschiebt das Menü beim Bewegen. Nützlich bei kleinen Bildschirmen. @@ -141,29 +149,34 @@ Do action when releasing menu key Aktion nach Loslassen der Taste ausführen Wykonuj akcje po puszczeniu klawisza menu + Vyvolá akci po uvolnění tlačítka menu Action au relachement de touche Выполнять действие при отпускании кнопки взаимодействия Interaction Text Size + Velikost textu v menu interakce Menü-Schriftgröße Taille du texte d'interaction Размер текста (меню взаимодействия) Interaction Text Shadow + Stíny v menu interakce Menü-Hintergrundschatten Ombre du texte d'interaction Тень от текста (меню взаимодействия) Allows controlling the text's shadow. Outline ignores custom shadow colors. + Umožňuje změnit stíny textu v menu interakce. Barva stínu je u tahu písma ignorována. Stellt den Hintergrundschatten ein. Die Einstellung 'Kontur' ignoriert die Farbe des Schattens. Permet de controler l'ombre du texte. Le contour ne prend pas en compte la couleur des ombres. Дает возможность изменять тень, отбрасываемую текстом. Контур не зависит от выбранного цвета тени. Outline + Tah Kontur Contour Контур diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 93a5f64cb9..e5c2c376d9 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -139,6 +139,7 @@ Introducir cadena de texto. Строчный ввод. Wpisywanie tekstu. + Vkládání textu. Entrée String bevitel. Stringa di unput. @@ -232,6 +233,7 @@ Option Menu UI Scaling Menu option: taille de l'UI Skalowanie UI menu ustawień + Měřítko UI v menu nastavení Размер интерфейса меню настройки Opción de escalado del menú IU UI Skalierung diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 8735d6521d..1f47bdfdce 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -27,10 +27,12 @@ Teleport to Base + Teleportovat na základnu Zur Basis teleportieren Teleport to Rallypoint + Teleportovat na rallypoint Zum Rallypoint teleportieren @@ -66,6 +68,7 @@ Point de ralliement OUEST (Base) Rallypoint West (Base) Gyülekezőpont, Nyugat (Bázis) + Rallypoint BLUFOR (Base) Rallypoint East (Base) @@ -76,6 +79,7 @@ Point de ralliement EST (Base) Rallypoint East (Base) Gyülekezőpont, Kelet (Bázis) + Rallypoint OPFOR (Base) Rallypoint Independent (Base) @@ -86,6 +90,7 @@ Point de ralliement Indépendant (Base) Rallypoint Independent (Base) Gyülekezőpont, Független (Bázis) + Rallypoint INDFOR (Base) Rallypoint West @@ -96,6 +101,7 @@ Point de ralliement OUEST Rallypoint West Gyülekezőpont, Nyugat + Rallypoint BLUFOR Rallypoint East @@ -106,6 +112,7 @@ Point de ralliement EST Rallypoint East Gyülekezőpont, Kelet + Rallypoint OPFOR Rallypoint Independent @@ -116,6 +123,7 @@ Point de ralliement Indépendant Rallypoint Independent Gyülekezőpont, Független + Rallypoint INDFOR diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index 0b891b3a78..2f16260df3 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -4,6 +4,7 @@ Show Wind Info Pokaż inf. o wietrze + Zobrazit větrné info Показать информацию о ветре Afficher information sur le vent Mostrar información del viento From c1ba4966f9905e0dd4bdd6ab2f27020eac33cefe Mon Sep 17 00:00:00 2001 From: jaynus Date: Fri, 1 May 2015 11:53:55 -0700 Subject: [PATCH 235/478] Test confirm no bouncy. --- addons/missileguidance/functions/fnc_onFired.sqf | 3 ++- addons/missileguidance/functions/fnc_seekerType_SALH.sqf | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 6068e36e3f..c5053c6e73 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -29,7 +29,8 @@ _seekerType = (vehicle _shooter) getVariable [QGVAR(seekerType), nil]; _attackProfile = (vehicle _shooter) getVariable [QGVAR(attackProfile), nil]; _lockMode = (vehicle _shooter) getVariable [QGVAR(lockMode), nil]; -_laserCode = (vehicle _shooter) getVariable [QEGVAR(laser,code), ACE_DEFAULT_LASER_CODE]; +// @TODO: make this vehicle shooter, but we need to differentiate where its set in ace_laser +_laserCode = _shooter getVariable [QEGVAR(laser,code), ACE_DEFAULT_LASER_CODE]; _laserInfo = [_laserCode, ACE_DEFAULT_LASER_WAVELENGTH, ACE_DEFAULT_LASER_WAVELENGTH]; _launchPos = getPosASL (vehicle _shooter); diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index 8465a2ee94..6297d21dfa 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -8,8 +8,8 @@ _launchParams = _this select 1; _seekerParams = _launchParams select 3; _angleFov = _seekerParams select 0; -_laserParams = _launchParams select 5; - +_laserParams = (_launchParams select 1) select 5; +TRACE_2("", _launchParams, _laserParams); if(!isNil "_target") then { // Handle AI or moving vanilla lasers _foundTargetPos = getPosASL _target; From 6603806c7720e1a9377305e19b762f1ebe07b33d Mon Sep 17 00:00:00 2001 From: jaynus Date: Fri, 1 May 2015 12:00:21 -0700 Subject: [PATCH 236/478] Revert "Save and replay valid awake animations" This reverts commit 8d1ac26e245a319d36dfc0a6159c4b2e5be632ae. --- addons/common/functions/fnc_getDeathAnim.sqf | 2 +- .../common/functions/fnc_loadPersonLocal.sqf | 6 --- .../medical/functions/fnc_setUnconscious.sqf | 10 ++-- .../medical/functions/fnc_unconsciousPFH.sqf | 46 ++++--------------- 4 files changed, 14 insertions(+), 50 deletions(-) diff --git a/addons/common/functions/fnc_getDeathAnim.sqf b/addons/common/functions/fnc_getDeathAnim.sqf index 6e26add999..3f056e9362 100644 --- a/addons/common/functions/fnc_getDeathAnim.sqf +++ b/addons/common/functions/fnc_getDeathAnim.sqf @@ -31,7 +31,7 @@ if ((vehicle _unit) != _unit) then { _interpolateArray = getArray (_unitAnimationCfg >> "interpolateTo"); for "_index" from 0 to (count _interpolateArray - 1) step 2 do { _indexAnimation = _interpolateArray select _index; - //No guarentee that first animation will be right so scan for the first "terminal" animation + //No guarentee that first animation will be right so scan for the first scan for the first "terminal" animation //E.G.: interpolateTo[] = {"passenger_apc_generic04still",1,"KIA_passenger_apc_generic04",1}; if ((getNumber ((configFile >> "CfgMovesMaleSdr" >> "States" >> _indexAnimation) >> "terminal")) == 1) exitWith { diff --git a/addons/common/functions/fnc_loadPersonLocal.sqf b/addons/common/functions/fnc_loadPersonLocal.sqf index a4084287b7..6e31050cf9 100644 --- a/addons/common/functions/fnc_loadPersonLocal.sqf +++ b/addons/common/functions/fnc_loadPersonLocal.sqf @@ -30,12 +30,6 @@ if (!([_unit] call FUNC(isAwake))) then { _vehicle = _this select 1; waituntil {vehicle _unit == _vehicle}; sleep 0.5; - - //Save the "awake" animation before applying the death animation - if (vehicle _unit == _vehicle) then { - _unit setVariable [QEGVAR(medical,vehicleAwakeAnim), [_vehicle, (animationState _unit)]]; - }; - [_unit,([_unit] call FUNC(getDeathAnim)), 1] call FUNC(doAnimation); }; } else { diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 2bd22ac3d0..0e0e6cf67e 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -17,7 +17,7 @@ #define DEFAULT_DELAY (round(random(10)+5)) -private ["_unit", "_set", "_originalPos", "_startingTime","_minWaitingTime"]; +private ["_unit", "_set", "_animState", "_originalPos", "_startingTime","_minWaitingTime"]; _unit = _this select 0; _set = if (count _this > 1) then {_this select 1} else {true}; _minWaitingTime = if (count _this > 2) then {_this select 2} else {DEFAULT_DELAY}; @@ -69,11 +69,7 @@ if (vehicle _unit == _unit) then { }; // We are storing the current animation, so we can use it later on when waking the unit up inside a vehicle -if (vehicle _unit != _unit) then { - _unit setVariable [QGVAR(vehicleAwakeAnim), [(vehicle _unit), (animationState _unit)]]; -}; - -//Save current stance: +_animState = animationState _unit; _originalPos = unitPos _unit; _unit setUnitPos "DOWN"; @@ -98,7 +94,7 @@ _anim = [_unit] call EFUNC(common,getDeathAnim); _startingTime = time; -[DFUNC(unconsciousPFH), 0.1, [_unit, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler; +[DFUNC(unconsciousPFH), 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler; // unconscious can't talk [_unit, "isUnconscious"] call EFUNC(common,muteUnit); diff --git a/addons/medical/functions/fnc_unconsciousPFH.sqf b/addons/medical/functions/fnc_unconsciousPFH.sqf index 0db57876c9..bf328648d5 100644 --- a/addons/medical/functions/fnc_unconsciousPFH.sqf +++ b/addons/medical/functions/fnc_unconsciousPFH.sqf @@ -13,14 +13,15 @@ #include "script_component.hpp" -private ["_unit", "_minWaitingTime", "_slotInfo", "_hasMovedOut", "_parachuteCheck", "_args", "_originalPos", "_startingTime", "_awakeInVehicleAnimation", "_oldVehicleAnimation", "_vehicle"]; +private ["_unit", "_minWaitingTime", "_oldAnimation", "_hasMovedOut", "_parachuteCheck", "_args", "_originalPos", "_startingTime"]; _args = _this select 0; _unit = _args select 0; -_originalPos = _args select 1; -_startingTime = _args select 2; -_minWaitingTime = _args select 3; -_hasMovedOut = _args select 4; -_parachuteCheck = _args select 5; +_oldAnimation = _args select 1; +_originalPos = _args select 2; +_startingTime = _args select 3; +_minWaitingTime = _args select 4; +_hasMovedOut = _args select 5; +_parachuteCheck = _args select 6; if (!alive _unit) exitwith { if (GVAR(moveUnitsFromGroupOnUnconscious)) then { @@ -50,37 +51,10 @@ if !(_unit getvariable ["ACE_isUnconscious",false]) exitwith { [_unit,"amovppnemstpsnonwnondnon", 2] call EFUNC(common,doAnimation); }; } else { - _vehicle = vehicle _unit; - _oldVehicleAnimation = _unit getVariable [QGVAR(vehicleAwakeAnim), []]; - _awakeInVehicleAnimation = ""; - if (((count _oldVehicleAnimation) > 0) && {(_oldVehicleAnimation select 0) == _vehicle}) then { - _awakeInVehicleAnimation = _oldVehicleAnimation select 1; - }; - //Make sure we have a valid, non-terminal animation: - if ((_awakeInVehicleAnimation != "") && {(getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> _awakeInVehicleAnimation >> "terminal")) == 0}) then { - [_unit, _awakeInVehicleAnimation, 2] call EFUNC(common,doAnimation); - } else { - //Don't have a valid animation saved, reset the unit animation with a moveInXXX - TRACE_1("No Valid Animation, doing seat reset", _awakeInVehicleAnimation); - _slotInfo = []; - {if ((_x select 0) == _unit) exitWith {_slotInfo = _x;};} forEach (fullCrew _vehicle); - if (_slotInfo isEqualTo []) exitWith {ERROR("No _slotInfo?");}; - //Move the unit out: - _unit setPosASL ((getPosASL _unit) vectorAdd [0,0,100]); - //Move the unit back into old seat: - if ((_slotInfo select 1) == "driver") then { - _unit moveInDriver _vehicle; - } else { - if ((_slotInfo select 1) == "cargo") then { - _unit moveInCargo [_vehicle, (_slotInfo select 2)]; - } else { - _unit moveInTurret [_vehicle, (_slotInfo select 3)]; - }; - }; - }; + // Switch to the units original animation, assuming + // TODO: what if the unit switched vehicle? + [_unit, _oldAnimation, 2] call EFUNC(common,doAnimation); }; - _unit setVariable [QGVAR(vehicleAwakeAnim), nil]; - ["medical_onUnconscious", [_unit, false]] call EFUNC(common,globalEvent); // EXIT PFH [(_this select 1)] call cba_fnc_removePerFrameHandler; From 2bd0acb621d86d986d51f8326da5bd830125df45 Mon Sep 17 00:00:00 2001 From: jaynus Date: Fri, 1 May 2015 12:00:38 -0700 Subject: [PATCH 237/478] Revert "GetDeathAnim" This reverts commit 0f736ae684f2dbf4400068c608bb66fee6cd7ae5. --- addons/common/functions/fnc_getDeathAnim.sqf | 65 +++++++++----------- 1 file changed, 29 insertions(+), 36 deletions(-) diff --git a/addons/common/functions/fnc_getDeathAnim.sqf b/addons/common/functions/fnc_getDeathAnim.sqf index 3f056e9362..d5185e6562 100644 --- a/addons/common/functions/fnc_getDeathAnim.sqf +++ b/addons/common/functions/fnc_getDeathAnim.sqf @@ -1,45 +1,38 @@ -/* - * Author: Glowbal, PabstMirror - * Get the death animation for the unit at current time +/** + * fn_getDeathAnim.sqf + * @Descr: Get the death animation for the unit at current time + * @Author: Glowbal * - * Arguments: - * 0: unit - * - * Return Value: - * animation - * - * Example: - * [bob] call ace_common_fnc_getDeathAnim; - * - * Public: No + * @Arguments: [unit OBJECT] + * @Return: STRING animation + * @PublicAPI: true */ #include "script_component.hpp" -PARAMS_1(_unit); +private ["_unit", "_curAnim", "_animation", "_cfg","_unitAnimation", "_animationState"]; +_unit = _this select 0; -private ["_returnAnimation", "_animationState", "_unitAnimationCfg", "_unitActionsCfg", "_interpolateArray", "_indexAnimation", "_index"]; - -_returnAnimation = ""; - -_animationState = (animationState _unit); -_unitAnimationCfg = (configFile >> "CfgMovesMaleSdr" >> "States" >> _animationState); -_unitActionsCfg = (configFile >> "CfgMovesBasic" >> "Actions" >> (getText (_unitAnimationCfg >> "actions"))); - -TRACE_2("Animation/Action", configName _unitAnimationCfg, configName _unitActionsCfg); - -if ((vehicle _unit) != _unit) then { - _interpolateArray = getArray (_unitAnimationCfg >> "interpolateTo"); - for "_index" from 0 to (count _interpolateArray - 1) step 2 do { - _indexAnimation = _interpolateArray select _index; - //No guarentee that first animation will be right so scan for the first scan for the first "terminal" animation - //E.G.: interpolateTo[] = {"passenger_apc_generic04still",1,"KIA_passenger_apc_generic04",1}; - - if ((getNumber ((configFile >> "CfgMovesMaleSdr" >> "States" >> _indexAnimation) >> "terminal")) == 1) exitWith { - _returnAnimation = _indexAnimation; +if (vehicle _unit != _unit) exitwith { + _animation = ""; + _animationState = (animationState _unit); + _unitAnimation = (configFile >> "CfgMovesMaleSdr" >> "States" >> _animationState); + if (isText (_unitAnimation >> "actions")) then { + if ((vehicle _unit) != _unit) then { + _cfg = (configFile >> "CfgMovesMaleSdr" >> "States" >> _animationState); + if (isArray (_cfg >> "interpolateTo")) then { + _animation = getArray (_cfg >> "interpolateTo") select 0; + }; + } else { + _cfg = (configFile >> "CfgMovesBasic" >> "Actions" >> (getText (_unitAnimation >> "actions")) >> "die"); + if (isText _cfg) then { + _animation = getText _cfg; + }; }; }; -} else { - _returnAnimation = getText (_unitActionsCfg >> "die"); + if (isnil "_animation") then { + _animation = ""; + }; + _animation; }; -_returnAnimation +"Unconscious"; From d12c7ff04850e56c1183adff86604f0ce54d875b Mon Sep 17 00:00:00 2001 From: licht-im-Norden87 Date: Fri, 1 May 2015 21:25:39 +0200 Subject: [PATCH 238/478] Update Stringtable: Rallypoint Angleichung --- addons/respawn/stringtable.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 623b20dcc5..0d33e379a8 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -16,7 +16,7 @@ Rallypoint deployed Point de ralliement déployé - Rallypoint errichtet + Sammelpunkt errichtet Punto de reunión desplegado Точка сбора установлена Punkt zbiórki rozmieszczony @@ -35,7 +35,7 @@ Teleport to Rallypoint Teleportovat na rallypoint - Zum Rallypoint teleportieren + Zum Sammelpunkt teleportieren Teleport do punktu zbiórki Телепортироваться на точку сбора @@ -54,7 +54,7 @@ Teleported to Rallypoint Téléporté au point de déploiement - Zum Rallypoint teleportiert + Zum Sammelpunkt teleportiert Teletransportado al punto de reunión Телепорт на точку сбора Przeteleportowano do punktu zbiórki From 5e8096f29ce63513bf02ddc2e323910db752b71c Mon Sep 17 00:00:00 2001 From: licht-im-Norden87 Date: Fri, 1 May 2015 21:29:49 +0200 Subject: [PATCH 239/478] Update Stringtable: missileguidance --- addons/missileguidance/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 0420f3cc9d..fac53325f4 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -19,7 +19,7 @@ Guida dei missili avanzata, o AMG, offre diversi miglioramenti alla teleguida di missili. E' anche un sistema necessario per i tipi di armi missile. Продвинутое наведение ракет, или ПНР, обеспечивает множество усовершествований для наведения и стрельбы ракет. Также, это система, необходимая для всех ракетных типов оружия. Guiado Avanzado de Misiles, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un sistema requerido para armas de tipo misil. - Das Erweiterte Raketenlenksystem, auch AMG genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. + Das Erweiterte Raketenlenksystem, auch ERls genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. A fejlett rakétairányító (vagy AMG) többféle módosítást tartalmaz a rakéták célkövetéséhez és tüzeléséhez. Ez egy szükséges keresztrendszer a rakéta-alapú fegyverekhez. From bded34fa23777992af8807a70764680f29861cea Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 1 May 2015 15:03:05 -0500 Subject: [PATCH 240/478] I suck at git redo reverted stuff here --- .../medical/functions/fnc_setUnconscious.sqf | 8 +++- .../medical/functions/fnc_unconsciousPFH.sqf | 46 +++++++++++++++---- 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 0e0e6cf67e..72d297b2c8 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -69,7 +69,11 @@ if (vehicle _unit == _unit) then { }; // We are storing the current animation, so we can use it later on when waking the unit up inside a vehicle -_animState = animationState _unit; +if (vehicle _unit != _unit) then { + _unit setVariable [QGVAR(vehicleAwakeAnim), [(vehicle _unit), (animationState _unit)]]; +}; + +//Save current stance: _originalPos = unitPos _unit; _unit setUnitPos "DOWN"; @@ -94,7 +98,7 @@ _anim = [_unit] call EFUNC(common,getDeathAnim); _startingTime = time; -[DFUNC(unconsciousPFH), 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler; +[DFUNC(unconsciousPFH), 0.1, [_unit, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler; // unconscious can't talk [_unit, "isUnconscious"] call EFUNC(common,muteUnit); diff --git a/addons/medical/functions/fnc_unconsciousPFH.sqf b/addons/medical/functions/fnc_unconsciousPFH.sqf index bf328648d5..0db57876c9 100644 --- a/addons/medical/functions/fnc_unconsciousPFH.sqf +++ b/addons/medical/functions/fnc_unconsciousPFH.sqf @@ -13,15 +13,14 @@ #include "script_component.hpp" -private ["_unit", "_minWaitingTime", "_oldAnimation", "_hasMovedOut", "_parachuteCheck", "_args", "_originalPos", "_startingTime"]; +private ["_unit", "_minWaitingTime", "_slotInfo", "_hasMovedOut", "_parachuteCheck", "_args", "_originalPos", "_startingTime", "_awakeInVehicleAnimation", "_oldVehicleAnimation", "_vehicle"]; _args = _this select 0; _unit = _args select 0; -_oldAnimation = _args select 1; -_originalPos = _args select 2; -_startingTime = _args select 3; -_minWaitingTime = _args select 4; -_hasMovedOut = _args select 5; -_parachuteCheck = _args select 6; +_originalPos = _args select 1; +_startingTime = _args select 2; +_minWaitingTime = _args select 3; +_hasMovedOut = _args select 4; +_parachuteCheck = _args select 5; if (!alive _unit) exitwith { if (GVAR(moveUnitsFromGroupOnUnconscious)) then { @@ -51,10 +50,37 @@ if !(_unit getvariable ["ACE_isUnconscious",false]) exitwith { [_unit,"amovppnemstpsnonwnondnon", 2] call EFUNC(common,doAnimation); }; } else { - // Switch to the units original animation, assuming - // TODO: what if the unit switched vehicle? - [_unit, _oldAnimation, 2] call EFUNC(common,doAnimation); + _vehicle = vehicle _unit; + _oldVehicleAnimation = _unit getVariable [QGVAR(vehicleAwakeAnim), []]; + _awakeInVehicleAnimation = ""; + if (((count _oldVehicleAnimation) > 0) && {(_oldVehicleAnimation select 0) == _vehicle}) then { + _awakeInVehicleAnimation = _oldVehicleAnimation select 1; + }; + //Make sure we have a valid, non-terminal animation: + if ((_awakeInVehicleAnimation != "") && {(getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> _awakeInVehicleAnimation >> "terminal")) == 0}) then { + [_unit, _awakeInVehicleAnimation, 2] call EFUNC(common,doAnimation); + } else { + //Don't have a valid animation saved, reset the unit animation with a moveInXXX + TRACE_1("No Valid Animation, doing seat reset", _awakeInVehicleAnimation); + _slotInfo = []; + {if ((_x select 0) == _unit) exitWith {_slotInfo = _x;};} forEach (fullCrew _vehicle); + if (_slotInfo isEqualTo []) exitWith {ERROR("No _slotInfo?");}; + //Move the unit out: + _unit setPosASL ((getPosASL _unit) vectorAdd [0,0,100]); + //Move the unit back into old seat: + if ((_slotInfo select 1) == "driver") then { + _unit moveInDriver _vehicle; + } else { + if ((_slotInfo select 1) == "cargo") then { + _unit moveInCargo [_vehicle, (_slotInfo select 2)]; + } else { + _unit moveInTurret [_vehicle, (_slotInfo select 3)]; + }; + }; + }; }; + _unit setVariable [QGVAR(vehicleAwakeAnim), nil]; + ["medical_onUnconscious", [_unit, false]] call EFUNC(common,globalEvent); // EXIT PFH [(_this select 1)] call cba_fnc_removePerFrameHandler; From f5303d455c6e4f592a3b0121c83e07cf46f3ba75 Mon Sep 17 00:00:00 2001 From: adam3adam Date: Fri, 1 May 2015 22:23:03 +0200 Subject: [PATCH 241/478] Translation of some stuff into czech language adv. ballistics, atragmx, interaction menu, kestrel4500, laser pointer and little part of medical --- addons/advanced_ballistics/stringtable.xml | 2 ++ addons/atragmx/stringtable.xml | 7 +++++-- addons/interact_menu/stringtable.xml | 7 +++++-- addons/kestrel4500/stringtable.xml | 8 +++++++- addons/laserpointer/stringtable.xml | 7 +++++-- addons/medical/stringtable.xml | 14 ++++++++++++-- 6 files changed, 36 insertions(+), 9 deletions(-) diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index b88e569fdf..787d5932b8 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -10,6 +10,7 @@ Mostrar información del viento Windinformationen anzeigen Széladatok mutatása + Ukázat informace o větru Show Protractor @@ -20,6 +21,7 @@ Mostrar transportador Winkelmesser anzeigen Szögmérő mutatása + Ukázat úhloměr \ No newline at end of file diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index 95dbc74844..fefcc2c7e5 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -22,6 +22,7 @@ ATragMX öffnen Apri ATragMX ATragMX elővétele + Otevřít ATragMX Rugged PDA with ATragMX @@ -32,6 +33,7 @@ PDA avec ATragMX PDA Robusto con ATragMX Megerősített PDA, ATragMX-el + PDA s ATragMX Open ATragMX @@ -42,6 +44,7 @@ ATragMX öffnen Apri ATragMX ATragMX elővétele + Otevřít ATragMX - + \ No newline at end of file diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index ca53f840bc..fd47a209ab 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -22,6 +22,7 @@ Показывать курсор (взаимодействие) Immer den Cursor für Fremd-Interaktionen anzeigen Mindig legyen a cselekvés kurzorja látható + Stále ukazovat kursor myši při interakci Display interaction menus as lists @@ -32,6 +33,7 @@ Wyświetlaj menu interakcji jako listę Interaktionsmenü in Listen anzeigen Cselekvő menük listaként való megjelenítése + Ukázat interakční menu jako list Interact Key @@ -143,6 +145,7 @@ Wykonuj akcje po puszczeniu klawisza menu Action au relachement de touche Выполнять действие при отпускании кнопки взаимодействия + Provést akci při pustění klávesy menu Interaction Text Size @@ -169,4 +172,4 @@ Контур - + \ No newline at end of file diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index b2aec1cbd3..57d5d728c8 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -23,6 +23,7 @@ Kestrel 4500 Indicatore Meteorologico Tascabile Kestrel 4500 Medidor Balístico Ativo Kestrel 4500 kézi szél-és időjárásmérő + Kestrel 4500 kapesní anemometr Open Kestrel 4500 @@ -34,6 +35,7 @@ Abrir Kestrel 4500 Kestrel 4500 öffnen Abrir Kestrel 4500 + Otevřít Kestrel 4500 Show Kestrel 4500 @@ -44,6 +46,7 @@ Mostrar Kestrel 4500 Kestrel 4500 anzeigen Kestrel 4500 mutatása + Ukázat Kestrel 4500 Hide Kestrel 4500 @@ -54,6 +57,7 @@ Ocultar Kestrel 4500 Kestrel 4500 wegstecken Kestrel 4500 elrejtése + Schovat Kestrel 4500 Open Kestrel 4500 @@ -64,6 +68,7 @@ Abrir Kestrel 4500 Kestrel 4500 öffnen Kestrel 4500 elővétele + Otevřít Kestrel 4500 Show Kestrel 4500 @@ -74,6 +79,7 @@ Mostrar Kestrel 4500 Kestrel 4500 anzeigen Kestrel 4500 mutatása + Ukázat Kestrel 4500 - + \ No newline at end of file diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index a5b16428de..66e93eaad6 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -58,6 +58,7 @@ Láser Laser Lézer + Laser IR Laser @@ -68,9 +69,10 @@ Láser IR Laser IR Infravörös Lézer + Infačervený laser - Switch Laser / IR Laser + Switch Laser / Infračervený Laser Umschalten Laser / IR-Laser Przełącz Laser / Laser IR Изменить режим Лазер / ИК-лазер @@ -78,6 +80,7 @@ Alterna Laser / IR Laser Cambiar láser / Láser IR Lézer / Infravörös Lézer váltása + Přepnout Laser/ IR laser - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 247459152c..93044cc4e2 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -10,6 +10,7 @@ OBRAŻENIA HERIDAS SÉRÜLÉSEK + ZRANĚNÍ No injuries on this bodypart ... @@ -20,6 +21,7 @@ Brak obrażeń na tej części ciała ... Sin heridas en esta parte del cuerpo ... Ezen a testrészen nincs sérülés ... + Žádná zranění na této části těla Litter Simulation Detail @@ -30,6 +32,7 @@ Niveau de simulation des détritus Abfall-Detaillevel Hulladékszimuláció részletessége + Úroveň počtu zobrazených předmětů z použitých léků Litter simulation detail level sets the number of litter items which will be locally spawned in the client. Excessive amounts in local areas could cause FPS lag, so this is a client only setting. @@ -40,6 +43,7 @@ Le niveau de simulation des détritus règle la quantité de déchets qui vont être créés localement chez le client. Des quantitées excessive chez certains clients peuvent causer des chutes de FPS, c'est donc une option client uniquement. Die Einstellung für das Abfall-Detaillevel stellt die Menge der lokal erzeugten medizinischen Abfälle ein. Zuviel erzeugte Abfälle können FPS-Lags erzeugen, deswegen ist diese Einstellung nur clientseitig. A hulladékszimuláció részletessége megszabja a kliens által megjelenített hulladékobjektumok mennyiségét. Súlyos mennyiségek izolált területeken alacsony FPS-t okozhatnak, így ez egy kliensoldali beállítás. + Úroveň počtu zobrazených předmětů z použitých léků ovlivňuje počet objektů, které budou zobrazeny klientovi . Vyšší množství objektů může způsobovat poklesy FPS a proto je toto nastavení čistě na klientovi. Inject Atropine @@ -409,6 +413,7 @@ Brak wpisów w tej karcie segregacyjnej. Sin entradas en esta tarjeta de clasificación. Ez az orvosi lap nem tartalmaz bejegyzést. + Na kartě raněných nejsou žádné záznamy Tourniquet @@ -443,6 +448,7 @@ Diagnoza Diagnosticar Diagnosztizálás + Diagnóza Diagnosing ... @@ -453,6 +459,7 @@ Diagnozowanie ... Diagnosticando ... Diagnózis folyamatban... + Zjišťuji diagnózu ... CPR @@ -463,6 +470,7 @@ RKO RCP Újraélesztés + KPR Performing CPR ... @@ -473,6 +481,7 @@ Przeprowadzanie RKO ... Realizando RCP ... Újraélesztés folyamatban... + Provádění KPR Give Blood IV (1000ml) @@ -772,6 +781,7 @@ Sebesülések befedésére alkalmas Usato per coprire una ferita Usado para cobrir um ferimento + Slouží k překrytí poranění A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. @@ -2433,4 +2443,4 @@ Лечение ... - + \ No newline at end of file From e8ccddfc2ca11b5d2d1935a4c3180317becbb73f Mon Sep 17 00:00:00 2001 From: Glowbal Date: Fri, 1 May 2015 22:29:52 +0200 Subject: [PATCH 242/478] Added missing progress bar display text --- addons/medical/ACE_Medical_Treatments.hpp | 1 + addons/medical/stringtable.xml | 3 +++ 2 files changed, 4 insertions(+) diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index 8a42bbbb68..3f5212ad71 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -250,6 +250,7 @@ class ACE_Medical_Actions { treatmentTime = 2.5; callbackSuccess = QUOTE(DFUNC(actionRemoveTourniquet)); condition = QUOTE([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo)); + displayNameProgress = "$STR_ACE_Medical_RemovingTourniquet"; }; class CPR: fieldDressing { displayName = "$STR_ACE_Medical_Actions_CPR"; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 247459152c..bc05ac0158 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -2432,5 +2432,8 @@ Traitement ... Лечение ... + + Removing Tourinquet ... + From 8828704e7627b4999d6f8e784398974f82c85882 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 1 May 2015 22:32:53 +0200 Subject: [PATCH 243/478] PL translation STR_ACE_Medical_RemovingTourniquet --- addons/medical/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index bc05ac0158..470574bf77 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -2434,6 +2434,7 @@ Removing Tourinquet ... + Zdejmowanie stazy ... From 1a946acc30d383110b8f0d12341e12102263ada1 Mon Sep 17 00:00:00 2001 From: bux578 Date: Fri, 1 May 2015 22:33:26 +0200 Subject: [PATCH 244/478] German Translation / Typo --- addons/medical/stringtable.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index bc05ac0158..db54bb0347 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -2433,7 +2433,8 @@ Лечение ... - Removing Tourinquet ... + Removing Tourniquet ... + Tourniquet entfernen ... From 6f2caec6ec82f93eb44ad67e9478b6d161fbd456 Mon Sep 17 00:00:00 2001 From: Dimaslg Date: Fri, 1 May 2015 22:42:09 +0200 Subject: [PATCH 245/478] Last touches to Spanish translation --- addons/interact_menu/stringtable.xml | 7 +++++++ addons/medical/stringtable.xml | 6 ++++++ addons/optionsmenu/stringtable.xml | 2 +- addons/respawn/stringtable.xml | 2 ++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index ca53f840bc..43fae0ef8f 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -128,6 +128,7 @@ Cursor zentriert halten Kurzor középen tartása Utrzymaj kursor wyśrodkowany + Mantener el cursor centrado Keeps cursor centered and pans the option menu around. Useful if screen size is limited. @@ -136,6 +137,7 @@ Hält den Cursor zentriert und verschiebt das Menü beim Bewegen. Nützlich bei kleinen Bildschirmen. Középen tartja a kurzort, és a menüelemeket mozgatja. Hasznos lehetőség korlátozott képméretnél. Utrzymuje kursor na środku ekranu, zamiast tego ruch myszą powoduje przesuwanie menu interakcji. Użyteczne w przypadku kiedy rozmiar ekranu jest ograniczony. + Mantiene el cursor centrado y despliega los menús alrededor. Útil si el tamaño de la pantalla es limitado. Do action when releasing menu key @@ -143,30 +145,35 @@ Wykonuj akcje po puszczeniu klawisza menu Action au relachement de touche Выполнять действие при отпускании кнопки взаимодействия + Realizar la acción al soltar la tecla menu Interaction Text Size Menü-Schriftgröße Taille du texte d'interaction Размер текста (меню взаимодействия) + Tamaño del texto de interacción Interaction Text Shadow Menü-Hintergrundschatten Ombre du texte d'interaction Тень от текста (меню взаимодействия) + Sombra del texto de interacción Allows controlling the text's shadow. Outline ignores custom shadow colors. Stellt den Hintergrundschatten ein. Die Einstellung 'Kontur' ignoriert die Farbe des Schattens. Permet de controler l'ombre du texte. Le contour ne prend pas en compte la couleur des ombres. Дает возможность изменять тень, отбрасываемую текстом. Контур не зависит от выбранного цвета тени. + Permite contolar la sombra del texto. El contorno ignora los colores personalizados de la sombra. Outline Kontur Contour Контур + Contorno diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 247459152c..4e5c3f0cd3 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1679,6 +1679,7 @@ Sok vért vesztett Stracił sporo krwi Большая кровопотеря + Ha perdido mucha sangre He hasn't lost blood @@ -2072,6 +2073,7 @@ Style de menu (Médical) Menü-Stil (Medical) Вид меню (медицина) + Tipo de menú (Medico) Select the type of menu you prefer; default 3d selections or radial. @@ -2079,6 +2081,7 @@ Selctionne le type de menu préféré; par défaut la sélection 3D ou radiale Wähle den Menü-Stil: Standard 3D-Selektion oder kreisförmig. Выберите тип меню: стандартный вариант (3D) или радиальный + Selecciona el tipo de menú que prefieres: selecciones 3d por defecto o radial. Selections (3d) @@ -2086,6 +2089,7 @@ sélections (3D) 3D-Selektion Стандартный (3D) + Selecciones (3d) Radial @@ -2093,6 +2097,7 @@ Radiale Kreisförmig Радиальный + Radial Scrape @@ -2431,6 +2436,7 @@ Leczenie ... Traitement ... Лечение ... + Tratando ... diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 93a5f64cb9..d34b8c36a6 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -124,7 +124,7 @@ Open Export Menu Öffne Exportmenü - Abrir menu de exportación + Abrir menú de exportación Открыть меню экспорта Otevřít exportovací menu Otwórz menu eksportowania diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 8735d6521d..7691283673 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -28,10 +28,12 @@ Teleport to Base Zur Basis teleportieren + Treletransportar a Base Teleport to Rallypoint Zum Rallypoint teleportieren + Teletransportar a Punto de reunión Teleported to Base From 3b321c7bf25bc21c6a155895e9d536436720eef7 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 1 May 2015 22:46:51 +0200 Subject: [PATCH 246/478] PL translation laser --- addons/laser/stringtable.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index 5eb1e23f1f..2ff902fef3 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -3,12 +3,15 @@ Laser Code + Kod lasera Laser - Cycle Code Up + Laser - Następny kod Laser - Cycle Code Down + Laser - Poprzedni kod - \ No newline at end of file + From 09a0158fa4398bbaf92d9f3169a65eaab6c87b5c Mon Sep 17 00:00:00 2001 From: Glowbal Date: Fri, 1 May 2015 22:49:13 +0200 Subject: [PATCH 247/478] This should not be 1 --- addons/medical/CfgVehicles.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 26420688d8..4054a2ee1e 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -304,7 +304,7 @@ class CfgVehicles { }; class doctor { name = "Doctor (Only Advanced Medics)"; - value = 1; + value = 2; }; }; }; From 339cd8febdd5bf4b1787067a4dd533c090c23183 Mon Sep 17 00:00:00 2001 From: Dimaslg Date: Fri, 1 May 2015 22:49:52 +0200 Subject: [PATCH 248/478] Add spanish translation for removing tournis --- addons/medical/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 9123434985..c43584266e 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -2442,6 +2442,7 @@ Removing Tourniquet ... Tourniquet entfernen ... Zdejmowanie stazy ... + Quitando torniquete ... From d1da3a82d75a2a8c16cf1a6cf92acc7694dc7084 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Fri, 1 May 2015 23:08:36 +0200 Subject: [PATCH 249/478] French : update / fix stringtable --- addons/medical/stringtable.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index c43584266e..c8881bbd33 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1669,7 +1669,7 @@ Ha perdido un poco de sangre Есть кровопотеря Er hat etwas Blut verloren - Il à perdu du sang + Il a perdu du sang Stracił trochę krwi Valamennyi vért vesztett @@ -1680,13 +1680,14 @@ Stracił sporo krwi Большая кровопотеря Ha perdido mucha sangre + Il a perdu beaucoup de sang He hasn't lost blood Non ha perso sangue Нет кровопотери Er hat kein Blut verloren - il n'a pas perdu de sang + Il n'a pas perdu de sang Nie stracił krwi No ha perdido sangre Nem vesztett vért @@ -1696,7 +1697,7 @@ è affetto da dolore Испытывает боль Er hat Schmerzen - il souffre + Il souffre Odczuwa ból Siente dolor Fájdalmai vannak @@ -2443,6 +2444,7 @@ Tourniquet entfernen ... Zdejmowanie stazy ... Quitando torniquete ... + Retire le tourniquet ... From 7e12c9731747518eff58835ffa12cfe0185a5f41 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Fri, 1 May 2015 23:09:09 +0200 Subject: [PATCH 250/478] French : update / fix stringtable --- addons/laser/stringtable.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index 2ff902fef3..a612d9877a 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -4,14 +4,17 @@ Laser Code Kod lasera + Code laser Laser - Cycle Code Up Laser - Następny kod + Laser - Code + Laser - Cycle Code Down Laser - Poprzedni kod + Laser - Code - From 2d1af98af5458402cc73214347b80dce0b5764d2 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 1 May 2015 23:09:30 +0200 Subject: [PATCH 251/478] Add nikolauska to AUTHORS Also remove Bla's email address as per request. --- AUTHORS.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index 9d41ad267f..766812b673 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -88,4 +88,5 @@ Coren OnkelDisMaster Dimaslg VyMajoris(W-Cephei) -Bla1337 +Bla1337 +nikolauska From 6f5e64b4a51c61153d77c5d608d863d2856aa9c0 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Fri, 1 May 2015 23:10:06 +0200 Subject: [PATCH 252/478] French : update / fix stringtable --- addons/respawn/stringtable.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 735ec58e82..b49cc31212 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -32,6 +32,7 @@ Treletransportar a Base Teleport do bazy Телепортироваться на базу + Téléportation à la base Teleport to Rallypoint @@ -40,6 +41,7 @@ Zum Sammelpunkt teleportieren Teleport do punktu zbiórki Телепортироваться на точку сбора + Téléporation au point de ralliement Teleported to Base From 60c02f40514517eb62e00a8d7df7d8a7760e75b1 Mon Sep 17 00:00:00 2001 From: Tachii Date: Sat, 2 May 2015 00:21:00 +0300 Subject: [PATCH 253/478] added 2 missing ru strings --- addons/laser/stringtable.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index a612d9877a..c363f45235 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -5,16 +5,19 @@ Laser Code Kod lasera Code laser + Лазерный код Laser - Cycle Code Up Laser - Następny kod Laser - Code + + Лазер - увеличить частоту Laser - Cycle Code Down Laser - Poprzedni kod Laser - Code - + Лазер - уменьшить частоту From 1189bd69e6ab6ed4deed81019d0ed4eb26ad9ffd Mon Sep 17 00:00:00 2001 From: adam3adam Date: Fri, 1 May 2015 23:27:28 +0200 Subject: [PATCH 254/478] Added author adam3adam added --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 9d41ad267f..30fc4d7bc2 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -89,3 +89,4 @@ OnkelDisMaster Dimaslg VyMajoris(W-Cephei) Bla1337 +adam3adam \ No newline at end of file From c1d87f2a754cb046fbd76b15b9a2b843e007f24e Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Fri, 1 May 2015 23:50:27 +0200 Subject: [PATCH 255/478] PL translation interaction --- addons/interaction/stringtable.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 5b375908c5..b9c7717e60 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -568,34 +568,42 @@ Assign Red Asignar a rojo + Przydziel do czerwonych Assign Green Asignar a verde + Przydziel do zielonych Assign Blue Asignar a azul + Przydziel do niebieskich Assign Yellow Asignar a amarillo + Przydziel do żółtych Join Red Unirse a rojo + Dołącz do czerwonych Join Green Unirse a verde + Dołącz do zielonych Join Blue Unirse a azul + Dołącz do niebieskich Join Yellow Unirse a amarillo + Dołącz do żółtych You joined Team %1 From 1d3f5cc3123073f8f68e4bdaa159bfab4b262566 Mon Sep 17 00:00:00 2001 From: Lukas Date: Sat, 2 May 2015 00:04:50 +0200 Subject: [PATCH 256/478] Czceh translation --- AUTHORS.txt | 1 + addons/advanced_ballistics/stringtable.xml | 2 + addons/atragmx/stringtable.xml | 6 +- addons/ballistics/stringtable.xml | 116 ++++++++++++++++++-- addons/interact_menu/stringtable.xml | 15 ++- addons/javelin/stringtable.xml | 6 +- addons/kestrel4500/stringtable.xml | 8 +- addons/laserpointer/stringtable.xml | 5 +- addons/logistics_wirecutter/stringtable.xml | 6 +- addons/medical/stringtable.xml | 101 ++++++++++++++++- addons/respawn/stringtable.xml | 14 ++- addons/weather/stringtable.xml | 1 + 12 files changed, 252 insertions(+), 29 deletions(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index 9d41ad267f..6f41cd3ab4 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -89,3 +89,4 @@ OnkelDisMaster Dimaslg VyMajoris(W-Cephei) Bla1337 +Professor diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index b88e569fdf..d06e937e10 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -10,6 +10,7 @@ Mostrar información del viento Windinformationen anzeigen Széladatok mutatása + Zobrazit informace o větru Show Protractor @@ -20,6 +21,7 @@ Mostrar transportador Winkelmesser anzeigen Szögmérő mutatása + Zobrazit úhloměr \ No newline at end of file diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index 95dbc74844..3ad896d66a 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -22,6 +22,7 @@ ATragMX öffnen Apri ATragMX ATragMX elővétele + Otevřít ATragMX Rugged PDA with ATragMX @@ -42,6 +43,7 @@ ATragMX öffnen Apri ATragMX ATragMX elővétele + Otevřít ATragMX - + \ No newline at end of file diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 63fd999703..0aefa7d9c2 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -9,7 +9,7 @@ Cargador de 30 balas trazadoras IR-DIM de 6,5mm Ch. 6,5mm 30Cps Traçantes IR-DIM Magazynek 6,5mm 30rd Smugacz IR-DIM - 6.5mm 30ks Svítící IR-DIM Zásobník + 6.5mm 30náb. Svítící IR-DIM Zásobník Carregador de 30 projéteis traçantes IR-DIM de 6,5mm Caricatore 6.5mm 30Rnd Traccianti IR-DIM Магазин из 30-ти 6,5 мм ИК-трассирующих @@ -45,7 +45,7 @@ Cargador de 30 balas SD de 6,5mm Ch. 6,5mm 30Cps SD Magazynek 6,5mm 30rd SD - 6.5mm 30ks SD Zásobník + 6.5mm 30náb. SD Zásobník Carregador de 30 projéteis SD de 6,5mm Caricatore 6.5mm 30Rnd Sil. Магазин из 30-ти 6,5 мм дозвуковых @@ -81,7 +81,7 @@ Cargador de 30 balas AP de 6,5mm Ch. 6,5mm 30Cps AP Magazynek 6,5mm 30rd AP - 6.5mm 30ks AP Zásobník + 6.5mm 30náb. AP Zásobník Carregador de 30 projéteis AP de 6,5mm Caricatore 6.5mm 30Rnd AP Магазин из 30-ти 6,5 мм бронебойных @@ -118,7 +118,7 @@ Cargador de 30 balas trazadoras IR-DIM de 6,5mm Ch. 6,5mm 30Cps Traçantes IR-DIM Magazynek 6,5mm 30rd Smugacz IR-DIM - 6.5mm 30ks Svítící IR-DIM Zásobník + 6.5mm 30náb. Svítící IR-DIM Zásobník Carregador de 30 projéteis traçantes IR-DIM de 6,5mm Caricatore 6.5mm 30Rnd Traccianti IR-DIM Магазин из 30-ти 6,5 мм ИК-трассирующих @@ -154,7 +154,7 @@ Cargador de 30 balas SD de 6,5mm Ch. 6,5mm 30Cps SD Magazynek 6,5mm 30rd SD - 6.5mm 30ks SD Zásobník + 6.5mm 30náb. SD Zásobník Carregador de 30 projéteis SD de 6,5mm Caricatore 6.5mm 30Rnd Sil. Магазин из 30-ти 6,5 мм дозвуковых @@ -190,7 +190,7 @@ Cargador de 30 balas AP de 6,5mm Ch. 6,5mm 30Cps AP Magazynek 6,5mm 30rd AP - 6.5mm 30ks AP Zásobník + 6.5mm 30náb. AP Zásobník Carregador de 30 projéteis AP de 6,5mm Caricatore 6.5mm 30Rnd AP Магазин из 30-ти 6,5 мм бронебойных @@ -227,7 +227,7 @@ Cargador de 30 balas trazadoras IR-DIM de 5,56mm Ch. 5,56mm 30Cps Traçantes IR-DIM Magazynek 5,56mm 30rd Smugacz IR-DIM - 5.56mm 30ks Svítící IR-DIM Zásobník + 5.56mm 30náb. Svítící IR-DIM Zásobník Carregador de 30 projéteis traçantes IR-DIM de 5,56mm Caricatore 5.56mm 30rnd Traccianti IR-DIM Магазин из 30-ти 5,56 мм ИК-трассирующих @@ -264,7 +264,7 @@ Cargador de 20 balas trazadores de 7,62mm Ch. 7,62mm 20Cps Traçantes Magazynek 7,62mm 20rd Smugacz - 7.62mm 20ks Svítící Zásobník + 7.62mm 20náb. Svítící Zásobník Carregador de 20 projéteis traçantes de 7,62mm Caricatore 7.62mm 20Rnd Traccianti Магазин из 20-ти 7,62 мм трассирующих @@ -300,7 +300,7 @@ Cargador de 20 balas trazadoras IR-DIM de 7,62mm Ch. 7,62mm 20Cps Traçantes IR-DIM Magazynek 7,62mm 20rd Smugacz IR-DIM - 7.62mm 20ks Svítící IR-DIM Zásobník + 7.62mm 20náb. Svítící IR-DIM Zásobník Carregador de 20 projéteis IR-DIM de 7,62mm Caricatore 7.62mm 20rnd Traccianti IR-DIM Магазин из 20-ти 7,62 мм ИК-трассирующих @@ -336,7 +336,7 @@ Cargador de 20 balas SD de 7,62mm Ch. 7,62mm 20Cps SD Magazynek 7,62mm 20rd SD - 7.62mm 20ks SD Zásobník + 7.62mm 20náb. SD Zásobník Carregador de 20 projéteis SD de 7,62mm Caricatore 7.62mm 20Rnd Sil. Магазин из 20-ти 7,62 мм дозвуковых @@ -374,6 +374,7 @@ Cinta de 130 balas trazadoras de .338 NM Лента из 130-ти .338 NM трассирующих .338 NM 130Rnd Tracciante Belt + .338 NM 130náb. Svítící Pás .338 NM Tracer @@ -393,6 +394,7 @@ Calibre: .338 Norma Magnum trazadora<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum трассирующие<br />Патронов: 130<br />Используются в: SPMG Calibro: .338 Norma Magnum Tracciante<br />Munizioni: 130<br />In uso su: SPMG + Ráže: .338 Noma Magnum Svítící<br />Munice: 130<br />Použití: SPMG .338 NM 130Rnd IR-DIM Belt @@ -402,6 +404,7 @@ Cinta de 130 balas IR-DIM de .338 NM Лента из 130-ти .338 NM ИК-трассирующих .338 NM 130Rnd IR-DIM Belt + .338 NM 130náb. IR-DIM Pás .338 NM IR-DIM @@ -421,6 +424,7 @@ Calibre: .338 Norma Magnum trazadora IR-DIM<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum ИК-трассирующие<br />Патронов: 130<br />Используются с: SPMG Calibro: .338 Norma Magnum Tracciante IR-DIM<br />Munizioni: 130<br />In uso su: SPMG + Ráže: .338 Noma Magnum Svítící IR-DIM<br />Munice: 130<br />Použití: SPMG .338 NM 130Rnd AP Belt @@ -430,6 +434,7 @@ Cinta de 130 balas AP de .338 NM Лента из 130-ти .338 NM бронебойных .338 NM 130Rnd AP Belt + .338 NM 130náb. AP Pás .338 NM AP @@ -449,6 +454,7 @@ Calibre: .338 Norma Magnum AP<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum бронебойные<br />Патронов: 130<br />Используются с: SPMG Calibro: .338 Norma Magnum AP<br />Munizioni: 130<br />In uso su: SPMG + Ráže: .338 Noma Magnum AP<br />Munice: 130<br />Použití: SPMG @@ -459,6 +465,7 @@ Cargador de 10 balas trazadoras de 9.3mm Магазин из 10-ти 9,3 мм трассирующих 9.3mm 10Rnd Tracer Mag + 9.3mm 10Rnd Svítící Zásobník 9.3mm Tracer @@ -478,6 +485,7 @@ Calibre: 9.3x64mm trazadora<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм трассирующие<br />Патронов: 10<br />Используются с: Cyrus Calibro: 9.3x64mm Tracer<br />Munizioni: 10<br />In uso su: Cyrus + Ráže: 9.3x64mm Svítící<br />Munice: 10<br />Použití: Cyrus 9.3mm 10Rnd Tracer IR-DIM Mag @@ -487,6 +495,7 @@ Cargador de 10 balas trazadoras IR-DIM de 9.3mm Магазин из 10-ти 9,3 мм ИК-трассирующих 9.3mm 10Rnd Tracciante IR-DIM Mag + 9.3mm 10náb. Svítící IR-DIM Zásobník 9.3mm IR-DIM @@ -506,6 +515,7 @@ Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 10<br />Используются с: Cyrus Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 10<br />In uso su: Cyrus + Ráže: 9.3x64mm Svítící IR-DIM<br />Munice: 10<br />Použití: Cyrus @@ -516,6 +526,7 @@ Cinta de 150 balas trazadoras de 9.3mm Лента из 150-ти 9,3 мм трассирующих 9.3mm 150Rnd Tracer Belt + 9.3mm 150náb. Svítící Pás 9.3mm Tracer @@ -535,6 +546,7 @@ Calibre: 9.3x64mm trazadora<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм трассирующие<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm Tracciante<br />Munizioni: 150<br />In uso su: Navid + Ráže: 9.3x64mm Svítící<br />Munice: 150<br />Použití: Navid 9.3mm 150Rnd Tracer IR-DIM Belt @@ -544,6 +556,7 @@ Cinta de 150 balas trazadoras IR-DIM de 9.3mm Лента из 150-ти 9,3 мм ИК-трассирующих 9.3mm 150Rnd Tracciante IR-DIM Belt + 9.3mm 150náb. Svítící IR-DIM Pás 9.3mm IR-DIM @@ -563,6 +576,7 @@ Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 150<br />In uso su: Navid + Ráže: 9.3x64mm Svítící IR-DIM<br />Munice: 150<br />Použití: Navid 9.3mm 150Rnd AP Belt @@ -572,6 +586,7 @@ Cinta de 150 balas AP de 9.3mm Лента из 150-ти 9,3 мм бронебойных 9.3mm 150Rnd AP Belt + 9.3mm 150náb. AP Pás 9.3mm AP @@ -591,6 +606,7 @@ Calibre: 9.3x64mm AP<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм бронебойные<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm AP<br />Munizioni: 150<br />In uso su: Navid + Ráže: 9.3x64mm AP<br />Munice: 150<br />Použití: Navid 9x19mm 16Rnd Mag @@ -600,6 +616,7 @@ Магазин из 16-ти 9х19 мм 9x19mm 20-Patronen-Magazin 9x19mm 16Rnd Mag + 9x19mm 16náb. Zásobník 9x19mm @@ -609,6 +626,7 @@ 9х19 мм 9x19mm 9x19mm + 9x19mm 9x19mm 30Rnd Mag @@ -618,6 +636,7 @@ Магазин из 16-ти 9х19 мм 9x19mm 30-Patronen-Magazin 9x19mm 30Rnd Mag + 9x19mm 30náb. Zásobník 9x19mm 30Rnd Mag @@ -627,6 +646,7 @@ Магазин из 30-ти 9х19 мм 9x19mm 30-Patronen-Magazin 9x19mm 30Rnd Mag + 9x19mm 30náb. Zásobník 9x19mm @@ -636,6 +656,7 @@ 9х19 мм 9x19mm 9x19mm + 9x19mm 9x19mm 30Rnd Mag @@ -645,6 +666,7 @@ Магазин из 30-ти 9х19 мм 9x19mm 30-Patronen-Magazin 9x19mm 30Rnd Mag + 9x19mm 30náb. Zásobník 7.62x54mm 10Rnd Tracer Mag @@ -654,6 +676,7 @@ Магазин из 10-ти 7,62 мм ИК-трассирующих 7,62x54mm 10-Patronen-Magazin Leuchtspur 7.62x54mm 10Munizioni Traccianti IR-DIM Mag + 7.62x54mm 10náb. Svítící Zásobník 7.62mm @@ -663,6 +686,7 @@ 7,62 мм 7,62x54mm 7.62mm IR-DIM + 7.62mm 7.62x54mm 10Rnd Tracer Mag @@ -672,6 +696,7 @@ Магазин из 10-ти 7,62 мм ИК-трассирующих 7,62x54mm 10-Patronen-Magazin Leuchtspur 7.62x54mm 10Munizioni Traccianti IR-DIM Mag + 7.62x54mm 10náb. Svítící Zásobník 6.5mm 100Rnd Tracer IR-DIM Mag @@ -681,6 +706,7 @@ Магазин из 100 6,5 мм ИК-трассирующих 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur 6.5mm 100Munizioni Traccianti IR-DIM Mag + 6.5mm 100náb. Svítící IR-DIM Zásobník 6.5mm IR-DIM @@ -690,6 +716,7 @@ 6,5 мм ИК-трассирующие 6,5mm IR-DIM 6.5mm IR-DIM + 6.5mm IR-DIM 6.5mm 100Rnd Tracer IR-DIM Mag<br />Rounds: 100<br />Used in: MX LSW @@ -699,6 +726,7 @@ Магазин из 100 6,5 мм ИК-трассирующих 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur<br />Patronen: 100<br />Eingesetzt von: MXLSW 6.5mm 100Rnd Tracer IR-DIM Mag<br />Munizioni: 100<br />In uso su: MX LSW + 6.5mm 100náb. Svítící IR-DIM Zásobník<br />Munice: 100<br />Použití: MX LSW 6.5mm 200Rnd Tracer IR-DIM Belt @@ -708,6 +736,7 @@ Магазин из 200-т 6,5 мм ИК-трассирующих 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur 6.5mm 200Rnd Tracer IR-DIM Belt + 6.5mm 200náb. Svítící IR-DIM Pás 6.5mm IR-DIM @@ -717,6 +746,7 @@ 6,5 мм ИК-трассирующие 6,5mm IR-DIM 6.5mm IR-DIM + 6.5mm IR-DIM 6.5mm 200Rnd Tracer IR-DIM Belt<br />Rounds: 200<br />Used in: Stoner 99 LMG @@ -726,6 +756,7 @@ Магазин из 200-т 6,5 мм ИК-трассирующих 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur<br />Patronen: 200<br />Eingesetzt von: Stoner 99 LMG 6.5mm 200Rnd Tracer IR-DIM Belt<br />Munizioni: 200<br />In uso su: Stoner 99 LMG + 6.5mm 200náb. Svítící IR-DIM Pás<br />Munice: 200<br />Použití: Stoner 99 LMG 5.56mm 30Rnd Mag (Mk262) @@ -735,6 +766,7 @@ Магазин из 30-ти 5.56 мм Mk262 5,56mm 30-Patronen-Magazin (Mk262) 5.56mm 30Rnd Mag (Mk262) + 5.56mm 30náb. Zásobník (Mk262) 5.56mm Mk262 @@ -744,6 +776,7 @@ 5,56 мм Mk262 5,56mm Mk262 5.56mm Mk262 + 5.56mm Mk262 Caliber: 5.56x45mm NATO (Mk262)<br />Rounds: 30 @@ -753,6 +786,7 @@ Калибр: 5,56x45 мм NATO (Mk262)<br />Патронов: 30 Kaliber: 5,56x45mm NATO (Mk262)<br />Patronen: 30 Calibro: 5.56x45 mm NATO (Mk262)<br />Munizioni: 30 + Ráže: 5.56x45mm NATO (Mk262)<br />Munice: 30 5.56mm 30Rnd Mag (Mk318) @@ -762,6 +796,7 @@ Магазин из 30-ти 5.56 мм (Mk318) 5,56mm 30-Patronen-Magazin (Mk318) 5.56mm 30Rnd Mag (Mk318) + 5.56mm 30Rnd Zásobník (Mk318) 5.56mm Mk318 @@ -771,6 +806,7 @@ 5.56 мм Mk318 5,56mm Mk318 5.56mm Mk318 + 5.56mm Mk318 Caliber: 5.56x45mm NATO (Mk318)<br />Rounds: 30 @@ -780,6 +816,7 @@ Калибр: 5,56x45 мм NATO (Mk318)<br />Патронов: 30 Kaliber: 5,56x45mm NATO (Mk318)<br />Patronen: 30 Calibro: 5.56x45 mm NATO (Mk318)<br />Munizioni: 30 + Ráže: 5.56x45mm NATO (Mk318)<br />Munice: 30 5.56mm 30Rnd Mag (M995 AP) @@ -789,6 +826,7 @@ Магазин из 30-ти 5.56 мм (M995 бронебойные) 5,56mm 30-Patronen-Magazin (M995AP) 5.56mm 30Rnd Mag (M995 AP) + 5.56mm 30náb. Zásobník (M995 AP) 5.56mm AP @@ -798,6 +836,7 @@ 5.56 мм бронебойные 5,56mm AP 5.56mm AP + 5.56mm AP Caliber: 5.56x45mm NATO (M995 AP)<br />Rounds: 30 @@ -807,6 +846,7 @@ Калибр: 5,56x45 мм NATO (M995 бронебойные)<br />Патронов: 30 Kaliber: 5,56x45mm NATO (M995 AP)<br />Patronen: 30 Calibro: 5.56x45 mm NATO (M995 AP)<br />Munizioni: 30 + Ráže: 5.56x45mm NATO (M995 AP)<br />Munice: 30 7.62mm 10Rnd Mag (M118LR) @@ -816,6 +856,7 @@ Магазин из 10-ти 7,62 мм (M118LR) 7,62mm 10-Patronen-Magazin (M118LR) 7.62mm 10Rnd Mag (M118LR) + 7.62mm 10náb. Zásobník (M118LR) 7.62mm M118LR @@ -825,6 +866,7 @@ 7,62 мм M118LR 7,62mm M118LR 7.62mm M118LR + 7.62mm M118LR Caliber: 7.62x51mm NATO (M118LR)<br />Rounds: 10 @@ -834,6 +876,7 @@ Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (M118LR)<br />Munizioni: 10 + Ráže: 7.62x51mm NATO (M118LR)<br />Munice: 10 7.62mm 20Rnd Mag (M118LR) @@ -843,6 +886,7 @@ Магазин из 20-ти 7,62 мм (M118LR) 7,62mm 20-Patronen-Magazin (M118LR) 7.62mm 20Rnd Mag (M118LR) + 7.62mm 20náb. Zásobník (M118LR) 7.62mm M118LR @@ -852,6 +896,7 @@ 7,62 мм M118LR 7,62mm M118LR 7.62mm M118LR + 7.62mm M118LR Caliber: 7.62x51mm NATO (M118LR)<br />Rounds: 20 @@ -861,6 +906,7 @@ Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (M118LR)<br />Munizioni: 20 + Ráže: 7.62x51mm NATO (M118LR)<br />Munice: 20 7.62mm 10Rnd Mag (Mk316 Mod 0) @@ -870,6 +916,7 @@ Магазин из 10-ти 7,62 мм (Mk316 Mod 0) 7,62mm 10-Patronen-Magazin (Mk316 Mod 0) 7.62mm 10Rnd Mag (Mk316 Mod 0) + 7.62mm 10náb. Zásobník (Mk316 Mod 0) 7.62mm Mk316 @@ -879,6 +926,7 @@ 7,62 мм Mk316 7,62mm Mk316 7.62mm Mk316 + 7.62mm Mk316 Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 10 @@ -888,6 +936,7 @@ Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (Mk316 Mod 0)<br />Munizioni: 10 + Ráže: 7.62x51mm NATO (Mk316 Mod 0)<br />Munice: 10 7.62mm 20Rnd Mag (Mk316 Mod 0) @@ -897,6 +946,7 @@ Магазин из 20-ти 7,62 мм (Mk316 Mod 0) 7,62mm 20-Patronen-Magazin (Mk316 Mod 0) 7.62mm 20Rnd Mag (Mk316 Mod 0) + 7.62mm 20náb. Zásobník (Mk316 Mod 0) 7.62mm Mk316 @@ -906,6 +956,7 @@ 7,62 мм Mk316 7,62mm Mk316 7.62mm Mk316 + 7.62mm Mk316 Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 20 @@ -915,6 +966,7 @@ Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (Mk316 Mod 0)<br />Munizioni: 20 + Ráže: 7.62x51mm NATO (Mk316 Mod 0)<br />Munice: 20 7.62mm 10Rnd Mag (Mk319 Mod 0) @@ -924,6 +976,7 @@ Магазин из 10-ти 7,62 мм (Mk319 Mod 0) 7,62mm 10-Patronen-Magazin (Mk319 Mod 0) 7.62mm 10Rnd Mag (Mk319 Mod 0) + 7.62mm 10náb. Zásobník (Mk319 Mod 0) 7.62mm Mk319 @@ -933,6 +986,7 @@ 7,62 мм Mk319 7,62mm Mk319 7.62mm Mk319 + 7.62mm Mk319 Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 10 @@ -942,6 +996,7 @@ Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (Mk319 Mod 0)<br />Munizioni: 10 + Ráže: 7.62x51mm NATO (Mk319 Mod 0)<br />Munice: 10 7.62mm 20Rnd Mag (Mk319 Mod 0) @@ -951,6 +1006,7 @@ Магазин из 20-ти 7,62 мм (Mk319 Mod 0) 7,62mm 20-Patronen-Magazin (Mk319 Mod 0) 7.62mm 20Rnd Mag (Mk319 Mod 0) + 7.62mm 20náb. Zásobník (Mk319 Mod 0) 7.62mm Mk319 @@ -960,6 +1016,7 @@ 7,62 мм Mk319 7,62mm Mk319 7.62mm Mk319 + 7.62mm Mk319 Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 20 @@ -969,6 +1026,7 @@ Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (Mk319 Mod 0)<br />Munizioni: 20 + Ráže: 7.62x51mm NATO (Mk319 Mod 0)<br />Munice: 20 7.62mm 10Rnd Mag (M993 AP) @@ -978,6 +1036,7 @@ Магазин из 10-ти 7,62 мм (M993 бронебойные) 7,62mm 10-Patronen-Magazin (M993 AP) 7.62mm 10Rnd Mag (M993 AP) + 7.62 10náb. Zásobník (M993 AP) 7.62mm AP @@ -987,6 +1046,7 @@ 7,62mm бронебойные 7,62mm AP 7.62mm AP + 7.62mm AP Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 10 @@ -996,6 +1056,7 @@ Калибр: 7,62x51 мм NATO (M993 бронебойные)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 10 + Ráže: 7.62x51mm NATO (M993 AP)<br />Munice: 10 7.62mm 20Rnd Mag (M993 AP) @@ -1005,6 +1066,7 @@ Магазин из 20-ти 7,62 мм (M993 бронебойные) 7,62mm 20-Patronen-Magazin (M993 AP) 7.62mm 20Rnd Mag (M993 AP) + 7.62mm 20náb. Zásobník (M993 AP) 7.62mm AP @@ -1014,6 +1076,7 @@ 7,62 мм бронебойные 7,62mm AP 7.62mm AP + 7.62mm AP Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 20 @@ -1023,6 +1086,7 @@ Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 20 Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 20 + Ráže: 7.62x51mm NATO (M993 AP)<br />Munice: 20 7.62mm 20Rnd Mag (Mk248 Mod 0) @@ -1032,6 +1096,7 @@ Магазин из 20-ти 7,62 мм (Mk248 Mod 0) 7,62mm 20-Patronen-Magazin (Mk248 Mod 0) 7.62mm 20Rnd Mag (Mk248 Mod 0) + 7.62mm 20náb. Zásobník (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) @@ -1041,6 +1106,7 @@ 7,62 мм (Mk248 Mod 0) 7,62mm (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) + 7.62mm (Mk248 Mod 0) Caliber: 7.62x67mm NATO (Mk248 Mod 0)<br />Rounds: 20 @@ -1050,6 +1116,7 @@ Калибр: 7,62x67 мм NATO (Mk248 Mod 0)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk248 Mod 0)<br />Patronen: 20 Calibro: 7.62x67 mm NATO (Mk248 Mod 0)<br />Munizioni: 20 + Ráže: 7.62x67mm NATO (Mk248 Mod 0)<br />Munice: 20 7.62mm 20Rnd Mag (Mk248 Mod 1) @@ -1059,6 +1126,7 @@ Магазин из 20-ти 7,62 мм (Mk248 Mod 1) 7,62mm 20-Patronen-Magazin (Mk248 Mod 1) 7.62mm 20Rnd Mag (Mk248 Mod 1) + 7.62mm 20náb. Zásobník (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) @@ -1068,6 +1136,7 @@ 7,62 мм (Mk248 Mod 1) 7,62mm (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) + 7.62mm (Mk248 Mod 1) Caliber: 7.62x67mm NATO (Mk248 Mod 1)<br />Rounds: 20 @@ -1077,6 +1146,7 @@ Калибр: 7,62x67 мм NATO (Mk248 Mod 1)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk248 Mod 1)<br />Patronen: 20 Calibro: 7.62x67 mm NATO (Mk248 Mod 1)<br />Munizioni: 20 + Ráže: 7.62x67mm NATO (Mk248 Mod 1)<br />Munice: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) @@ -1086,6 +1156,7 @@ Магазин из 20-ти 7,62 мм (Berger Hybrid OTM) 7,62mm 20-Patronen-Magazin (Berger Hybrid OTM) 7.62mm 20Rnd Mag (Berger Hybrid OTM) + 7.62mm 20náb. Zásobník (Berger Hybrid OTM) 7.62mm (OTM) @@ -1095,6 +1166,7 @@ 7,62 мм (OTM) 7,62mm (OTM) 7.62mm (OTM) + 7.62mm (OTM) Caliber: 7.62x67mm NATO (Berger Hybrid OTM)<br />Rounds: 20 @@ -1104,6 +1176,7 @@ Калибр: 7,62x67 мм NATO (Berger Hybrid OTM)<br />Патронов: 20 Kaliber: 7,62x67mm NATO (Berger Hybrid OTM)<br />Patronen: 20 Calibro: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Munizioni: 20 + Ráže: 7.62x67mm NATO (Berger Hybrid OTM)<br />Munice: 20 6.5x47mm 30Rnd Mag (HPBT Scenar) @@ -1113,6 +1186,7 @@ Магазин из 30-ти 6,5x47 мм (экспансивные Scenar) 6,5x47mm 30-Patronen-Magazin (HPBT Scenar) 6.5x47mm 30Rnd Mag (HPBT Scenar) + 6.5x47mm 30náb. Zásobník (HPBT Scenar) 6.5mm Lapua @@ -1122,6 +1196,7 @@ 6,5 мм Lapua 6,5mm Lapua 6.5mm Lapua + 6.5mm Lapua Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM @@ -1131,6 +1206,7 @@ Калибр: 6,5x47 мм (экспансивные Scenar)<br />Патронов: 30 Kaliber: 6,5x47mm (HPBT Scenar)<br />Patronen: 30<br />Eingesetzt von: MXM Calibro: 6.5x47mm (HPBT Scenar)<br />Munizioni: 30<br />In uso su: MXM + Ráže: 6.5x47mm (HPBT Scenar)<br />Munice: 30<br />Použití: MXM 6.5mm Creedmor 30Rnd Mag @@ -1140,6 +1216,7 @@ 6,5mm Creedmor 30-Patronen-Magazin Cargador de 30 balas Creedmor de 6.5mm Ch. 6.5mm Creedmor 30Cps + 6.5mm Creedmor 30náb. Zásobník 6.5mm CM @@ -1149,6 +1226,7 @@ 6,5 мм CM 6,5mm CM 6.5mm CM + 6.5mm CM Caliber: 6.5x47mm Creedmor<br />Rounds: 30<br />Used in: MXM @@ -1157,6 +1235,7 @@ Calibre: 6.5x47mm Creedmor <br />Cartouches: 30<br />Utilisé avec: MXM Calibro: 6.5mm Creedmor<br />Munizioni: 30<br />In uso su: MXM Calibre: 6.5mm Creedmor<br />Balas: 30<br />Se usa en: MXM + Ráže: 6.5x47mm Creedmor<br />Munice: 30<br />Použití: MXM .338 10Rnd Mag (300gr Sierra MatchKing HPBT) @@ -1166,6 +1245,7 @@ Магазин из 10-ти .338 (300 гран Sierra MatchKing экспансивные) .338 10-Patronen-Magazin (300gr Sierra MatchKing HPBT) .338 10Munizioni Mag (300gr Sierra MatchKing HPBT) + .338 10náb. Zásobník (300gr Sierra MatchKing HPBT) .338 HPBT @@ -1175,6 +1255,7 @@ .338 экспансивные .338 HPBT .338 (HPBT) + .338 HPBT Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 @@ -1184,6 +1265,7 @@ Калибр: 8,6x70mm (300 гран Sierra MatchKing экспансивные)<br />Патронов: 10 Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Patronen: 10 Calibro: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Munizioni: 10 + Ráže: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Munice: 10 .338 10Rnd Mag (API526) @@ -1193,6 +1275,7 @@ Магазин из 10-ти .338 (API526) .338 10-Patronen-Magazin (API526) .338 10Rnd Mag (API526) + .338 10náb. Zásobník (API526) .338 AP @@ -1202,6 +1285,7 @@ .338 AP .338 AP .338 AP + .338 AP Caliber: 8.6x70mm (API526)<br />Rounds: 10 @@ -1211,6 +1295,7 @@ Калибр: 8,6x70 мм (API526)<br />Патронов: 10 Kaliber: 8,6x70mm (API526)<br />Patronen: 10 Calibro: 8.6x70mm (API526)<br />Munizioni: 10 + Ráže: 8.6x70mm (API526)<br />Munice: 10 12.7x99mm 5Rnd Mag @@ -1220,6 +1305,7 @@ Магазин из 5-ти 12,7x99 мм 12,7x99mm 5-Patronen-Magazin 12.7x99mm 5Rnd Mag + 12.7x99mm 5náb. Zásobník 12.7mm @@ -1229,6 +1315,7 @@ 12,7 мм 12,7mm 12.7mm + 12.7mm Caliber: 12.7x99mm<br />Rounds: 5 @@ -1238,6 +1325,7 @@ Калибр: 12,7x99 мм<br />Патронов: 5 Kaliber: 12,7x99mm<br />Patronen: 5 Calibro: 12.7x99mm<br />Munizioni: 5 + Ráže: 12.7x99mm<br />Munice: 5 12.7x99mm API 5Rnd Mag @@ -1247,6 +1335,7 @@ 12.7x99mm API 5Rnd Mag Магазин из 5-ти 12,7x99 мм (бронебойно-зажигательные) 12,7x99mm 5-Patronen-Magazin (API) + 12.7x99mm API 5náb. Zásobník 12.7mm API @@ -1256,6 +1345,7 @@ 12.7mm API 12.7 мм бронебойно-зажигательные 12,7mm API + 12.7mm API Caliber: 12.7x99mm API<br />Rounds: 5 @@ -1265,6 +1355,7 @@ Калибр: 12,7x99 мм бронебойно-зажигательные<br />Патронов: 5 Kaliber:12,7x99mm API<br />Patronen: 5 Calibro: 12.7x99mm API<br />Munizioni: 5 + Ráže: 12.7x99mm API<br />Munice: 5 12.7x99mm 5Rnd Mag (AMAX) @@ -1274,6 +1365,7 @@ Магазин из 5-ти 12,7x99 мм (A-MAX) 12,7x99mm 5-Patronen-Magazin (AMAX) 12.7x99mm 5Rnd Mag (AMAX) + 12.7x99mm 5náb. Zásobník (AMAX) 12.7mm @@ -1283,6 +1375,7 @@ 12,7 мм 12,7mm 12.7mm + 12.7mm Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 @@ -1292,6 +1385,7 @@ Калибр: 12,7x99 мм (A-MAX)<br />Патронов: 5 Calibro: 12.7x99mm (AMAX)<br />Munizioni: 5 Kaliber:12,7x99mm (AMAX)<br />Patronen: 5 + Ráže: 12.7x99mm (AMAX)<br />Munice: 5 - + \ No newline at end of file diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index ca53f840bc..ffdd82275e 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -22,6 +22,7 @@ Показывать курсор (взаимодействие) Immer den Cursor für Fremd-Interaktionen anzeigen Mindig legyen a cselekvés kurzorja látható + Zobrazit kurzor v menu pro interakci Display interaction menus as lists @@ -32,6 +33,7 @@ Wyświetlaj menu interakcji jako listę Interaktionsmenü in Listen anzeigen Cselekvő menük listaként való megjelenítése + Zobrazit menu interakce jako seznam Interact Key @@ -90,6 +92,7 @@ Взаимодействие - Текст Макс. Interacción - Texto al max. Cselekvés - Szöveg max. + Interakce - Text Max Interaction - Text Min @@ -100,6 +103,7 @@ Взаимодействие - Текст Мин. Interacción - Texto al min. Cselekvés - Szöveg min. + Interakce - Text Min Interaction - Shadow Max @@ -110,6 +114,7 @@ Взаимодействие - Тень Макс. Interacción - Sombras al max. Cselekvés - Árnyék max. + Interakce - Stín Max Interaction - Shadow Min @@ -120,6 +125,7 @@ Взаимодействие - Тень Мин. Interacción - Sombras al min. Cselekvés - Árnyék min. + Interakce - Stín Min Keep cursor centered @@ -128,6 +134,7 @@ Cursor zentriert halten Kurzor középen tartása Utrzymaj kursor wyśrodkowany + Udržuj kurzor na středu Keeps cursor centered and pans the option menu around. Useful if screen size is limited. @@ -143,18 +150,21 @@ Wykonuj akcje po puszczeniu klawisza menu Action au relachement de touche Выполнять действие при отпускании кнопки взаимодействия + Provést akci při pustění klávesy menu Interaction Text Size Menü-Schriftgröße Taille du texte d'interaction Размер текста (меню взаимодействия) + Velikost textu interakce Interaction Text Shadow Menü-Hintergrundschatten Ombre du texte d'interaction Тень от текста (меню взаимодействия) + Stín textu interakce Allows controlling the text's shadow. Outline ignores custom shadow colors. @@ -167,6 +177,7 @@ Kontur Contour Контур + Kontura - + \ No newline at end of file diff --git a/addons/javelin/stringtable.xml b/addons/javelin/stringtable.xml index 3032cd013f..0557968115 100644 --- a/addons/javelin/stringtable.xml +++ b/addons/javelin/stringtable.xml @@ -5,7 +5,7 @@ Lock Target (Hold) Ziel aufschalten Захватить цель (удерживать) - Zamknout cíl(držet) + Zamknout cíl (držet) Namierz cel (przytrzymaj) Verrouiller la cible (maintenir) Célpontra állás (Lenyomva tartott) @@ -17,7 +17,7 @@ Cycle Fire Mode Wechsle Feuermodus Переключение режимов огня - Cyklování režimů palby + Přepínání režimů palby Przełącz tryb ognia Cycle mode de tir Tüzelési mód váltása @@ -26,4 +26,4 @@ Alterar Modo de Disparo - + \ No newline at end of file diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index b2aec1cbd3..df1e1b4703 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -23,6 +23,7 @@ Kestrel 4500 Indicatore Meteorologico Tascabile Kestrel 4500 Medidor Balístico Ativo Kestrel 4500 kézi szél-és időjárásmérő + Kapesní měřič počasí Kestrel 4500 Open Kestrel 4500 @@ -34,6 +35,7 @@ Abrir Kestrel 4500 Kestrel 4500 öffnen Abrir Kestrel 4500 + Otevřít Kestrel 4500 Show Kestrel 4500 @@ -44,6 +46,7 @@ Mostrar Kestrel 4500 Kestrel 4500 anzeigen Kestrel 4500 mutatása + Zobrazit Kestrel 4500 Hide Kestrel 4500 @@ -54,6 +57,7 @@ Ocultar Kestrel 4500 Kestrel 4500 wegstecken Kestrel 4500 elrejtése + Skrýt Kestrel 4500 Open Kestrel 4500 @@ -64,6 +68,7 @@ Abrir Kestrel 4500 Kestrel 4500 öffnen Kestrel 4500 elővétele + Otevřít Kestrel 4500 Show Kestrel 4500 @@ -74,6 +79,7 @@ Mostrar Kestrel 4500 Kestrel 4500 anzeigen Kestrel 4500 mutatása + Zobrazit Kestrel 4500 - + \ No newline at end of file diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index a5b16428de..14128c83c8 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -58,6 +58,7 @@ Láser Laser Lézer + Laser IR Laser @@ -68,6 +69,7 @@ Láser IR Laser IR Infravörös Lézer + IR Laser Switch Laser / IR Laser @@ -78,6 +80,7 @@ Alterna Laser / IR Laser Cambiar láser / Láser IR Lézer / Infravörös Lézer váltása + Přepnout Laser / IR Laser - + \ No newline at end of file diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index fb31506665..c49243d91e 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -18,7 +18,7 @@ Schneidet Draht. Cortador de cables Позволяют быстро перекусывать сеточные конструкции. - Štípačky + Štípací kleště Służą do cięcia drutu i płotów Pince coupante Drótok, huzalok, és kábelek vágására alkalmas olló. @@ -42,7 +42,7 @@ Zaun / Draht schneiden ... Cortando alambrado / cables ... Przecinanie płotu / drutów ... - Přestřihnout plot / dráty ... + Přestřihávám plot / dráty ... Cisaille l'obstacle ... Cortando Cerca / Arame ... Sto tagliando ... @@ -62,4 +62,4 @@ Забор разрезан - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 247459152c..329a117757 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -10,6 +10,7 @@ OBRAŻENIA HERIDAS SÉRÜLÉSEK + ZRANĚNÍ No injuries on this bodypart ... @@ -20,6 +21,7 @@ Brak obrażeń na tej części ciała ... Sin heridas en esta parte del cuerpo ... Ezen a testrészen nincs sérülés ... + Žádné zranění na této části těla ... Litter Simulation Detail @@ -394,7 +396,7 @@ Tarjeta de clasificación Медкарта Karta segregacyjna - Karta Triage + Štítek Carte de triage Orvosi lap Triage Card @@ -409,6 +411,7 @@ Brak wpisów w tej karcie segregacyjnej. Sin entradas en esta tarjeta de clasificación. Ez az orvosi lap nem tartalmaz bejegyzést. + Žádné záznamy na tomto štítku Tourniquet @@ -443,6 +446,7 @@ Diagnoza Diagnosticar Diagnosztizálás + Diagnóza Diagnosing ... @@ -453,6 +457,7 @@ Diagnozowanie ... Diagnosticando ... Diagnózis folyamatban... + Diagnostika ... CPR @@ -463,6 +468,7 @@ RKO RCP Újraélesztés + KPR Performing CPR ... @@ -473,6 +479,7 @@ Przeprowadzanie RKO ... Realizando RCP ... Újraélesztés folyamatban... + Provádím KPR ... Give Blood IV (1000ml) @@ -772,6 +779,7 @@ Sebesülések befedésére alkalmas Usato per coprire una ferita Usado para cobrir um ferimento + Slouží k překrytí poranění A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. @@ -975,6 +983,7 @@ Növeli a szívverést és ellenzi az allergiás reakciók hatásait Aumenta il battito cardiaco e combatte gli effetti di reazioni allergiche. Aumenta a frequência cardíaca e combate efeitos causados por reações alérgicas + Zvyšuje srdeční frekvenci a chrání před alergickými reakcemi A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. @@ -997,6 +1006,7 @@ Vérplazma-infúzió (1000ml) Plasma IV (1000ml) Plasma IV (1000ml) + Krevní plazma (1000ml) A volume-expanding blood supplement. @@ -1030,6 +1040,7 @@ Vérplazma-infúzió (500ml) Plasma IV (500ml) Plasma IV (500ml) + Krevní plazma (500ml) Plasma IV (250ml) @@ -1041,6 +1052,7 @@ Vérplazma-infúzió (250ml) Plasma IV (250ml) Plasma IV (250ml) + Krevní plazma (250ml) Blood IV (1000ml) @@ -1052,6 +1064,7 @@ Vér-infúzió (1000ml) Sangue IV (1000ml) Sangue IV (1000ml) + Krevní transfúze (1000ml) Blood IV, for restoring a patients blood (keep cold) @@ -1063,6 +1076,7 @@ Sangue usato per ripristinare pazienti in cui si è verificata una perdita di sangue (conservare al fresco) Blut IV, Bluthaushalt des Patienten wiederherstellen. (Kühl halten) Sangue intravenoso, para restaurar o volume sanguinio do paciente.(Manter frio) + Krev IV, pro doplňění krve pacienta (udržujte v chladu) O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. @@ -1085,6 +1099,7 @@ Vér-infúzió (500ml) Sangue IV (500ml) Sangue IV (500ml) + Krevní transfúze (500ml) Blood IV (250ml) @@ -1096,6 +1111,7 @@ Vér-infúzió (250ml) Samgue IV (250ml) Sangue IV (250ml) + Krevní transfúze (250ml) Saline IV (1000ml) @@ -1107,6 +1123,7 @@ 0,9%-os sósvíz-infúzió (1000ml) Soluzione salina IV (1000ml) Soro IV (1000ml) + Fyziologický roztok (1000ml) Saline IV, for restoring a patients blood @@ -1140,6 +1157,7 @@ 0,9%-os sósvíz-infúzió (500ml) Soluzione salina IV (500ml) Soro IV (1000ml) + Fyziologický roztok (500ml) Saline IV (250ml) @@ -1151,6 +1169,7 @@ 0,9%-os sósvíz-infúzió (250ml) Soluzione salina IV (250ml) Soro IV (1000ml) + Fyziologický roztok (250ml) Basic Field Dressing (QuikClot) @@ -1195,6 +1214,7 @@ Elsősegélycsomag Pronto soccorso personale Kit De Primeiros Socorros Pessoal + Balíček první pomoci Includes various treatment kit needed for stitching or advanced treatment @@ -1224,6 +1244,7 @@ Użyj apteczki osobistej Usar equipo de primeros auxilios Elsősegélycsomag használata + Použít balíček první pomoci Surgical Kit @@ -1235,6 +1256,7 @@ Sebészeti készlet Kit chirurgico Kit Cirurgico + Chirurgická sada Surgical Kit for in field advanced medical treatment @@ -1246,6 +1268,7 @@ Sebészeti készlet komplex orvosi feladatok terepen való ellátására Kit chirurgico per trattamenti avanzati sul campo. Kit Cirurgico para uso de tratamento médico avançado em campo + Chirurgická sada pro pokročilé vyléčení v poli Surgical Kit for in field advanced medical treatment @@ -1257,6 +1280,7 @@ Sebészeti készlet komplex orvosi feladatok terepen való ellátására Kit chirurgico per trattamenti avanzati sul campo. Kit Cirurgico para uso de tratamento médico avançado em campo. + Chirurgická sada pro pokročilé vyléčení v poli Use Surgical Kit @@ -1267,6 +1291,7 @@ Zszyj rany Usar equipo quirúrgico Sebészeti készlet használata + Použít chirurgickou sadu Bodybag @@ -1278,6 +1303,7 @@ Hullazsák Sacca per corpi Saco para cadáver + Pytel na tělo A bodybag for dead bodies @@ -1289,6 +1315,7 @@ Egy hullazsák a holttestek számára Una sacca nera per trasportare cadaveri. Um saco para corpos mortos + Pytel na mrtvá těla A bodybag for dead bodies @@ -1300,6 +1327,7 @@ Egy hullazsák a holttestek számára Una sacca nera per trasportare cadaveri. Um saco para corpos mortos. + Pytel na mrtvá těla Blood Pressure @@ -1311,6 +1339,7 @@ Vérnyomás Pressione sanguigna Pressão Arterial + Krevní tlak Checking Blood Pressure.. @@ -1322,6 +1351,7 @@ Vérnyomás megmérése... Controllando la pressione sanguigna.. Aferindo Pressão Arterial... + Kontroluji krevní tlak ... %1 checked Blood Pressure: %2 @@ -1332,6 +1362,7 @@ %1 sprawdził ciśnienie krwi: %2 %1 verificada la presión arterial: %2 %1 ellenőrizte a vérnyomást: %2 + %1 zkontrolován krevní tlak: %2 You checked %1 @@ -1343,6 +1374,7 @@ A %1 ellenőrizve Hai diagnosticato %1 Você aferiu o paciente %1 + Zkontroloval jsi %1 You find a blood pressure of %2/%3 @@ -1354,6 +1386,7 @@ Wyczuwasz ciśnienie krwi o wartości %2/%3 Der Blutdruck liegt bei %2/%3 A Pressão Arterial é de %2/%3 + Našel jsi krevní tlak u %2/%3 You find a low blood pressure @@ -1365,6 +1398,7 @@ A vérnyomás alacsony La pressione sanguigna è bassa Pressão Arterial baixa + Naměřil jsi nízký krevní tlak You find a normal blood pressure @@ -1376,6 +1410,7 @@ A vérnyomás normális La pressione sanguigna è normale Pressão Arterial normal + Naměřil jsi normální krevní tlak You find a high blood pressure @@ -1387,6 +1422,7 @@ A vérnyomás magas La pressione sanguigna è alta Pressão Arterial Alta + Naměřil jsi vysoký krevní tlak You find no blood pressure @@ -1398,6 +1434,7 @@ Nem észlelhető vérnyomás La pressione sanguigna è assente Sem Pressão Arterial + Nenaměřil jsi žádný krevní tlak You fail to find a blood pressure @@ -1409,6 +1446,7 @@ Nem sikerült a vérnyomás megmérése Manca strumento per misurare pressione sanguigna Você falhou em aferir a Pressão Arterial + Nedokázal jsi změřit krevní tlak Low @@ -1419,6 +1457,7 @@ Niskie Baja Alacsony + Nízký Normal @@ -1429,6 +1468,7 @@ Normalne Normal Normális + Normální High @@ -1439,6 +1479,7 @@ Wysokie Alta Magas + Vysoký No Blood Pressure @@ -1449,6 +1490,7 @@ Brak ciśnienia krwi Sin presión arterial Nincs vérnyomás + Žádný krevní tlak Pulse @@ -1460,6 +1502,7 @@ Pulzus Polso Pulso + Tep Checking Heart Rate ... @@ -1471,6 +1514,7 @@ Szívverés-szám mérése... Controllando il battito cardiaco ... Aferindo Pulso ... + Kontroluji srdeční tep ... You checked %1 @@ -1482,6 +1526,7 @@ A %1 ellenőrizve Hai diagnosticato %1 Você aferiu o paciente %1 + Zkontroloval jsi %1 %1 checked Heart Rate: %2 @@ -1492,6 +1537,7 @@ %1 sprawdził tętno: %2 %1 verificado el ritmo cardíaco: %2 %1 ellenőrizte a szívverés-számot: %2 + %1 zkontroloval srdeční tep: %2 Weak @@ -1502,6 +1548,7 @@ Słabe Débil Gyenge + Slabý Normal @@ -1512,6 +1559,7 @@ Normalne Normal Normális + Normální Strong @@ -1522,6 +1570,7 @@ Silne Fuerte Erős + Silný You find a Heart Rate of %2 @@ -1533,6 +1582,7 @@ A szívverés-szám %2 Il battito cardiaco è %2 A Freqüência Cardíaca é de %2 + Nahmatal jsi srdeční tep u %2 You find a weak Heart Rate @@ -1544,6 +1594,7 @@ A szívverés-szám alacsony Hai riscontrato un debole battito cardiaco Freqüência Cardíaca baixa + Nahmatal jsi slabý srdeční tep You find a strong Heart Rate @@ -1555,6 +1606,7 @@ A szívverés-szám magas Hai riscontrato un forte battito cardiaco Freqüência Cardíaca normal + Nahmatal jsi silný srdeční tep You find a normal Heart Rate @@ -1566,6 +1618,7 @@ A szívverés-szám normális Hai riscontrato un normale battito cardiaco Freqüência Cardíaca alta + Nahmatal jsi normální srdeční tep You find no Heart Rate @@ -1577,6 +1630,7 @@ Nem észlelhető szívverés Hai riscontrato una assenza di battito cardiaco Sem Freqüência Cardíaca + Nenašel jsi Response @@ -1588,6 +1642,7 @@ Reagálóképesség Risposta Reação + Odezva You check response of patient @@ -1599,6 +1654,7 @@ Ellenőrzöd a páciens reagálóképességét Controlli la risposta del paziente Aferindo se o paciente tem reação... + Zkontroloval jsi reakci pacienta %1 is responsive @@ -1610,6 +1666,7 @@ %1 reakcióképes %1 e' cosciente %1 está respondendo + %1 odpovídá %1 is not responsive @@ -1621,6 +1678,7 @@ %1 nem reagál %1 e' incosciente %1 não está respondendo + %1 neodpovídá You checked %1 @@ -1632,6 +1690,7 @@ Megnézted %1-t Hai controllato %1 Você aferiu o paciente %1 + Zkontroloval jsi %1 Patient %1<br/>is %2.<br/>%3.<br/>%4 @@ -1642,6 +1701,7 @@ Pacjent %1<br/>jest %2.<br/>%3.<br/>%4 Paciente %1<br/>is %2.<br/>%3.<br/>%4 A páciens, %1,<br/>%2.<br/>%3.<br/>%4 + Pacient %1<br/>je %2.<br/>%3.<br/>%4 alive @@ -1652,6 +1712,7 @@ żywy vivo élő + naživu dead @@ -1662,6 +1723,7 @@ mort martwy halott + mrtev He's lost some blood @@ -1672,6 +1734,7 @@ Il à perdu du sang Stracił trochę krwi Valamennyi vért vesztett + Ztratil trochu krve He's lost a lot of blood @@ -1679,6 +1742,7 @@ Sok vért vesztett Stracił sporo krwi Большая кровопотеря + Ztratil hodně krve He hasn't lost blood @@ -1689,6 +1753,7 @@ Nie stracił krwi No ha perdido sangre Nem vesztett vért + Neztratil žádnou krev He is in pain @@ -1699,6 +1764,7 @@ Odczuwa ból Siente dolor Fájdalmai vannak + Je v bolestech He is not in pain @@ -1709,6 +1775,7 @@ Nie odczuwa bólu No siente dolor Nincsenek fájdalmai + Nemá žádné bolesti Bandaged @@ -1720,6 +1787,7 @@ Bendato verbunden Enfaixado + Obvázaný You bandage %1 (%2) @@ -1731,6 +1799,7 @@ Stai bendando %1 (%2) Du verbindest %1 (%2) Você aplica bandagem no paciente %1 (%2) + Obvazuješ %1 (%2) %1 is bandaging you @@ -1742,6 +1811,7 @@ %1 ti sta bendando %1 verbindet dich %1 está aplicando uma bandagem em você + %1 tě obvazuje You start stitching injuries from %1 (%2) @@ -1764,6 +1834,7 @@ Összevarrás Suturando Suturando... + Šití You treat the airway of %1 @@ -1786,6 +1857,7 @@ Légút Vie respiratorie Vias Aéreas + Dýchací cesty %1 is treating your airway @@ -1868,6 +1940,7 @@ Sebesült kihúzása Scarica il paziente Descarregar Paciente + Vyložit pacienta Load patient @@ -1879,6 +1952,7 @@ Sebesült berakása Carica il paziente Carregar Paciente Em + Naložit pacienta Place body in bodybag @@ -1890,6 +1964,7 @@ Test hullazsákba helyezése Metti il corpo nella sacca per cadaveri Colocar corpo dentro do saco para cadáver + Umístni tělo do pytle na mrtvoly Placing body in bodybag @@ -1901,6 +1976,7 @@ Test hullazsákba helyezése ... Stai mettendo il corpo nella sacca Colocando corpo dentro do saco para cadáver... + Umístňuji tělo do pytle na mrtvoly %1 has bandaged patient @@ -1912,6 +1988,7 @@ %1 bekötözte a pácienst %1 ha bendato il paziente %1 aplicou bandagem no paciente + %1 již obvázal pacienta %1 used %2 @@ -1923,6 +2000,7 @@ %1 használta a %2-t %1 ha usato %2 %1 usou %2 + %1 použil %2 %1 has given an IV @@ -1934,6 +2012,7 @@ %1 infúziót adott %1 ha somministrato una IV %1 aplicou um intravenoso + %1 již aplikoval IV %1 applied a tourniquet @@ -1945,6 +2024,7 @@ %1 felhelyezett egy érszorítót %1 ha applicato un laccio emostatico %1 aplicou um torniquete + %1 použil škrtidlo Heavily wounded @@ -1955,6 +2035,7 @@ Gravemente herido Lourdement blessé Erősen sérült + Těžce zraněn Lightly wounded @@ -1965,6 +2046,7 @@ Levemente herido Légèrement blessé Enyhén sérült + Lehce zraněn Very lightly wounded @@ -1975,6 +2057,7 @@ Muy levemente herido Très légèrement blessé Nagyon enyhén sérült + Velmi lehce zraněn Head @@ -1985,6 +2068,7 @@ Cabeza Tête Fej + Hlava Torso @@ -1995,6 +2079,7 @@ Torso Torse Testtörzs + Trup Left Arm @@ -2005,6 +2090,7 @@ Brazo izquierdo Bras gouche Bal kar + Levá ruka Right Arm @@ -2015,6 +2101,7 @@ Brazo derecho Bras droit Jobb kar + Pravá ruka Left Leg @@ -2025,6 +2112,7 @@ Pierna izquierda Jambe gauche Bal láb + Levá noha Right Leg @@ -2035,6 +2123,7 @@ Pierna derecha Jambe droite Jobb láb + Pravá noha Pain Effect Type @@ -2065,6 +2154,7 @@ Aberración cromática Aberration chromatique Kromatikus aberráció + Chromatická aberace Style of menu (Medical) @@ -2072,6 +2162,7 @@ Style de menu (Médical) Menü-Stil (Medical) Вид меню (медицина) + Styl menu (Zdravotní) Select the type of menu you prefer; default 3d selections or radial. @@ -2079,6 +2170,7 @@ Selctionne le type de menu préféré; par défaut la sélection 3D ou radiale Wähle den Menü-Stil: Standard 3D-Selektion oder kreisförmig. Выберите тип меню: стандартный вариант (3D) или радиальный + Vyberte typ menu který preferujete: výchozí 3D nebo radiální. Selections (3d) @@ -2093,6 +2185,7 @@ Radiale Kreisförmig Радиальный + Radiální Scrape @@ -2423,6 +2516,7 @@ Fémur cassé Femur roto Törött combcsont + Zlomená kost stehenní Treating ... @@ -2431,6 +2525,7 @@ Leczenie ... Traitement ... Лечение ... + Léčím ... - + \ No newline at end of file diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 8735d6521d..873269b790 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -28,10 +28,12 @@ Teleport to Base Zur Basis teleportieren + Teleportovat na Základnu Teleport to Rallypoint Zum Rallypoint teleportieren + Teleport na Rallypoint Teleported to Base @@ -40,7 +42,7 @@ Teletransportado a base Телепорт на базу Przeteleportowano do bazy - Odteleportován na základnu + Teleportován na základnu Bázisra teleportálva Teleportato alla base Teletransportado para a Base @@ -52,7 +54,7 @@ Teletransportado al punto de reunión Телепорт на точку сбора Przeteleportowano do punktu zbiórki - Odteleportován na rallypoint + Teleportován na rallypoint Gyülekezőpontra teleportálva Teleportato al rallypoint Teletransportado para o Rallypoints @@ -66,6 +68,7 @@ Point de ralliement OUEST (Base) Rallypoint West (Base) Gyülekezőpont, Nyugat (Bázis) + Rallypoint Západ (Základna) Rallypoint East (Base) @@ -76,6 +79,7 @@ Point de ralliement EST (Base) Rallypoint East (Base) Gyülekezőpont, Kelet (Bázis) + Ralllypoint Východ (Základna) Rallypoint Independent (Base) @@ -86,6 +90,7 @@ Point de ralliement Indépendant (Base) Rallypoint Independent (Base) Gyülekezőpont, Független (Bázis) + Rallypoint Nezávislý (Základna) Rallypoint West @@ -96,6 +101,7 @@ Point de ralliement OUEST Rallypoint West Gyülekezőpont, Nyugat + Rallypoint Západ Rallypoint East @@ -106,6 +112,7 @@ Point de ralliement EST Rallypoint East Gyülekezőpont, Kelet + Rallypoint Východ Rallypoint Independent @@ -116,6 +123,7 @@ Point de ralliement Indépendant Rallypoint Independent Gyülekezőpont, Független + Rallypoint Nezávislý - + \ No newline at end of file diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index 0b891b3a78..6af5bbda3e 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -10,6 +10,7 @@ Mostra informazioni sul vento Zeige Windinformationen Széladatok mutatása + Zobrazit informace o větru \ No newline at end of file From debfe990e85cca81e2f3c5212b5110190d9974a1 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Sat, 2 May 2015 00:19:10 +0200 Subject: [PATCH 257/478] Fix duplicates --- addons/advanced_ballistics/stringtable.xml | 4 +--- addons/interact_menu/stringtable.xml | 9 +++------ 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index 9912bbd4d8..0ec095e4cf 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -4,7 +4,6 @@ Show Wind Info Pokaż inf. o wietrze - Zobrazit větrné info Mostra indicazioni del vento Показать информацию о ветре Afficher les info sur le vent @@ -16,7 +15,6 @@ Show Protractor Pokaż kątomierz - Zobrazit úhloměr Mostra il rapportatore Показать транспортир Afficher le rapporteur @@ -26,4 +24,4 @@ Ukázat úhloměr - \ No newline at end of file + diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 796672131b..b71468d505 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -20,10 +20,9 @@ Mostra sempre il cursore per le interazioni Zawsze wyświetlaj kursor dla interakcji Показывать курсор (взаимодействие) - Vždy zobrazovat kurzor pro interakci + Stále ukazovat kursor myši při interakci Immer den Cursor für Fremd-Interaktionen anzeigen Mindig legyen a cselekvés kurzorja látható - Stále ukazovat kursor myši při interakci Display interaction menus as lists @@ -32,10 +31,9 @@ Afficher le menu d'interaction sous forme de liste Mostra il menù di interazione come lista Wyświetlaj menu interakcji jako listę - Zobrazit menu interakce jako seznam + Ukázat interakční menu jako list Interaktionsmenü in Listen anzeigen Cselekvő menük listaként való megjelenítése - Ukázat interakční menu jako list Interact Key @@ -153,11 +151,10 @@ Do action when releasing menu key Aktion nach Loslassen der Taste ausführen Wykonuj akcje po puszczeniu klawisza menu - Vyvolá akci po uvolnění tlačítka menu + Provést akci při pustění klávesy menu Action au relachement de touche Выполнять действие при отпускании кнопки взаимодействия Realizar la acción al soltar la tecla menu - Provést akci při pustění klávesy menu Interaction Text Size From 884da7742ef49b28951b4a420e86ffc7ce9c2572 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 2 May 2015 00:36:23 +0200 Subject: [PATCH 258/478] Disabled AB terrain init, if AB is not enabled --- .../functions/fnc_initializeTerrainExtension.sqf | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf index 6791d26350..3930526433 100644 --- a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf +++ b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf @@ -13,6 +13,7 @@ #include "script_component.hpp" if (!hasInterface) exitWith {}; +if (!GVAR(enabled)) exitWith {}; if (!GVAR(extensionAvailable)) exitWith {}; private ["_initStartTime", "_mapSize", "_mapGrids", "_gridCells", "_x", "_y", "_gridCenter", "_gridHeight", "_gridNumObjects", "_gridSurfaceIsWater"]; From 97a9bffe98caf30f1193e93ac1acfd46c3a4935c Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Sat, 2 May 2015 00:49:43 +0200 Subject: [PATCH 259/478] Set version number to 3.0.0.2 --- addons/main/script_mod.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 25a18e8dc2..5777d7223e 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -6,7 +6,7 @@ #define MAJOR 3 #define MINOR 0 #define PATCHLVL 0 -#define BUILD 1 +#define BUILD 2 #define VERSION MAJOR.MINOR.PATCHLVL.BUILD #define VERSION_AR MAJOR,MINOR,PATCHLVL,BUILD From e6de0d590698782bd7f3818085aea36522a899e5 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Sat, 2 May 2015 00:54:29 +0200 Subject: [PATCH 260/478] Set version in make.py --- tools/make.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/make.py b/tools/make.py index 382f8dd776..462d44b536 100644 --- a/tools/make.py +++ b/tools/make.py @@ -60,7 +60,7 @@ module_root = "" release_dir = "" module_root_parent = "" optionals_root = "" -key_name = "ace_preAlpha" +key_name = "ace_3.0.0" key = "" dssignfile = "" From ce1255bb2f2fc3259cb55696f74759d6211066cb Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 1 May 2015 17:56:04 -0500 Subject: [PATCH 261/478] Fix configProperties --- addons/javelin/functions/fnc_onFired.sqf | 11 ++--------- addons/javelin/functions/fnc_onOpticDraw.sqf | 10 ++-------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/addons/javelin/functions/fnc_onFired.sqf b/addons/javelin/functions/fnc_onFired.sqf index 4c0f798167..fa947bfdd5 100644 --- a/addons/javelin/functions/fnc_onFired.sqf +++ b/addons/javelin/functions/fnc_onFired.sqf @@ -6,15 +6,8 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); // Bail on not missile if( _shooter != ACE_player) exitWith { false }; -/* -if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_short_base"] call EFUNC(common,inheritsFrom)) - && - { ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "missiles_titan_at"] call EFUNC(common,inheritsFrom)) } -) exitWith { }; -*/ -_configs = configProperties [configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) >> QGVAR(enabled), "true", false]; -if( (count _configs) < 1) exitWith {}; -_config = _configs select 1; +_configs = configProperties [configFile >> "CfgWeapons" >> _weapon, QUOTE(configName _x == QUOTE(QGVAR(enabled))), false]; +if (((count _configs) < 1) || {(getNumber (_configs select 0)) != 1}) exitWith {}; _pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil]; if(!isNil "_pfh_handle") then { diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index 86e59bf692..039484d1af 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -35,14 +35,8 @@ _soundTime = _args select 4; _randomLockInterval = _args select 5; _fireDisabledEH = _args select 6; -_configs = configProperties [configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) >> QGVAR(enabled), "true", false]; - -/* -if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_short_base"] call EFUNC(common,inheritsFrom)) - && - { ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "missiles_titan_at"] call EFUNC(common,inheritsFrom)) } -*/ -if((count _config) < 1) exitWith { +_configs = configProperties [configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)), QUOTE(configName _x == QUOTE(QGVAR(enabled))), false]; +if (((count _configs) < 1) || {(getNumber (_configs select 0)) != 1}) exitWith { __JavelinIGUITargeting ctrlShow false; __JavelinIGUITargetingGate ctrlShow false; __JavelinIGUITargetingLines ctrlShow false; From 5b9e6de6f12a0bb7747a05fe9625a33dd77b6281 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Sat, 2 May 2015 01:21:49 +0200 Subject: [PATCH 262/478] Update CfgVehicles.hpp missing "s" --- addons/mk6mortar/CfgVehicles.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/mk6mortar/CfgVehicles.hpp b/addons/mk6mortar/CfgVehicles.hpp index 1c90842d5f..c8e06bec45 100644 --- a/addons/mk6mortar/CfgVehicles.hpp +++ b/addons/mk6mortar/CfgVehicles.hpp @@ -58,7 +58,7 @@ class CfgVehicles { functionPriority = 0; class Arguments { class airResistanceEnabled { - displayName = "Air Resitance"; + displayName = "Air Resistance"; description = "For Player Shots, Model Air Restiance and Wind Effects"; typeName = "BOOL"; defaultValue = 1; From c9cf1d2455fabc83f36550d095f9992a2cd453b2 Mon Sep 17 00:00:00 2001 From: Grzegorz Date: Sat, 2 May 2015 01:26:54 +0200 Subject: [PATCH 263/478] Update CfgVehicles.hpp another typo few lines below --- addons/mk6mortar/CfgVehicles.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/mk6mortar/CfgVehicles.hpp b/addons/mk6mortar/CfgVehicles.hpp index c8e06bec45..baf74fa2c4 100644 --- a/addons/mk6mortar/CfgVehicles.hpp +++ b/addons/mk6mortar/CfgVehicles.hpp @@ -59,7 +59,7 @@ class CfgVehicles { class Arguments { class airResistanceEnabled { displayName = "Air Resistance"; - description = "For Player Shots, Model Air Restiance and Wind Effects"; + description = "For Player Shots, Model Air Resistance and Wind Effects"; typeName = "BOOL"; defaultValue = 1; }; From be07fd2c820db95888eec91568ac49e3be70232a Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Fri, 1 May 2015 20:32:20 -0300 Subject: [PATCH 264/478] Avoid ACE_Comanche_Test from showing on Zeus. #943 --- addons/aircraft/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/aircraft/config.cpp b/addons/aircraft/config.cpp index 2dc390f915..2ce2d0dc10 100644 --- a/addons/aircraft/config.cpp +++ b/addons/aircraft/config.cpp @@ -2,7 +2,7 @@ class CfgPatches { class ADDON { - units[] = {"ACE_Comanche_Test"}; + units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; From b350d234e200135f9ab7744d558182b557b784ff Mon Sep 17 00:00:00 2001 From: Dimas Date: Sat, 2 May 2015 02:44:39 +0200 Subject: [PATCH 265/478] Addes spanish translation Added spanish translation for three strings. Did it manually here. --- addons/laser/stringtable.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index c363f45235..0090915660 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -6,18 +6,21 @@ Kod lasera Code laser Лазерный код + Código láser Laser - Cycle Code Up Laser - Następny kod Laser - Code + Лазер - увеличить частоту + Láser - Aumentar código Laser - Cycle Code Down Laser - Poprzedni kod Laser - Code - Лазер - уменьшить частоту + Láser - Reducir código From 106f2ab89b167260b3109b74cc50f54e493b1bc0 Mon Sep 17 00:00:00 2001 From: licht-im-Norden87 Date: Sat, 2 May 2015 03:25:28 +0200 Subject: [PATCH 266/478] Added german strings to interaction --- addons/interaction/stringtable.xml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index b9c7717e60..d702e6b2e3 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -567,47 +567,55 @@ Assign Red + Rot zuweisen Asignar a rojo Przydziel do czerwonych Assign Green + Grün zuweisen Asignar a verde Przydziel do zielonych Assign Blue + Blau zuweisen Asignar a azul Przydziel do niebieskich Assign Yellow + Gelb zuweisen Asignar a amarillo Przydziel do żółtych Join Red + Rot beitreten Unirse a rojo Dołącz do czerwonych Join Green + Grün beitreten Unirse a verde Dołącz do zielonych Join Blue + Blau beitreten Unirse a azul Dołącz do niebieskich Join Yellow + Gelb beitreten Unirse a amarillo Dołącz do żółtych You joined Team %1 - Du bist Team %1 beigetreten + Du bist Gruppe %1 beigetreten Te has unido al equipo %1 Tu as rejoint l'équipe %1 Dołączyłeś do drużyny %1 @@ -619,7 +627,7 @@ Leave Team - Team verlassen + Gruppe verlassen Dejar equipo Quitter l'équipe Opuść drużynę @@ -631,7 +639,7 @@ You left the Team - Du hast das Team verlassen + Du hast die Gruppe verlassen Has dejado el equipo Tu as quitté l'équipe Opuściłeś drużynę @@ -727,7 +735,7 @@ Passengers - Passagiere + Insassen Pasajeros Пассажиры Pasažéři From f93ac12807a682ab324a0bf6cba918d95d30859a Mon Sep 17 00:00:00 2001 From: licht-im-Norden87 Date: Sat, 2 May 2015 03:28:54 +0200 Subject: [PATCH 267/478] Added german strings to laser --- addons/laser/stringtable.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index c363f45235..710d7c2e29 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -3,18 +3,21 @@ Laser Code + Lasercode Kod lasera Code laser Лазерный код Laser - Cycle Code Up + Lasercode + Laser - Następny kod Laser - Code + Лазер - увеличить частоту Laser - Cycle Code Down + Lasercode - Laser - Poprzedni kod Laser - Code - Лазер - уменьшить частоту From 436e50411aa965a8d8c3732c58e46da549aef821 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 1 May 2015 22:42:43 -0500 Subject: [PATCH 268/478] Medical - Fix Uncon PFEH argument changes --- addons/medical/functions/fnc_handleLocal.sqf | 4 ++-- addons/medical/functions/fnc_unconsciousPFH.sqf | 15 +++++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/addons/medical/functions/fnc_handleLocal.sqf b/addons/medical/functions/fnc_handleLocal.sqf index f79c1c3a6d..216fb8ed49 100644 --- a/addons/medical/functions/fnc_handleLocal.sqf +++ b/addons/medical/functions/fnc_handleLocal.sqf @@ -23,10 +23,10 @@ if (_local) then { [_unit, true] call FUNC(addToInjuredCollection); }; - if ((_unit getvariable ["ACE_isUnconscious",false]) && {count (_unit getvariable [QGVAR(unconsciousArguments), []]) >= 7}) then { + if ((_unit getvariable ["ACE_isUnconscious",false]) && {count (_unit getvariable [QGVAR(unconsciousArguments), []]) >= 6}) then { private "_arguments"; _arguments = (_unit getvariable [QGVAR(unconsciousArguments), []]); - _arguments set [ 3, time]; + _arguments set [2, time]; [DFUNC(unconsciousPFH), 0.1, _arguments ] call CBA_fnc_addPerFrameHandler; diff --git a/addons/medical/functions/fnc_unconsciousPFH.sqf b/addons/medical/functions/fnc_unconsciousPFH.sqf index 0db57876c9..f0759a66ba 100644 --- a/addons/medical/functions/fnc_unconsciousPFH.sqf +++ b/addons/medical/functions/fnc_unconsciousPFH.sqf @@ -3,7 +3,14 @@ * PFH logic for unconscious state * * Arguments: - * 0: The unit that will be put in an unconscious state + * 0: PFEH - Args + * 0: The unit that will be put in an unconscious state + * 1: unitPos (stance) + * 2: Starting Time + * 3: Minimum Waiting Time + * 4: Has Moved Out + * 5: Parachute Check + * 1: PFEH ID * * ReturnValue: * nil @@ -102,19 +109,19 @@ if !(_unit getvariable ["ACE_isUnconscious",false]) exitwith { [_unit, "isUnconscious"] call EFUNC(common,unmuteUnit); // ensure this statement runs only once - _args set [5, true]; + _args set [4, true]; }; }; if (_parachuteCheck) then { if !(vehicle _unit isKindOf "ParachuteBase") then { [_unit, [_unit] call EFUNC(common,getDeathAnim), 1, true] call EFUNC(common,doAnimation); - _args set [6, false]; + _args set [5, false]; }; }; if (!local _unit) exitwith { - _args set [ 4, _minWaitingTime - (time - _startingTime)]; + _args set [3, _minWaitingTime - (time - _startingTime)]; _unit setvariable [QGVAR(unconsciousArguments), _args, true]; [(_this select 1)] call cba_fnc_removePerFrameHandler; }; From 021b00c7226ba4b4a33ad9324a4f9d1e0cdea6ca Mon Sep 17 00:00:00 2001 From: ToasterBR Date: Sat, 2 May 2015 03:38:53 -0300 Subject: [PATCH 269/478] Translation to Portuguese Done all remaining portuguese translations, including some minor corrections --- addons/advanced_ballistics/stringtable.xml | 4 +- addons/atragmx/stringtable.xml | 3 + addons/attach/stringtable.xml | 16 +-- addons/ballistics/stringtable.xml | 104 +++++++++++++++++++- addons/captives/stringtable.xml | 6 +- addons/disarming/stringtable.xml | 1 + addons/disposable/stringtable.xml | 6 +- addons/dragging/stringtable.xml | 4 +- addons/frag/stringtable.xml | 6 +- addons/hearing/stringtable.xml | 3 +- addons/interact_menu/stringtable.xml | 15 ++- addons/interaction/stringtable.xml | 10 +- addons/kestrel4500/stringtable.xml | 6 +- addons/laser/stringtable.xml | 7 +- addons/laser_selfdesignate/stringtable.xml | 6 +- addons/laserpointer/stringtable.xml | 5 +- addons/logistics_uavbattery/stringtable.xml | 10 +- addons/medical/stringtable.xml | 84 +++++++++++++++- addons/missileguidance/stringtable.xml | 15 +-- addons/mk6mortar/stringtable.xml | 8 +- addons/optionsmenu/stringtable.xml | 3 +- addons/realisticnames/stringtable.xml | 32 +++++- addons/respawn/stringtable.xml | 12 ++- addons/scopes/stringtable.xml | 9 ++ addons/vector/stringtable.xml | 2 +- addons/weaponselect/stringtable.xml | 6 +- addons/weather/stringtable.xml | 3 +- 27 files changed, 333 insertions(+), 53 deletions(-) diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index a908bab88c..0de8071754 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -11,6 +11,7 @@ Windinformationen anzeigen Széladatok mutatása Zobrazit informace o větru + Mostrar Informação do Vento Show Protractor @@ -22,6 +23,7 @@ Winkelmesser anzeigen Szögmérő mutatása Zobrazit úhloměr + Mostrar Transferidor - + \ No newline at end of file diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index fefcc2c7e5..fce50a4e1d 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -23,6 +23,7 @@ Apri ATragMX ATragMX elővétele Otevřít ATragMX + Abrir ATragMX Rugged PDA with ATragMX @@ -34,6 +35,7 @@ PDA Robusto con ATragMX Megerősített PDA, ATragMX-el PDA s ATragMX + PDA Robusto com ATragMX Open ATragMX @@ -45,6 +47,7 @@ Apri ATragMX ATragMX elővétele Otevřít ATragMX + Abrir ATragMX \ No newline at end of file diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 02066f26b4..70b464a6cd 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -8,7 +8,7 @@ Przyczep przedmiot >> Attacher l'objet >> Připnout předmět >> - Acoplar item >> + Fixar item >> Attacca l'oggetto >> Tárgy hozzácsatolása >> Прикрепить предмет @@ -20,7 +20,7 @@ Przyczep Attacher Připnout - Acoplar + Fixar Attacca Hozzácsatolás Прикрепить @@ -44,7 +44,7 @@ Przyczepiono stroboskop IR Balise IR attachée IR Značkovač připnutý - Marcador IV Acoplado + Marcador IV Fixado Strobo IR attaccata Infravörös jeladó hozzácsatolva ИК-маяк прикреплён @@ -68,7 +68,7 @@ Przyczepiono granat IR Grenade IR attachée IR Granát připnutý - Granada IV Acoplada + Granada IV Fixada Granata IR attaccata Infravörös gránát hozzácsatolva ИК-граната прикреплена @@ -92,7 +92,7 @@ Przyczepiono światło chemiczne Chemlight attachée Chemické světlo připnuto - Chemlight Acoplada + Chemlight Fixada Chemlight attaccata Chemlight hozzácsatolva Химсвет прикреплён @@ -176,7 +176,7 @@ Не удалось присоединить Error al acoplar Připnutí selhalo - Erro ao anexar + Erro ao fixar Przyczepianie nie powiodło się Hozzácsatolás sikertelen Impossibile Attaccare @@ -188,7 +188,7 @@ %1<br/>przyczepiono %1<br/>attachée %1<br/>Připnutý - %1<br/>Acoplada + %1<br/>Fixada %1<br/>attaccata %1<br/>hozzácsatolva %1<br/>присоединен(-а) @@ -206,4 +206,4 @@ %1<br/>отсоединен(-а) - + \ No newline at end of file diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index e4b2029e7e..eb2db5b576 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -375,6 +375,7 @@ Лента из 130-ти .338 NM трассирующих .338 NM 130Rnd Tracciante Belt .338 NM 130náb. Svítící Pás + Cinto de munição .338 NM com 130 cartuchos .338 NM Tracer @@ -385,6 +386,7 @@ .338 NM Trazadora .338 NM трассирующие .338 NM 130Rnd Tracciante + .338 NM Traçante Caliber: .338 Norma Magnum Tracer<br />Rounds: 130<br />Used in: SPMG @@ -395,6 +397,7 @@ Калибр: .338 Norma Magnum трассирующие<br />Патронов: 130<br />Используются в: SPMG Calibro: .338 Norma Magnum Tracciante<br />Munizioni: 130<br />In uso su: SPMG Ráže: .338 Noma Magnum Svítící<br />Munice: 130<br />Použití: SPMG + Calibre: .338 Norma Magnum Traçante<br />Cartuchos: 130<br />Usado em: SPMG .338 NM 130Rnd IR-DIM Belt @@ -405,6 +408,7 @@ Лента из 130-ти .338 NM ИК-трассирующих .338 NM 130Rnd IR-DIM Belt .338 NM 130náb. IR-DIM Pás + Cinto de munição traçante .338 NM IR-DIM com 130 cartuchos .338 NM IR-DIM @@ -415,6 +419,7 @@ .338 NM IR-DIM .338 NM ИК-трассирующие .338 NM IR-DIM + .338 NM IR-DIM Caliber: .338 Norma Magnum Tracer IR-DIM<br />Rounds: 130<br />Used in: SPMG @@ -425,6 +430,7 @@ Калибр: .338 Norma Magnum ИК-трассирующие<br />Патронов: 130<br />Используются с: SPMG Calibro: .338 Norma Magnum Tracciante IR-DIM<br />Munizioni: 130<br />In uso su: SPMG Ráže: .338 Noma Magnum Svítící IR-DIM<br />Munice: 130<br />Použití: SPMG + Calibre: .338 Norma Magnum Traçante IR-DIM<br />Cartuchos: 130<br />Usado em: SPMG .338 NM 130Rnd AP Belt @@ -435,6 +441,7 @@ Лента из 130-ти .338 NM бронебойных .338 NM 130Rnd AP Belt .338 NM 130náb. AP Pás + Cinto de munição .338 NM com 130 cartuchos AP .338 NM AP @@ -445,6 +452,7 @@ .338 NM AP .338 NM бронебойные .338 NM AP + .338 NM AP Caliber: .338 Norma Magnum AP<br />Rounds: 130<br />Used in: SPMG @@ -455,6 +463,7 @@ Калибр: .338 Norma Magnum бронебойные<br />Патронов: 130<br />Используются с: SPMG Calibro: .338 Norma Magnum AP<br />Munizioni: 130<br />In uso su: SPMG Ráže: .338 Noma Magnum AP<br />Munice: 130<br />Použití: SPMG + Calibre: .338 Norma Magnum AP<br />Cartuchos: 130<br />Usado em: SPMG @@ -466,6 +475,7 @@ Магазин из 10-ти 9,3 мм трассирующих 9.3mm 10Rnd Tracer Mag 9.3mm 10Rnd Svítící Zásobník + Carregador de 10 cartuchos 9.3mm traçantes 9.3mm Tracer @@ -476,6 +486,7 @@ 9.3mm Trazadora 9,3 мм трассирующие 9.3mm Tracer + 9.3mm Traçante Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus @@ -486,6 +497,7 @@ Калибр: 9,3x64 мм трассирующие<br />Патронов: 10<br />Используются с: Cyrus Calibro: 9.3x64mm Tracer<br />Munizioni: 10<br />In uso su: Cyrus Ráže: 9.3x64mm Svítící<br />Munice: 10<br />Použití: Cyrus + Calibre: 9.3x64mm Traçante<br />Cartuchos: 10<br />Usado em: Cyrus 9.3mm 10Rnd Tracer IR-DIM Mag @@ -496,6 +508,7 @@ Магазин из 10-ти 9,3 мм ИК-трассирующих 9.3mm 10Rnd Tracciante IR-DIM Mag 9.3mm 10náb. Svítící IR-DIM Zásobník + Carregador de 10 cartuchos 9.3mm traçantes IR-DIM 9.3mm IR-DIM @@ -506,6 +519,7 @@ 9.3mm IR-DIM 9,3 мм ИК-трассирующие 9.3mm IR-DIM + 9.3mm Traçante IR-DIM Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus @@ -516,6 +530,7 @@ Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 10<br />Используются с: Cyrus Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 10<br />In uso su: Cyrus Ráže: 9.3x64mm Svítící IR-DIM<br />Munice: 10<br />Použití: Cyrus + Calibre: 9.3x64mm Traçante IR-DIM<br />Cartuchos: 10<br />Usado em: Cyrus @@ -527,6 +542,7 @@ Лента из 150-ти 9,3 мм трассирующих 9.3mm 150Rnd Tracer Belt 9.3mm 150náb. Svítící Pás + Cinto de munição traçante 9.3mm com 150 cartuchos 9.3mm Tracer @@ -537,6 +553,7 @@ 9.3mm Trazadora 9,3 мм трассирующие 9.3mm Tracciante + 9.3mm Traçante Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid @@ -547,6 +564,7 @@ Калибр: 9,3x64 мм трассирующие<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm Tracciante<br />Munizioni: 150<br />In uso su: Navid Ráže: 9.3x64mm Svítící<br />Munice: 150<br />Použití: Navid + Calibre: 9.3x64mm Traçante<br />Cartuchos: 150<br />Usado em: Navid 9.3mm 150Rnd Tracer IR-DIM Belt @@ -557,6 +575,7 @@ Лента из 150-ти 9,3 мм ИК-трассирующих 9.3mm 150Rnd Tracciante IR-DIM Belt 9.3mm 150náb. Svítící IR-DIM Pás + Cinto de munição traçante 9.3mm IR-DIM com 150 cartuchos 9.3mm IR-DIM @@ -567,6 +586,7 @@ 9.3mm IR-DIM 9,3 мм ИК-трассирующие 9.3mm IR-DIM + 9.3mm IR-DIM Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid @@ -577,6 +597,7 @@ Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 150<br />In uso su: Navid Ráže: 9.3x64mm Svítící IR-DIM<br />Munice: 150<br />Použití: Navid + Calibre: 9.3x64mm Traçante IR-DIM<br />Cartuchos: 150<br />Usado em: Navid 9.3mm 150Rnd AP Belt @@ -587,6 +608,7 @@ Лента из 150-ти 9,3 мм бронебойных 9.3mm 150Rnd AP Belt 9.3mm 150náb. AP Pás + Cinto de munição 9.3mm AP com 150 cartuchos 9.3mm AP @@ -597,6 +619,7 @@ 9.3mm AP 9,3 мм бронебойные 9.3mm AP + 9.3mm AP Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid @@ -607,6 +630,7 @@ Калибр: 9,3x64 мм бронебойные<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm AP<br />Munizioni: 150<br />In uso su: Navid Ráže: 9.3x64mm AP<br />Munice: 150<br />Použití: Navid + Calibre: 9.3x64mm AP<br />Cartuchos: 150<br />Usado em: Navid 9x19mm 16Rnd Mag @@ -617,6 +641,7 @@ 9x19mm 20-Patronen-Magazin 9x19mm 16Rnd Mag 9x19mm 16náb. Zásobník + Carregador de 16 cartuchos 9x19mm 9x19mm @@ -627,6 +652,7 @@ 9x19mm 9x19mm 9x19mm + 9x19mm 9x19mm 30Rnd Mag @@ -637,6 +663,7 @@ 9x19mm 30-Patronen-Magazin 9x19mm 30Rnd Mag 9x19mm 30náb. Zásobník + Carregador de 16 cartuchos 9x19mm 9x19mm 30Rnd Mag @@ -647,6 +674,7 @@ 9x19mm 30-Patronen-Magazin 9x19mm 30Rnd Mag 9x19mm 30náb. Zásobník + Carregador de 30 cartuchos 9x19mm 9x19mm @@ -657,6 +685,7 @@ 9x19mm 9x19mm 9x19mm + 9x19mm 9x19mm 30Rnd Mag @@ -667,6 +696,7 @@ 9x19mm 30-Patronen-Magazin 9x19mm 30Rnd Mag 9x19mm 30náb. Zásobník + Carregador de 30 cartuchos 9x19mm 7.62x54mm 10Rnd Tracer Mag @@ -677,6 +707,7 @@ 7,62x54mm 10-Patronen-Magazin Leuchtspur 7.62x54mm 10Munizioni Traccianti IR-DIM Mag 7.62x54mm 10náb. Svítící Zásobník + Carregador com 10 cartuchos 7.62x54mm Traçante 7.62mm @@ -687,6 +718,7 @@ 7,62x54mm 7.62mm IR-DIM 7.62mm + 7.62mm Traçante 7.62x54mm 10Rnd Tracer Mag @@ -697,6 +729,7 @@ 7,62x54mm 10-Patronen-Magazin Leuchtspur 7.62x54mm 10Munizioni Traccianti IR-DIM Mag 7.62x54mm 10náb. Svítící Zásobník + Carregador com 10 cartuchos 7.62x54mm Traçante 6.5mm 100Rnd Tracer IR-DIM Mag @@ -707,6 +740,7 @@ 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur 6.5mm 100Munizioni Traccianti IR-DIM Mag 6.5mm 100náb. Svítící IR-DIM Zásobník + Carregador com 100 cartuchos 6.5mm IR-DIM Traçante 6.5mm IR-DIM @@ -717,6 +751,7 @@ 6,5mm IR-DIM 6.5mm IR-DIM 6.5mm IR-DIM + 6.5mm IR-DIM 6.5mm 100Rnd Tracer IR-DIM Mag<br />Rounds: 100<br />Used in: MX LSW @@ -727,6 +762,7 @@ 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur<br />Patronen: 100<br />Eingesetzt von: MXLSW 6.5mm 100Rnd Tracer IR-DIM Mag<br />Munizioni: 100<br />In uso su: MX LSW 6.5mm 100náb. Svítící IR-DIM Zásobník<br />Munice: 100<br />Použití: MX LSW + Carregador 6.5mm 100 Cartuchos Traçantes IR-DIM<br />Cartuchos: 100<br />Usado em: MX LSW 6.5mm 200Rnd Tracer IR-DIM Belt @@ -737,6 +773,7 @@ 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur 6.5mm 200Rnd Tracer IR-DIM Belt 6.5mm 200náb. Svítící IR-DIM Pás + Cinto de munição traçante 6.5mm IR-DIM com 200 cartuchos 6.5mm IR-DIM @@ -747,6 +784,7 @@ 6,5mm IR-DIM 6.5mm IR-DIM 6.5mm IR-DIM + 6.5mm IR-DIM 6.5mm 200Rnd Tracer IR-DIM Belt<br />Rounds: 200<br />Used in: Stoner 99 LMG @@ -757,6 +795,7 @@ 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur<br />Patronen: 200<br />Eingesetzt von: Stoner 99 LMG 6.5mm 200Rnd Tracer IR-DIM Belt<br />Munizioni: 200<br />In uso su: Stoner 99 LMG 6.5mm 200náb. Svítící IR-DIM Pás<br />Munice: 200<br />Použití: Stoner 99 LMG + Cinto de munição traçante 6.5mm IR-DIM com 200 cartuchos<br />Cartuchos: 200<br />Usado em: Stoner 99 LMG 5.56mm 30Rnd Mag (Mk262) @@ -767,6 +806,7 @@ 5,56mm 30-Patronen-Magazin (Mk262) 5.56mm 30Rnd Mag (Mk262) 5.56mm 30náb. Zásobník (Mk262) + Carregador 5.56mm com 30 cartuchos (Mk262) 5.56mm Mk262 @@ -777,6 +817,7 @@ 5,56mm Mk262 5.56mm Mk262 5.56mm Mk262 + 5.56mm Mk262 Caliber: 5.56x45mm NATO (Mk262)<br />Rounds: 30 @@ -787,6 +828,7 @@ Kaliber: 5,56x45mm NATO (Mk262)<br />Patronen: 30 Calibro: 5.56x45 mm NATO (Mk262)<br />Munizioni: 30 Ráže: 5.56x45mm NATO (Mk262)<br />Munice: 30 + Calibre: 5.56x45mm NATO (Mk262)<br/>Cartuchos: 30 5.56mm 30Rnd Mag (Mk318) @@ -797,6 +839,7 @@ 5,56mm 30-Patronen-Magazin (Mk318) 5.56mm 30Rnd Mag (Mk318) 5.56mm 30Rnd Zásobník (Mk318) + Carregador 5.56mm com 30 cartuchos (Mk318) 5.56mm Mk318 @@ -807,6 +850,7 @@ 5,56mm Mk318 5.56mm Mk318 5.56mm Mk318 + 5.56mm Mk318 Caliber: 5.56x45mm NATO (Mk318)<br />Rounds: 30 @@ -817,6 +861,7 @@ Kaliber: 5,56x45mm NATO (Mk318)<br />Patronen: 30 Calibro: 5.56x45 mm NATO (Mk318)<br />Munizioni: 30 Ráže: 5.56x45mm NATO (Mk318)<br />Munice: 30 + Calibre: 5.56x45mm NATO (Mk318)<br/>Cartuchos: 30 5.56mm 30Rnd Mag (M995 AP) @@ -827,6 +872,7 @@ 5,56mm 30-Patronen-Magazin (M995AP) 5.56mm 30Rnd Mag (M995 AP) 5.56mm 30náb. Zásobník (M995 AP) + Carregador 5.56mm com 30 cartuchos (M995 AP) 5.56mm AP @@ -837,6 +883,7 @@ 5,56mm AP 5.56mm AP 5.56mm AP + 5.56mm M995 AP Caliber: 5.56x45mm NATO (M995 AP)<br />Rounds: 30 @@ -847,6 +894,7 @@ Kaliber: 5,56x45mm NATO (M995 AP)<br />Patronen: 30 Calibro: 5.56x45 mm NATO (M995 AP)<br />Munizioni: 30 Ráže: 5.56x45mm NATO (M995 AP)<br />Munice: 30 + Calibre: 5.56x45mm NATO (M995 AP)<br/>Cartuchos: 30 7.62mm 10Rnd Mag (M118LR) @@ -857,6 +905,7 @@ 7,62mm 10-Patronen-Magazin (M118LR) 7.62mm 10Rnd Mag (M118LR) 7.62mm 10náb. Zásobník (M118LR) + Carregador 7.62mm com 10 cartuchos (M118LR) 7.62mm M118LR @@ -867,6 +916,7 @@ 7,62mm M118LR 7.62mm M118LR 7.62mm M118LR + 7.62mm M118LR Caliber: 7.62x51mm NATO (M118LR)<br />Rounds: 10 @@ -877,6 +927,7 @@ Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (M118LR)<br />Munizioni: 10 Ráže: 7.62x51mm NATO (M118LR)<br />Munice: 10 + Calibre: 7.26x51mm NATO (M118LR)<br/>Cartuchos: 10 7.62mm 20Rnd Mag (M118LR) @@ -887,6 +938,7 @@ 7,62mm 20-Patronen-Magazin (M118LR) 7.62mm 20Rnd Mag (M118LR) 7.62mm 20náb. Zásobník (M118LR) + Carregador 7.62mm com 20 cartuchos (M118LR) 7.62mm M118LR @@ -897,6 +949,7 @@ 7,62mm M118LR 7.62mm M118LR 7.62mm M118LR + 7.62mm M118LR Caliber: 7.62x51mm NATO (M118LR)<br />Rounds: 20 @@ -907,6 +960,7 @@ Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (M118LR)<br />Munizioni: 20 Ráže: 7.62x51mm NATO (M118LR)<br />Munice: 20 + Calibre: 7.26x51mm NATO (M118LR)<br/>Cartuchos: 20 7.62mm 10Rnd Mag (Mk316 Mod 0) @@ -917,6 +971,7 @@ 7,62mm 10-Patronen-Magazin (Mk316 Mod 0) 7.62mm 10Rnd Mag (Mk316 Mod 0) 7.62mm 10náb. Zásobník (Mk316 Mod 0) + Carregador 7.62mm com 10 cartuchos (Mk316 Mod 0) 7.62mm Mk316 @@ -927,6 +982,7 @@ 7,62mm Mk316 7.62mm Mk316 7.62mm Mk316 + 7.62mm Mk316 Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 10 @@ -937,6 +993,7 @@ Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (Mk316 Mod 0)<br />Munizioni: 10 Ráže: 7.62x51mm NATO (Mk316 Mod 0)<br />Munice: 10 + Calibre: 7.26x51mm NATO (Mk316 Mod 0)<br/>Cartuchos: 10 7.62mm 20Rnd Mag (Mk316 Mod 0) @@ -947,6 +1004,7 @@ 7,62mm 20-Patronen-Magazin (Mk316 Mod 0) 7.62mm 20Rnd Mag (Mk316 Mod 0) 7.62mm 20náb. Zásobník (Mk316 Mod 0) + Carregador 7.62mm com 20 cartuchos (Mk316 Mod 0) 7.62mm Mk316 @@ -957,6 +1015,7 @@ 7,62mm Mk316 7.62mm Mk316 7.62mm Mk316 + 7.62mm Mk316 Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 20 @@ -967,6 +1026,7 @@ Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (Mk316 Mod 0)<br />Munizioni: 20 Ráže: 7.62x51mm NATO (Mk316 Mod 0)<br />Munice: 20 + Calibre: 7.26x51mm NATO (Mk316 Mod 0)<br/>Cartuchos: 20 7.62mm 10Rnd Mag (Mk319 Mod 0) @@ -977,6 +1037,7 @@ 7,62mm 10-Patronen-Magazin (Mk319 Mod 0) 7.62mm 10Rnd Mag (Mk319 Mod 0) 7.62mm 10náb. Zásobník (Mk319 Mod 0) + Carregador 7.62mm com 10 cartuchos (Mk319 Mod 0) 7.62mm Mk319 @@ -987,6 +1048,7 @@ 7,62mm Mk319 7.62mm Mk319 7.62mm Mk319 + 7.62mm Mk319 Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 10 @@ -997,6 +1059,7 @@ Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (Mk319 Mod 0)<br />Munizioni: 10 Ráže: 7.62x51mm NATO (Mk319 Mod 0)<br />Munice: 10 + Calibre: 7.26x51mm NATO (Mk319 Mod 0)<br/>Cartuchos: 10 7.62mm 20Rnd Mag (Mk319 Mod 0) @@ -1007,6 +1070,7 @@ 7,62mm 20-Patronen-Magazin (Mk319 Mod 0) 7.62mm 20Rnd Mag (Mk319 Mod 0) 7.62mm 20náb. Zásobník (Mk319 Mod 0) + Carregador 7.62mm com 20 cartuchos (Mk319 Mod 0) 7.62mm Mk319 @@ -1017,6 +1081,7 @@ 7,62mm Mk319 7.62mm Mk319 7.62mm Mk319 + 7.62mm Mk319 Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 20 @@ -1027,6 +1092,7 @@ Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (Mk319 Mod 0)<br />Munizioni: 20 Ráže: 7.62x51mm NATO (Mk319 Mod 0)<br />Munice: 20 + Calibre: 7.26x51mm NATO (Mk319 Mod 0)<br/>Cartuchos: 20 7.62mm 10Rnd Mag (M993 AP) @@ -1037,6 +1103,7 @@ 7,62mm 10-Patronen-Magazin (M993 AP) 7.62mm 10Rnd Mag (M993 AP) 7.62 10náb. Zásobník (M993 AP) + Carregador 7.62mm com 10 cartuchos (M993 AP) 7.62mm AP @@ -1047,6 +1114,7 @@ 7,62mm AP 7.62mm AP 7.62mm AP + 7.62mm AP Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 10 @@ -1057,6 +1125,7 @@ Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 10 Ráže: 7.62x51mm NATO (M993 AP)<br />Munice: 10 + Calibre: 7.26x51mm NATO (M993 AP)<br/>Cartuchos: 10 7.62mm 20Rnd Mag (M993 AP) @@ -1067,6 +1136,7 @@ 7,62mm 20-Patronen-Magazin (M993 AP) 7.62mm 20Rnd Mag (M993 AP) 7.62mm 20náb. Zásobník (M993 AP) + Carregador 7.62mm com 20 cartuchos (M993 AP) 7.62mm AP @@ -1077,6 +1147,7 @@ 7,62mm AP 7.62mm AP 7.62mm AP + 7.62mm AP Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 20 @@ -1087,6 +1158,7 @@ Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 20 Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 20 Ráže: 7.62x51mm NATO (M993 AP)<br />Munice: 20 + Calibre: 7.26x51mm NATO (M993 AP)<br/>Cartuchos: 20 7.62mm 20Rnd Mag (Mk248 Mod 0) @@ -1097,6 +1169,7 @@ 7,62mm 20-Patronen-Magazin (Mk248 Mod 0) 7.62mm 20Rnd Mag (Mk248 Mod 0) 7.62mm 20náb. Zásobník (Mk248 Mod 0) + Carregador 7.62mm com 20 cartuchos (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) @@ -1107,6 +1180,7 @@ 7,62mm (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) + 7.62mm (Mk248 Mod 0) Caliber: 7.62x67mm NATO (Mk248 Mod 0)<br />Rounds: 20 @@ -1117,6 +1191,7 @@ Kaliber: 7,62x51mm NATO (Mk248 Mod 0)<br />Patronen: 20 Calibro: 7.62x67 mm NATO (Mk248 Mod 0)<br />Munizioni: 20 Ráže: 7.62x67mm NATO (Mk248 Mod 0)<br />Munice: 20 + Calibre: 7.26x67mm NATO (Mk248 Mod 0)<br/>Cartuchos: 20 7.62mm 20Rnd Mag (Mk248 Mod 1) @@ -1127,6 +1202,7 @@ 7,62mm 20-Patronen-Magazin (Mk248 Mod 1) 7.62mm 20Rnd Mag (Mk248 Mod 1) 7.62mm 20náb. Zásobník (Mk248 Mod 1) + Carregador 7.62mm com 20 cartuchos (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) @@ -1137,6 +1213,7 @@ 7,62mm (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) + 7.62mm (Mk248 Mod 1) Caliber: 7.62x67mm NATO (Mk248 Mod 1)<br />Rounds: 20 @@ -1147,6 +1224,7 @@ Kaliber: 7,62x51mm NATO (Mk248 Mod 1)<br />Patronen: 20 Calibro: 7.62x67 mm NATO (Mk248 Mod 1)<br />Munizioni: 20 Ráže: 7.62x67mm NATO (Mk248 Mod 1)<br />Munice: 20 + Calibre: 7.26x67mm NATO (Mk248 Mod 1)<br/>Cartuchos: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) @@ -1157,6 +1235,7 @@ 7,62mm 20-Patronen-Magazin (Berger Hybrid OTM) 7.62mm 20Rnd Mag (Berger Hybrid OTM) 7.62mm 20náb. Zásobník (Berger Hybrid OTM) + Carregador 7.62mm com 20 cartuchos (Berger Hybrid OTM) 7.62mm (OTM) @@ -1167,6 +1246,7 @@ 7,62mm (OTM) 7.62mm (OTM) 7.62mm (OTM) + 7.62mm (OTM) Caliber: 7.62x67mm NATO (Berger Hybrid OTM)<br />Rounds: 20 @@ -1177,6 +1257,7 @@ Kaliber: 7,62x67mm NATO (Berger Hybrid OTM)<br />Patronen: 20 Calibro: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Munizioni: 20 Ráže: 7.62x67mm NATO (Berger Hybrid OTM)<br />Munice: 20 + Calibre: 7.26x67mm NATO (Berger Hybrid OTM)<br/>Cartuchos: 20 6.5x47mm 30Rnd Mag (HPBT Scenar) @@ -1187,6 +1268,7 @@ 6,5x47mm 30-Patronen-Magazin (HPBT Scenar) 6.5x47mm 30Rnd Mag (HPBT Scenar) 6.5x47mm 30náb. Zásobník (HPBT Scenar) + Carregador 6.5x47mm com 30 cartuchos (HPBT Scenar) 6.5mm Lapua @@ -1197,6 +1279,7 @@ 6,5mm Lapua 6.5mm Lapua 6.5mm Lapua + 6.5mm Lapua Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM @@ -1207,6 +1290,7 @@ Kaliber: 6,5x47mm (HPBT Scenar)<br />Patronen: 30<br />Eingesetzt von: MXM Calibro: 6.5x47mm (HPBT Scenar)<br />Munizioni: 30<br />In uso su: MXM Ráže: 6.5x47mm (HPBT Scenar)<br />Munice: 30<br />Použití: MXM + Calibre: 6.5x47mm (HPBT Scenar)<br/>Cartuchos: 30<br/>Usado em: MXM 6.5mm Creedmor 30Rnd Mag @@ -1217,6 +1301,7 @@ Cargador de 30 balas Creedmor de 6.5mm Ch. 6.5mm Creedmor 30Cps 6.5mm Creedmor 30náb. Zásobník + Carregador 6.5mm com 30 cartuchos Creedmor 6.5mm CM @@ -1227,6 +1312,7 @@ 6,5mm CM 6.5mm CM 6.5mm CM + 6.5mm CM Caliber: 6.5x47mm Creedmor<br />Rounds: 30<br />Used in: MXM @@ -1237,6 +1323,7 @@ Calibre: 6.5mm Creedmor<br />Balas: 30<br />Se usa en: MXM Калибр: 6,5x47мм Creedmor<br />Патронов: 30<br />Используются c: MXM Ráže: 6.5x47mm Creedmor<br />Munice: 30<br />Použití: MXM + Calibre: 6.5x47mm Creedmor<br/>Cartuchos: 30<br/>Usado em: MXM .338 10Rnd Mag (300gr Sierra MatchKing HPBT) @@ -1247,6 +1334,7 @@ .338 10-Patronen-Magazin (300gr Sierra MatchKing HPBT) .338 10Munizioni Mag (300gr Sierra MatchKing HPBT) .338 10náb. Zásobník (300gr Sierra MatchKing HPBT) + Carregador .338 (300gr Sierra MatchKing HPBT) com 10 cartuchos .338 HPBT @@ -1257,6 +1345,7 @@ .338 HPBT .338 (HPBT) .338 HPBT + .338 HPBT Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 @@ -1267,6 +1356,7 @@ Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Patronen: 10 Calibro: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Munizioni: 10 Ráže: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Munice: 10 + Calibre: 8.6x70mm (300gr Sierra MatchKing HPBT)<br/>Cartuchos: 10 .338 10Rnd Mag (API526) @@ -1277,6 +1367,7 @@ .338 10-Patronen-Magazin (API526) .338 10Rnd Mag (API526) .338 10náb. Zásobník (API526) + Carregador .338 (API526) com 10 cartuchos .338 AP @@ -1287,6 +1378,7 @@ .338 AP .338 AP .338 AP + .338 AP Caliber: 8.6x70mm (API526)<br />Rounds: 10 @@ -1297,6 +1389,7 @@ Kaliber: 8,6x70mm (API526)<br />Patronen: 10 Calibro: 8.6x70mm (API526)<br />Munizioni: 10 Ráže: 8.6x70mm (API526)<br />Munice: 10 + Calibre: 8.6x70mm (API526)<br/>Cartuchos: 10 12.7x99mm 5Rnd Mag @@ -1307,6 +1400,7 @@ 12,7x99mm 5-Patronen-Magazin 12.7x99mm 5Rnd Mag 12.7x99mm 5náb. Zásobník + Carregador 12.7x99mm com 5 cartuchos 12.7mm @@ -1317,6 +1411,7 @@ 12,7mm 12.7mm 12.7mm + 12.7mm Caliber: 12.7x99mm<br />Rounds: 5 @@ -1327,6 +1422,7 @@ Kaliber: 12,7x99mm<br />Patronen: 5 Calibro: 12.7x99mm<br />Munizioni: 5 Ráže: 12.7x99mm<br />Munice: 5 + Calibre: 12.7x99mm<br/>Cartuchos: 5 12.7x99mm API 5Rnd Mag @@ -1337,6 +1433,7 @@ Магазин из 5-ти 12,7x99 мм (бронебойно-зажигательные) 12,7x99mm 5-Patronen-Magazin (API) 12.7x99mm API 5náb. Zásobník + Carregador 12.7x99mm API com 5 cartuchos 12.7mm API @@ -1347,6 +1444,7 @@ 12.7 мм бронебойно-зажигательные 12,7mm API 12.7mm API + 12.7mm API Caliber: 12.7x99mm API<br />Rounds: 5 @@ -1357,6 +1455,7 @@ Kaliber:12,7x99mm API<br />Patronen: 5 Calibro: 12.7x99mm API<br />Munizioni: 5 Ráže: 12.7x99mm API<br />Munice: 5 + Calibre: 12.7x99mm API<br/>Cartuchos: 5 12.7x99mm 5Rnd Mag (AMAX) @@ -1367,6 +1466,7 @@ 12,7x99mm 5-Patronen-Magazin (AMAX) 12.7x99mm 5Rnd Mag (AMAX) 12.7x99mm 5náb. Zásobník (AMAX) + Carregador 12.7x99mm (AMAX) com 5 cartuchos 12.7mm @@ -1377,6 +1477,7 @@ 12,7mm 12.7mm 12.7mm + 12.7mm Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 @@ -1387,6 +1488,7 @@ Calibro: 12.7x99mm (AMAX)<br />Munizioni: 5 Kaliber:12,7x99mm (AMAX)<br />Patronen: 5 Ráže: 12.7x99mm (AMAX)<br />Munice: 5 + Calibre: 12.7x99mm (AMAX)<br/>Cartuchos: 5 - + \ No newline at end of file diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 86722a0014..4c139897c9 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -167,6 +167,7 @@ Применимо только к живым юнитам Csak élő egységeken használni Si può fare solo su persone vive + Usar somente em unidades vivas Only use on dismounted inf @@ -178,6 +179,7 @@ Применимо только к пехоте вне техники Csak járműben kívül lévő egységeken használni Si può usare solo su fanteria a piedi + Usar somente em infantaria desmontada Nothing under mouse @@ -192,4 +194,4 @@ Niente selezionato - + \ No newline at end of file diff --git a/addons/disarming/stringtable.xml b/addons/disarming/stringtable.xml index 8f02cb7769..e43624f96d 100644 --- a/addons/disarming/stringtable.xml +++ b/addons/disarming/stringtable.xml @@ -11,6 +11,7 @@ Apri l'inventario Ouvrir l'inventaire Felszerelés megtekintése + Abrir inventário \ No newline at end of file diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 0dc86c306c..625bb6a542 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -35,7 +35,7 @@ Előtöltött műrakéta Предзаряженная ракетная болванка Missile stupido precaricato - Míssel dummy pré-carregado + Míssel inerte pré-carregado - + \ No newline at end of file diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index d95e9e5156..dd2e11f72b 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -31,7 +31,7 @@ Objeto demasiado pesado Przedmiot jest zbyt ciężki Objet trop lourd - Não é possível carregar o item devido a seu peso + Objeto muito pesado Non è possibile trascinare l'oggetto a causa del suo peso Предмет слишком тяжёлый Moc težké @@ -50,4 +50,4 @@ Нести - + \ No newline at end of file diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index 2e4f86249a..cfc28f9c4e 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -11,7 +11,7 @@ Désactive la fragmentation Repeszek letiltása Disattiva la frammentazione - Disabilitar Fragmentação + Desabilitar Fragmentação - + \ No newline at end of file diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index 9bc9063c8d..f13947d095 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -107,6 +107,7 @@ Wyłącz dzwonienie w uszach Fülcsengés letiltása Disabilita il ronzio + Desabilitar zumbido de ouvidos - + \ No newline at end of file diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 633aaa3ee9..3a7a18c3a4 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -23,6 +23,7 @@ Zobrazit kurzor v menu pro interakci Immer den Cursor für Fremd-Interaktionen anzeigen Mindig legyen a cselekvés kurzorja látható + Sempre mostrar cursor para interação Display interaction menus as lists @@ -34,6 +35,7 @@ Zobrazit menu interakce jako seznam Interaktionsmenü in Listen anzeigen Cselekvő menük listaként való megjelenítése + Mostrar menu de interação como listas Interact Key @@ -93,6 +95,7 @@ Взаимодействие - Текст Макс. Interacción - Texto al max. Cselekvés - Szöveg max. + Interação - Max. de Texto Interaction - Text Min @@ -104,6 +107,7 @@ Взаимодействие - Текст Мин. Interacción - Texto al min. Cselekvés - Szöveg min. + Interação - Min. de Texto Interaction - Shadow Max @@ -115,6 +119,7 @@ Взаимодействие - Тень Макс. Interacción - Sombras al max. Cselekvés - Árnyék max. + Interação - Max. de Sombra Interaction - Shadow Min @@ -126,6 +131,7 @@ Взаимодействие - Тень Мин. Interacción - Sombras al min. Cselekvés - Árnyék min. + Interação - Min. de Sombra Keep cursor centered @@ -136,6 +142,7 @@ Utrzymaj kursor wyśrodkowany Mantener el cursor centrado Udržuj kurzor na středu + Manter o cursor centralizado Keeps cursor centered and pans the option menu around. Useful if screen size is limited. @@ -146,6 +153,7 @@ Középen tartja a kurzort, és a menüelemeket mozgatja. Hasznos lehetőség korlátozott képméretnél. Utrzymuje kursor na środku ekranu, zamiast tego ruch myszą powoduje przesuwanie menu interakcji. Użyteczne w przypadku kiedy rozmiar ekranu jest ograniczony. Mantiene el cursor centrado y despliega los menús alrededor. Útil si el tamaño de la pantalla es limitado. + Manter o cursor centralizado e mover o menu de opções. Útil caso o tamanho da tela seja limitado. Do action when releasing menu key @@ -155,6 +163,7 @@ Action au relachement de touche Выполнять действие при отпускании кнопки взаимодействия Realizar la acción al soltar la tecla menu + Execute a ação quando soltar a tecla de menu Interaction Text Size @@ -164,6 +173,7 @@ Размер текста (меню взаимодействия) Tamaño del texto de interacción Rozmiar tekstu interakcji + Tamanho do texto de interação Interaction Text Shadow @@ -173,6 +183,7 @@ Тень от текста (меню взаимодействия) Sombra del texto de interacción Cień tekstu interakcji + Sombra do texto de interação Allows controlling the text's shadow. Outline ignores custom shadow colors. @@ -182,6 +193,7 @@ Дает возможность изменять тень, отбрасываемую текстом. Контур не зависит от выбранного цвета тени. Permite contolar la sombra del texto. El contorno ignora los colores personalizados de la sombra. Pozwala kontrolować cień tekstu. Kontury ignorują niestandardowe kolory cienia. + Permite controlar a sombra do texto. Contorno ignora sombras com cores customizadas. Outline @@ -191,6 +203,7 @@ Контур Contorno Kontur + Contorno - + \ No newline at end of file diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index d702e6b2e3..8b9a18a00a 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -570,48 +570,56 @@ Rot zuweisen Asignar a rojo Przydziel do czerwonych + Atribuir Vermelho Assign Green Grün zuweisen Asignar a verde Przydziel do zielonych + Atribuir Verde Assign Blue Blau zuweisen Asignar a azul Przydziel do niebieskich + Atribuir Azul Assign Yellow Gelb zuweisen Asignar a amarillo Przydziel do żółtych + Atribuir Amarelo Join Red Rot beitreten Unirse a rojo Dołącz do czerwonych + Entrar em Vermelho Join Green Grün beitreten Unirse a verde Dołącz do zielonych + Entrar em Verde Join Blue Blau beitreten Unirse a azul Dołącz do niebieskich + Entrar em Azul Join Yellow Gelb beitreten Unirse a amarillo Dołącz do żółtych + Entrar em Amarelo You joined Team %1 @@ -746,4 +754,4 @@ Passageiros - + \ No newline at end of file diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index 88eb1fd146..ce97297a6b 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -47,6 +47,7 @@ Kestrel 4500 anzeigen Kestrel 4500 mutatása Zobrazit Kestrel 4500 + Mostrar Kestrel 4500 Hide Kestrel 4500 @@ -58,6 +59,7 @@ Kestrel 4500 wegstecken Kestrel 4500 elrejtése Skrýt Kestrel 4500 + Ocultar Kestrel 4500 Open Kestrel 4500 @@ -69,6 +71,7 @@ Kestrel 4500 öffnen Kestrel 4500 elővétele Otevřít Kestrel 4500 + Abrir Kestrel 4500 Show Kestrel 4500 @@ -80,6 +83,7 @@ Kestrel 4500 anzeigen Kestrel 4500 mutatása Zobrazit Kestrel 4500 + Mostrar Kestrel 4500 - + \ No newline at end of file diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index 710d7c2e29..8bf1ce11dc 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -7,6 +7,7 @@ Kod lasera Code laser Лазерный код + Código do Laser Laser - Cycle Code Up @@ -14,6 +15,7 @@ Laser - Następny kod Laser - Code + Лазер - увеличить частоту + Laser - Alternar Código para Cima Laser - Cycle Code Down @@ -21,6 +23,7 @@ Laser - Poprzedni kod Laser - Code - Лазер - уменьшить частоту + Laser - Alternar Código para Baixo - + \ No newline at end of file diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index 02ef89f7a8..f25689c5b9 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -11,7 +11,7 @@ Désignateur laser allumé Lézeres Megjelölő Be Designatore laser acceso - Desiginador Laser Ligado + Designador Laser Ligado Laser Designator Off @@ -23,7 +23,7 @@ Désignateur laser éteint Lézeres Megjelölő Ki Designatore laser spento - Desiginador Laser Desligado + Designador Laser Desligado - + \ No newline at end of file diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index 484366085f..464d0a7704 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -59,6 +59,7 @@ Laser Lézer Laser + Laser IR Laser @@ -70,6 +71,7 @@ Laser IR Infravörös Lézer IR Laser + Laser IV Switch Laser / Infračervený Laser @@ -81,6 +83,7 @@ Cambiar láser / Láser IR Lézer / Infravörös Lézer váltása Přepnout Laser / IR Laser + Alternar entre Laser / Laser IV - + \ No newline at end of file diff --git a/addons/logistics_uavbattery/stringtable.xml b/addons/logistics_uavbattery/stringtable.xml index fecf4754da..8c0bd56675 100644 --- a/addons/logistics_uavbattery/stringtable.xml +++ b/addons/logistics_uavbattery/stringtable.xml @@ -9,7 +9,7 @@ Dron jest naładowany A drón fel van töltve Dron je nabitý - O UAV está cheio + O VANT está cheio Il drone è pieno БПЛА полностью заряжен @@ -21,7 +21,7 @@ Potrzebujesz baterii UAV Szükséged van egy UAV akkumulátorra Potřebuješ UAV baterii - Você precisa de uma bateria para UAVs + Você precisa de uma bateria para VANTs Hai bisogno di una Batteria UAV Требуется аккумулятор для БПЛА @@ -45,7 +45,7 @@ Bateria UAV UAV akkumulátor UAV baterie - Bateria para UAV + Bateria para VANT Batteria UAV Аккумулятор БПЛА @@ -57,7 +57,7 @@ Używana do naładowania baterii przenośnego UAV Hordozható UAV-k feltöltéséhez való akkumulátor Používané k dobíjení UAV - Usada para reabastecer o UAV + Usada para reabastecer o VANT Usata per ricaricare la Batteria dell'UAV Используется для зарядки переносных БПЛА @@ -74,4 +74,4 @@ Заряжается ... - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index fdc62a427a..8478e1696e 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -11,6 +11,7 @@ HERIDAS SÉRÜLÉSEK ZRANĚNÍ + FERIMENTOS No injuries on this bodypart ... @@ -22,6 +23,7 @@ Sin heridas en esta parte del cuerpo ... Ezen a testrészen nincs sérülés ... Žádné zranění na této části těla ... + Nenhum ferimento nesta parte do corpo... Litter Simulation Detail @@ -33,6 +35,7 @@ Abfall-Detaillevel Hulladékszimuláció részletessége Úroveň počtu zobrazených předmětů z použitých léků + Detalhe da simulação de sujeira Litter simulation detail level sets the number of litter items which will be locally spawned in the client. Excessive amounts in local areas could cause FPS lag, so this is a client only setting. @@ -44,6 +47,7 @@ Die Einstellung für das Abfall-Detaillevel stellt die Menge der lokal erzeugten medizinischen Abfälle ein. Zuviel erzeugte Abfälle können FPS-Lags erzeugen, deswegen ist diese Einstellung nur clientseitig. A hulladékszimuláció részletessége megszabja a kliens által megjelenített hulladékobjektumok mennyiségét. Súlyos mennyiségek izolált területeken alacsony FPS-t okozhatnak, így ez egy kliensoldali beállítás. Úroveň počtu zobrazených předmětů z použitých léků ovlivňuje počet objektů, které budou zobrazeny klientovi . Vyšší množství objektů může způsobovat poklesy FPS a proto je toto nastavení čistě na klientovi. + O nível de detalhe de sujeira determina o número de itens que irão aparecer no cliente. Quantidades excessivas em áreas locais podem aumentar o lag do FPS, então esta é uma opção somente para o cliente. Inject Atropine @@ -414,6 +418,7 @@ Sin entradas en esta tarjeta de clasificación. Ez az orvosi lap nem tartalmaz bejegyzést. Žádné záznamy na tomto štítku + Nenhuma entrada neste cartão de triagem Tourniquet @@ -449,6 +454,7 @@ Diagnosticar Diagnosztizálás Diagnóza + Diagnosticar Diagnosing ... @@ -460,6 +466,7 @@ Diagnosticando ... Diagnózis folyamatban... Diagnostika ... + Diagnosticando... CPR @@ -471,6 +478,7 @@ RCP Újraélesztés KPR + SBV Performing CPR ... @@ -482,6 +490,7 @@ Realizando RCP ... Újraélesztés folyamatban... Provádím KPR ... + Realizando o SBV... Give Blood IV (1000ml) @@ -1237,6 +1246,7 @@ Trousse de premiers soins pour coudre sur le terrain et traitements avancés. Equipo de primeros auxilios para sutura de campaña o tratamientos avanzados Elsősegélycsomag, terepen való sebvarráshoz és haladó ellátáshoz + Kit de primeiros socorros para sutura ou tratamentos avançados Use Personal Aid Kit @@ -1247,6 +1257,7 @@ Usar equipo de primeros auxilios Elsősegélycsomag használata Použít balíček první pomoci + Usar o kit de primeiros socorros Surgical Kit @@ -1294,6 +1305,7 @@ Usar equipo quirúrgico Sebészeti készlet használata Použít chirurgickou sadu + Usar kit cirúrgico Bodybag @@ -1365,6 +1377,7 @@ %1 verificada la presión arterial: %2 %1 ellenőrizte a vérnyomást: %2 %1 zkontrolován krevní tlak: %2 + %1 verificou pressão arterial: %2 You checked %1 @@ -1375,7 +1388,7 @@ Kontrolliert %1 A %1 ellenőrizve Hai diagnosticato %1 - Você aferiu o paciente %1 + Você verificou o paciente %1 Zkontroloval jsi %1 @@ -1460,6 +1473,7 @@ Baja Alacsony Nízký + Baixa Normal @@ -1471,6 +1485,7 @@ Normal Normális Normální + Normal High @@ -1482,6 +1497,7 @@ Alta Magas Vysoký + Alta No Blood Pressure @@ -1493,6 +1509,7 @@ Sin presión arterial Nincs vérnyomás Žádný krevní tlak + Sem pressão arterial Pulse @@ -1540,6 +1557,7 @@ %1 verificado el ritmo cardíaco: %2 %1 ellenőrizte a szívverés-számot: %2 %1 zkontroloval srdeční tep: %2 + %1 verificou a frequência cardíaca: %2 Weak @@ -1551,6 +1569,7 @@ Débil Gyenge Slabý + Fraca Normal @@ -1562,6 +1581,7 @@ Normal Normális Normální + Normal Strong @@ -1573,6 +1593,7 @@ Fuerte Erős Silný + Forte You find a Heart Rate of %2 @@ -1704,6 +1725,7 @@ Paciente %1<br/>is %2.<br/>%3.<br/>%4 A páciens, %1,<br/>%2.<br/>%3.<br/>%4 Pacient %1<br/>je %2.<br/>%3.<br/>%4 + Paciente %1<br/>é %2.<br/>%3.<br/>%4 alive @@ -1715,6 +1737,7 @@ vivo élő naživu + vivo dead @@ -1726,6 +1749,7 @@ martwy halott mrtev + morto He's lost some blood @@ -1737,6 +1761,7 @@ Stracił trochę krwi Valamennyi vért vesztett Ztratil trochu krve + Ele perdeu um pouco de sangue He's lost a lot of blood @@ -1747,6 +1772,7 @@ Ha perdido mucha sangre Il a perdu beaucoup de sang Ztratil hodně krve + Ele perdeu muito sangue He hasn't lost blood @@ -1758,6 +1784,7 @@ No ha perdido sangre Nem vesztett vért Neztratil žádnou krev + Ele não perdeu sangue He is in pain @@ -1769,6 +1796,7 @@ Siente dolor Fájdalmai vannak Je v bolestech + Ele está com dor He is not in pain @@ -1780,6 +1808,7 @@ No siente dolor Nincsenek fájdalmai Nemá žádné bolesti + Ele não está com dor Bandaged @@ -2040,6 +2069,7 @@ Lourdement blessé Erősen sérült Těžce zraněn + Gravemente ferido Lightly wounded @@ -2051,6 +2081,7 @@ Légèrement blessé Enyhén sérült Lehce zraněn + Levemente ferido Very lightly wounded @@ -2062,6 +2093,7 @@ Très légèrement blessé Nagyon enyhén sérült Velmi lehce zraněn + Muito levemente ferido Head @@ -2073,6 +2105,7 @@ Tête Fej Hlava + Cabeça Torso @@ -2084,6 +2117,7 @@ Torse Testtörzs Trup + Torso Left Arm @@ -2095,6 +2129,7 @@ Bras gouche Bal kar Levá ruka + Braço Esquerdo Right Arm @@ -2106,6 +2141,7 @@ Bras droit Jobb kar Pravá ruka + Braço Direito Left Leg @@ -2117,6 +2153,7 @@ Jambe gauche Bal láb Levá noha + Perna Esquerda Right Leg @@ -2128,6 +2165,7 @@ Jambe droite Jobb láb Pravá noha + Perna Direita Pain Effect Type @@ -2138,6 +2176,7 @@ Tipo de efecto de dolor Type d'effet de douleur Fájdalom-effekt típusa + Tipo do efeito de dor Colour Flashing @@ -2148,6 +2187,7 @@ Parpadeo de color Flash de couleur Színvillódzás + Flash de cor Chromatic Aberration @@ -2159,6 +2199,7 @@ Aberration chromatique Kromatikus aberráció Chromatická aberace + Aberração Cromática Style of menu (Medical) @@ -2168,6 +2209,7 @@ Вид меню (медицина) Tipo de menú (Medico) Styl menu (Zdravotní) + Estilo do menu (Médico) Select the type of menu you prefer; default 3d selections or radial. @@ -2177,6 +2219,7 @@ Выберите тип меню: стандартный вариант (3D) или радиальный Selecciona el tipo de menú que prefieres: selecciones 3d por defecto o radial. Vyberte typ menu který preferujete: výchozí 3D nebo radiální. + Selecione o tipo de menu que você prefere; padrão seleções 3d ou radial. Selections (3d) @@ -2185,6 +2228,7 @@ 3D-Selektion Стандартный (3D) Selecciones (3d) + Seleção (3d) Radial @@ -2194,6 +2238,7 @@ Радиальный Radial Radiální + Radial Scrape @@ -2204,6 +2249,7 @@ Draśnięcie Arañazo Horzsolás + Raspão Minor Scrape @@ -2214,6 +2260,7 @@ Pomniejsze draśnięcie Arañazo menor Kis horzsolás + Raspão leve Medium Scrape @@ -2224,6 +2271,7 @@ Średnie draśnięcie Arañazo medio Közepes horzsolás + Raspão médio Large Scrape @@ -2234,6 +2282,7 @@ Duże draśnięcie Arañazo severo Nagy horzsolás + Raspão grave Avulsion @@ -2244,6 +2293,7 @@ Rana płatowa Avulsión Leszakadás + Avulsão Minor Avulsion @@ -2254,6 +2304,7 @@ Pomniejsza rana płatowa Avulsión menor Kis leszakadás + Avulsão leve Medium Avulsion @@ -2264,6 +2315,7 @@ Średnia rana płatowa Avulsión media Közepes leszakadás + Avulsão média Large Avulsion @@ -2274,6 +2326,7 @@ Duża rana płatowa Avulsión severa Nagy leszakadás + Avulsão grave Bruise @@ -2284,6 +2337,7 @@ Stłuczenie Contusión Zúzódás + Contusão Minor Bruise @@ -2294,6 +2348,7 @@ Pomniejsze stłuczenie Contusión menor Kis zúzódás + Contusão leve Medium Bruise @@ -2304,6 +2359,7 @@ Średnie stłuczenie Contusión media Közepes zúzódás + Contusão média Large Bruise @@ -2314,6 +2370,7 @@ Duże stłuczenie Contusión severa Nagy zúzódás + Contusão grave Crushed tissue @@ -2324,6 +2381,7 @@ Zgniecienie tkanek miękkich Tejido triturado Zúzott szövet + Tecido esmagado Minor crushed tissue @@ -2334,6 +2392,7 @@ Pomniejsze zgniecienie tkanek miękkich Tejido triturado menor Kis zúzott szövet + Tecido esmagado leve Medium crushed tissue @@ -2344,6 +2403,7 @@ Średnie zgniecienie tkanek miękkich Tejido triturado medio Közepes zúzott szövet + Tecido esmagado médio Large crushed tissue @@ -2354,6 +2414,7 @@ Duże zgniecienie tkanek miękkich Tejido triturado severo Nagy zúzött szövet + Tecido esmagado grave Cut @@ -2364,6 +2425,7 @@ Rana cięta Corte Vágás + Corte Small Cut @@ -2374,6 +2436,7 @@ Corte menor Kis vágás Petite coupure + Corte leve Medium Cut @@ -2384,6 +2447,7 @@ Corte mediano Közepes vágás Moyenne coupure + Corte médio Large Cut @@ -2394,6 +2458,7 @@ Corte severo Nagy vágás Large coupure + Corte grave Tear @@ -2404,6 +2469,7 @@ Déchirure Desgarro Szakadás + Ruptura Small Tear @@ -2414,6 +2480,7 @@ Petite Déchirure Desgarro menor Kis szakadás + Ruptura leve Medium Tear @@ -2424,6 +2491,7 @@ Desgarro medio Közepes szakadás Moyenne déchirure + Ruptura média Large Tear @@ -2434,6 +2502,7 @@ Desgarro severo Nagy szakadás Large déchirure + Ruptura grave Velocity Wound @@ -2444,6 +2513,7 @@ Blessure de vélocité Herida de bala Lőtt seb + Ferimento por projétil de arma de fogo Smal Velocity Wound @@ -2454,6 +2524,7 @@ Herida de bala menor Kis lőtt seb Petite blessure de vélocité + Ferimento leve por projétil de arma de fogo Medium Velocity Wound @@ -2464,6 +2535,7 @@ Herida de bala media Közepes lőtt seb Moyenne blessure de vélocité + Ferimento médio por projétil de arma de fogo Large Velocity Wound @@ -2474,6 +2546,7 @@ Herida de bala severa Nagy lőtt seb Large blessure de vélocité + Ferimento grave por projétil de arma de fogo Puncture Wound @@ -2484,6 +2557,7 @@ Blessure de perforation Herida punzante Szúrt seb + Ferimento por perfuração Minor Puncture Wound @@ -2494,6 +2568,7 @@ Herida punzante menor Kis szúrt seb Légère blessure de perforation + Ferimento leve por perfuração Medium Puncture Wound @@ -2504,6 +2579,7 @@ Herida punzante media Közepes szúrt seb Moyenne blessure de perforation + Ferimento médio por perfuração Large Puncture Wound @@ -2514,6 +2590,7 @@ Herida punzante severa Nagy szúrt seb Large blessure de perforation + Ferimento grave por perfuração Broken Femur @@ -2525,6 +2602,7 @@ Femur roto Törött combcsont Zlomená kost stehenní + Fêmur quebrado Treating ... @@ -2535,6 +2613,7 @@ Лечение ... Tratando ... Léčím ... + Tratando... Removing Tourniquet ... @@ -2542,6 +2621,7 @@ Zdejmowanie stazy ... Quitando torniquete ... Retire le tourniquet ... + Removendo torniquete... - + \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index fac53325f4..3d1d8d101f 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -22,6 +22,7 @@ Das Erweiterte Raketenlenksystem, auch ERls genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. A fejlett rakétairányító (vagy AMG) többféle módosítást tartalmaz a rakéták célkövetéséhez és tüzeléséhez. Ez egy szükséges keresztrendszer a rakéta-alapú fegyverekhez. + Orientação avançada de mísseis ou OAM, fornece vários aprimoramentos para travamento de mísseis e disparos. Também é um sistema requerido para disparar armas que utilizem mísseis. Hydra-70 DAGR Missile @@ -31,7 +32,7 @@ Hydra-70 DAGR Rackete Hydra-70 DAGR Missile Hydra-70 DAGR - + Míssil Hydra-70 DAGR Hydra-70 DAGR rakéta Hydra-70 DAGR @@ -43,7 +44,7 @@ DAGR DAGR DAGR - + DAGR DAGR DAGR @@ -55,7 +56,7 @@ Hydra-70 DAGR lasergelenkte Rakete Hydra-70 DAGR laserem naváděná střela Hydra-70 DAGR missile guida laser - + Míssil guiado a laser Hydra-70 DAGR Hydra-70 DAGR lézer-irányított rakéta Управляемая ракета лазерного наведения Hydra-70 DAGR @@ -67,7 +68,7 @@ Hellfire II AGM-114K Hellfire II AGM-114K Missile Hellfire II AGM-114K - + Míssil Hellfire II AGM-114K Hellfire II AGM-114K rakéta Hellfire II AGM-114K @@ -79,7 +80,7 @@ AGM-114K AGM-114K AGM-114K - + AGM-114K AGM-114K AGM-114K @@ -91,9 +92,9 @@ Hellfire II AGM-114K Lasergelenkte Rakete Hellfire II AGM-114K laserem naváděná střela Missile guida laser Hellfire II AGM-114K - + Míssil guiado a laser Hellfire II AGM-114K Hellfire II AGM-114K lézer-irányított rakéta Управляемая ракета лазерного наведения Hellfire II AGM-114K - + \ No newline at end of file diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 15d42d04a8..1d79a14b04 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -9,6 +9,7 @@ 82 мм Таблица дальностей и прицелов Tabla de distancias de 82mm 82mm hatótáv-tábla + Tabela de distâncias de para 82mm Range Table for the MK6 82mm Mortar @@ -18,6 +19,7 @@ Таблица дальностей и прицелов для MK6 82 мм мортиры Tabla de distancias para el mortero MK6 de 82mm Hatótáv-tábla a MK6 82mm-es mozsárhoz + Tabela de distâncias para morteiro MK6 82mm Open 82mm Rangetable @@ -27,6 +29,7 @@ Открыть 82 мм Таблицу дальностей и прицелов Abrir tabla de distancias de 82mm 82mm hatótáv-tábla megnyitása + Abrir tabela de distâncias para 82mm Charge @@ -36,6 +39,7 @@ Зарядить Carga Töltés + Carregar - + \ No newline at end of file diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 20a03c1454..378661da50 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -238,6 +238,7 @@ Opción de escalado del menú IU UI Skalierung Beállításmenü kezelőfelületének skálázása + Escalar o menu de opções - + \ No newline at end of file diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 7a78ef6d7a..44da39f72a 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -119,6 +119,7 @@ YABHON-R3 (CAS) YABHON-R3 (Légitámogató) YABHON-R3 (CAS) + YABHON-R3 (CAS) M-ATV @@ -730,6 +731,7 @@ CH-47I Chinook (non-armé) CH-47I Chinook (fegyvertelen) CH-47I Chinook (disarmato) + CH-47I Chinook (desarmado) A-10D Thunderbolt II @@ -1581,6 +1583,7 @@ Noreen "Bad News" ULR Noreen "Bad News" ULR Noreen "Bad News"ULR + Noreen "Bad News" ULR Noreen "Bad News" ULR (Black) @@ -1592,6 +1595,7 @@ Noreen "Bad News" ULR (czarny) Noreen "Bad News" ULR (Nero) Noreen "Bad News"ULR (Fekete) + Noreen "Bad News" ULR (Preto) Noreen "Bad News" ULR (Camo) @@ -1603,6 +1607,7 @@ Noreen "Bad News" ULR (kamuflaż) Noreen "Bad News" ULR (Camo) Noreen "Bad News"ULR (Terepmintás) + Noreen "Bad News" ULR (Camuflagem) Noreen "Bad News" ULR (Sand) @@ -1614,6 +1619,7 @@ Noreen "Bad News" ULR (piaskowy) Noreen "Bad News" ULR (Sabbia) Noreen "Bad News"ULR (Homok) + Noreen "Bad News" ULR (Deserto) SIG 556 @@ -1625,6 +1631,7 @@ SIG 556 SIG 556 SIG 556 + SIG 556 SIG 556 (Black) @@ -1636,6 +1643,7 @@ SIG 556 (Schwarz) SIG 556 (Nero) SIG 556 (Fekete) + SIG 556 (Preto) SIG 556 (Khaki) @@ -1647,6 +1655,7 @@ SIG 556 (Khaki) SIG 556 (Khaki) SIG 556 (Khaki) + SIG 556 (Caqui) SIG 556 (Sand) @@ -1658,6 +1667,7 @@ SIG 556 (Sand) SIG 556 (Sabbia) SIG 556 (Homok) + SIG 556 (Deserto) SIG 556 (Camo) @@ -1669,6 +1679,7 @@ SIG 556 (Camo) SIG 556 (Camo) SIG 556 (Terepmintás) + SIG 556 (Camuflagem) SIG 556 (Woodland) @@ -1680,6 +1691,7 @@ SIG 556 (Woodland) SIG 556 (Woodland) SIG 556 (Erdőmintás) + SIG 556 (Floresta) SIG 556 (provisional) spotter @@ -1691,6 +1703,7 @@ SIG 556 (provisorisch) Beobachter SIG 556 (provisional) spotter SIG 556 (Ellátmányi) Megfigyelő + SIG 556 (provisional) observador ASP-1 Kir @@ -1702,6 +1715,7 @@ ASP-1 Kir ASP-1 Kir ASP-1 Kir + ASP-1 Kir ASP-1 Kir (Black) @@ -1713,6 +1727,7 @@ ASP-1 Kir (czarny) ASP-1 Kir (Nero) ASP-1 Kir (Fekete) + ASP-1 Kir (Preto) ASP-1 Kir (Tan) @@ -1724,6 +1739,7 @@ ASP-1 Kir (Tan) ASP-1 Kir (Tan) ASP-1 Kir (Cserszín) + ASP-1 Kir (Deserto) Cyrus @@ -1735,6 +1751,7 @@ Cyrus Cyrus Cyrus + Cyrus Cyrus (Black) @@ -1746,6 +1763,7 @@ Cyrus (czarny) Cyrus (Nero) Cyrus (Fekete) + Cyrus (Preto) Cyrus (Hex) @@ -1757,6 +1775,7 @@ Cyrus (hex) Cyrus (Hex) Cyrus (Hex) + Cyrus (Hex) Cyrus (Tan) @@ -1768,6 +1787,7 @@ Cyrus (podpalany) Cyrus (Tan) Cyrus (Cserszín) + Cyrus (Deserto) M14 @@ -1779,6 +1799,7 @@ M14 M14 M14 + M14 M14 (Camo) @@ -1790,6 +1811,7 @@ M14 (Camo) M14 (Camo) M14 (Terepmintás) + M14 (Camuflagem) M14 (Olive) @@ -1801,6 +1823,7 @@ M14 (Olive) M14 (Olive) M14 (Olíva) + M14 (Oliva) HK121 @@ -1812,6 +1835,7 @@ HK121 HK121 HK121 + HK121 HK121 (Hex) @@ -1823,6 +1847,7 @@ HK121 (hex) HK121 (Hex) HK121 (Hex) + HK121 (Hex) HK121 (Tan) @@ -1834,6 +1859,7 @@ HK121 (podpalany) HK121 (Tan) HK121 (Cserszín) + HK121 (Deserto) LWMMG @@ -1845,6 +1871,7 @@ LWMMG LWMMG LWMMG + LWMMG LWMMG (MTP) @@ -1856,6 +1883,7 @@ LWMMG (MTP) LWMMG (MTP) LWMMG (MTP) + LWMMG (MTP) LWMMG (Black) @@ -1867,6 +1895,7 @@ LWMMG (Schwarz) LWMMG (Nero) LWMMG (Fekete) + LWMMG (Preto) LWMMG (Sand) @@ -1878,6 +1907,7 @@ LWMMG (Sand) LWMMG (Sabbia) LWMMG (Homok) + LWMMG (Deserto) - + \ No newline at end of file diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 4106ad340c..4fe321bd7b 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -33,6 +33,7 @@ Teleport do bazy Телепортироваться на базу Téléportation à la base + Teletransportar para a Base Teleport to Rallypoint @@ -42,6 +43,7 @@ Teleport do punktu zbiórki Телепортироваться на точку сбора Téléporation au point de ralliement + Teletransportar para o ponto de encontro Teleported to Base @@ -77,6 +79,7 @@ Rallypoint West (Base) Gyülekezőpont, Nyugat (Bázis) Rallypoint Západ (Základna) + Ponto de encontro Oeste (Base) Rallypoint East (Base) @@ -88,6 +91,7 @@ Rallypoint East (Base) Gyülekezőpont, Kelet (Bázis) Ralllypoint Východ (Základna) + Ponto de encontro Lest (Base) Rallypoint Independent (Base) @@ -99,6 +103,7 @@ Rallypoint Independent (Base) Gyülekezőpont, Független (Bázis) Rallypoint Nezávislý (Základna) + Ponto de encontro Independente (Base) Rallypoint West @@ -110,6 +115,7 @@ Rallypoint West Gyülekezőpont, Nyugat Rallypoint Západ + Ponto de encontro Oeste Rallypoint East @@ -121,6 +127,7 @@ Rallypoint East Gyülekezőpont, Kelet Rallypoint Východ + Ponto de encontro Leste Rallypoint Independent @@ -132,6 +139,7 @@ Rallypoint Independent Gyülekezőpont, Független Rallypoint Nezávislý + Ponto de encontro Independente - + \ No newline at end of file diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index 257b78892b..f21a49ff24 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -10,6 +10,7 @@ Hausse + Kleine Korrektur nach oben Enyhe állítás fel + Pequeno ajuste para cima Minor adjustment down @@ -20,6 +21,7 @@ Hausse - Kleine Korrektur nach unten Enyhe állítás le + Pequeno ajuste para baixo Minor adjustment right @@ -30,6 +32,7 @@ Dérive + Kleine Korrektur nach rechts Enyhe állítás jobbra + Pequeno ajuste para direita Minor adjustment left @@ -40,6 +43,7 @@ Dérive - Kleine Korrektur nach links Enyhe állítás balra + Pequeno ajuste para esquerda Major adjustment up @@ -50,6 +54,7 @@ Hausse +++ Große Korrektur nach oben Nagy állítás fel + Ajuste grande para cima Major adjustment down @@ -60,6 +65,7 @@ Hausse --- Große Korrektur nach unten Nagy állítás le + Ajuste grande para baixo Major adjustment right @@ -70,6 +76,7 @@ Dérive +++ Große Korrektur nach rechts Nagy állítás jobbra + Ajuste grande para direita Major adjustment left @@ -80,6 +87,7 @@ Dérive --- Große Korrektur nach links Nagy állítás balra + Ajuste grande para esquerda Set zero adjustment @@ -90,6 +98,7 @@ RAZ corrections Auf 0 justieren Állítások nullázása + Zerar ajuste \ No newline at end of file diff --git a/addons/vector/stringtable.xml b/addons/vector/stringtable.xml index edef7a7bea..47832c33c1 100644 --- a/addons/vector/stringtable.xml +++ b/addons/vector/stringtable.xml @@ -22,7 +22,7 @@ Dálkoměr Telemetro Távolságmérő - Telêmetro + Medidor de Distância Дальномер diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 93193b520f..2925b66e7d 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -167,6 +167,7 @@ Граната %1 Grenade %1 Granata %1 + Granada %1 Ready Grenade @@ -178,6 +179,7 @@ Подготовить гранату Grenade prête Granata pronta + Granada pronta Select Frag Grenade @@ -225,6 +227,7 @@ Nincs több gránát Гранат не осталось Granate esaurite + Sem mais granadas No frags left @@ -272,6 +275,7 @@ Füstvető eltüzelése Пустить дымовую завесу Lancia fumogeno + Lançador de fumaça - + \ No newline at end of file diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index 32362825ee..2008fc7bc1 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -11,6 +11,7 @@ Zeige Windinformationen Széladatok mutatása Zobrazit informace o větru + Mostrar informação do vento - + \ No newline at end of file From 1ae2b640c2cebe3699af0dbb43ac6f45c491e17e Mon Sep 17 00:00:00 2001 From: ToasterBR Date: Sat, 2 May 2015 03:45:57 -0300 Subject: [PATCH 270/478] Added myself to Authors Nick and real email included --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 89f6924d17..366664efbd 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -75,6 +75,7 @@ ramius86 simon84 Sniperwolf572 Tachi +Toaster Tonic Tourorist Valentin Torikian From 12e05cc526db1db1017365a83b921528af33e8fd Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Fri, 1 May 2015 23:46:22 -0700 Subject: [PATCH 271/478] set new default key --- tools/make.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/make.cfg b/tools/make.cfg index 5e2d9d78da..170cea5159 100644 --- a/tools/make.cfg +++ b/tools/make.cfg @@ -14,8 +14,8 @@ project = @ace # Path to project secret key for signing # Make sure this isn't in your public repository! -# Default: None -# key = D:\Program Files (x86)\Bohemia Interactive\Tools\DSSignFile Tools\keys\ace_preAlpha.biprivatekey +# Default: \private_keys\ace_3.0.0.biprivatekey +# key = P:\private_keys\ace_3.0.0.biprivatekey # Path to where private keys are automatically created if the command-line parameter "key" is used # Make sure this isn't in your public repository! From 66f39fc1dc40e62568c8012873e2dd602c0a0797 Mon Sep 17 00:00:00 2001 From: FreeZbe Date: Sat, 2 May 2015 10:12:28 +0200 Subject: [PATCH 272/478] French : update / fix stringtable --- addons/interaction/stringtable.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index d702e6b2e3..698e05e93d 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -570,48 +570,56 @@ Rot zuweisen Asignar a rojo Przydziel do czerwonych + Assigner à rouge Assign Green Grün zuweisen Asignar a verde Przydziel do zielonych + Assigner à vert Assign Blue Blau zuweisen Asignar a azul Przydziel do niebieskich + Assigner à bleu Assign Yellow Gelb zuweisen Asignar a amarillo Przydziel do żółtych + Assigner à jaune Join Red Rot beitreten Unirse a rojo Dołącz do czerwonych + Rejoindre rouge Join Green Grün beitreten Unirse a verde Dołącz do zielonych + Rejoindre vert Join Blue Blau beitreten Unirse a azul Dołącz do niebieskich + Rejoindre bleu Join Yellow Gelb beitreten Unirse a amarillo Dołącz do żółtych + Rejoindre jaune You joined Team %1 From ca03637a54ae60bb774f152bd0133cc25e78109a Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Sat, 2 May 2015 12:42:02 +0300 Subject: [PATCH 273/478] medical --- addons/medical/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index fdc62a427a..d9f0c53942 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,4 +1,4 @@ - + From 3b6e491f5c72d13672f75042e93eb310bba2e447 Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Sat, 2 May 2015 12:42:44 +0300 Subject: [PATCH 274/478] interaction --- addons/interaction/stringtable.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index d702e6b2e3..18284918e6 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -570,48 +570,56 @@ Rot zuweisen Asignar a rojo Przydziel do czerwonych + Назначить в Красную группу Assign Green Grün zuweisen Asignar a verde Przydziel do zielonych + Назначить в Зеленую группу Assign Blue Blau zuweisen Asignar a azul Przydziel do niebieskich + Назначить в Синюю группу Assign Yellow Gelb zuweisen Asignar a amarillo Przydziel do żółtych + Назначить в Желтую группу Join Red Rot beitreten Unirse a rojo Dołącz do czerwonych + Присоединится к Красной группе Join Green Grün beitreten Unirse a verde Dołącz do zielonych + Присоединится к Зеленой группе Join Blue Blau beitreten Unirse a azul Dołącz do niebieskich + Присоединится к Синей группе Join Yellow Gelb beitreten Unirse a amarillo Dołącz do żółtych + Присоединится к Желтой группе You joined Team %1 From 3aad0904cd40603afb3d08ebae7dfe14ab58556c Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Sat, 2 May 2015 12:45:27 +0300 Subject: [PATCH 275/478] medical2 --- addons/medical/stringtable.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index d9f0c53942..03a6659ea9 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -2542,6 +2542,7 @@ Zdejmowanie stazy ... Quitando torniquete ... Retire le tourniquet ... + Снятие жгута ... From 219735611f1a34a470cd703d6ef3cb5fbc794635 Mon Sep 17 00:00:00 2001 From: ruPaladin Date: Sat, 2 May 2015 12:47:06 +0300 Subject: [PATCH 276/478] interaction2 --- addons/interaction/stringtable.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 18284918e6..d07a524e27 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -598,28 +598,28 @@ Rot beitreten Unirse a rojo Dołącz do czerwonych - Присоединится к Красной группе + Присоединиться к Красной группе Join Green Grün beitreten Unirse a verde Dołącz do zielonych - Присоединится к Зеленой группе + Присоединиться к Зеленой группе Join Blue Blau beitreten Unirse a azul Dołącz do niebieskich - Присоединится к Синей группе + Присоединиться к Синей группе Join Yellow Gelb beitreten Unirse a amarillo Dołącz do żółtych - Присоединится к Желтой группе + Присоединиться к Жёлтой группе You joined Team %1 From 05a6389acd030695a888fd8816562dd8d238342d Mon Sep 17 00:00:00 2001 From: adam3adam Date: Sat, 2 May 2015 12:46:28 +0200 Subject: [PATCH 277/478] Czech translation v2 mk6mortar and some medical translation --- addons/interaction/stringtable.xml | 10 +++- addons/medical/stringtable.xml | 79 ++++++++++++++++++++++++------ addons/mk6mortar/stringtable.xml | 8 ++- 3 files changed, 79 insertions(+), 18 deletions(-) diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index d702e6b2e3..5f7e02215f 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -570,48 +570,56 @@ Rot zuweisen Asignar a rojo Przydziel do czerwonych + Přiřadit k červeným Assign Green Grün zuweisen Asignar a verde Przydziel do zielonych + Přiřadit k zeleným Assign Blue Blau zuweisen Asignar a azul Przydziel do niebieskich + Přiřadit k modrým Assign Yellow Gelb zuweisen Asignar a amarillo Przydziel do żółtych + Přiřadit ke žlutým Join Red Rot beitreten Unirse a rojo Dołącz do czerwonych + Připojit k červeným Join Green Grün beitreten Unirse a verde Dołącz do zielonych + Připojit k zeleným Join Blue Blau beitreten Unirse a azul Dołącz do niebieskich + Připojit k modrým Join Yellow Gelb beitreten Unirse a amarillo Dołącz do żółtych + Připojit ke žlutým You joined Team %1 @@ -746,4 +754,4 @@ Passageiros - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index fdc62a427a..73f0a09c7d 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -32,7 +32,7 @@ Niveau de simulation des détritus Abfall-Detaillevel Hulladékszimuláció részletessége - Úroveň počtu zobrazených předmětů z použitých léků + Počet zobrazených předmětů po použití zdravotnického materiálu Litter simulation detail level sets the number of litter items which will be locally spawned in the client. Excessive amounts in local areas could cause FPS lag, so this is a client only setting. @@ -43,7 +43,7 @@ Le niveau de simulation des détritus règle la quantité de déchets qui vont être créés localement chez le client. Des quantitées excessive chez certains clients peuvent causer des chutes de FPS, c'est donc une option client uniquement. Die Einstellung für das Abfall-Detaillevel stellt die Menge der lokal erzeugten medizinischen Abfälle ein. Zuviel erzeugte Abfälle können FPS-Lags erzeugen, deswegen ist diese Einstellung nur clientseitig. A hulladékszimuláció részletessége megszabja a kliens által megjelenített hulladékobjektumok mennyiségét. Súlyos mennyiségek izolált területeken alacsony FPS-t okozhatnak, így ez egy kliensoldali beállítás. - Úroveň počtu zobrazených předmětů z použitých léků ovlivňuje počet objektů, které budou zobrazeny klientovi . Vyšší množství objektů může způsobovat poklesy FPS a proto je toto nastavení čistě na klientovi. + Počet zobrazených předmětů po použití zdravotnického materiálu ovlivňuje počet objektů, které budou zobrazeny klientovi v místě použití zdravotnického materiálu. Vyšší množství objektů může způsobovat poklesy FPS a proto je toto nastavení čistě na klientovi. Inject Atropine @@ -883,6 +883,7 @@ Lelassítja a vérvesztést vérzés esetén Rallenta la perdita di sangue in caso di sanguinamento Reduz a velocidade da perda de sangue + Zpomaluje ztráty krve při krvácení A constricting device used to compress venous and arterial circulation in effect inhibiting or slowing blood flow and therefore decreasing loss of blood. @@ -894,6 +895,7 @@ Egy szűkítőeszköz, mely a vénás és artériás nyomás keringés helyi összenyomására szolgál, ezzel lelassítva vagy megállítva az adott területen a vérkeringést. Ez csökkenti a vérvesztés mértékét. Un laccio emostatico usato per comprimere le vene e arterie per bloccare o rallentare la circolazione del sangue e quindi rallentare dissanguamenti. A aparelho que comprime as artérias e veias para diminuir a perda de sangue. + Zařízení používané ke stlačení venózního a arteriálního oběhu. V důsledku dochází ke zpomalení toku krve a tedy i snížení ztrát krve. Morphine autoinjector @@ -917,6 +919,7 @@ Mérsékelttől erős fájdalomig, ellene alkalmazandó termék Usato per combattere il dolore. Usado para combater dores moderadas e severas + Slouží k tlumení středně těžkých a těžkých bolestí An analgesic used to combat moderate to severe pain experiences. @@ -928,6 +931,7 @@ Egy fájdalomcsillapító anyag, jellemzően mérsékelt vagy erős fájdalom esetén alkalmazandó. Un analgesico usato per combattere il dolore. Um analgésico usado para combater dores moderadas e fortes. + Analgetikum slouží k tlumení středně těžkých a těžkých bolestí Atropin autoinjector @@ -1020,6 +1024,7 @@ Aiuta ad aumentare il volume sanguigno. Volumenerweiterungsmittel (künstliches Blutvolumen) Suplemento para expandir o volume sanguíneo. + Intravenózně podávaný doplněk k zvětšení objemu krve A volume-expanding blood supplement. @@ -1031,6 +1036,7 @@ Aiuta ad aumentare il volume sanguigno. Volumenerweiterungsmittel (künstliches Blutvolumen) Suplemento para expandir o volume sanguíneo. + Intravenózně podávaný doplněk k zvětšení objemu krve Plasma IV (500ml) @@ -1078,7 +1084,7 @@ Sangue usato per ripristinare pazienti in cui si è verificata una perdita di sangue (conservare al fresco) Blut IV, Bluthaushalt des Patienten wiederherstellen. (Kühl halten) Sangue intravenoso, para restaurar o volume sanguinio do paciente.(Manter frio) - Krev IV, pro doplňění krve pacienta (udržujte v chladu) + Krevní transfuze pro doplnění pacientovi krve (skladujte v chladu) O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. @@ -1137,6 +1143,7 @@ Soluzione salina, usata per ripristinare sangue nei pazienti. Kochsalzlösung, ein medizinisches Volumenersatzmittel Solução Salina Intravenosa 0.9%, para restaurar o volume de sangue temporariamente. + Fyziologický roztok se aplikuje intravenózně a slouží k obnově pacientovi krve A medical volume-replenishing agent introduced into the blood system through an IV infusion. @@ -1183,6 +1190,7 @@ Általános zárókötszer (QuikClot) Bendaggio emostatico (QuikClot) Bandagem básica (Coagulante) + Hemostatický obvaz (QuikClot) QuikClot bandage @@ -1194,6 +1202,7 @@ QuikClot kötszer Bendaggio emostatico (QuikClot) Bandagem com agente coagulante + Hemostatický obvaz (QuikClot) Hemostatic bandage with coagulant that stops bleeding. @@ -1205,6 +1214,7 @@ Hemostatikus kötszer egy vérzésgátló anyaggal. Bendaggio emostatico con coagulante che permette di arrestare perdite di sangue Bandagem Hemostática com coagulante que controla hemorragia médias e grandes com risco de vida. + Hemostatický obvaz určený k zástavě krvácení Personal Aid Kit @@ -1216,7 +1226,7 @@ Elsősegélycsomag Pronto soccorso personale Kit De Primeiros Socorros Pessoal - Balíček první pomoci + Osobní lékárnička Includes various treatment kit needed for stitching or advanced treatment @@ -1228,6 +1238,7 @@ Változatos segédfelszereléseket tartalmaz sebvarráshoz és haladó elsősegélynyújtáshoz Include vario materiale medico per trattamenti avanzati. Inclui vários tratamentos materiais para custura e tratamento avançado + Osobní lékárnička obsahuje zdravotnický materiál umožňující šití a pokročilejší ošetřování raněných Personal Aid Kit for in field stitching or advanced treatment @@ -1237,6 +1248,7 @@ Trousse de premiers soins pour coudre sur le terrain et traitements avancés. Equipo de primeros auxilios para sutura de campaña o tratamientos avanzados Elsősegélycsomag, terepen való sebvarráshoz és haladó ellátáshoz + Osobní lékárnička obsahuje zdravotnický materiál umožňující šití a pokročilejší ošetřování raněných v poli Use Personal Aid Kit @@ -1246,7 +1258,7 @@ Użyj apteczki osobistej Usar equipo de primeros auxilios Elsősegélycsomag használata - Použít balíček první pomoci + Použít osobní lékárničku Surgical Kit @@ -1270,7 +1282,7 @@ Sebészeti készlet komplex orvosi feladatok terepen való ellátására Kit chirurgico per trattamenti avanzati sul campo. Kit Cirurgico para uso de tratamento médico avançado em campo - Chirurgická sada pro pokročilé vyléčení v poli + Chirurgická sada určená k pokročilejším zdravotnickým zákrokům v poli Surgical Kit for in field advanced medical treatment @@ -1282,7 +1294,7 @@ Sebészeti készlet komplex orvosi feladatok terepen való ellátására Kit chirurgico per trattamenti avanzati sul campo. Kit Cirurgico para uso de tratamento médico avançado em campo. - Chirurgická sada pro pokročilé vyléčení v poli + Chirurgická sada určená k pokročilejším zdravotnickým zákrokům v poli Use Surgical Kit @@ -1305,7 +1317,7 @@ Hullazsák Sacca per corpi Saco para cadáver - Pytel na tělo + Pytel na mrtvoly A bodybag for dead bodies @@ -1317,7 +1329,7 @@ Egy hullazsák a holttestek számára Una sacca nera per trasportare cadaveri. Um saco para corpos mortos - Pytel na mrtvá těla + Pytel na mrtvoly A bodybag for dead bodies @@ -1329,7 +1341,7 @@ Egy hullazsák a holttestek számára Una sacca nera per trasportare cadaveri. Um saco para corpos mortos. - Pytel na mrtvá těla + Pytel na mrtvoly Blood Pressure @@ -1827,6 +1839,7 @@ Elkezded összevarni %1 sérüléseit (%2) Stai suturando le ferite di %1 (%2) Você começa a suturar os ferimentos do %1 (%2) + Zašíváš rány %1 (%2) Stitching @@ -1850,6 +1863,7 @@ Kezeled %1 légútját Controlli le vie respiratorie di %1 Você entuba o %1 + Ošetřuješ dýchací cesty %1 Airway @@ -1873,6 +1887,7 @@ %1 kezeli a légútadat %1 ti sta trattando le vie respiratorie %1 está te entubando + %1 ošetřuje tvoje dýchací cesty Drag @@ -2176,7 +2191,7 @@ Wähle den Menü-Stil: Standard 3D-Selektion oder kreisförmig. Выберите тип меню: стандартный вариант (3D) или радиальный Selecciona el tipo de menú que prefieres: selecciones 3d por defecto o radial. - Vyberte typ menu který preferujete: výchozí 3D nebo radiální. + Zvolte typ menu: základní 3D výběr nebo kruhový Selections (3d) @@ -2185,6 +2200,7 @@ 3D-Selektion Стандартный (3D) Selecciones (3d) + 3D výběr Radial @@ -2193,7 +2209,7 @@ Kreisförmig Радиальный Radial - Radiální + Kruhový Scrape @@ -2204,6 +2220,7 @@ Draśnięcie Arañazo Horzsolás + Odřenina Minor Scrape @@ -2214,6 +2231,7 @@ Pomniejsze draśnięcie Arañazo menor Kis horzsolás + Malá odřenina Medium Scrape @@ -2224,6 +2242,7 @@ Średnie draśnięcie Arañazo medio Közepes horzsolás + Středně velká odřenina Large Scrape @@ -2234,6 +2253,7 @@ Duże draśnięcie Arañazo severo Nagy horzsolás + Velká odřenina Avulsion @@ -2244,6 +2264,7 @@ Rana płatowa Avulsión Leszakadás + Avulze Minor Avulsion @@ -2254,6 +2275,7 @@ Pomniejsza rana płatowa Avulsión menor Kis leszakadás + Malá avulze Medium Avulsion @@ -2264,6 +2286,7 @@ Średnia rana płatowa Avulsión media Közepes leszakadás + Střední avulze Large Avulsion @@ -2274,6 +2297,7 @@ Duża rana płatowa Avulsión severa Nagy leszakadás + Velká avulze Bruise @@ -2284,6 +2308,7 @@ Stłuczenie Contusión Zúzódás + Modřina Minor Bruise @@ -2294,6 +2319,7 @@ Pomniejsze stłuczenie Contusión menor Kis zúzódás + Malá modřina Medium Bruise @@ -2304,6 +2330,7 @@ Średnie stłuczenie Contusión media Közepes zúzódás + Středně velká modřina Large Bruise @@ -2314,6 +2341,7 @@ Duże stłuczenie Contusión severa Nagy zúzódás + Velká modřina Crushed tissue @@ -2324,6 +2352,7 @@ Zgniecienie tkanek miękkich Tejido triturado Zúzott szövet + Zhmoždění měkkých tkání Minor crushed tissue @@ -2334,6 +2363,7 @@ Pomniejsze zgniecienie tkanek miękkich Tejido triturado menor Kis zúzott szövet + Malé zhmoždění měkkých tkání Medium crushed tissue @@ -2344,6 +2374,7 @@ Średnie zgniecienie tkanek miękkich Tejido triturado medio Közepes zúzott szövet + Střední zhmoždění měkkých tkání Large crushed tissue @@ -2354,6 +2385,7 @@ Duże zgniecienie tkanek miękkich Tejido triturado severo Nagy zúzött szövet + Velké zhmoždění měkkých tkání Cut @@ -2364,6 +2396,7 @@ Rana cięta Corte Vágás + Řezná rána Small Cut @@ -2374,6 +2407,7 @@ Corte menor Kis vágás Petite coupure + Malá řezná rána Medium Cut @@ -2384,6 +2418,7 @@ Corte mediano Közepes vágás Moyenne coupure + Střední řezná rána Large Cut @@ -2394,6 +2429,7 @@ Corte severo Nagy vágás Large coupure + Velká řezná rána Tear @@ -2404,6 +2440,7 @@ Déchirure Desgarro Szakadás + Tržná rána Small Tear @@ -2414,6 +2451,7 @@ Petite Déchirure Desgarro menor Kis szakadás + Malá tržná rána Medium Tear @@ -2424,6 +2462,7 @@ Desgarro medio Közepes szakadás Moyenne déchirure + Střední tržná rána Large Tear @@ -2434,6 +2473,7 @@ Desgarro severo Nagy szakadás Large déchirure + Velká tržná rána Velocity Wound @@ -2444,6 +2484,7 @@ Blessure de vélocité Herida de bala Lőtt seb + Střelné poranění Smal Velocity Wound @@ -2454,6 +2495,7 @@ Herida de bala menor Kis lőtt seb Petite blessure de vélocité + Malé střelné poranění Medium Velocity Wound @@ -2464,6 +2506,7 @@ Herida de bala media Közepes lőtt seb Moyenne blessure de vélocité + Střední střelné poranění Large Velocity Wound @@ -2474,6 +2517,7 @@ Herida de bala severa Nagy lőtt seb Large blessure de vélocité + Velké střelné poranění Puncture Wound @@ -2484,6 +2528,7 @@ Blessure de perforation Herida punzante Szúrt seb + Bodná rána Minor Puncture Wound @@ -2494,6 +2539,7 @@ Herida punzante menor Kis szúrt seb Légère blessure de perforation + Malá bodná rána Medium Puncture Wound @@ -2504,6 +2550,7 @@ Herida punzante media Közepes szúrt seb Moyenne blessure de perforation + Střední bodná rána Large Puncture Wound @@ -2514,6 +2561,7 @@ Herida punzante severa Nagy szúrt seb Large blessure de perforation + Velká bodná rána Broken Femur @@ -2524,7 +2572,7 @@ Fémur cassé Femur roto Törött combcsont - Zlomená kost stehenní + Zlomená stehenní kost Treating ... @@ -2534,7 +2582,7 @@ Traitement ... Лечение ... Tratando ... - Léčím ... + Ošetřuji ... Removing Tourniquet ... @@ -2542,6 +2590,7 @@ Zdejmowanie stazy ... Quitando torniquete ... Retire le tourniquet ... + Sundavám škrtidlo ... - + \ No newline at end of file diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 15d42d04a8..42110c8269 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -9,6 +9,7 @@ 82 мм Таблица дальностей и прицелов Tabla de distancias de 82mm 82mm hatótáv-tábla + 82mm Rangetable Range Table for the MK6 82mm Mortar @@ -18,6 +19,7 @@ Таблица дальностей и прицелов для MK6 82 мм мортиры Tabla de distancias para el mortero MK6 de 82mm Hatótáv-tábla a MK6 82mm-es mozsárhoz + Rangetable pro MK6 82mm minomet Open 82mm Rangetable @@ -27,6 +29,7 @@ Открыть 82 мм Таблицу дальностей и прицелов Abrir tabla de distancias de 82mm 82mm hatótáv-tábla megnyitása + Otevřít 82mm Rangetable Charge @@ -36,6 +39,7 @@ Зарядить Carga Töltés + Nabít - + \ No newline at end of file From 6c2717be7f041ff6d777f7c5e35e1cbf937db9ef Mon Sep 17 00:00:00 2001 From: Harakhti Date: Sat, 2 May 2015 18:06:01 +0200 Subject: [PATCH 278/478] More more translations Stope. --- addons/ballistics/stringtable.xml | 104 ++++++++++++++++++++++++++- addons/interact_menu/stringtable.xml | 7 +- addons/interaction/stringtable.xml | 10 ++- addons/laser/stringtable.xml | 7 +- addons/medical/stringtable.xml | 7 +- addons/respawn/stringtable.xml | 6 +- 6 files changed, 133 insertions(+), 8 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index e4b2029e7e..d0ac9a78e7 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -375,6 +375,7 @@ Лента из 130-ти .338 NM трассирующих .338 NM 130Rnd Tracciante Belt .338 NM 130náb. Svítící Pás + .338 NM 130-lövedékes nyomkövető heveder .338 NM Tracer @@ -385,6 +386,7 @@ .338 NM Trazadora .338 NM трассирующие .338 NM 130Rnd Tracciante + .338 NM nyomkövető Caliber: .338 Norma Magnum Tracer<br />Rounds: 130<br />Used in: SPMG @@ -395,6 +397,7 @@ Калибр: .338 Norma Magnum трассирующие<br />Патронов: 130<br />Используются в: SPMG Calibro: .338 Norma Magnum Tracciante<br />Munizioni: 130<br />In uso su: SPMG Ráže: .338 Noma Magnum Svítící<br />Munice: 130<br />Použití: SPMG + Kaliber: .338 Norma Magnum nyomkövető<br />Lövedékek: 130<br />Használható: SPMG .338 NM 130Rnd IR-DIM Belt @@ -405,6 +408,7 @@ Лента из 130-ти .338 NM ИК-трассирующих .338 NM 130Rnd IR-DIM Belt .338 NM 130náb. IR-DIM Pás + .338 NM 130-lövedékes infravörös nyomkövető heveder .338 NM IR-DIM @@ -415,6 +419,7 @@ .338 NM IR-DIM .338 NM ИК-трассирующие .338 NM IR-DIM + .338 NM infravörös nyomkövető Caliber: .338 Norma Magnum Tracer IR-DIM<br />Rounds: 130<br />Used in: SPMG @@ -425,6 +430,7 @@ Калибр: .338 Norma Magnum ИК-трассирующие<br />Патронов: 130<br />Используются с: SPMG Calibro: .338 Norma Magnum Tracciante IR-DIM<br />Munizioni: 130<br />In uso su: SPMG Ráže: .338 Noma Magnum Svítící IR-DIM<br />Munice: 130<br />Použití: SPMG + Kaliber: .338 Norma Magnum infravörös nyomkövető<br />Lövedékek: 130<br />Használható: SPMG .338 NM 130Rnd AP Belt @@ -435,6 +441,7 @@ Лента из 130-ти .338 NM бронебойных .338 NM 130Rnd AP Belt .338 NM 130náb. AP Pás + .338 NM 130-lövedékes páncéltörő heveder .338 NM AP @@ -445,6 +452,7 @@ .338 NM AP .338 NM бронебойные .338 NM AP + .338 NM páncéltörő Caliber: .338 Norma Magnum AP<br />Rounds: 130<br />Used in: SPMG @@ -455,6 +463,7 @@ Калибр: .338 Norma Magnum бронебойные<br />Патронов: 130<br />Используются с: SPMG Calibro: .338 Norma Magnum AP<br />Munizioni: 130<br />In uso su: SPMG Ráže: .338 Noma Magnum AP<br />Munice: 130<br />Použití: SPMG + Kaliber: .338 Norma Magnum páncéltörő<br />Lövedékek: 130<br />Használható: SPMG @@ -466,6 +475,7 @@ Магазин из 10-ти 9,3 мм трассирующих 9.3mm 10Rnd Tracer Mag 9.3mm 10Rnd Svítící Zásobník + 9,3mm 10-lövedékes nyomkövető tár 9.3mm Tracer @@ -476,6 +486,7 @@ 9.3mm Trazadora 9,3 мм трассирующие 9.3mm Tracer + 9,3mm nyomkövető Caliber: 9.3x64mm Tracer<br />Rounds: 10<br />Used in: Cyrus @@ -486,6 +497,7 @@ Калибр: 9,3x64 мм трассирующие<br />Патронов: 10<br />Используются с: Cyrus Calibro: 9.3x64mm Tracer<br />Munizioni: 10<br />In uso su: Cyrus Ráže: 9.3x64mm Svítící<br />Munice: 10<br />Použití: Cyrus + Kaliber: 9,3x64mm nyomkövető<br />Lövedékek: 10<br />Használható: Cyrus 9.3mm 10Rnd Tracer IR-DIM Mag @@ -496,6 +508,7 @@ Магазин из 10-ти 9,3 мм ИК-трассирующих 9.3mm 10Rnd Tracciante IR-DIM Mag 9.3mm 10náb. Svítící IR-DIM Zásobník + 9,3mm 10-lövedékes infravörös nyomkövető tár 9.3mm IR-DIM @@ -506,6 +519,7 @@ 9.3mm IR-DIM 9,3 мм ИК-трассирующие 9.3mm IR-DIM + 9,3mm infravörös nyomkövető Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus @@ -516,6 +530,7 @@ Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 10<br />Используются с: Cyrus Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 10<br />In uso su: Cyrus Ráže: 9.3x64mm Svítící IR-DIM<br />Munice: 10<br />Použití: Cyrus + Kaliber: 9,3x64mm infravörös nyomkövető<br />Lövedékek: 10<br /> Használható: Cyrus @@ -527,6 +542,7 @@ Лента из 150-ти 9,3 мм трассирующих 9.3mm 150Rnd Tracer Belt 9.3mm 150náb. Svítící Pás + 9,3mm 150-lövedékes nyomkövető heveder 9.3mm Tracer @@ -537,6 +553,7 @@ 9.3mm Trazadora 9,3 мм трассирующие 9.3mm Tracciante + 9,3mm nyomkövető Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid @@ -547,6 +564,7 @@ Калибр: 9,3x64 мм трассирующие<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm Tracciante<br />Munizioni: 150<br />In uso su: Navid Ráže: 9.3x64mm Svítící<br />Munice: 150<br />Použití: Navid + Kaliber: 9,3x64mm nyomkövető<br />Lövedékek: 150<br />Használható: Navid 9.3mm 150Rnd Tracer IR-DIM Belt @@ -557,6 +575,7 @@ Лента из 150-ти 9,3 мм ИК-трассирующих 9.3mm 150Rnd Tracciante IR-DIM Belt 9.3mm 150náb. Svítící IR-DIM Pás + 9,3mm 150-lövedékes infravörös nyomkövető heveder 9.3mm IR-DIM @@ -567,6 +586,7 @@ 9.3mm IR-DIM 9,3 мм ИК-трассирующие 9.3mm IR-DIM + 9,3mm infravörös nyomkövető Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 150<br />Used in: Navid @@ -577,6 +597,7 @@ Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 150<br />In uso su: Navid Ráže: 9.3x64mm Svítící IR-DIM<br />Munice: 150<br />Použití: Navid + Kaliber: 9,3x64mm infravörös nyomkövető<br />Lövedékek: 150<br />Használható: Navid 9.3mm 150Rnd AP Belt @@ -587,6 +608,7 @@ Лента из 150-ти 9,3 мм бронебойных 9.3mm 150Rnd AP Belt 9.3mm 150náb. AP Pás + 9,3mm 150-lövedékes páncéltörő heveder 9.3mm AP @@ -597,6 +619,7 @@ 9.3mm AP 9,3 мм бронебойные 9.3mm AP + 9,3mm páncéltörő Caliber: 9.3x64mm AP<br />Rounds: 150<br />Used in: Navid @@ -607,6 +630,7 @@ Калибр: 9,3x64 мм бронебойные<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm AP<br />Munizioni: 150<br />In uso su: Navid Ráže: 9.3x64mm AP<br />Munice: 150<br />Použití: Navid + Kaliber: 9,3x64mm páncéltörő<br />Lövedékek: 150<br />Használható: Navid 9x19mm 16Rnd Mag @@ -617,6 +641,7 @@ 9x19mm 20-Patronen-Magazin 9x19mm 16Rnd Mag 9x19mm 16náb. Zásobník + 9x19mm 16-lövedékes tár 9x19mm @@ -627,6 +652,7 @@ 9x19mm 9x19mm 9x19mm + 9x19mm 9x19mm 30Rnd Mag @@ -637,6 +663,7 @@ 9x19mm 30-Patronen-Magazin 9x19mm 30Rnd Mag 9x19mm 30náb. Zásobník + 9x19mm 16-lövedékes tár 9x19mm 30Rnd Mag @@ -647,6 +674,7 @@ 9x19mm 30-Patronen-Magazin 9x19mm 30Rnd Mag 9x19mm 30náb. Zásobník + 9x19mm 30-lövedékes tár 9x19mm @@ -657,6 +685,7 @@ 9x19mm 9x19mm 9x19mm + 9x19mm 9x19mm 30Rnd Mag @@ -667,6 +696,7 @@ 9x19mm 30-Patronen-Magazin 9x19mm 30Rnd Mag 9x19mm 30náb. Zásobník + 9x19mm 30-lövedékes tár 7.62x54mm 10Rnd Tracer Mag @@ -677,6 +707,7 @@ 7,62x54mm 10-Patronen-Magazin Leuchtspur 7.62x54mm 10Munizioni Traccianti IR-DIM Mag 7.62x54mm 10náb. Svítící Zásobník + 7,62x54mm 10-lövedékes nyomkövető tár 7.62mm @@ -687,6 +718,7 @@ 7,62x54mm 7.62mm IR-DIM 7.62mm + 7,62mm 7.62x54mm 10Rnd Tracer Mag @@ -697,6 +729,7 @@ 7,62x54mm 10-Patronen-Magazin Leuchtspur 7.62x54mm 10Munizioni Traccianti IR-DIM Mag 7.62x54mm 10náb. Svítící Zásobník + 7,62x54mm 10-lövedékes nyomkövető tár 6.5mm 100Rnd Tracer IR-DIM Mag @@ -707,6 +740,7 @@ 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur 6.5mm 100Munizioni Traccianti IR-DIM Mag 6.5mm 100náb. Svítící IR-DIM Zásobník + 6,5mm 100-lövedékes infravörös nyomkövető tár 6.5mm IR-DIM @@ -717,6 +751,7 @@ 6,5mm IR-DIM 6.5mm IR-DIM 6.5mm IR-DIM + 6,5mm infravörös nyomkövető 6.5mm 100Rnd Tracer IR-DIM Mag<br />Rounds: 100<br />Used in: MX LSW @@ -727,6 +762,7 @@ 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur<br />Patronen: 100<br />Eingesetzt von: MXLSW 6.5mm 100Rnd Tracer IR-DIM Mag<br />Munizioni: 100<br />In uso su: MX LSW 6.5mm 100náb. Svítící IR-DIM Zásobník<br />Munice: 100<br />Použití: MX LSW + 6.5mm 100-lövedékes infravörös nyomkövető tár<br />Lövedékek: 100<br />Használható: MX LSW 6.5mm 200Rnd Tracer IR-DIM Belt @@ -737,6 +773,7 @@ 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur 6.5mm 200Rnd Tracer IR-DIM Belt 6.5mm 200náb. Svítící IR-DIM Pás + 6,5mm 200-lövedékes infravörös nyomkövető heveder 6.5mm IR-DIM @@ -747,6 +784,7 @@ 6,5mm IR-DIM 6.5mm IR-DIM 6.5mm IR-DIM + 6,5mm infravörös nyomkövető 6.5mm 200Rnd Tracer IR-DIM Belt<br />Rounds: 200<br />Used in: Stoner 99 LMG @@ -757,6 +795,7 @@ 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur<br />Patronen: 200<br />Eingesetzt von: Stoner 99 LMG 6.5mm 200Rnd Tracer IR-DIM Belt<br />Munizioni: 200<br />In uso su: Stoner 99 LMG 6.5mm 200náb. Svítící IR-DIM Pás<br />Munice: 200<br />Použití: Stoner 99 LMG + 6.5mm 200-lövedékes infravörös nyomkövető heveder<br />Lövedékek: 200<br />Használható: Stoner 99 LMG 5.56mm 30Rnd Mag (Mk262) @@ -767,6 +806,7 @@ 5,56mm 30-Patronen-Magazin (Mk262) 5.56mm 30Rnd Mag (Mk262) 5.56mm 30náb. Zásobník (Mk262) + 5,56mm 30-lövedékes tár (Mk262) 5.56mm Mk262 @@ -777,6 +817,7 @@ 5,56mm Mk262 5.56mm Mk262 5.56mm Mk262 + 5,56mm Mk262 Caliber: 5.56x45mm NATO (Mk262)<br />Rounds: 30 @@ -787,6 +828,7 @@ Kaliber: 5,56x45mm NATO (Mk262)<br />Patronen: 30 Calibro: 5.56x45 mm NATO (Mk262)<br />Munizioni: 30 Ráže: 5.56x45mm NATO (Mk262)<br />Munice: 30 + Kaliber: 5,56x45mm NATO (Mk262)<br />Lövedékek: 30 5.56mm 30Rnd Mag (Mk318) @@ -797,6 +839,7 @@ 5,56mm 30-Patronen-Magazin (Mk318) 5.56mm 30Rnd Mag (Mk318) 5.56mm 30Rnd Zásobník (Mk318) + 5,56mm 30-lövedékes tár (Mk318) 5.56mm Mk318 @@ -807,6 +850,7 @@ 5,56mm Mk318 5.56mm Mk318 5.56mm Mk318 + 5,56mm Mk318 Caliber: 5.56x45mm NATO (Mk318)<br />Rounds: 30 @@ -817,6 +861,7 @@ Kaliber: 5,56x45mm NATO (Mk318)<br />Patronen: 30 Calibro: 5.56x45 mm NATO (Mk318)<br />Munizioni: 30 Ráže: 5.56x45mm NATO (Mk318)<br />Munice: 30 + Kaliber: 5,56x45mm NATO (Mk318)<br />Lövedékek: 30 5.56mm 30Rnd Mag (M995 AP) @@ -827,6 +872,7 @@ 5,56mm 30-Patronen-Magazin (M995AP) 5.56mm 30Rnd Mag (M995 AP) 5.56mm 30náb. Zásobník (M995 AP) + 5,56mm 30-lövedékes tár (M995 páncéltörő) 5.56mm AP @@ -837,6 +883,7 @@ 5,56mm AP 5.56mm AP 5.56mm AP + 5,56mm páncéltörő Caliber: 5.56x45mm NATO (M995 AP)<br />Rounds: 30 @@ -847,6 +894,7 @@ Kaliber: 5,56x45mm NATO (M995 AP)<br />Patronen: 30 Calibro: 5.56x45 mm NATO (M995 AP)<br />Munizioni: 30 Ráže: 5.56x45mm NATO (M995 AP)<br />Munice: 30 + Kaliber: 5,56x45mm NATO (M995 páncéltörő)<br />Lövedékek: 30 7.62mm 10Rnd Mag (M118LR) @@ -857,6 +905,7 @@ 7,62mm 10-Patronen-Magazin (M118LR) 7.62mm 10Rnd Mag (M118LR) 7.62mm 10náb. Zásobník (M118LR) + 7,62mm 10-lövedékes tár (M118LR) 7.62mm M118LR @@ -867,6 +916,7 @@ 7,62mm M118LR 7.62mm M118LR 7.62mm M118LR + 7,62mm M118LR Caliber: 7.62x51mm NATO (M118LR)<br />Rounds: 10 @@ -877,6 +927,7 @@ Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (M118LR)<br />Munizioni: 10 Ráže: 7.62x51mm NATO (M118LR)<br />Munice: 10 + Kaliber: 7,62x51mm NATO (M118LR)<br />Lövedékek: 10 7.62mm 20Rnd Mag (M118LR) @@ -887,6 +938,7 @@ 7,62mm 20-Patronen-Magazin (M118LR) 7.62mm 20Rnd Mag (M118LR) 7.62mm 20náb. Zásobník (M118LR) + 7,62mm 20-lövedékes tár (M118LR) 7.62mm M118LR @@ -897,6 +949,7 @@ 7,62mm M118LR 7.62mm M118LR 7.62mm M118LR + 7,62mm M118LR Caliber: 7.62x51mm NATO (M118LR)<br />Rounds: 20 @@ -907,6 +960,7 @@ Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (M118LR)<br />Munizioni: 20 Ráže: 7.62x51mm NATO (M118LR)<br />Munice: 20 + Kaliber: 7,62x51mm NATO (M118LR)<br />Lövedékek: 20 7.62mm 10Rnd Mag (Mk316 Mod 0) @@ -917,6 +971,7 @@ 7,62mm 10-Patronen-Magazin (Mk316 Mod 0) 7.62mm 10Rnd Mag (Mk316 Mod 0) 7.62mm 10náb. Zásobník (Mk316 Mod 0) + 7,62mm 10-lövedékes tár (Mk316 Mod 0) 7.62mm Mk316 @@ -927,6 +982,7 @@ 7,62mm Mk316 7.62mm Mk316 7.62mm Mk316 + 7,62mm Mk316 Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 10 @@ -937,6 +993,7 @@ Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (Mk316 Mod 0)<br />Munizioni: 10 Ráže: 7.62x51mm NATO (Mk316 Mod 0)<br />Munice: 10 + Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Lövedékek: 10 7.62mm 20Rnd Mag (Mk316 Mod 0) @@ -947,6 +1004,7 @@ 7,62mm 20-Patronen-Magazin (Mk316 Mod 0) 7.62mm 20Rnd Mag (Mk316 Mod 0) 7.62mm 20náb. Zásobník (Mk316 Mod 0) + 7,62mm 20-lövedékes tár (Mk316 Mod 0) 7.62mm Mk316 @@ -957,6 +1015,7 @@ 7,62mm Mk316 7.62mm Mk316 7.62mm Mk316 + 7,62mm Mk316 Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 20 @@ -967,6 +1026,7 @@ Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (Mk316 Mod 0)<br />Munizioni: 20 Ráže: 7.62x51mm NATO (Mk316 Mod 0)<br />Munice: 20 + Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Lövedékek: 20 7.62mm 10Rnd Mag (Mk319 Mod 0) @@ -977,6 +1037,7 @@ 7,62mm 10-Patronen-Magazin (Mk319 Mod 0) 7.62mm 10Rnd Mag (Mk319 Mod 0) 7.62mm 10náb. Zásobník (Mk319 Mod 0) + 7,62mm 10-lövedékes tár (Mk319 Mod 0) 7.62mm Mk319 @@ -987,6 +1048,7 @@ 7,62mm Mk319 7.62mm Mk319 7.62mm Mk319 + 7,62mm Mk319 Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 10 @@ -997,6 +1059,7 @@ Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (Mk319 Mod 0)<br />Munizioni: 10 Ráže: 7.62x51mm NATO (Mk319 Mod 0)<br />Munice: 10 + Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Lövedékek: 10 7.62mm 20Rnd Mag (Mk319 Mod 0) @@ -1007,6 +1070,7 @@ 7,62mm 20-Patronen-Magazin (Mk319 Mod 0) 7.62mm 20Rnd Mag (Mk319 Mod 0) 7.62mm 20náb. Zásobník (Mk319 Mod 0) + 7,62mm 20-lövedékes tár (Mk319 Mod 0) 7.62mm Mk319 @@ -1017,6 +1081,7 @@ 7,62mm Mk319 7.62mm Mk319 7.62mm Mk319 + 7,62mm Mk319 Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 20 @@ -1027,6 +1092,7 @@ Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (Mk319 Mod 0)<br />Munizioni: 20 Ráže: 7.62x51mm NATO (Mk319 Mod 0)<br />Munice: 20 + Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Lövedékek: 20 7.62mm 10Rnd Mag (M993 AP) @@ -1037,6 +1103,7 @@ 7,62mm 10-Patronen-Magazin (M993 AP) 7.62mm 10Rnd Mag (M993 AP) 7.62 10náb. Zásobník (M993 AP) + 7,62mm 10-lövedékes tár (M993 páncéltörő) 7.62mm AP @@ -1047,6 +1114,7 @@ 7,62mm AP 7.62mm AP 7.62mm AP + 7,62mm páncéltörő Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 10 @@ -1057,6 +1125,7 @@ Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 10 Ráže: 7.62x51mm NATO (M993 AP)<br />Munice: 10 + Kaliber: 7,62x51mm NATO (M993 páncéltörő)<br />Lövedékek: 10 7.62mm 20Rnd Mag (M993 AP) @@ -1067,6 +1136,7 @@ 7,62mm 20-Patronen-Magazin (M993 AP) 7.62mm 20Rnd Mag (M993 AP) 7.62mm 20náb. Zásobník (M993 AP) + 7,62mm 20-lövedékes tár (M993 páncéltörő) 7.62mm AP @@ -1077,6 +1147,7 @@ 7,62mm AP 7.62mm AP 7.62mm AP + 7,62mm páncéltörő Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 20 @@ -1087,6 +1158,7 @@ Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 20 Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 20 Ráže: 7.62x51mm NATO (M993 AP)<br />Munice: 20 + Kaliber: 7,62x51mm NATO (M993 páncéltörő)<br />Lövedékek: 20 7.62mm 20Rnd Mag (Mk248 Mod 0) @@ -1097,6 +1169,7 @@ 7,62mm 20-Patronen-Magazin (Mk248 Mod 0) 7.62mm 20Rnd Mag (Mk248 Mod 0) 7.62mm 20náb. Zásobník (Mk248 Mod 0) + 7,62mm 20-lövedékes tár (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) @@ -1107,6 +1180,7 @@ 7,62mm (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) + 7,62mm (Mk248 Mod 0) Caliber: 7.62x67mm NATO (Mk248 Mod 0)<br />Rounds: 20 @@ -1117,6 +1191,7 @@ Kaliber: 7,62x51mm NATO (Mk248 Mod 0)<br />Patronen: 20 Calibro: 7.62x67 mm NATO (Mk248 Mod 0)<br />Munizioni: 20 Ráže: 7.62x67mm NATO (Mk248 Mod 0)<br />Munice: 20 + Kaliber: 7,62x51mm NATO (Mk248 Mod 0)<br />Lövedékek: 20 7.62mm 20Rnd Mag (Mk248 Mod 1) @@ -1127,6 +1202,7 @@ 7,62mm 20-Patronen-Magazin (Mk248 Mod 1) 7.62mm 20Rnd Mag (Mk248 Mod 1) 7.62mm 20náb. Zásobník (Mk248 Mod 1) + 7,62mm 20-lövedékes tár (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) @@ -1137,6 +1213,7 @@ 7,62mm (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) + 7,62mm (Mk248 Mod 1) Caliber: 7.62x67mm NATO (Mk248 Mod 1)<br />Rounds: 20 @@ -1147,6 +1224,7 @@ Kaliber: 7,62x51mm NATO (Mk248 Mod 1)<br />Patronen: 20 Calibro: 7.62x67 mm NATO (Mk248 Mod 1)<br />Munizioni: 20 Ráže: 7.62x67mm NATO (Mk248 Mod 1)<br />Munice: 20 + Kaliber: 7,62x51mm NATO (Mk248 Mod 1)<br />Lövedékek: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) @@ -1157,6 +1235,7 @@ 7,62mm 20-Patronen-Magazin (Berger Hybrid OTM) 7.62mm 20Rnd Mag (Berger Hybrid OTM) 7.62mm 20náb. Zásobník (Berger Hybrid OTM) + 7,62mm 20-lövedékes tár (Berger Hybrid OTM) 7.62mm (OTM) @@ -1167,6 +1246,7 @@ 7,62mm (OTM) 7.62mm (OTM) 7.62mm (OTM) + 7,62mm (OTM) Caliber: 7.62x67mm NATO (Berger Hybrid OTM)<br />Rounds: 20 @@ -1177,6 +1257,7 @@ Kaliber: 7,62x67mm NATO (Berger Hybrid OTM)<br />Patronen: 20 Calibro: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Munizioni: 20 Ráže: 7.62x67mm NATO (Berger Hybrid OTM)<br />Munice: 20 + Kaliber: 7,62x67mm NATO (Berger Hybrid OTM)<br />Lövedékek: 20 6.5x47mm 30Rnd Mag (HPBT Scenar) @@ -1187,6 +1268,7 @@ 6,5x47mm 30-Patronen-Magazin (HPBT Scenar) 6.5x47mm 30Rnd Mag (HPBT Scenar) 6.5x47mm 30náb. Zásobník (HPBT Scenar) + 6,5x47mm 30-lövedékes tár (HPBT Scenar) 6.5mm Lapua @@ -1197,6 +1279,7 @@ 6,5mm Lapua 6.5mm Lapua 6.5mm Lapua + 6,5mm Lapua Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM @@ -1207,6 +1290,7 @@ Kaliber: 6,5x47mm (HPBT Scenar)<br />Patronen: 30<br />Eingesetzt von: MXM Calibro: 6.5x47mm (HPBT Scenar)<br />Munizioni: 30<br />In uso su: MXM Ráže: 6.5x47mm (HPBT Scenar)<br />Munice: 30<br />Použití: MXM + Kaliber: 6,5x47mm (HPBT Scenar)<br />Lövedékek: 30<br />Használható: MXM 6.5mm Creedmor 30Rnd Mag @@ -1217,6 +1301,7 @@ Cargador de 30 balas Creedmor de 6.5mm Ch. 6.5mm Creedmor 30Cps 6.5mm Creedmor 30náb. Zásobník + 6,5mm Creedmor 30-lövedékes tár 6.5mm CM @@ -1227,6 +1312,7 @@ 6,5mm CM 6.5mm CM 6.5mm CM + 6,5mm CM Caliber: 6.5x47mm Creedmor<br />Rounds: 30<br />Used in: MXM @@ -1237,6 +1323,7 @@ Calibre: 6.5mm Creedmor<br />Balas: 30<br />Se usa en: MXM Калибр: 6,5x47мм Creedmor<br />Патронов: 30<br />Используются c: MXM Ráže: 6.5x47mm Creedmor<br />Munice: 30<br />Použití: MXM + Kaliber: 6,5x47mm Creedmor<br />Lövedékek: 30<br />Használható: MXM .338 10Rnd Mag (300gr Sierra MatchKing HPBT) @@ -1247,6 +1334,7 @@ .338 10-Patronen-Magazin (300gr Sierra MatchKing HPBT) .338 10Munizioni Mag (300gr Sierra MatchKing HPBT) .338 10náb. Zásobník (300gr Sierra MatchKing HPBT) + .338 10-lövedékes tár (300gr Sierra MatchKing HPBT) .338 HPBT @@ -1257,6 +1345,7 @@ .338 HPBT .338 (HPBT) .338 HPBT + .338 HPBT Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 @@ -1267,6 +1356,7 @@ Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Patronen: 10 Calibro: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Munizioni: 10 Ráže: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Munice: 10 + Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Lövedékek: 10 .338 10Rnd Mag (API526) @@ -1277,6 +1367,7 @@ .338 10-Patronen-Magazin (API526) .338 10Rnd Mag (API526) .338 10náb. Zásobník (API526) + .338 10-lövedékes tár (API526) .338 AP @@ -1287,6 +1378,7 @@ .338 AP .338 AP .338 AP + .338 páncéltörő Caliber: 8.6x70mm (API526)<br />Rounds: 10 @@ -1297,6 +1389,7 @@ Kaliber: 8,6x70mm (API526)<br />Patronen: 10 Calibro: 8.6x70mm (API526)<br />Munizioni: 10 Ráže: 8.6x70mm (API526)<br />Munice: 10 + Kaliber: 8,6x70mm (API526)<br />Lövedékek: 10 12.7x99mm 5Rnd Mag @@ -1307,6 +1400,7 @@ 12,7x99mm 5-Patronen-Magazin 12.7x99mm 5Rnd Mag 12.7x99mm 5náb. Zásobník + 12,7x99mm 5-lövedékes tár 12.7mm @@ -1317,6 +1411,7 @@ 12,7mm 12.7mm 12.7mm + 12,7mm Caliber: 12.7x99mm<br />Rounds: 5 @@ -1327,6 +1422,7 @@ Kaliber: 12,7x99mm<br />Patronen: 5 Calibro: 12.7x99mm<br />Munizioni: 5 Ráže: 12.7x99mm<br />Munice: 5 + Kaliber: 12,7x99mm<br />Lövedékek: 5 12.7x99mm API 5Rnd Mag @@ -1337,6 +1433,7 @@ Магазин из 5-ти 12,7x99 мм (бронебойно-зажигательные) 12,7x99mm 5-Patronen-Magazin (API) 12.7x99mm API 5náb. Zásobník + 12,7x99mm 5-lövedékes tár (páncéltörő-gyújtó) 12.7mm API @@ -1347,6 +1444,7 @@ 12.7 мм бронебойно-зажигательные 12,7mm API 12.7mm API + 12,7mm páncéltörő-gyújtó Caliber: 12.7x99mm API<br />Rounds: 5 @@ -1357,6 +1455,7 @@ Kaliber:12,7x99mm API<br />Patronen: 5 Calibro: 12.7x99mm API<br />Munizioni: 5 Ráže: 12.7x99mm API<br />Munice: 5 + Kaliber: 12,7x99mm API<br />Lövedékek: 5 12.7x99mm 5Rnd Mag (AMAX) @@ -1367,6 +1466,7 @@ 12,7x99mm 5-Patronen-Magazin (AMAX) 12.7x99mm 5Rnd Mag (AMAX) 12.7x99mm 5náb. Zásobník (AMAX) + 12,7x99mm 5-lövedékes tár (AMAX) 12.7mm @@ -1377,6 +1477,7 @@ 12,7mm 12.7mm 12.7mm + 12,7mm Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 @@ -1387,6 +1488,7 @@ Calibro: 12.7x99mm (AMAX)<br />Munizioni: 5 Kaliber:12,7x99mm (AMAX)<br />Patronen: 5 Ráže: 12.7x99mm (AMAX)<br />Munice: 5 + Kaliber: 12,7x99mm (AMAX)<br />Lövedékek: 5 - + \ No newline at end of file diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 633aaa3ee9..a04ba08e20 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -155,6 +155,7 @@ Action au relachement de touche Выполнять действие при отпускании кнопки взаимодействия Realizar la acción al soltar la tecla menu + Cselekvés végrehajtása a menügomb elengedésekor Interaction Text Size @@ -164,6 +165,7 @@ Размер текста (меню взаимодействия) Tamaño del texto de interacción Rozmiar tekstu interakcji + Cselekvő szöveg mérete Interaction Text Shadow @@ -173,6 +175,7 @@ Тень от текста (меню взаимодействия) Sombra del texto de interacción Cień tekstu interakcji + Cselekvő szöveg árnyéka Allows controlling the text's shadow. Outline ignores custom shadow colors. @@ -182,6 +185,7 @@ Дает возможность изменять тень, отбрасываемую текстом. Контур не зависит от выбранного цвета тени. Permite contolar la sombra del texto. El contorno ignora los colores personalizados de la sombra. Pozwala kontrolować cień tekstu. Kontury ignorują niestandardowe kolory cienia. + Hozzáférést biztosít a szöveg árnyékának kezeléséhez. A körvonal nem veszi figyelembe az egyedi árnyékszíneket. Outline @@ -191,6 +195,7 @@ Контур Contorno Kontur + Körvonal - + \ No newline at end of file diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index d702e6b2e3..58412335d7 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -570,48 +570,56 @@ Rot zuweisen Asignar a rojo Przydziel do czerwonych + Hozzávonás a Piroshoz Assign Green Grün zuweisen Asignar a verde Przydziel do zielonych + Hozzávonás a Zöldhöz Assign Blue Blau zuweisen Asignar a azul Przydziel do niebieskich + Hozzávonás a Kékhez Assign Yellow Gelb zuweisen Asignar a amarillo Przydziel do żółtych + Hozzávonás a Sárgához Join Red Rot beitreten Unirse a rojo Dołącz do czerwonych + Belépés a Pirosba Join Green Grün beitreten Unirse a verde Dołącz do zielonych + Belépés a Zöldbe Join Blue Blau beitreten Unirse a azul Dołącz do niebieskich + Belépés a Kékbe Join Yellow Gelb beitreten Unirse a amarillo Dołącz do żółtych + Belépés a Sárgába You joined Team %1 @@ -746,4 +754,4 @@ Passageiros - + \ No newline at end of file diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index 710d7c2e29..dae48212c1 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -7,6 +7,7 @@ Kod lasera Code laser Лазерный код + Lézerkód Laser - Cycle Code Up @@ -14,6 +15,7 @@ Laser - Następny kod Laser - Code + Лазер - увеличить частоту + Lézer - kódciklus növelése Laser - Cycle Code Down @@ -21,6 +23,7 @@ Laser - Poprzedni kod Laser - Code - Лазер - уменьшить частоту + Lézer - kódciklus csökkentése - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index fdc62a427a..c212301422 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -2168,6 +2168,7 @@ Вид меню (медицина) Tipo de menú (Medico) Styl menu (Zdravotní) + Menü stílusa (Orvosi) Select the type of menu you prefer; default 3d selections or radial. @@ -2177,6 +2178,7 @@ Выберите тип меню: стандартный вариант (3D) или радиальный Selecciona el tipo de menú que prefieres: selecciones 3d por defecto o radial. Vyberte typ menu který preferujete: výchozí 3D nebo radiální. + Válaszd ki a neked megfelelő menüt: Alapértelmezett 3D válogatás, vagy kerek. Selections (3d) @@ -2185,6 +2187,7 @@ 3D-Selektion Стандартный (3D) Selecciones (3d) + Választékok (3D) Radial @@ -2194,6 +2197,7 @@ Радиальный Radial Radiální + Kerek Scrape @@ -2542,6 +2546,7 @@ Zdejmowanie stazy ... Quitando torniquete ... Retire le tourniquet ... + Érszorító eltávolítása ... - + \ No newline at end of file diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 4106ad340c..5d491bef82 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -33,6 +33,7 @@ Teleport do bazy Телепортироваться на базу Téléportation à la base + Bázisra teleportálás Teleport to Rallypoint @@ -42,6 +43,7 @@ Teleport do punktu zbiórki Телепортироваться на точку сбора Téléporation au point de ralliement + Gyülekezőpontra teleportálás Teleported to Base @@ -134,4 +136,4 @@ Rallypoint Nezávislý - + \ No newline at end of file From 3bfbf8b64ecce3f827d9feb3165c3c286650ce77 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 2 May 2015 18:22:06 +0200 Subject: [PATCH 279/478] Got rid of the math include in the ab extension --- .../AdvancedBallistics.cpp | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index e62a564dca..93fa6d7c27 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -5,19 +5,17 @@ #include #include -#define _USE_MATH_DEFINES -#include - -#define GRAVITY 9.80665 -#define ABSOLUTE_ZERO_IN_CELSIUS -273.15 +#define M_PI 3.14159265358979323846f +#define GRAVITY 9.80665f +#define ABSOLUTE_ZERO_IN_CELSIUS -273.15f #define KELVIN(t) (t - ABSOLUTE_ZERO_IN_CELSIUS) #define CELSIUS(t) (t + ABSOLUTE_ZERO_IN_CELSIUS) -#define UNIVERSAL_GAS_CONSTANT 8.314 -#define WATER_VAPOR_MOLAR_MASS 0.018016 -#define DRY_AIR_MOLAR_MASS 0.028964 -#define SPECIFIC_GAS_CONSTANT_DRY_AIR 287.058 -#define STD_AIR_DENSITY_ICAO 1.22498 -#define STD_AIR_DENSITY_ASM 1.20885 +#define UNIVERSAL_GAS_CONSTANT 8.314f +#define WATER_VAPOR_MOLAR_MASS 0.018016f +#define DRY_AIR_MOLAR_MASS 0.028964f +#define SPECIFIC_GAS_CONSTANT_DRY_AIR 287.058f +#define STD_AIR_DENSITY_ICAO 1.22498f +#define STD_AIR_DENSITY_ASM 1.20885f struct Bullet { double airFriction; From 87cd37ea2a91bb0526850749e6e26768dc16052d Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 2 May 2015 22:06:47 +0200 Subject: [PATCH 280/478] first batch of module documentations --- documentation/missionmaker/modules.md | 62 +++++++++++++++++---------- 1 file changed, 40 insertions(+), 22 deletions(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 186e99ece4..97b4485610 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -45,22 +45,31 @@ Defines the interval between every calculation step.
Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles.
`Default value: 3000` -### 1.2 BlueForceTracking +### 1.2 Allow Config Export +*Part of: ace_optionsmenu* + +This modules allows to export all current ACE settings from the ACE options menu to the clipboard and RPT file. + +1. **Allow (Boolean)**
+Enables the "export" button in the ACE options menu
+`Default value: Yes` + +### 1.3 BlueForceTracking *Part of: ace_map* -When adding the "BlueForceTracking" module to your mission it adds map markers to every group on the players side and refreshes them in certain configurable interval (in seconds). The module takes the group type into account and uses the proper NATO icon for each marker. +When adding the "Blue Force Tracking" module to your mission it adds map markers to every group on the players side and refreshes them in certain configurable interval (in seconds). The module takes the group type into account and uses the proper NATO icon for each marker. **Settings:** 1. **Interval (Number)
** How often the markers should be refreshed (in seconds).
-`Default value: 5` +`Default value: 1` 2. **Hide AI Groups (Boolean)
** Hide markers for "AI only" groups.
`Default value: No` ### 1.3 Check PBOs -*Part of: ace_core* +*Part of: ace_common* If you are worried that players haven't updated ACE or other mods to the version you're using on the server, you can place the "Check PBOs" module on your map. You can choose one of three posible actions that are being executed when a player joins that has a wrong version of ACE or an other mod: @@ -83,15 +92,17 @@ You can make a whitelist of addons that don't have to be on the server. If you w The list must be in the following format: `["ADDON1","ADDON2",...]` where the addons are CfgPatches references to all PBOs of the optional mod. To figure these out, you can use the scripting command `activatedAddons` in the editor while those mods are enabled. Example 1: @Blastcore-A3:
-```sqf +```js ["warfxpe","blastcore_vep"] ``` + Example 2: @JSRS:
-```sqf +```js [TBD] -``` +``` + Example 3: @JSRS + @Blastcore-A3:
-```sqf +```js [TBD, "warfxpe","blastcore_vep"] ``` @@ -102,35 +113,42 @@ The "Explosive System" module lets you tweak the settings for the new explosive **Settings:** -1. **Require explosive specialists? (Boolean)
** +1. **Require specialists? (Boolean)
** Require explosive specialists to disable explosives.
`Default value: No` 2. **Punish non-specialists? (Boolean)
** Increase the time it takes to complete actions for non-specialists.
`Default value: Yes` -### 1.5 Fatigue System (deprecated) -**Warning:** -*This module is deprecated and only in there not to break older missions that have used this module. It will be removed in a future update. It serves no purpose.* - -### 1.6 Friendly Fire Messages +### 1.5 Friendly Fire Messages *Part of: ace_respawn* The "Friendly Fire Messages" module triggers a message when a player kills a friendly or civilian unit. This module isn't needed on servers with a low difficulty setting. -### 1.7 Interaction -*Part of: ace_interaction* +### 1.6 Hearing +*Part of: ace_hearing* -This module allows you to tweak the settings for player names tags. +Placing this modules allows you to disable combat deafness usually triggerd by loud explosions or heavy weapons in a players proximity. **Settings:** -1. **Player Names View Distance (Number)
** -Sets the distance (in meters) at which player name tags become visible.
-`Default value: 5` +1. **Enable combat deafness? (Boolean)***
+Enable combat deafness?
+`Default value: Yes` -### 1.8 Medical System -*Part of: ace_medical* +### 1.7 Interaction System +*Part of: ace_interaction* + +This module allows you to tweak if players should be able to use team management functions (e.g. "switch group", "become leader"). + +**Settings:** + +1. **Enable Team Management (Boolean)
** +Should players be allowed to use the Team Management Menu?.
+`Default value: Yes` + +### 1.8 Make Unit Surrender +*Part of: ace_captives* When using the medical system ACE offers you probably want to fine tune some aspects of the wounding, healing or gameplay mechanics and fit them to your needs. The "Medical System" module offers a lot of settings to do just that. From b5ec13b992eafff7b776924daa1fb37aae4ad629 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 2 May 2015 22:07:25 +0200 Subject: [PATCH 281/478] Fixed some inconsistencies in the stringtable --- addons/ballistics/stringtable.xml | 68 +++++++++++++++---------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index eb2db5b576..d24a3371b1 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -519,7 +519,7 @@ 9.3mm IR-DIM 9,3 мм ИК-трассирующие 9.3mm IR-DIM - 9.3mm Traçante IR-DIM + 9.3mm IR-DIM Caliber: 9.3x64mm Tracer IR-DIM<br />Rounds: 10<br />Used in: Cyrus @@ -715,10 +715,10 @@ 7.62mm 7.62mm 7,62 мм - 7,62x54mm - 7.62mm IR-DIM + 7,62mm + 7.62mm 7.62mm - 7.62mm Traçante + 7.62mm 7.62x54mm 10Rnd Tracer Mag @@ -911,7 +911,7 @@ 7.62mm M118LR 7,62mm M118LR 7.62mm M118LR - 7.62mm (M118LR) + 7.62mm M118LR 7,62 мм M118LR 7,62mm M118LR 7.62mm M118LR @@ -944,7 +944,7 @@ 7.62mm M118LR 7,62mm M118LR 7.62mm M118LR - 7.62mm (M118LR) + 7.62mm M118LR 7,62 мм M118LR 7,62mm M118LR 7.62mm M118LR @@ -1172,15 +1172,15 @@ Carregador 7.62mm com 20 cartuchos (Mk248 Mod 0) - 7.62mm (Mk248 Mod 0) - 7,62mm (Mk248 Mod 0) - 7.62mm (Mk248 Mod 0) - 7.62mm (Mk248 Mod 0) - 7,62 мм (Mk248 Mod 0) - 7,62mm (Mk248 Mod 0) - 7.62mm (Mk248 Mod 0) - 7.62mm (Mk248 Mod 0) - 7.62mm (Mk248 Mod 0) + 7.62mm Mk248 + 7,62mm Mk248 + 7.62mm Mk248 + 7.62mm Mk248 + 7,62 мм Mk248 + 7,62mm Mk248 + 7.62mm Mk248 + 7.62mm Mk248 + 7.62mm Mk248 Caliber: 7.62x67mm NATO (Mk248 Mod 0)<br />Rounds: 20 @@ -1205,15 +1205,15 @@ Carregador 7.62mm com 20 cartuchos (Mk248 Mod 1) - 7.62mm (Mk248 Mod 1) - 7,62mm (Mk248 Mod 1) - 7.62mm (Mk248 Mod 1) - 7.62mm (Mk248 Mod 1) - 7,62 мм (Mk248 Mod 1) - 7,62mm (Mk248 Mod 1) - 7.62mm (Mk248 Mod 1) - 7.62mm (Mk248 Mod 1) - 7.62mm (Mk248 Mod 1) + 7.62mm Mk248 + 7,62mm Mk248 + 7.62mm Mk248 + 7.62mm Mk248 + 7,62 мм Mk248 + 7,62mm Mk248 + 7.62mm Mk248 + 7.62mm Mk248 + 7.62mm Mk248 Caliber: 7.62x67mm NATO (Mk248 Mod 1)<br />Rounds: 20 @@ -1238,15 +1238,15 @@ Carregador 7.62mm com 20 cartuchos (Berger Hybrid OTM) - 7.62mm (OTM) - 7,62mm (OTM) - 7.62mm (OTM) - 7.62mm (OTM) - 7,62 мм (OTM) - 7,62mm (OTM) - 7.62mm (OTM) - 7.62mm (OTM) - 7.62mm (OTM) + 7.62mm OTM + 7,62mm OTM + 7.62mm OTM + 7.62mm OTM + 7,62 мм OTM + 7,62mm OTM + 7.62mm OTM + 7.62mm OTM + 7.62mm OTM Caliber: 7.62x67mm NATO (Berger Hybrid OTM)<br />Rounds: 20 @@ -1343,7 +1343,7 @@ .338 HPBT .338 экспансивные .338 HPBT - .338 (HPBT) + .338 HPBT .338 HPBT .338 HPBT From e6187adfc7c51e8047aa80787e2c5d96c008d041 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 2 May 2015 22:09:38 +0200 Subject: [PATCH 282/478] Removed a trailing space --- addons/ballistics/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index d24a3371b1..1fa5c80d3e 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -715,7 +715,7 @@ 7.62mm 7.62mm 7,62 мм - 7,62mm + 7,62mm 7.62mm 7.62mm 7.62mm From 433bb21ccc42836af87ceb5b9d21a2559a681ff2 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sat, 2 May 2015 13:13:24 -0700 Subject: [PATCH 283/478] ACE clipboard extension to bypass clipboard limit of arma. Close #991 --- ace_clipboard.dll | Bin 0 -> 419328 bytes extensions/CMakeLists.txt | 1 + extensions/clipboard/CMakeLists.txt | 12 ++++++ extensions/clipboard/ace_clipboard.cpp | 57 +++++++++++++++++++++++++ 4 files changed, 70 insertions(+) create mode 100644 ace_clipboard.dll create mode 100644 extensions/clipboard/CMakeLists.txt create mode 100644 extensions/clipboard/ace_clipboard.cpp diff --git a/ace_clipboard.dll b/ace_clipboard.dll new file mode 100644 index 0000000000000000000000000000000000000000..c7d98f7ec3772b540ba315aa860c14b680fd8ba8 GIT binary patch literal 419328 zcmeFa2|$$9_dY%Y1B^O4qk^JhVxno98*YdTsDrqmgCvNGxQDpo47h-R1Iq9^X{nW^ zrMYBgWvRJT3Sxk{p_N%$QCht;WSAyUa%=*|KEZ&=e_rybI-l^+;h)8 zcX?kz#;;X4D-;S9es;S;aR^WT3y|PngEF8Sv^vs2vA@ol)`yfM&$NCrX4WF_1#$DA zikmXmd)kzF^X419r_S(>GtKj!HP3s<=rHfO^QX_~T)%!@9|!C00Y$e9Td&$t`FkwE zyge83#}d-EmrKtT+vnri|Lc)EzL)4$?syx|-1rsSzm=Y=9M8o&7%yzClb*Tp=~DWb zS<_<3``(rq^a{mDrJLfZ&ib*HxI%?f>w3xt3dIl?g(65PCBM=Z4;_A!k;V|iP6~x9 zWB6D3R1_dYA>yC2A^@2|NZP8W9G%?8RWTjdf`zV%enhWzRSa`u;GTb5TouJA+c3vP z(dQmi^{BU#Yt6n|;HoH)t6rU~D%{yPW3dsj!Gq8q){kv<)Vq?%8?EgeH+_n6ib8SX z1X9`dTs(vEtoAPeYSLLIQ)I9)T_J-ecs8h#ibM^%tj@D!!bSCvggPoTc>3H&7tpzD z*J(4KLY3Ht6yPCii7y_N{{mQU+@iQ?NRVU)87kC>bbkQ9xEXWigYfB&z(b~rPI&gc zk8TiB|DXJKn*WNX?r>5RrH@xCiuA826h-1lL{;x2`rQwRsUO>gKDE*9qXe*PRtbT@C>oaFwiV2u%zJVsmeRtjkDyY8lcN7a4&Vr zw=BbB3$Qx~ET<9eR}Z0;$5D;rM-jcT7hu{NfZ;6Y4x9Dt3^0g->J@#)TII1F+Q$KI zya5oFjkNe#VE_0TaM}L@(k4;$^X|F^e zZGk63=i-nS#De;MkF;@&{#Fcru9V-@rAWJwis+R&0OB^}_~Rv{?H>ftFdxKsHX*c1 z1BA~KfVsO6y@|=9XtXE#(k&C&vR46&WZqXIoii%)>i zv$T@Mi2jxhlGFo;&U^>aqZI7y41jhdxn)48JC$o>7TDiRK|w3`A>@|^Y;+)^yM}=z zgPpgOa<(&Cu^HHrn-Thg;7bmOpV?9Kt)ROIi&V5O3ZbvR0wOyFB#(WF&@%}D%U%T2 zKYl{mvPFo-zJ<`mB!m`aBgf4H0E^cEG^P^TmIAD2JH92;;YUID(VK`iVN-u*r_9_A z#Ga?YwCN;d+dlx{=zd@qz5{GA>wJ7KLfU5#@~;cJt9KB3Z!FSU^ahwq;`kR4iXV(n zBX@+F(h3|nhtRUu5&C=uax^OdC|(Y5CJtOq_5wEV7hpr4M`-CbfYTFzUAF~k0}Y6p z(-8V40cmAhP^%1TadTF8Kl^Pu2VI{%AjzRJtYi(!zXhirIxCoHG7{uq< zJql_`c^pEESfMUA5zS!jeW-AwXg2G948&)Y+Ml$9S18GXwE$<>AH(OPw5(?kwF&?~ zllTv2JNzxczD)pWLjmHv0lvut)<{X7AY#G>gx=w}jAo8qzX3e)GC(?`H(669HD}Xo zWOMficzGBq{=y=pJwFYhEgWTC*sHD^QH_Pe5V}Av&7MXmW+h10r65}ec1j-;z_W90>0A;TrExaedxwpV?{(DIC83a&3?YvFf)b106ny_j&Df{-V0FH9TNqPg| z7%gkbR$yc1AnL~oT^^6Li7gOyE(9WwGxl=M5Ej~(nQ@5vvE>^%qJ~%y^*RDG?SL2_j@(Y%QO zB^)17GXZ?5yJog`88vnlor%(?*aX(u#G$rZ3HG1RA|(;~n*rbom23UyKs-UF(>bDg z%}4Zon#kv9(i(Hr&ZA$lJp&}&^*|IKN7{))zy>Y_Vpa=8ca8`4M>0qyb`>QQ%T|8w ziBRShgywTPDLe!a!7=@4Z{&TQV{1hLK&Pz$t#W{vP2;iB2iSvqkv3ogLUTF)cIKqM zXAja|{2ZYc9Z}i~l+e1fNOPwj8$TGK3+&oA1|ak%M|b90fOq=>jG2KPdDNkV$HDaC z41`u)2BMrbNMlF!=fH{Vg-{cYMmGyWA9n)raJrYr5|DPXFStxwfvDaYb7L>M*iBUk z6;T=mG&hgX+iXG0y5%xL-FgEwSO>cA1b|^IZ8Q5^{TxWvc0ly}ba3v;(YWJJAbRWq z_*e@>&#!^_`B{LM=w9~z4WWj60VZw+7(iDt?R9V|pa+oiEJ80?5!(M2@{VM63pm?b zC?PeCmN)4-(sJ$Z0dV~>6scr|UTy}&E3|}9H%Dj**{4yQZnS#so&cB zfNgb=R)07`+c^QX{R+h6p9hJ7lTDYyK-^@%)ulo4Yl@Kl3=kfkWI7Xc*)4(S{~8dZ zIWN?wg-hW`Ht$BrlZ896_D$G>VPv`?2032mM7nk!qOaTpm!+E#av@0%O5^A`V5d`` zPg5>4DiD3GH?Uz(A}t{b3=W<{bUULT89=h0CZq2~&_xeJXcDKpDKxqJ$vK>=+?x(~ zecIj0`vIC$balG`c+yHO`2bw5(+BZ>6~w)s2XJEqF#})? z9i?OnB8csE?T)m}ml16i1~8qj>AALG`Yo&R-9CVAWbeWe6_ki*0S&xQFOYot6w=z! zA<%t+P$w$?9;!;f21E;%0+Fy2X--yvb2pLpGy6kL^We-`{6{wMyJrAioeIQb?5Nx) zfjBw|>@y-kw}$qhD-p$gkajT^bU~{TojMWG57<3NsptpU{CDVXU8Vo*)dJY*9CY7L zLFi^WLRltY`xY|P3E(wO)<5<~=(GpGZtNcwmG(qwH|Ual!bh8M_3Oc8tR9c(2F`DG&Kh%y0WKc{@%r7!7D~tU2lC6~Fl|C7 z=9QfQ79#f0XML+3z{;yg>-;ftETe=5aQQIb1QL;B>kMW34x6x$4GgAcuj3N=MS3Hf zIPo271uj?VNBl%1xRFDnO){__I0F>2ph2Ac6|6=Xy@z-z=A|^yy-w`&R{#<=10-Djb8(x$^_yUR%0x=OyscYQw)-Q^xKnZ4^D7^>1dl)ae8|62oP7|fcTU4 zdB*DqO(aO5OME&3TpCg3mtwQAXu}NTSk0;pZv?Q}g0$Qv09!r-=r{w!@3Os#8xcLk zbQEe;zOI+c1bNzRb-fvG_B-hs6J@kpD(NptilAfBWGpC1fFeWv|+648Li z0d{jm+K4@Kih6I!L)!0SkQRFd(d}fqg$k1X8NlTzU{905fv$)aOa|S0x`@Z=6|`v& z?1EW{TFCx08b;MP5C?7rSaJl!UH1blxC4@}==Gh-1&K44`U|*B%gO{@{e=LBb0|$l0S4z!MyZI|YO;vRTtvgRb;8`%q7xqaRkmj;b>dB#kB_B-#6; zoVzEoZG}|ZKWQhwzkD?4f>NhAxRoqP z{v1M=Sm!j7ObbTZXif=%YY}~eepr(x;J4Hd(TQCE+P)94<_VA-eHx`b(+i*jt6M=` zJH^Fl30=B@-y)k2HSwoSh(-$lH@*SgS*mC^cF%9i0B*8eclJ^6^FU;Li5w?s(fw9| zl@r@`f$QX`QZVRCHT#lNjOsBULO(&;sYC!Bb@Ge#06%gjY0?ZNzO+c4Q<2s?86cK^ zXL~CU*W7{d-;B^`TKNI&ir2U#yK@B5qA<|yI)u>r&Hy1^0F&6jj0}*}p9avKQ{^7o z?9!J3UL6a5z2|{sixwcC6LXW92sL>V*pWLyT#y8&FZToZ-Iemz?vq z(eub%2C&ElBXk#CuvU`9FClciD-a@?8eT%SH14`|;?mM zV*tviz^5pK88mJS*qCIF)g)%SvIbyD6!NxXJLa$&&v1rFn1Im64*&+fjci@H&C-ju zJ&pyIz!NmN`>!J{r42&; ze?<;8HEf4BzS5xIh)>)Gc@cuIZZ!ZBhfurY-rx5)i6VZ9x zg8P6ned#fT8gp8l-5S7|^IJBj<40*C14kg*b{#@v%)mxW1~?E7@WZD_Gf|)ODUH4y z*hkqPshpHfe~QqnQvgPM4+fvUh=OuGz_j%NVBhEm#J8mTiQUsQ3(?zDM<+VM^Yp>w0>Dx5Tadd@p4g!?Yn9rmMdW{PA7MnkmwaTTd_AaAM zSW|&Ay_|pwslNg?nD**5Dos4C%AM~J`jup2(TtPWuKYe4u> zy7r-{%Xnt{g+rqSLt*p^MzUFN5UlwcX_rqS6!Q_l)*$e^`U%q7vAr!9A=;7p{OSgP z=T3uPLKZ@HE*|G|61gz|p%K>sI=_S*MN2_arw_8NVpp`gfM^*Po}aT<^S?#ftWih{ zX7o1KINNB9KA{q7>72yogJcxfTPHXNNSh&zI5dvFg=}LvlJ}UA&HMs#T%taoB3RWN zAdVBp;9bBz`5~}FDSMB}0Nc2xd#3@|x1kcwDhG*;o>4KI`ZO8b3BHJ_7yF_pc#8+C3`0M7{E1Z*g4L>&$G^* zxWtQl9ibCvke0&n5%Cg2WnBRBsM+IV0F(kiA-9#@q}ab^E8nL2c(D22^frT@Lv(g3 zzz%K~&0^JzH0x^y5Kwmq`XY3jQ+Y%ISWVask`Jik&7TCwVYXLUZe}Lvy71sIh<2kd z+p&lpFoH|Gr^qz?64DB`Av&=sLN~cmTEc(l#IHw1K zF2n_3@vRNE%g3JvXi$M5S?2GAm(j=CA0^(0s+#J)O)MyX6ar`qPh1p8#-;1s&sv8b^m-*BNxBG_>Wk z78_Z6k#+9FrS!AYfxUVhX|GcDPMl7hsAlb1jlqq9UBKBYgEP|wdPaxYGv03k`!cIm zKLubu2m2@|fVaE>G?PI08ZAw8YQ(60h|Z&SmVSg#KG%NHoI|&c0r8@yK&+vQxcx1F z<5b5kEb`2Y2yI|>^It`1S~^0XQO#PA#PbZ;Z=*^rWi<*J`e+$I3u^oCu>jj?WU}i4 z)T7j%q?oeU%9u2Og&zPB6N0qmoZ4>EER`n#T%;a^QR@mg?;qO$Fmn@fsHsf_dSIu} z6229Jv|E3G&d6qE)4pU=8p+hF?JVPQ8$y#uB6M&nKo;G2f!cYKqjo3fk0+@^3DoB+ z91E{RGQ=tC0R6BZ`XSna9U7|w==KxXkNg}V6RqAtPKzQp2i{=l&EWvgO+&PZT*C9f zWdQ9t2fl$c6+QEL9OnzEaDR|EhCteJ zI7VOP^V2}Q$c1Nvy#P;h^Y-edFBZ2|ED2Q{c>AP%^rU;>e*ATkHG*{~G1Rnmm z%>&&~3ap1WfbA&CJ;gK9m`H#j?6;xp+837r;Y(BHQ5PVdgVW^-z=4sVE7*uMNop~9 z2$>%NVlpMPa1-hhGaR9YbRcJj0HJ9Nem}JYD56Z?;cBciwJ9hDd0*gEevLNgwK)J& z=|pRG0JNuWJkuOlB?tQ}+-vSf745^`YE5&ar(OHd3ZP|mk0%2Wwgv@tr#LfdHxlcC z&Sx%2`WX<-n}FyrRwJ2yPUNEiQ=@^XpiOM|CFp*40yuU6h`tdB^&A3lg4MV>2HD!P z<=a~#+NcL|gt99vI}x280xk^(0PLI%gq?%k9)M^#m7#w;=mJ_G)G8fmVLl*P=n8%( z=%A$rAygO&kmUsuUn0}Q($_SN7$n& z_FQ7Gb73d2`R=Iz(NwO5EMqb0_T?i@WDgc{-rw8=Io1lmW`-f{k6r+(R!H+>)dr3L zNMv0U2N8;Ax%=5~rHKH2HX~Y}7JUl04u(+nr_%u%abmelRc=S4mCNbQdpW>Kj_&PE zLGliTvnd>4%1lIKIHHC#Z_jjaJ~9*0$Lj)wDM0cFty#!>z&^T>Bu@imQRO9U<7S{s z{RC-0a-4t0p3YGM^ge`WG;N82TMUNxkoFU2oVrxAwJfdqdW5#5A(Tk1^X7*5PthRR z%K9Ck3goB}-N*X%D@4>v@AaE9VBdWXU^G|xITUP*{Rk~*bqnZQ9HmQq-ipvOs{!Kn zkRSWQmxl3I=IFlx2%jqmNjHfaE*}Q>!O{J(vgVK{urR9!AcI zAo=rKfUnmAXsKb_wgd4L3x9$~5P{18R&v(3I0`_08HjCzz-1e^XwDu*^m;Ht(3u(i`0dzF*-%-Od=>31dx$O9Eq_vgGrKNd<9@HUrPg73E z-D&QEs(jwjmqT3*V=T9N+8S403T<3M9J(zYC z(Y|j2BvO(3WrMCGM_x;EF&qKO2XO#{p9E;t7@!yT6gEsp=nLAM1FT=yG065VyY@6k zR1CNDF3=1I(334#`0!}+KR{)zpE|0ech~;qc{1C*`S;j&$h-b2E z$4o+6y<9|RP;}j5kk)e@(oWIs_J{)TrX|dxCaz%(cG71Z)&-%VT#2k>LC>rK-GD!k zErhPn&W{m2ZeR{7|L1hZ^0{p@iyc3nj>C7HPQDKV__7f|@p!Om{R|NAO$WG2&qFsF z?PxI?(LU^tEN-4%F9+B|!@ZhAcU@y(l^qa`WUY46Mm+WnqS-S5_ObJdo=4~tt~6J1 zgmz)iH2V%*qF8Y+Ux2GjtNS_9F3^BZ=3q~t5BXbz|CWh~7`nI?Sz@D5#r-rS!oqjTb{ zK#o6VA+(LFr>+$Ut)q13y@^l@w&N8#N-gM!%;bPQ$i^hGd)88j$GF09qx@Dgq<;jmBS?qq`@fKdwfol(N6F1|)w312o`b*`*AjjVw20 z1i*eS1`g8*zQ*>Bzk|G9^FXqc*?!jnSUUl9rYHRk7b}rO7zl9&J$_YRZ{Iahc4L*@Dr!Xr3s+(=e)H)2q7091%%PrnaCDBLPIg?4}=UH z@m-f7x@#z+`3C`9dLhTaa|mrnMW{(nfFL@Ri@JmO?Fbo*l3t3295|kv-0Vy_+D3`useNhu1Weahx7<1{W~vSo=H< zje#@@sW(B=p1XdHXhyE?M<|HZZ7~oeCs@YLc>vGRFP=FZp{H1beHDnNa1!ay4MY`v zsp)YDweAQ+`kw$=?n<_z=oZm4YS;%P&AANvoO(5rb=gYntepTM^h>_H1(NnWGyJg* zfMylI4Y^9#oWre=v((MM@Ys&)I#_6~&8#px)*omy^#q9t$ zEMS@v1+3>5;4+7P|L_MYho@Fmr3C%5E}E&<|4 zPJBlCX5}<<$KL|BH(#&}9xq+T%2CS~@@-W`oNvE@d*ifbMB-NCIPpVso*lZ&r9jtZSq-Nxb<6pC<8GNjF#B%^lG*x3%otJZ`rO`Q{U<^po1O7x&uj*1$IA!a_@MMO2PKJOnIpS=zMaz_DU7 z|CBxolgc+MD#vP2W~u|yPMXR)9+&DZ;WbjpBalTdvm>gstCcq04=F-$1&TL!MzCYH zxlE;9(FQ?tS(|uuQ8VI0)S+U_T~fi|C*+!Yzi4^gL|G`b0Tji9h7qiRa% zAK^7}ew~!RX7TtWe~sR`H(ryvQeHLdr&r&N-`Ah_@V^&-FMlDsW)1F-*UW+ThYL3# zqP!q?E%YZZNYbZVS4E1S!qmw3!kAFuteCJJ9g#aJ3cQ8$5!R*3Os7FCT#!;xqe7Cts4Yq%n}wY|&B_J2o6B@@bpj0bUgAqf?e_bsI_WM8 zDZl2fJf-%T)F}fLrUqzCxVUGV-7Yue;yn!s7uQze?$#UmW9>1DK`y%KTRFZA=3-4) zc*NFC7^%J=8LawS)A2@=LSdOvBHXZ;IM{?T^Es{AekWcfl-V8=Cb=JaWB2aer9TR% z&KI5k$^YZ{#)t0MF|ztK>zM6-Dc6x*P$;C8-6yC`4(Hn10#V!o1vF7pD>$*qns3h}R1XHHiJ+;o#9Y z#8@vtI7>l}`4C;I7tzrcSIcsD%OsuIu8VULN^(_?D1?w((=GK`o5<)%6JUZcXjq!u z6O}BqU=a(AsjfJ&3UCxpy=}MOm0|UekbSqWn9lwhtG0yd%u7)7x`HxSrBkr$b5#wc zXZ6ev2;a-^e>zTmilEeQpog`qo`Z-W75}_NP3`fz2=U2$yWKa-KQFpPR_P_EnOc#O zq)`~dAlpTw!h}gW|39>YzM(p|5nL^LjnqemaB(99CijtW7J6>di0{5nPUsegeEsus zRlbS|EwZ8=jMMF=`j+K7@^TV-LFzTjjp?`0MJFm@u^%9{hbP@DKe>Ox(=QmG5CWxf zs1mwCyKeYjjBCNN9Z}e2=Uo5e@osyS(&*}*B|RQqkOL!iyR)FoaTNTo#;t+wH5AHv z&-{S;rzEKr>@$sU!`Mz5Al_lZBk6Wyy@;@IvDI7EB_AgCJz}>{fLtA7&sFtSL`xkh zSNLB3_cl-#duCRp*kjZS&+>~?fpwA6=>qs;ag1HU@PKm)-w zIv0a6S7t2a!f+ujS*~2UvkhYRJyK^g3k{`KaLrZqK_1Y`gp5X4@{s%TXjR`)3hciS z4Z6@=Zcpf(S}yre&33giJtjFai`q&~Ok5i{FbQphY=b!U6{*L_UL5usdT9v3K!Uym zJpt~D_r6f2ydyYCYlLMw|8ngLd^|_dvD`07ryZ1}^S@~tYE^0df^^yyUjktXk{j1d zXc8K$5YFbRoD|~xSM7F3yEF>n;$1{|b%bQnwp5ukABWtNbLfU?AjDYnGKkGdkms4l zg(gxL{PdtMKrvNaz#@^mL4;LR&oD;Zv->Z4f%&TSf<_^apfD)D92&-uWZZl(|J*Au z_K#le7pRMCZ3&bo6^+o4GLStA;r!jO%&!~+{w^0Oza|s2syd^ZTUJGIuYIaQ{0{}B z`sm=lyP!r z(UWo!Wf*pSh{I=)hH%HnFvGB7qUSXGS;VPXTx_trSZ%!D{_s~j{n#|&e#NOvBt zsvztCFO8S(uvM^dWF|I)TPeB|XbI{PxB&bQ$@+hS?cc3e%=vc7&#f#Q@f!2lz41!A z%BSQ?R?G1qeHpp)|0t1FHtiog?QQY540ZOln-&tjAi?z#+ycn4VK>256K@{Cs=;;g zA{U)w6(jRDG!Ajz&AwmCe(f)^D~WV;B=ZS3tU;(9$x2`lC%{riN*YitG3Y^w-5!+a^`Jzz2POV`=m7Vxcl;quAb+Of0n03^*jmxEYFYFX{)N+ z;D459U-dlNf0ie?dY;Sc|B(zvRL}F;Kg-j!dY(o9EYH>Vs>xvBKg;uW^*r?+mWO7x ztUQng5!_S0YB7SE4GVyx`zZdX(1;3s6y@}s`{NBg!IDY?N z%Bw*F9mal?c}AH68&T#N6^a<2CayX|p1w?)&Gff8or(RijH{OI{!AKADbuZMq}JA; zmWeToT0?G$uVDEUlYtUYTAu#adXO8$Z#GxwUW0x<=}W5Uw@dVIKb(Fb>H9RTcmobb ztU_D>uQ3vvyl%c(MW2C{_&&@|hW;AW%-nxYuq)0G++y8C3+VD(7zcBOcnFIV;%mWlgk8p9yDybpH zy4Y-pb%JE!w59*o)X@@jV&nUv8{xwmTVJgeaY@-`2@6V+c{LEg{!z z?qLy>SbIl_crS15T=kTJ^};a@b3T3{$)0d$Eqp?a5P2P3ng|yL=}yy z;Gjj&oTO2jT*Pv;`)=J9LrJmGTYU`XDPth>9OR%^0QW!7l?n7*+FH@A_joSk>~P&N z*Gb;JylkoFS%SvlBbHjz@2$KVrvS>ix! zGDSvK+E-LQwb;iQgQ=<5e}qZ_&2x!$iagU{+ZMg6&QgC9p~nk^E!PwFTua!0HQ>zE z9*3ky{XNp7Wrp-{Ns}IJQ>4ceiFj;UAGQ_hB z6+-PVPpGm4v%GB_)7@E#j3^Q&_hX-k{t0D3n<6mhRJfo;o<*kIbMSt z|265Ml9mh#P!^8YoBzIWBpGVMILwxAr-<{ouJ9IXwnZMo9&7$$qR5k{&O{R z=paOEE_OH1xTT;^D;=_iM;sgVL%{n-6$-dUdB*zbxyCxB1>30Wwwdrl4R(+A*aH&u zWxo1bsIuL|2hnZ}c*_B+z8FMaBnm09>MMLhihV;WeDnR!ncNPK25*}#{VdKQvgAY+If)1KR-@mKHlE{qUk4JoU7#s z$8F`+%ap=0Q_S0{?zo6?IApv+G1E_N`c+^lseT50JJj_3p?YxAX8HwsYS)9PI*(X& zOh7X@2RC1oor6O%0~gpEooVvcet4wfqoWF)#Ax(knNfx((Sc|UK8dQ(b<8$|ijQEv zqu*wHyfnZEsVSz`jv08b($-4Q7YhpClc{~cIZL}9t_2o04?pZnF!A*AiUM2DXh*xFz)0v2E@a^cpijTwLvHdKT!-19JE^rWRMN*zBj^Z@< z2BHm~s`v+-cL$OR$!WYEW^l<5vyXMRo4o8MPw_ms-<@DipB5|Nq48?W{uOcy#2c7` z;7C8i4ZEU+N%ABoaa1czZn-Wd`pn`~x_;dtbyQ92I`MN%Vu;j5-lk^cwH1l)$@qpy zDnt? zXRh9`U3yqwkRF?j(j$F=^w=>+db}Bf$EG#uoA40yDogr$1gs2fK_E}60cTMmpd!{_ zNna~rcZD0oYb5=9ghP z?&R1#`T&isSJ;al2w^bQ*S?oidZ|TLYZo?Bx(o47w6n4s{^ChRC>|0!#H#-w7AL#; zsgn2*L*e~U_-#E_c&^%m`eK`NY~6A9+F0ML94Mqm04Rn0^phrPykpENO*e(We$Lsc zeWbDagJY})dzvnr7aJSIe`Y=;LLOWd-rts(;ok72B|#90T4Hbuiqt;S7R@a*wKXr+ zIh$Gu0q*_1UDh=-w&>rQ5BL6$@=?FPB48sbjhkTDrw4Q?jX{^<{?~L;Q88=xDsWx|RW(^aXkV~#~4ua}RzIz5NZm}jb&U;0I?viZqzDcQMU?uD5T6d7_8cs476+eXSpgB#y0&YyE-Y1Ui}yF;nClKzw2RafJ8jpkm#&1 zH5B@%pnm3aN{bY*xjGV(Zn-7)jCJ!pX*FFNhq7F8S}#?|GEQX)#`UB!ivcwkU&kMS zP#Ei*&pA05IQeFkW@AQB7(>iwRe3IKK7CiYIYcSc#_rNnXMEgzRxOjjt8$R+@-{X$ zpY@iLISa`-qbK=h@j}u=`r|%z`%e?Fk8kwR2_t>ng+w3t2*P<>bGZ|*_Ak?}z@Hvb zXpgj|AU5Bk{i&|^4 zx-{1f9E{VnM}BbDn%_lurgr|QTh{nnc;aSPQCB>JyaDEQwZ?Zfmoxs!Ol@E77n+&c z2Roo%#Dq4w3Y0h;r z=Q*(sJFBSH$~5L&C2N?cBsQZ83m)fC<_Gxg$8QgQ+wt3k-+KI3<0lMx`kH0PnrnE9 zc#3!y<5`Sn37#c*-oo=1o@IEJ;aP!ag;j-5!z&cdCC+6IaR_!cx&*%p{B)bi+eb4g zI%h3gTsN(KOTU1meGmk% z%04NV`=lfLWHIUj3KFl)KzI*+pW>Gp$<8ay?4s_|6gslroLvu|V>rGejS{5IjYSK{sHn;>UMpjux@ zakREtKcH=(k<)7S-FEu=iU=XsT&Tswmwo{;;k^0V z1)g?;w&I45D z!kNZ~K;#ABZ&kqI#JSKMTWqWnN%jSv5_FfKT#6Kw3VKdDn(;=0d9jaz>s*{yX~fr% z9E+0&`9Ex$7-H~OVHBdzVy;rWxE~ay5vF+wv%T$wDD7Wy$t3A}N}D^@5YaqCRQP6d zdrn`1TEPDm^zK-)6_;#P=-|y_VJ6?ax9CNyUX(p_tiMAcEb&eP1VGnVPKJB-7oOp` z$W+Z z1ihz4|EW~vOM>3ZqQ4^Oy)F7e^NefABjQ(#w*szN=8Bc|&$sIH<%(j_!EQp|Nv+nQ z)nd#`XiESDfV)2>2B7R+?PJR#Bc=1Uq+*4!>2#qbGARUSAu8YEJl!J2Y;}Z6uIQD2 zr5~zmmbB0d4Z~#=jdZ(xv_?2DL__}2`Nh3vXSBKY(REZEJAt&$hSQ>~gZ$wW9x3`Q^iR%!w zENIWOm%Aew#Npx+5}DNg3)-6+h;tYjg%wqM(20}e{OH+0m4At`F6J5hAvMztn_37` zp?0<}#rehuiVmDbZ{`kYkJWSoj4D61kuAec#&1yQs2skeRlU~cVl@O*0pa>)84LzV zCfMPEZIF)A5^(TpJ^{5ZWBc`G_l+-<_%|$i{O2rgWd40EIA9id*%!2j8C~EhW-nqE zU9~eYxz)AnxvI6%|GVqCUAzBkJxA;V*K;4dF0CC75sx)QKR!<*tqeaeM5@+kf3=fkI!9cY<`rF;q^D9x=EId~88 zZjzkgof;XymHu%G{?4s2SkPj_VURUcnW+rKd0lzOkHf;Pk;*XfgV}JwN+PjbY-aC` z_uU4;f1!tY7H3kpk)+NIP$|R32yl*^Gyz8+ctOU^qRb6cDWa=+XZLg%ik9BoTaKdD zXo)AYqba#TD#cyz(m^G??&xYRyMs-RQ7Y$izM4MbYFyC~g4Dt&jTFbd@}eb3s#y&3 zcJ5()<*2r-m#`Wsk z0oaL6KLp%pHBK?sZfey|3y_ zO@8tHgk^}2db*`81p?Bp!Zsns_vwUs zmSBw;fB4#TIz|aa5(cZq5lMFYVM(bFSu_*J@_VPR;c1To7x*Bl9I#cD2C7_DP?=+Nc3#cBF3JVpYUL{{BAl2W+L)4H+R!z?Lrr}hYudv0eU51Oh83gMA zaDQRH)W?-K4r6u^wS{00@k()hO?(znhX_s(?<5*);;#_(DM2Ce&f=3b@nuAn5L6Ja z5_{CZqq#J$HZ2V68^G||aa|ron>40k>CR1Mk4b`2`<{%j_Df$co#{dVTKO`bZ$5WO zM#6sKl`C5iIO-&h_(RFnIJ!$5VX2y9k&VOt1=xQ;OjF5YmDW~I>eteORk(cp7gK^% zCsc@UWTQsDS=N4=Gf*d~Mz|DUtY-~W^7cZTY};7DYjXkiI>TcWYThXhvwIl1@lk>s zx{ujCMj~u3i!jv>53j=5oP2KsTL&G;ir5+oxvShzQ@3!t#~kL(ofHkduawNgp0aE; zk|aiB+})L}&LIhYoCY@AA&Z(Ek=s#Y$*Qx?=o_!QHP&*EvI=+44hQQ*4)>{FPicTs z?rzLm5S0^UZ#xmptF?j|@6*c)+%v((0x}`5iW%)5G00b=*35aI#vXq_&dCqTd7m!x zE{#+s_hjxCJN@3wQd95K^x<-Du$xIUIlfa={#@!`B(;#l? zeuzZDdoqr;OG+DYjHBWW{)?7W0~z=Q2GgVAN2!~r{k zIc>H{yVYk)Eob8l$!F0_A<6+Lf|Bji= z>c~f%y;7~gE;bF`F7Z7+s{nsCTp5_Dgfo0ykiY*V4=0dgBUZ9f(u7fu2ZVcI6=99q zD-WT)&RnR7sUa=`VPeN< z@K_9GM(0P6QiNw1867SbN*8pVe%|!-H}!+dUG&8)L9xxX{%g3S^p#6@uwT zHLVx@;A@DzA^>_mCEWp(?lHEXCWYO^@i=|4{aoYTqPP+}!H}kOl?&5q0ru1*B?^=) zjk`wTukm2`2=W3Su|&dGSu61~ASL=7+yI@-8=yC!G~$=^m$`3jY{CNwdw~rzKtQ#t znxZb{Ue{FIA!VY4!bPs4Q&IO4KuB;5HT3ClLYu6853XF*1)BOu#^FPvkNW0rTNLS1 ze@}smBv!jS<2uD|j}XeuzpLW9m43nVT206E8E(An04=yJUwl?qiNVIp~*aNm4XHZoky zjN|8BYBn=m3`MFm^Q&WB#C)t)`I3o)$lRao?Ivg3Fbt27=UIDCrU_+YU#S?bZ0iA) z!r_u@8x-3K4%-`J$rBfUZyOth%NfKcq*`E%RZ{!fZIwacj_>VoafMVk-ixkTMT)(~ zznJS?@s3zzvfaLoRf$CNr7Mpyl#@X`fqF^rin)m@3<%rzH3rG)(^VpasOF79AJvx{ zDUTEuB=@nS+VS9)o)sC1QFV{#NM|lqh2ceg$C(tgU@WFpAw-9RDDfoLtPolOj)A|5 zLfTlthHu1R;bL+*%8Xp| zrHhx15Rk53)8MQ)yr@(LIx$Yd=i$jg4mrn zEgnPAve;cb$fOXRCD@a)hIPcpSuhFNP2Tbial6SqOdJT;#C!rQP+WzgXf1TWZYma+ zLKz~ZPT;+8^JE`|FxDNFNnNT+0ZFo}_UK@>%^6E%oG1%Rb+|zqa>Z}BCcf|NFWfCr zp8iApRUlvfs33)T4w~EqhpWPnJ}T6sP#CTjR5+zBwABejPJg^hkZTwNuV36Xjuq0$ zr__80Q0-8TJiYWmKCuDH7jnd#n1FI99)4l&61HvZrccFmtk5IHqnM?HkOE7vySPsZ zo`wuk2TB)&4d!HA5FVbIT&bqXm1>$St7#V@>Y6zzUt#Ki4@k9z%*9#L!4#VAS?x{L z2=M?tph$=y>e}C!h8lL_zY&R59cqma{)vascjEbFkk?{wg{dVwP_$soh#w*iP6QVo zmSAu3tI0_F3d8K4!f7j#ym2KeNn>mzs|8=C6w@$AvkQ_saou8aj<7k~O`SwvSREL2 zA2`P*Pbg1>SOK0m@(qZg1+kmjTd+-}#~CM<0U*#x%zXYNvrdyBKsPu)2eHEXyA>mi z7>rBRrS4vmY3cfK)8b)X?4>Yi#g8z|@W!Ym*au$}sdMtp{ zkC>W#zhYw#(5_v59Yeu?s7h=79s$f}sRO7;+VoctH80mWYtt`5BU6{l3e^Mw$?nxh zfOb!t&NolY%e@rZbly)Dy-`W?Vt0i$%?b`;Lqr8^4b{OjRvC`^C}Hk+;o>Cb0nQoP zwAmn(i#2s*k*2nl#Wkudu8yNP>+W?KAgK?Iwzg)A7JuM^^ zSdvP>$1?Ux`i13>3;Gg!yq6tcv8#*H;bmj)Z!hStnDr&9VCiF)SMWmg7r3AvY|e(Y zyk-e0PS0B2Sr~iTw$Ev570%LGUR_UJ7Gf^t8B$o>OE>l3ih1Cb+c)u9ft*Lfl+)GSu1i_E2w? zaSEYnu06pkT>K4vD)rS!@iHzJi5CgZ16ZIxC-F2V!A^(V3WvEf%?-27MdwlY@m?&{ z)E+fQtqrU$Zk>pF_RR@zaSe0Qg19-he#Lj7d92}iI6vkYS@?Lv2j&?kP9eo(=LL_*JqyD(h@Kg=P|2qOODWRb}c1azG z-P{yy+8Zn#{PU8oWg-ELv&*;oiy2@{=efjVUwzPT3VY3c(4b6$ya z9$Io+5nyW1g9;z(s9PuiALKJsuUB?C$8H4-I|@ZPf#zIyT!!=iILhvle9&q6K?^yE)%PWzPHtI-#mkLxUBHRfNG zrd`pKG9CBBGBKC^Qw>HFcyy7Z_Py=bdwE;oYhkD=X3rq#!w_c`-AU01$47cCQ5$5= z(fRjI{HlAFv~Q2M5=-wXM!bycL%t{dg1zL0wLD|Om}%4K!3olvJu4A%IOofy8FcZ( zXV55!kM*MjtqbsV?d1dMSh-qpK7@N`S?bK@eLYRh(=HnuWsX<&9j7!kFduiqK1|wW z(=}|px=7nFnB%p>uwj;dGWi5HhI!}!x6^i8oIL8EOX~D#YoMBE2k6;t*RXn$mN<;# z7;-E=Kc*BGqAPLluRczo1otL_rmpi@=j`gMNGwwd=}hOs^Wj^;A(~RyPDKj#y~}N` z)+HL}rE0oMg2_D`ABc`phlxipfavt#rMA`prXI0MYY?`47kP?XxqTODu*Z8wh?j<9 z_2yZLSyc_Q7G}`ls*2%Ja84cj5#qFvf7p0@|00EpD;;X>dl`o!La_9m^9?Z6eInJ` zwABa*26g%clcp5Sp{ZHIBsDy^^plHS%y}B;-z`zNzw4fMa)}@B3HR7a5u#%{+6&*4~(SkhwQO7yPd5zwig2{>93N0T_ycz9C^W> z7A=JlY8!UjRcRa}x>pjvN8*{4#Jg~XSmqfaM!{>uxWi{1Roe7d(G2rI7`2TENMh|R zc9UFdi(64T()=cQngYcShsm|nrcJoa-B|LF>xi8u2jySl&Uv*|W5B!;kB9 zql)!{$E@Q@0dt3IN;3A#Tc-}-?4?b^S8U;(at70;9YOeZPJlM;9Vt=vl)ph(_7*>5 z>cc(d_as8NDow@T=b`5$FL^5xMH`~~%+*b5!Z}c_7^)T%rJyH12`DZ^5dNi2 zZ62+*n@4NxVl-0h!Cqnnp3#%2SV?un;fRE^K!Lan^uN?h0}DL z)&VbrzfawXG%XTKxFHhY?&oQGO1vhAC2fxsFUqk>t$$Sfs478Pf;ANPS0zYWQ0>HR zasv0Ao_$gp?Z$@K8(fWKp3fJ;@2rzvAbo4RwX#f45&(w z%51>K7}a72BvWdwi5{iq=0p=IsDZa$eeQa=xc&|!8wMH$$(?*8wU6XpHgPxst;HSm z=g~<;1wmLjJkJ<DnAEJkBSl{TT|sk#uQ*tU!Az*o+*?qG$&Oh1v)0=4)x>^=VM zz%}uGtVJAc+lwID_HP(z$TKvQLk&CT;w-R%8p7;$kvB5ib8E6Lw$t@V5EGi~$OO(kv=h+i-6rwLeD9@mt_yYVFtD*fOK%|`sc;fy&dSS)TYxi-X5fyX>9AaP^C?K7EwQwmp0vkK&%}vpkP(15hL^v1*}`V z-$IS4rGtsQ&~))z=w+%4hU39dWqi`Fxv7VFsm?jBv)@wp_zuD#FZ3;}ODjR|!|$_U zA%LwznK9QVW9%2PfV8!e)3I2nh7#9ZXSv?AhI9lg)#=}OQm@DIH2`4{4}9XS!D{^R z597SsPAS~Fa=GoMGffeqRlc|VbBtZBgVmYMs+`qGhqIbp>8#>BpvqaL+3tAT4c`{K z?W8s~hj!mq;H!1Fos`DPeU7`p*k9YOR4Jky zYwi2)4|T_}k2}8A?wcq8XH5Fg!GL+qWH$tc9} zeF6FM%?X1Q2T6`MQik}n=Uph?g0dU?niG9GVLJCW`gDqa0=J+9%{~hbxp)mKaUbqM zHI?r{4cVs_hoNYJfoKG52U%^$CkPxDp?tHZ3-y6hq%Kjh4mffM)d*uWexYi7fRJN8 zCoJ^+0-TN5@K-;i01wnGBh;3`D$8um*igf`NE|$17u{a)pJ>bd3YLSbllY8_)D^-F zF2XRNc`Y$@rpm6s*uys2IHF&)v0pzQW1oKgj6M1dFm~4BuP8mZ;IsI#@Z#;>N!| zv`6|oG{dka7Thw`xUttTz~a_7L}P3w*TvbUOTo=aoEZnHlr|NhQ`L9=?{CpxrO2a2 zaKhEnL3|sh@-NjO4^TLlsM&a)!5Zsfv7=WT#Mj{o)HorL3ZmeAFC(X4l-k%aELMG3 zhZc%UB6tdAsE<}xQ^9dntpQRRCQ zfAAq64bK>*GM6b$4GrSP@$hS0;qIF#Z0Gx1E!9xc9A11)og%4hBCYVPrt*wnRqA9ZgGHSYQl1fV)&G35E>Y!QzNl{LH@W(&%EsqQzYGhF ztve=Slo%Y0ZNcoWmZ(cYSw@3;$MM+=)3phGLarKBqjFuJu!fX(JR2&6TnQKJjDnEy zp)36r-!svZ#PL|L-2YZtbY}VDZdzlDun1-U-!sp%F9`_*MeOf?%ZEHW&ph*T z=FFKhXU>^96MHDi0{5YvvdVqci~2a{Asf^g7`~5~$Pi<^{MwB15{cB3_mGTEj{XIv zbV|N#d20;}R=l)jI3*D-uycELKxzU4%*|ZBAOmZIy%>-aRBg6qgZ*kEp;lM3+fn~9 zvq=5N=|238bRUblFf)fSCp#t|IbABP-eA8&mzwa1PAYU?!nm?GWV)sB7~4!2IWbU8 zse~Y=oE+<834BJF=SWrJ}d`2nl`}9@UpQlNX4X4eI%%I*d2E zRGF>5O~KamE#R_U`4h30OD_h#R2PqN1W3~gwk26bV6?EAu?aSF4D~13%sWLCvo$c< zzb!Ft`(P^oD<${jDsYqm7Dv(CBFt=LD0>xw;1BG!!(it@e zHq4}LRE8f9ygA<}qBEuqT{$dx`Q3E0GdPHIrx$UY(h(V2n-)o{O^5ZVZ(IT-Y?VE5 zPcBU{I`h%&uNE(JW6Ji8ZGTXxzFOReMuV@{JTKS0i1yErNv!Y!-`AQ;?8PO%vyBWH z7-?*5cdP44kVjD(I@EP%Q)Rn)e+fVHx~L#hRy@vE5i0AzPZfe5@+&&1 zU{3v>H19F~=`wVDV;__vnbW+-X(05_BZpgMNd;E=bl(_M2hRdd@ddtjbi(>u(n@@< zH@uTZ8;p%)p=Ne_CY8DMmXV=S4Q9+H&scJKMIDKhXW#H}X6JarMl_Q;6(kMn&)N}7h2M(ic^ zh56o(BMx3lnseAy_HOgqCc92~Sf2HIj-&p*)4P=j&H^OkO+@yOg%aA8doe#yOX`{N z0~0?wStlObuf)d+wYRHXC`fuKImqTO4ME`8;2Z~x1P-4*g{0=iEb#^bLvJbnAPdBP zrF@a4cmGn3lnJk2W&Y@_-cmAv5v%MgC(E8XE({#vS_7kf$*q=?JaRmnJ$>0hJ8q*& z9RVbkfw8k_a#gRaD$cLsMNXH=6NUIWQV0s<69F}H3X`TK9$mpZ6qvQaCX+-HS}NuM zxjb(teXvkBs#j^qlF~HTb46H%lg~l^DjJQ>NB#GC)Kb)Zp#yi*u4214%e96rAwPx& zB1x9{HnTES52~T7A3F!UY^|c+TczG52dOyT!m8jK_1^?(ms+)#)n8!qmcVR^3Iv2n zNP3aU)wS8?#B+mL*$7EApuD~qZ0tb}YF8UXBJ8RTzNpfudGV6qx;{9yNmo!+9JQx| zQpnSLqDXMZiv%~E=8SNw9mvnzLGhA$40UcK)2#}T;`(TjS)OtJKyRTI`2p{YWbZsH zLu@mQBs=H|4C1g$;3DauSB162GP(Qi^4lDJ?-4K@)mn12Gd zIE5?`wk6*eg4be!?6f-a@u=0%c=K(GYL;Zq`-U zS}?%*(lMSlVEtux*)g&mB~5(~T?CMaH)gX=+`C`CxT;YrI8_5IUNrUZH0=GSnSlll zVVV@L1CH>0WT*-5ZFt{SkKeJz-*Db0xUS&U@wPmhZMqy75Rb9zT=%SH@}LU`jJL6` zA(AoPoEN>v1lNtXjg+L!ldi^Fb@pD;osdX3RMK5ey6LuKBshoQ?sc{jPWUX+oxmo} zaQZ81_ba5up z_PAT6nW-zbsF^~K^P&YCgX<22%hfo61#|<7M4IdJkL0CN=l}i;nW728(xm#@Z-&a& za|<6UGb+uYQa5`p)CFgXXG-c@3^Q0GI9TAHq9^n7C0gg4B+xdXTO;EiB!Ahnp$Y(g zJXqG^+3ts0%2um8SgGh76#ADlaAn=W2dUvk>x1I#MJza6$_}nw5Pabk)f#r}-n{!2 zjU!j%hjfeob(cTPZ=!0As7$l!D|=L3n=kd=D#C5qH2bHciWu=xeWvj=OZ6*_^!I0dfh>qa80Bx(-ga`RR#rob5 z{yiiY;%^p$pv>tu`rik(wu=SrB#}qTwrf~AG%PwgD;^Ebh+b`_-dQ4~ofkQg@=i&V z$4(pHaaM{~Nr9v#C2rDLH(MW`<^$0X2K)VX@QI%eiYZAH!%*{{tqIcTSX#VPq&x30 zRek{lViqjH7QQ}E*3Mmw1rh}{tXEs%ox#Dni&`OIn2C3?^wKLr#U~41rIb+FDz_>U z9XSNihF;YwZi_{|d>tuYHG%ml5_9wr?~I~~Ex1iIRUpur@8oJJOvb`0HFg%Iw5zXE zn63f3d1R7g6z`fcH1Hn6PRFvxte)Cw;8uo#UFn^xp?R7)8#}BBvz{HA@E%q_J4Kf{ zUYDsfFqM>JGKn)4F{O8acij`u(PFnSMa5P zZzqH8VYiy9s}D{Vtg>OhEIaZ)7JqRy<}xHji6j>sCi+H5<{L7&G{nk+IC`>%_(qV2 zW1u)mch*jVkkofXK_nwj=|ib4`cNtZw{D`9+8mKO^=fsEPTgZzY~qR$Qb*39L6;_A z5ppXDm2Co+XWgEt16nh*71pk2*GCy zmlL+Lj0BqaTh%ZjWU04|S;`@(k;Q7y3l>{O1H z+HQqzVlKa5)6Lk{={67Tb8&CzO~G~Yx}1I+B4bh}$(uy-^73(k`Ee;9FU8w&*?N|1 zp<+SS7TFmLMZki#)_zkET7n#U0PkdyIF0%>|E6T9Q2k{Jg&!w)-iJ}8)pu;X)?7ga z+{qap3Ka#{t&v#>>0;p6w$o+mm1!18c5i(~W|omHCH|J+y7&~FHg+xDcT#X&@MS#% zPh2bK{YrMfF><57-8;yW2StVdQ@6giA`em8={Dx+)B*>1N+>XL2}8XX0DCR%yaa5g z%T%9Q+9=Ph7Quf9)=r6&!MoMyNp!=9f-QP*y6qNv;%$-1Dz+fARBRQQlL#llmm5Bo_Tc*5M2~Mc+6##k2_zngfkSiX$CEtpCnxFgG{)ox z!3w5F*wdB(uA(ZoM)J+{FtBy39q34NT96qNsuYIXcaLhQU5zWCS!>YX+x}6zt8oeZ z?jShkjHzrfGw06JMIO{>)kYM^0Z~aN8Je(Kt>b+3NLHtN)s>TkSDNXpdG~2p?b~e6I%g z8EGvI7jV`l#+~jZ@0r98MkwAmuBEsH$MsCAFOGd_;tN7cr7$N~0_mG&h+Lcixo1I_ zrW8~!1-Yc4hOmt8cwwg{3fpeAWsKRD`?W&&@!-7GLSOT?9;BX$)RR@qc9E9(P&eMh z7+di^NCMj_!2VF5nA~>|ic4~wco%!mNeThJ2?=A zq<7pdQ{Ka>)J(6}jXFJ}J%IJvVHxsL7fR=(D%o?ilD&Q^PWn2;*Ybw4?L66ZzRAYE zk&Te-3!&>1E;?SSoExgxq<%712EumklrgjHG_&BjFN%xiQyBy$ZrM?4V@Ih`*8zl^ zV!rLJnH8IYU6s}9FNi8+XFJ3Nhw#5vdEid9+(PlZdkjuE+Yr9d_xO1N~Js0 zSyUR<<3b=><~nhf%@%hZqT$-1hL9vu7aK0umr~la14|ncFYR5pQe^IdjoYC%%9p}w zwwDf<%TOt2uvt!qgL}#%!(+qcrc_z2TG6%@TyQ23E*H&=FG`TToyPtg8oZ;#U0J2} zFgMd$qHbV6nw{Aa;beyz%)F1(d>|SZFO<9C2bX|1(r!{aWb)+Fjo+zERx)D3==}~d ztC#=%^O<2F$@Yv6xin*w6~QX9dqjHA2v^UDV|qp)tfiJAi=Wi@R>ka=8llB|V9+3p z7sg=PtkB!k6vT?o_qr_WfEWS-=SMs;)UnDeEMi+iHJYD^8@zM0maInhm5#2>RvV-ka>LHQqqk;4NvB+rdF*@1$+8oy!Vj)NiZqVu(u?(l1mSJ%Ka-fx5L!t>3fM+D#nCITCVrbmU{jx6l#)q%}i%vNzkw^#a{3h+@%p z`QL(fY3+VZv$K9riK}rF5%qhna5chfZJ^6huq`sAb`om6duAe?i+MpzS@C}Qbk@aSQG##y5)QCVFiwtC!>`Q9G zNbBPIZd&?Yx}u*^qT>@_jm{j`8mAGSZ{BD(hx5a(#zycV?NS%Y`fJ|41sE%q>EwD# z!9uX>b%R+>Olo!81k5{OgG?soENWm_JZfKkEAtu~GaC8PcoI9y`z#5>z~@9GirHta z=tM6v^J>{Pswce2dA$^O9V<$TyH1LWWSI#(mk=qItqc$>1*94>`iYNtvLs$6V|uD~ zHD1absC*|=Fdjm_&fXu+84tw_RlA7hu&nM1KOizHhwh;Y#;zR9u0xvKxBEheNKyD$ za;%i8J*u8$aYN~-UMKS&e;*KYKJFVw8u2`Rz`wW zV#FcC%fU{StGgS>q8bQ|lznP73MgQSjHAuEleS`kM4MK-Pz^Gx*~;=3oZfdG=_WR7M#&obJ~a(;9i{Ny-2T%_2Op{)o<#3bB)EUWZfErUkYU?DnL zWHJzuR#;^Ae@Fqo398XKuG!9xF*)YG(vD!<6ZDu>J zXya_;w6!ZQbv0J9iZj$qBRa@+`!K?;C+mM|x8vN>e>Xp#RT{>fYREWv&NRMz9w#Q! z>3LRu-t)A`&s&~$`T2tpz0B444_V6H+0N65R=Mt!Jz_=_e)otDEOGgNPN4ZXU|MGa zGi|Nwt_NjGXuOA~5xsEbwMMkOZV4l{%!rQjjy77J75Vt~m-y`IpeDH#xDJsuEJZQp zhRSxh)duu~ZqMwdj2zLaoJ^k>>vO~R0rDKP9&)iK_)X|F>?5B?3Cxch(K##fjOfKH zvW;lP%CCB|DIoGgk4=8Q=h-P~zUA2}KLMKOU1>z;dY98O?^Q;0o_8+Ji@Y<9mPY~b z=Cio+ZI0WlOzmb4lSR2(pIgFwvC-w}zmQ`u(z*02CQj7H*f`6S_8K>fX04IopVg+_mhbRv(IPh2)yZvi z>IV}bw0U?p$??DLi!;hj6++6^`vf|}i={H*@8JRaiG0g=H$8FzTI)o!@(*a1Z$g-2 z0o&@B9jy61o2{3#MS$OnCJcK?ta(w)_}fhH1>Ar+@k8&a{Eg>t41XsWf6Mh<21OXE z%*%Cd_}6IlI{9-%d&s3zr0q?7`Mjy{&bE`x8U48ACXFH$Qe<-%R-I5On%=sKW(TD5Ck8ZpbQ zm>Sqvcm#hRP$Ep}q){9v{rjF#!rOL{Lq?96A zmYSkUEw`lPxNi6Bac7DQvQ6cRERGEB({ht#DY@KuXFpe@+|35pmxC)@X~Y5!ocO$vMow@_g1ps;X#IUTx-Y;9%#w1;1|BHq&x`|aU1 zM0Be`?oXhVQ^e?2(HW}f6mw&j8Z4D$sXVKa#~J^f>ILa2Q+JA;t|Q_l#V&Y)OyS$r zh!Ys(SLwpVGCVZZGJFw@I9nRADNwg5FmJQ^`MH!oP^~s|m#q>lgsPSD3&prp2WwK1 zTvB}3Du0K13U(T-+o92Kl5Bn9IA4BB*P+t?g9u&~>vh+;{I@f?AJAR&)EqjA9-8#ZY%~3>kwp6?z4t^hHHvOpy+$vI@pGdjH|OWh$Y?20M6*@u1tc9l|I92c zIFF*FJ(2u)d0yuERru19ax@7oM)F|()Zg`rEywCg)@{dx&zD)7k~`IFf^gD_jn?El zs5hq=9ofa%zKbDo|1gr8t+QZ#TKEaToR9*mz;c3_30n?;++#7FPW5|HJIw2nISI|E zg{94UzFMVf2I+Ra${+wsiFU~}mrT6fN_?7`_>mroo6Ghi5TC>fgdX+mAh8%Epo)t$ zQ%h1!bJ;&r5~^gvF+CDKFPeX8`?u+Aww!2l^CJHWhi?YEdAUYn8ojo~vNS(EUN^y| zp@OLB>rG-1gS0lQGm)YhH!`X>sZKg4a;|Jzku~8UPRUmzC3Qy5td8KzM9Ljcx$CWR zuQJPhicF>nvQxb~SfeuQ58}wdo5`vwU(0UdOhVMd;bwu?ViMm*(u7l`3FAba%EVU$7mbBf zBO%j)tW^$N^yy;qSTD-%(O)xFBv=eQxh|9>7R;h{W4H0? z0!X2s|C2UrGXaT+(;*_xeg>n3J8+B%>WY-hd$1@xAg
K&!<&af0{vo_gyiqC=qid=F_e(7J!+4o6x}UP7QIi#i+t z1v07Jjl4y_Bs0Z2n!0{4s_x>8w`GQVswzt@jvGqJ8dU}2pNQ6`5LcrrU;I@nqFbK$ z5JlrmSFr$Z;q3R`K0{#^hVvkkF6N8y+ag4gVi7+KlEp|OSUOvqa zM~k;62(^#RX+0mmS`mMwQT{O#Q<&)`)79Y(wYV8xOT3RZcqaxnW0;rtS1j5}uubVV zN8lT5;W5{M&F~3`J%+iB8TxcK(PkTquCb_wGQgC4;qrCv7M*Lf=sZC1%xrEK-3Pzp z5VCiBr3Y5U?@;DsHdj2EAsoou8qg6NV3_GDb52Uds>PK5PM>dqTWd1!HGmg+E^j> zWP8_AEvEm9;12*Jm_OGFdrr2E+KZ~RbceDWO*{{E$Ee~TFl581EE%p;45QA=Vq!E0 zp|SX!l{KCkr#eNI6IUZ#S#-W);289>L}R^?;$Qs^w>xDcuN4UwXo__=%yg7#Rg9rY zwD1zK!!#l4bVJ3MzQX*|4HSch3%gIJDfHpU`g-z0$6hd<{%nAvbh5Da>^{Y`-k@yklp3mJng?ay8r(*hpVii( zgo^u9tdNz}P;qCtV9u%;dWPXMMs1ny9xcx72K#qU?XFZ?rn!q5Uto4(ZRH<8CJu($ z;Rq;cWEG3l;ObTPNe3Gz9xc4nDnw zZ_d?f=Ood>NGd|t5t_}N#buvqYn9PH=~doai55svJT^@D<6H|x(jd60Zu|fxs7Kig zYjavFvc?NHb9Pjz0pD#^@y(cos2ndC&o_4O4yj@gxb%ws3^}&R7X4#$tayH$aP52z z#i3Ec^Yd-0OoctMr;eYmDv2Y;2~98T?td&nvJq(qYr(K$V#EwK!Qb>yifg5!yRnC( zxD-X`yIE=Ir?eRQIa2Pa&70X8zaiCWy4Gt8(oa}imoukb^c6OFFT>8wx0OpbAvYZOG+jDvGK_aVA|Vyd+w4H_!yt+js!o%p$-Y|z-x z4bq^Mxf-of?2cwGx)afTmGqH8Qqj>E=KeXR3zKq()jLPSkN3b2Lc79W9AOPInx_2iQW%Vrq=@F1b%va@IqlE|8LwN60=SB}jyh<2-!@r6*>>j_x!f&mDuEh-#XCU9p_u=pD zD%<+rxw65JZ<)c5 zjWR_4t(1sKmMnUxMIR1OMsK6@#t#!t$%K#s zhcJ>Q&QyfxZqNT&A%pf`R+#UTXRR`x70Y?*l*WOj#_$j3DwbC4g^d?)b>i$wHxFnd zEGwwqg!^R3axfI~+X>~jl^aNJ)5+3`Nc2&QU7=^}ajU@JmiY3oVIiZ7V($+}qjNgZJPYlKnW8X!w<73d7 zN^t)r*23zC#hG%3@RHT~d(w$_y{gHn51i>GgiN!&S{xXSm9}t@^!Z*-;r`vDF4T~> z`8yf-O}5F2(}hjGpMOYr@=xVBL2y?XL%JK}t{d+1!PG7sa>fszGY$}Y0GDZah=Hs9ycn{2tZDZhS+VXdr6d_;Yea$?p%qOLYW^ zxk;6Yl-*n{Rdqxy*0NHE7l`pag@gw!6^A+tn;y97BjLl)s~vi&Q-ST@7(ZNRhv|^s z8UD;YCb^ZQ?VZ@nkrNtoxV3Qb=qQthJCz!a5s#QuSsIT-I~SuWQ{1JpG9uHDAkugN z!Ae>gLi9xpwl%p8Z6maO*t|_$E5GDMoc=%j5|Hv{ifdu{SX65GDWmF?w63gFRRPYq z0m7z-y1@3d3)MpjS7=lL_mFv+PkA#YhUUz&X2(u~>XBFN-)N&TQnx$_pI?T**-=P* zR9{-Op)fu;o_<1GO&k_Xn^u}aY>naPjjBudL3eL9L2T#6zn};vCoJW`BcBmbjQNnw z3x70PI~0`d#9p=7mRL#FThJ-!a=XgfF73h#@cGV;a;C_2^`kf__jRw>ArxFLiCe&o zjTB*KLt*$&0nKhU1tFH)yB{fJIg51-1bv~Weik@wrsT85 zYBX4KMN+r0efc&G0s%H#_qm}Is#?}V`9+TaSd4XJ>sx!&`rL34J*3%c;jXMShs&4< zb$;%sI9*>D`g3!|(hkD1pKA}<){avz;OQDF59Pg^@HHnN+neqGVFl;aVn-}hGB3nW zY@4V+5Hr^_<@m|)*JmBFb=7GrjIE8E3wBS2R2T$77p+4UB&0s~6GEQ22pgYNvrj~; zxldV>z3}8oorOxg^=g9g;&p-R`Dn!&GwK; zFL((pp7&EUo-Y`lcNqEEK>WERZltDd8GRKiy_*-hL1qIpjo}5xfp_2LNGV;t&-C5O z=zp#)@qfm(Nc2ojl}5E~`sQzJ{yOZ{5`TbSw#g1}^9_ak*+*VkgYADd*!*XM^M5u} z{m%x)zZ>A+|6`B}Z{7dZ;z!SbNl31oAH+nhM(gT-^KHqib-9W0HF3? zO2kj*^?7PFikmC?v=Mq0`|1ycz)qMVEmkJs<2Nng&AHUQX&fH6=9N6 zO0}5ljv$1nIt5!}9>!k*nM&v5q6T>qe;-2cCoZAckY_+{3@-cR^IWaH4ecsuD@YWj zt|TupU2m%v{lQ71?vSgiHh;9O1*~wcxY*rRVa>DfC)&yF#1Q0=MFyAn|fD!T7wcXK5xfo2IB zF|xSLb=4$!N1VoO-K~>GT38&2yfn%=3IEiAOic9=HvJK-3Z6wPEERuff#s+^1k3e9 zO&9wj6&Yw11`^rcsc<&92@XRVAcYo0p&_Z^`QoHN^tmM7t|558aIMVP$*@Cix7~%V zFTBSthvZC3V|Xb7q&YmASUTi4QuXJjAul1+NlU z_ao2+iG8WW>2*RZc!@s-3w=sz)~sjc@fWkbOX4bo4arHiZY<0zS*3S{>d;e{ir1=u zz)8|$Idac%>3GOpvpzsRj=|K=MqbVj~JnSn)ELc9j1zfUl1)y;@bUljDPT@=IH}i>6qjeJ$4a zhRSuoWuoRaTFk|o4}3k-$QI!BlSa8f=>KPHGFbd)pxz6Oso}51Rq&BT`=A)`7OASI zYVk2L1hpmwXhw-nm_IIRi}3GF$a-2Aie9+Cc#m|a2!HV^)A*D95kqOudG3bN-t+KR zjN$r;nm%mZs0raKUDJ}UG>to7Mnh>otI@c0LzVdC922>FOqD3=@B_Eb1 zvs9C%kt{j0G-!eF-K*AZ9HG9jo!5AZ)#CSlkkY^seq_9@bJ19JyI9-}e$oN1xM&#r zF3}5~uiaWp!?p!qW^ig`aIbN?O1`Y~FM_AUsAb~(fT*Q$!N3$#za~P$>posHDN!fu zxKGuZ^%C}>Sf?@ux+Hp66>h)wc1vU0dP#f>RiQ-L-Km=3_*WhM&N6QG!TL>(LhG$L zSk|J2jhU;m%}KMQYyvV)KutR(7yjxI8`2p$9oA{a?l?+c^F;$>h5Iykjq)$Pet73!&hn;fm=)rKTKTVo;U*#?K6|n+TyrR0i}37?7vs6ZTXp?> zSddkH-@qWs-4yOEjA6EBC-}^8rMSQk{->?=H+m=DR;9XKf9vbLn-(9Q#~r%N+XjSJ z>DJ!1C=0(pqi?NN8rzUjhQV*A+&Re^x`itOUnaf<#<`5&;xc$={LC(`ny|LC9cNWg z>K)vOjg`azm<=Y!b4hry_=FR*rrS6Q6q>c5s9>cCe<(J?rKWi}gJ<)1zWOUcU{FE4 zTGh&6FaJPJTtEhGnc&ZT3U_371;s8a1^(dd2DHaC_o*Z`s{>AK>#OrZrjC=7ikgX3 z?1dZGd|q0!bMhkm!b_qLx@;OKE|vv{I-j}gygs|9Q1Grw8|ox459}>=EE@jybY652 z(E~qn=W?Da!3sZ?3@HJ#XA@dIQ|vS1_jTIKbwMec;of zDOA)v(XFEJwHsD@c9@WVeph#X}N0E`Epj5tgKQHw)i&^a%2b#tyVhH;_60siU@^>O($av zFA?80v7~3Ukb6`y6uToT!P|&eq4d}t;e@5Gemd3=6H|nLRY?|Nm|H57@;4oGA1S7Z ze=0DUY0@uwIlB@~5}ca&kgZXMQ6;jF`J-Mlmn+NrN|0x0tdn4FhikcB^xb7CL|M$| zx;|mShVvfo_;|x#2}`^Yjnb_Ne~LYvPiSMh5ks+WWYig%mrNF&d{GhT+Tw3-q16v@QgcQ!M^G=5=D*5MykqcCN&%3Yg)qj%d4OUJi;_ zY>ZTuh&j|3>LuLPQ{+2vUeXjRQMYwZO|hc6B{0AvS<;XLD8y8$7g~{E!Sa!8l}NpQ zv`g=%kazc>Q{uw3m4idHwh0PzFRP>CO=bFah1|1&2hO?Bh?SqH!PZz+L25Er#-A-8 zv1(tnTItZfZ}FkXwuv=sDt3`Oxlw9muGacU+J^VR~ z{%S-8s-!p#n+|0uiB^kE;n1n>P&H8;;<4IR-pNy%vOG9M_XGY6+sYGjua=--nA+l= z9&0PF-QpJPq>RUUs5f~a-js?b&~C1dkt&koN!ISN{ZQ@n-L~?CU@LRTqg`;EuGQjD zCWB2;Y-Gq*SjTccBR7bl<;h{G&GfQ^!GRj-YCCzm>K7Ru{vC!9kkY@klY1d(rf1v9 zUHQIaCvOx}iY&n#t|{iLJIurMr&_Flu+MmhKUY&q?yFEdhrcC*Q@aSek~SXsGD5-! zb8XF2_H@+T<;zZ!j~5pMtsQJHuiN$*GL;x9tA^pPfMH0Xy@Vn9HA8!ivdoXxeHwkm zP!6QRUz~mn=TCARY6LJX#$v3$gg{0CuL1Qo;96Sfg zo-24C#dBJE(yQE)ca+?mrGgT9St@RaN<>C;4$F|gK-h&a(NeMQCrrrQG}$(x6OS;Gd5S?utE?6)eKJ5wiIf0$ z_By52U6{R*Xo5Up7~+R$$0ST5l=@h&_Y+-_0hE*DYqB(jztg)_kb94s3=eJgZ5QjR zb+&5oB4jfVxp^o)-GDHm(?ywFe1M~p)iBMiK&xwr-*=kiiEZoa9CPJlVHEd2v;h|jgGubh~m|}IKVwUuAp8GH6+~&Q%+DUk_4?ZKA5Ljdv&`h%E{3`AcM@e8tWD+BmE@jPe}WR33nP&h8O*IE z!%1&mNnX7sx6Sak?Hn(|-wx)QpL=a}N{_E3udC2kNl&aK?-FKBWC}&Ex01T}Qft0A zHA-@3iq$n$m9G~6#)N4;h0@LHB~cRRCGn5(!|%hUzI#t@ zxHyJQJ+&SHX;}`|X~v^RO$L|H|3lonfMr#5edFxmsB#O)K|BMVP*G7t@eC@6CUzSN zqM}%8h-GS!W-2I>BBGY%m|AIc&@9ukKr2Nt#XO;@QJUhR972&}`>mOMA3%Mc z_j|wh{r|bH&EEISnl}@G1 z5rv2@QB!-Jf`o2$7^oN`ni*sfw9;>2j}>cESoyc;uPj|*F??kihDktk`d*Ex{BvZA z;i?|k?HUv!A2ZOPHEvLY2#w+VbFZ)|4yyCSd0aPM?=lC z*)y_}unxp6Z(4r#;wKGS%eJ#kWGBUVNrom03&D_Ii8xSXC|ozH6t47tFt{<#8r%S_ zYKjT_8qh3zDtX>UWO394iY?g(%JBlD_^;DOdh_8SzC*04D1Hwhn3g?gNr=Sw8m!Vp zu0AabWq62rW?6WN=T(uX%_+juhvzrc+Ot*-DMD(jv9S&KJvVK2`y+_r~R{RrpZM2$G-{!&VduUV1f6w;Nn$vx?hvx5L>5?w$T@pXw zp$+t<Ca)>NbBdvKGNpx=3EVO%cz^^(=h3i9s zs_ZfMB?ALJwWe*msES|zgDMj_V{RhM1OQ(AT2#F84qxP{`MMHP6)7avo&~NalCyDL9@dz)iXCJTm5Di6>-=P#L zhDk2|mZnZC_DV5>8Ct&Mw)8e|WL5>cWnDpwiBFDB=exYLzOAOvYNu)N_R@J!{FBy5 z#@D2ev5k2HZ>?4O{kbInO3{{j1?l0?^;`P=V7H}55$$DGb;E+R!jqX*%cgT(0iTusb;3Q}eufU2iA){B}O%Tey%fvkpP`xvN-7~GOZs-O`m#NW{&U>Y)9kJGsDxG={+)>33`H$(To+)%K%EABFDpJqDg(e zxv}QcpKzDQ-&Z!Kvr|5_&hON}@%GL%)XMZ(G+Ht3pZq@>YlWJTCULBvtN#iwiCz)& z0+wa9h?wN?#|re#LxB)hkr=prQ!ONZ0Y+1ZxL3fM^f{v{VF1Uy2c*hYTqTZBmmRYaUo;SgDtB0Y%tr4`Wjrz7m6Qlcw_b zkd$$6Qko|X4;x|$$2hD|Dzukl*^ID+G;hQx;eeJ2Vk4|7A)(?01fG~-t-=zLAE4X6 zuw!>PUZ^Lewn1Vj8X*GtAQ{LD@%zuPkYe#CWJX`ejJZ?MlHmRDA*h@3`vC5j$^BX& z{wey0hqut4pl0-13(cQ}{><}RXnuXde}!y%rPf3IS|vj8gGv$)$1qVqFS}jJu|p*E z>xB&Y$r@DSZWO6*+@q!D8M7VS<9oV_qbd;n7VZrzJqg*1=rd_chr1T^M?h&Twsq(o zlG+%Fy7}!vKN(8}wwCkREwyRsXJr&s*Yfq*$GCX)YUmp!T{nDTU>=IQ?F-AiEvF+9 z37YKZE|6V&$QevMo)(L*P$>UbiHf1OYN-qL7vNQ57K}K>Rr~;FMJ?Q+N=#yWTq~{V z!0XT_1|Vg+9rXaeU-*1PZ)9$Y`*PAu5K}k7lp?cy5nNI2 zmv-gYwNj22F{hK241VH_DT%pRVR$lvpRBQXAeN%x->KmjiyVZ{xXn&Sy^xhw-VzvO zuaFz9W%Qnu7K64tFl}gDZWfKBlyj4~q6rsfjk3^m6t2!hdvT5iG9w&7rnz%*%Q^?M zEgy;kxmok@-zX*^_@F?nfWpUI1Wf7p;-3ackia#PKmo!xOblX$LP~pDM1LQ(fQBS0 zjjW0nQo@tThH_&zi)Sz@fO!-e5u_mQ$Tb2;th+3+ZIIXsNpgokQjUR^>e0(k%o%Jp ziYG6@F#DPeBRUbTtZOn(1YB=dhsWX42#82DhR!NwI;tw8?Bd?K7*n@?1YJ7s1()GLbI^a2FY38 ze)Q&a08mz$Q6lQ6m~Aq-DWDvO;0(73SLjwp;52C$ZW&>Z#fw;PbZ@PXWVdWi% z(C1Fg>$9|Axq~CWAE*r)L=u9VNoyZYZ$8wArQ!;V09{=GeLw-0RR4E@9H}dr7I7H~ zZIU%$_GlFMl2bDd3+Q{yH#=y4p5zEKu-CO))?@Hg*fs%%SJFWn&?uS&7r8RZNW%&Q z3qvn(zm8guE>clW{l=#CiBdWGE7dYlF3@>*M+5H{N82ab%kjvPj#?Yp*BeC}>d7$+ zWY-VAl0tMDXP-sarmwvUNAH~ad}e=I>S~vol7jm25+SBo1fqS&Hz?I`V_0oT0CLH{ zld*gX8Wkau%TZpFq2#;byYHoSeSZPB$larJWAGNC6wN+)2+ejzUKANHFY>cA0=QU_ zq!4^$OjZasiM0v=mk2&GdyAcV`LiPYE`PC;)*`*YLH6v_N`MM}33C-vUO9(5;foHe zkZ77?AW@Q2KqOIS6rSf%wS>uBSZ0^nW$A^~dMQEJsjole1BjecM$z$NjcKVV)is$` z9w2Kk4I5<{($$JF6>dxSV`MPiYa*>-J`!@`u%qnJCW+rPxt&V}-ZpfS+tdV}g{0*t zlyd7#X`%=mT;f)^gvYz>ySF?y9TJ4$aILd8u!S4EY(hEqiH3GEjAAI!l$8nyqv)&g z#LikyBuHN&!=mA1fB1uPgUQ3N;C85#=}OokYRvCfLDbYuoa_X}Wi z{c^KLWm6sdLKE{Nvcx@s-Dr%)l?f^$iJq6Cgw z8Zk|sSS=o(-=((5F-+;jCwA4^G%0|@QVcr(@g0^9;EJI8B0wf-C=#pm>=zAjt#c)1c->ML7XJN(r0L{nN* zv*V_jTtPkE4~R!sBx1cGIs=t55MzxTmrS17P4h^nmonPY3u)73OPP+Im%4GRWx;$( zsW=Cjz|#7`?kJI7^FKk2Ddx@t^C@>kI11Bz${o=YPqeE}s=FRC;H9tbf@ARZwla@c zCvV)}PqHL=okYI5Y9c1%$5$9sOnTy1a>@PBvI3+RM9L;jA#|d)zHPP=j4dat>HlRIH2A+|T3k8LGJt#We}nC|u9tdI?wdPVeRr9K>vxs0=eWbeLw}o5~%O`5S#SzcAtz z-M`yXC+S(C{4h`hO28c1$G<;v+Xl~ZKiI}R3;Ghs3pBCh)8`UISB$Pe+kN@v}Rx{&4t$a_dTi$Wjavl zO)WevNHw*JHhqqz({hbUBm8HXXf1#L>pklRJj*3NiaB>Oqq-g!k!w|zxe z<&{}gZ*CJ6TSpn=^?2k$F<;qFYdLiV+#SZ&YUPRLMS-veZ4ldh2z?lKzmYQ)VThiu zV?|{+zBz_~%5h|bU4bvTT~A{i!UQn}8!#bY!sl|1nTI_qS``GRbGQDQzaGXUfjg`F zPDov74p>rkcaP;RyD@r{zCIgMWR`#h^2u;yG(Rk~5 zNId?HY}c_6DMp&K9w+kbB&-k71CUa29|nw7wH1RU3Sbs19>h{#VQFZ_qSm9Bk(7yi zi3Am+c!O_w!vUCvlC83_W&CqU%q-&r2WZ|M$v5ijJh9Yeei2c2J=>Yy_zZQBVTkGi z*Wc#9H)gNW`r>@gfm%H+y#yt0jvjH`if72zF5-yePCO#!v}^gQoT)%4q>pY!@ikEd^2l;=UmvS zRX7W$t9uD%DrmK+cavYE7D(sQ@gpRioO&HY zXYt2rh>Jd*7=IEbT9{CkXynGM<%xqa?Ac9WwS;I9i z%MLkaNjzFKW(XxKK6{;g(;kOPK)z-78Zb4FnA(ZJQ!>TG3IIrvVB#4&4!DT6XLNrz0y7KH?J}m7qwwcpA!D$V_I7+i7$UlYttPHLZFdZ;n4T;obcZE zsej_djcjMM=DvZcgm&#A+D$KD_*_NL97jY2G}wR;7aOBcYvBz>XybwJ=@FQ2_Y31I zMra-IbN2`>s_SBaVfP4xFzZf2?2-3r`DbBTAO(63xr-d)M~R6RkmpbG4l!D5l#Pke zdNih5vHH$gwa9FH?46U-AJwgo(Vk*KVZ1s9(K705Ia2$^rz1vMmNmSp-HVqF=HDBs zt<^$-$)X{}&cm%#s)A;pOy0AS_yMEVj);IF^k!jhTs|ed#;65?&;wsPcr~M4jcAvt zze-iBJ)Yv5yq**meS*i0(psh)sJ(|=z|3-3i%6K7TUI8FEac3foP&G%;rB8PFMy#m zc!`e76K`MxDl!IIpK1t4cHiPu*Vx$DQKB81OMe?l(%FGcDTX5sF7j3{u5dYudfhsV!0N*p%GgT zp@f)ml=po?3urb0)rDNZaUQUwv!5cT2vo$ziZ@Tz@Q7*lYOzx!1-A*pLt$}BEH@$e zFbk?9ly2jkaSq7J~u>ZF&F+@d;$f= ziDeis!)Nc*Y`rki3lUUF`Qt02*Zg3SM@?~+ZU3t3xIMvqGW4z?mMZvhNLOI!x6!UctM;N=-Plr)04?@Mkq9zVk)Rix-a7 z{5ti4AQdTFP*^9$G53GL(-82;iI9-$RqQ)m*@C~z()c$q?v zIKvcgUrjx}mKlEnE}XXVOb{ulI#HJ7D4BupTKg}+A4N)LG z3ncu+@skpZR1lN~{gOfPsA={i5#hU%*QgiUTX{~}s#SasyCV?%ZHY#;w6%`d3l%_+ z*ni0-j}mpwk~_0k8l~+P>|w(YK)uZV(P4c2c&%BOl&%lZ>SCv0LvKS=0Z=c#c^~4m z&I!k*+z}@Z@*U$fqbsB;qsEEC^$bOgZD+3sri_QI-C|QI-D9rPUB_zfeeVM>FqY>IEHZ6-nE}KcFH%ep$PShh8L^ zYT3Ncwifq2+%*YB(&`lXXuqmOP%V9H71>_EXHyaPIz@)+MWU&e^IzN65>>#@qlm|L z=-!r>tGwHAtqBPrkP6MNRp?4S?>iZVqUsb{C=2njCmfvkDjZ0`cD~EIJ*fq;MO)SV z`LERd{HN-^yhz=DIl*(E)S4Rx9YIH8N0uV~KEhW$rG>Duhk4g2T1Ufq*sPwlO3!lM ztFlt8Spj<1?%gV@2JS;I^~GU@aQx>g>s4#ka6RjWUROJ7)}?P$DWj~*&wEtn!sd2q zzTzvy3_9Y}Z+O3{+CVnz5Z^ydYr!{6)eNpfke?YAkoJt|bBKR7RqNExpr?cidpyCS zvt24WWEH*`c-RRm!)nr6hzj_`BX$Ac9@`yVl0T#<)*a$WPirIORH~O=KTUS%^>;tS z7fnO`U5cpwj;;(@RP`)Tb&&r#P3!D>6z!H$dWro9d6%a(-=^;&#ZuLJ`9oG^ETXF7 zu`>;SWxCeP(Ab)F>L9=JG$xVD-{)Gg_JSdDGsf<@@BV}7gYa!U;~A|b{}OZ2ENl-i zOGanp@eOY|8%GH0sJsSJkf3z?7alW-Rao_zXz&KESnSwG9@8-O!+QgymoHBdCKpY*7fkUj@Q3XjiomUVDwm zY{3uD)CM!dXA0{t`v|KqkA6;DZsy)lg9u1R{l#7-$db1d+dexiY!BIGBgj^}6z^4E z)fQws_;VfAC35XnK~`;27{}*XFy`-3f{ge?A#3`jMUb;#OTO5^T_k;BLFk*$*FUfI zZ|WnHbW^Nn%|Gx3zx}+{)o=p+wN69U7raxdHn8bpnWPs;PX*`LW- zdioh;;1hw0o#JnV3OW&=?&gbEYMpr53eA}Zzo112yubA!B_>)+_|z#8%H5V|o?0s3 zHCOX89Q@RRdj4m%Q7b_IXSO{Ae>-cjOZ@bFttWqco;H9V&(iAgk@K`w0nN~8Z29;? z@`1kA%*QU<%3dTs-g`)iiPjQ6bxK(Im`{8l#MV*I-&q^AnGXaF4^Y(3S`2(FBtBlU z@bMDy@n-E(`z0SATPpi>hizpGh>v$3QevXDgioCkRz4OI9|)q&e0*FRwE_%yrjCV3 zirQI=UHXWMb?37dp}i`FEYb#Ao|Bx@;OS*ja9nyzI9Y=e)om3%(Qa5>CMXEgjnOBK?l>v6XXZD2r; zw;odLCahgA_U^Wa6bq8p9l+`+K~`zBmUa0zW&eIyy}LiK)cedZRVuAk=DqOz7i-g;J_H!15Ye(DuSYp|-sH5XQ(=ST9>YrqZIcIKONv{+ub zN*m6u>WJ2(0qcOqjfCiF%D3hFm*uL;18-O$U)*5f%NBCZDuVQNwE|vx!vZ**MZBsI z<)AU^RSvez@1rzfsN|OXt?Q}06i`c|%bB~shOgzx+MON9+W*etrdPFAh7;>7WwJP# zKnI$PHPi*4lcT^}TEWk+s}24b>%3Y4J%{F~)7kz3phhbdP~mG9pn0!bFgfv+uWQfI zzqZ^&f=}XRvKf*6;S&D%I*`3^t)+D6YnIaZP^&h0z;XqC5|Nco(aURVgFnW8%27bA ztU%wtS{LY`j%gNx3LR6R708KSTo1DG@8M*ROIKBNUSlc!^P1XK=*p2?o>{8E7p=B{ z_pAf{7|YcuI4oR4X9_{epdpTW-xQ@Y9m^8nTFY|PWk?CYfm}^MuKVUBsV4tutwh$494B^5g}e$WX|RL^R(9aC-bzE zn#Z7-m|CQbCils>GGr$I_&u$Iz1!0@yrkH{&ps$we>gf#J+NP%<`M7X4Z%;m^nI;2 zyD^D-exUjDqWAF$?%wD55ASPXEHynJiN%a9p2vUMrbV&d`n}i6N9bRW#0+pc*x zeDZk&=kFWo)v`FVh@alBb$5ORIuLKjAB}nL$6Awy6?3dm<7Gy3Ra~F#AAtk#tto(HJi!{cW4Re)j)Rqc;3<1D207 zEKmNHr^c2igXPH{Pwf=%_hy@=aNF|qv*qc+Y~Ft-z8d#P;*)l2?OS=xApMc?n@@vK zuZQH35Pzlc_jYPQUY1w8vZ*-bgvEM03Awp#@PwJPdlUHYyR>K8E}jpI%brUW+YI9`JwXX8sZga@_Z&a=87MiP zSeue3Um{8(iISGn{tJ{8Bt4Xpo#PcH&%_=WXx!E}}SZ>fk(R8;gItEh;Bx74ZdgC$sm)pCZSVst`n zDt>)IQsIWG^CzqNa6Up2k0{X2@X7+M^~3({WQKx zTOQc}TZi+MgIZ5l5h=f6%PAF?BKb!LwE(Xzk0a#;*A=DoCUvd@dZ5*h^Jfoe|7vhM zTrd1fxGMbo5Od+_Lsa3Qk#!3<9Z7{}a$}L!y~Xko5<`th$3r~PVK-W);6#{M{&tbp z&UGPtC>AfRC>767;-`zW5LdUs=2{#FbN549p!e1RdM)@&INmhN0Y38e0X*iA_Ew7) zFkdiOBfRh+YxrQOUc*~MRSoZ=391@4j8iqdA7QRxQ-rEvVE+ed2|8M{Kg2P%H4P&=r?HPw?qd3Rij%g$5+&mYa@vY`VX;bT@IU?=PA>93#7GnjZ z#H@!Ude=#8#;(bf*=&}6uZBdAVTis$zc<$J?+&8$k^J!ztv)M`;y)eJd<}QuO7s!M zj)^>@L?@zZTbEM>|uiI5Uvxr&f~g(>pHGm z7v$n%KB5HQ(8Wb^<9W@i#d35tI(^|Fm8OEr(c{x@@SO+oj1yW{*VV%@rHVDf&BZSh z_?IWNfX6TVB&j_~LXBsSA*@4G!|v?1~vqsfxSqx}3s)MhMYxvzWL`?`rZlp3Ft0udjhu%m>xfp3=bOKSMy8`})YZta z%aX@CBa}wE4%FGn?Pq3(G-3oPlAX66)7iNf#e>gky;>f=q`9BMbsg6&Tz7H(gUbPU z4VQ_wXhqkby_BWQL;s@F6+BK^%7MNQ(v@E(>52@PbGqqt zMUGRJvN1|oN*mzmjB60C$8e3tm4NF>Tr|9D>4- z$PuESScDUUdr!ntn^QD6{2M)j&hn>Yc+FX@bBp(27`jdGAun@?yv)y%(vmKUQfEZL zlG0LiQdZk}#oR=bz`qpylwo}JIjs%T9_OFq-Xib1=Kc|`1Gv7$^&PHKTvu@Y%H4m! zp{phP92~i^M61XA#wz<+hOwVc<3Ny0_CpIL$kQYb=8Mm3!LEUW%=R;>3;+5&JWbgz zlH!TzaUX3zp*kBwdYjoG`zeImk^=vixoPh1!@GR1`5EV-dfn5kLXBiU9c(R7zARDaD`vSgJK?dEy3qJ+2B|cW_nX zVnEygmzN*{W81eu^Ln`XJd44BPHEdw%6zVLd63e><&x5<(TdVyG($*zmP={c*w4qkmHqq;#&se;MYv^a zKi>{l_VW+KtNhPj?UnsJTOmn4gvjoZ_ESm{C5dk*E3^2Yx5=7F;vVE#$^ZNqrR?WB z^aZ;8RKhpawV&T(EQFG>$bL$G)!cu;bqm*BTqax&AkBcwr=pJi{M}30&tNN_e`1vV z90R_(_EUCKvUosm)J}bLZn}`ev2+N1NEyUU2MR5So5MyM`xyr$PvM$}YcZ}BxK`s@ zk88_KNnrkspR`#{!#6`Lup&=vt!!a)Fbn`oc&rEEVKzVnc94LrP*p@{`RFC$t!3Pz z_?GLMPx^lJrxIT$Yu+_H*1{)T5nD0=}_rbs9trUh={Lc2PKJE(orYkF>4w7hZFI= zG%HB9l@;`RJl2*(KP5{~aStKB&eg8EP((zRcCu!YL=1E;CGm~5%tBeFt|WXmD$+f1 z7>5P@s3CmPFPK&sH;B)=fzS9q@5$Hvf+?P?KI%6j1o``JXZ3rO{`*|8`u%K(${!b^ ze)rXXUuvO#*9+k*ZlHVlp(Q_k18b8D^gGw@sRLActhzgQhi8PX@e+ZBTKPSAWjPkL zN1>JK;;4yOSE04x!84cxHnN1pS;2v%C(Bc8uRHhtnQs1!+_VgyjXRs;)y( zI+{)4b*k#D!_2h8w5tn~-&NtM0v|e_oddt9(05#)`BifkyE)S{s7j z;ucbYY+@0#IlT=(c}wfeS~MZpwuX!syLH3{lMw)awR!F0!LVx-uWDmc{CTL_KqO}6p z31ig(l6%<#%vM#n-s)iicrSkqK3q4~5Tp=v46)>24Y5VAvc3X%8u6uGL#yrtut{Tw z+VDaXUd?VnEU4!t1n0kH&tBE|+a}m=skZ_+jHapsEb3wl(9~T4R6spCKwgk7Km}6( z?(iNuKygP~fWQ3|Kq&O31KbL<1z6Wn0gQte&;c5?Cjc1P6%YQ2fpu)qs}Z__Gq9*m z_xTP-7SMUH6B6D-!nX_$n=(iGxsOVzkKgI{t4$Rv@o>Qn8JT!E-IP~5vg_qV%cem9bm>7c(5~Tp^f1l_1Oj*dk}+n!%`Vc)PCUrC4kAEs)4pdM?}@M~Wy zA!}PmLfEUm{BdXY#@fo$PQ1dI4PiIzq$FH38|c({w9%>g_AWRkQLv`SvJr(n@Jed7 z*4L@|!%2x^u#X}ktXh%a#(bA{DKE-!frQGN~rq1+M>VKq>pa0sSU8Z_5;okR6Sk5BNQ5o?laCBwfh_F?pBDfN_(#)8bCjgH?S*>H zZMKBf@B@umbFbAZ(Uvw({(DpQftfaz_lJ_%K1f-T_HBhC&G}bdW*5kyY-F~I{<4P>_9o=#ZC zT}9YCq+L?xFZQ(w8&0AkW!^F?b6%yDF!rIV5?Gj>qH8+Zhgo2q9d)_}s6-pO1{!SX zddxoVXI+_NuIPl#x}ylYbQuXm*b#vT8;O1Yi%!^OYLcYP*}p1fmI$d#?L!{Zjy16- zr?Uzx+Z#@=XQi#OT-n(Gm1av?{o1;WyQXwmU8z%+U{aJdxTI6Iyt+1Jov-VZZ6mKl zlnuRSBeKt(q{!?C|E<%N3f-G!=7de*$^M6_G#k2xJCn#Z@n74s2F&;)-`s%(@;BSF zhCY69R|sXgmRDONljG(5Kzr7My?99hwhBb4iYqpyUIsrXm1JiVnLP0?RjPia0vz9g zxw5OWRG3fHZ?Zs-3pUkkgNEC)4io^@b8KT2r!P=J>+iXD=y#Zp_s_Cy44SGXc>3c~ z?XshPS7k?bWc~xk${Fzo{|mh1DJpp2zg)P0kHH(vZGy?1c76Dcj?6dMy$^Hu#?=%T zJ-5^^dZsHtznk;cdi3x~$9KQ@5b67B6W*Q4=Rg>m`8lG>`n;sn`rQ16_1SC1m|v;H{$6Q21eL98R|`7@st%mP?xE;j|SPI9$6-|#GR zHI$ztk)|fW%Etf93p=wm?A_}Y-~~Y}k@;JHqi`(Sdd-qw2ib3bTaeYirI7hpfhDrF zS8WRq;}u<5eP(yoHqn;6YiJufdAU`Dv8gIC^E*okpp8|D6=y7oAWX+Sr&gjZ?uEB3 zxE)JvaF^kOSzTCG+=~X`4e-Re!Lv~7Ry~0-yV2%0X-B}AZ=L)Y3 zWo^8BLCr>F4uNN)&0AuPV%aTzIvmm4em=A(^JfDt^3y}m7~Mm#RrawHgwAbg0zSEc zPHz3gH{&}C!&_)=dMy_&Q!Q;hj-FMJv5mc~ z-IMvTIX_w|^yIgDuziMdv`rm-yGu4qRQ{xpevZ0`iGwgH9jW85ii!UGKyNVdRjCE% zd?lE^QoK?y^Df%p9CT6PbpB4^^tx!l880MGw)%u3wBh#_r0E{VPu7ym-*77=nVA(9 z(zpMpBtx#9WT;Cf?MGE%pVO+sp+8zGT=9#NOwln_;h=Mt3YBDB_b9JO>b=WX4Pc0K zNxOxm3TM_Sh4WR?veNFk>xv1(w+iRV?<_dy@jm@nqQQjLu1mY$_coGo`ks*b@XCIy zp*I-LaGIU7skIDPsMcGga8+yY6(ytThgGeYPvxW5hMFM){glqeqVH_j zi2lw7q2XJFuqkOg^d|XKxtPkm_I#jgL%Pe8_W^K3iC)(tHS)s zPYUzVg9`J&;}*x&1&}iusEdqMwlufO1hgGdlk>XXY z?_W>?x?HGg9rLX&pnUZ3x`6JSuwi502^)l&hZMp!q;G}ryB`!A4fZR9i;FF6OijmE ztE)?tleZHip#t*#b|Mn=s3!q=sHaVkka~*w+WgcPidAW+4w|1r515~Rv|!%wr8%u1 zM|CHG>#~03b3Q7Dbz{{(@KcYom8@j9!V>-ij~K~T zFmL^LR;i8^4#@`Vggp<%8ugjN`sw!yYu2X<>!0Td%M@N|WcAXY+a(R)c;+xa%s$|F zufBzK5*|NOCn4w4IthNt#H=`6DLBFRr52>2u!33%UC;_CVT=W2wz6z%8BLk6HDP9c z9VGdB0s_3uo38SFbI4Rgf6h;gV)<$X z-zwQ?S^=ejjW49R+p=+sr;lcRSoL;Q?VwMVnuKT`pE_ zRgmXCP>^xE6{N@Kb-8%)eZ|F!{gR7kb|@}RY?E9h9#mXRd{1(5zgQ{b=vK)^!B^A* zY`NHSSSe%kd#YalPi@$^_^Dze{9Q%dvOERkvQrUPw6iW7-QH1<^R_6+dmk&v-8<^C z(R{OFWA6^h#tX%Yjr#C3P{y856&ubZ{np}*BE`n&y^@VdAJ=7L_!h+mKFgFgb!fW{ z8|fb@Hm<#?i0k;K0@}V!5jX8aBJOg)v`?zBKnrhl^7d7mXEnz|%5c>~sKM;s$S2QW z&xXzaKvqvK`~^6x9S}8~)pW5Rte|`&aUVU6J}bH#s4C7=X}691(z7fxpt*wb5(!o) z4?vk~N!dWPB$5|*3s?nCB}vDiIUQvt%9(*LzM)8(AzhpF+eDJ56c9+d@sUna8*BNC zcvK|ydP9*kL_v9p#jt(7mfnCe*YfIm8#XFg9Lsy>>HRIY|SjC z5vsqKF5Fc4Mq-4uyaTm4DWyqVk@U=mdM(?)nO@6e6foDacbyGMmtgx+O3kdm-{H{= z93+9C4f|R(Vlzqexvscgs(d4n3IM&bAe2`mEqh&&^conFwVZ}O)uFOcz+B7K*Az)> z=CG!0-)g?*d5j~|-ct9}o$9`Ejk-5`TiyS)SKXbqsr#>=s=Mze>b_Qot9VWQZuL4J znTpuEI+y#WVL0>ECUq~`q3-`$rS9|JRQH5E>Ynz2x=-Gv?)+nQZ~B(H&tEI=j$f=r z=fPi@$3l7;Hku=Zrdb!#oR38HD8_^Wy5k;)qxxy$X>vGTdJZkSqa5+iHvZ2%OkU92 zu|~Ozdc=!?o28Ve!7Mv&FxP*L_r=CHGks+pT zX@g-g&HkukrsL!{=z+4`LW5G1#)z9A=DGPi%eu zj$*55y_vR$vDK0g*JbOo4-{KHEkz&7)|&SpMpT;*h^@GOtFz7ZHh-9+>`@r|U3=T8 zDn+h~S&x{8o91DD)T*rr^o?LEnViTDp8gUG=zDj$8GW;dXln+%A7QuASBf2NZFw0= z=CkIp_IyAW){v*q#h`B1d{)2TGz-3mlKbPkk05v0>x$eb`jsv-Q}j>_BOZkzV&#Jj zPtLM1{3KRL6T<^7=pV-L?z~4Zycve|P=-Hw`QMV;T1WVRe!fNvQ~IG@=$uTmdx*t( zykr5Uu#@%sob7?dIFfLE>0@sJS$OPRiYsr9)#wSPUm zHTpyI^Qbqi&yT~B&FLJ(o1cSTvp&BCn?yQBYKWC@svmfE7e6gA1G$SGuUMatSP;1j z7Yjk|;vEao?qV&vPF0z^IIzk3ydM^BPItD!vuUlbHKU;o5fifWJu;X<-YU!%q9a2KFh5QipYbgaLaT?Ma7S`aZ!Hv)`8~B6mPHfY=Dt z=@79TJ2*%poAa`z%!|1zP_H}iCji|GVd$W9-sOJF*gW=}gwX3;pm-^L#{#w{Pl4sW zOm*sDU0~V3c6W;fY{xqU7R`q*XOlz2t?5;G#DWr|_ zvYD6RF9=8{@Dn}hyftan79Nnz`ua2k8we$Ch%9Sf|1JDvHVfc=vRP}NGjJ&qpraMw z>Sh8M>eB&om3b%Lw$zoS=k0h=&zoh<3zT`y)+W8-zzw;q0slFNbzzQ6xc5rdo?TeT z2du=v_2b3-*_CXVA^9x}Qa^OnIV_W%$xxtM7bwvA845HMgy_89dXqrMaNk_kon6S_ zBXTi6J@X}kZ^d~oM(!CI{DWLJ!cc`ySTD45)4Ej{m)s^-&&Pb-o{sRM zMdFWjmfY=}KeLua@XN0pmJCHsunC@dlKZ&PZM%)e_=y)w%N=6pM&F!;bd zCwqrnmq9%5HP*)01-qBsjq0qWdWj}h#HU~9mtSMuhEkAIRPg`&pMUZ?^E0$Cb)zp# z_Z1pN)C#`zb@l|?wvv~=&Mwd!)KTkM7>jw0-(JUBv$yB)o$FZ}_ZR1YlbHKEHMQyR z37)Y5!*DZn`dS5jdbWi2*gm@!wCQ!ecmt4{!FRo?!0mPLpJvqp?^Xx=+A9kD-Q^1V zBD7c=TAq5XHg<0v{QNQnz7t)t4fyM8Yl9D6qp-W^;8$TQHsD8ICGZ}yNq61Eg4ppK zp1287dO-?5y%84sMkfDzBb&_H=;`iy`tM6r`hpb-K6$!=AEu|D%~t9AmaFtVdU}wa z?xUxB=;=$BEBKkq6#VqXgufeq{%vM#lCcm(N4jT*nbI0%4(OQXX-pZ2gCM3aMBey4~04XfJ${BIFolWz^t_sV9CP)lO6y(3qTyC z1`cO`%siXc%9mB%)G_h5K4#rqm%?k21hxW@&bN|6Dm8=r^D%2S5IG^(5!OsL?jQ(z z*l)QAFnp;=l@Xt67k|ZqaMAG=B(3$>?iseFOh>5zEsO@$qEF&&zNJ#)#krwiV)G8x zxc;VOMdU}=&3Om&ZhfZ~GTIH=EVx48Gm2i5tGRoQz1NT}*KHtE4Iow#DWxnAF*A7^ zYmor%u=z1bTcHzoOrTNrTzLyNBJP@$9m>hIKK6oedr)`Wu;#k~tb)hm8_U?xi>Ao#{ zo*zG+W1yy>{PzJ;ZjOQMyH)~OajgV0*IEf=mX?HcLPGXuNudO?w^|8gU9}R(j%p>4 zvD8W+i>Q@A7EmjJ6rElxh4fb|fwWXBfz(hdfy7=bfy8T*5GRh_!)KzQw6Aq?ztxVA z_Ib1QXB!IBflq7&M6$7N9*I`uQr2;}uv*1P$YKst>O1qeU0W>!P%`}1yMZz@ICu6W^&ka!RsZx@fl&KtxE>IoBas;~uw$?cOg_qbTmCk`<+j?vEI zQ$NS**_p9?-sh}+L#LE#6Doq25tUP`F?zQT;w8g1hkkOmZXBd}SbhbC*#fMS*p1G? zyk);i;ZtQwg8Ed-)Xn6b0k-($FC7}Er?@09r)_@#B1 z>myOow7q)D;IY%Pqn??T{qh{hJoEh#bg)f|qwoN3br3^TbfwA8e2ByV%5@NbATCbG zUU(lnTx3U$K$PLKh4zidv+0Eq;;l*59ZU)4BHkz>enEjEMF)`29!Ww5p5&3$d^WZb z=6<(WleI~Q9k^>g>pHoBD4zhY4YC&xAevKMAc1JAmEMsI#DnRDK+#LygG5((4;Jm^ z-A}ZV_co%jyoU)ldG9BjaYywxp5mMGS+jKFKh=4ZxbPJ4n#modINYJ9K`3@PFN}cl z+r){$GywJuC00|t7uV2!`KgA?MXq*f&T(QSP1u>ScoEaNz=5zIOrX*xF~}yK-Q@%N z4nB9X=79#&k-v>&EclBB%qKnCk2)QD^ro>eT|21L6iR71RiZ151vZ39?(n$e(NI&0 zCgMjRtrB*1H`O2K!4RZi<53Z9yXqDjC-8*=Oz~34-2_ zZG-}nc7Dm+dCNVlsn@e;6Sd9F_#_{(hxvBc^%$gRhmCnU0~zgkemB)!*ntw$tPybn zV>?ujX4`Zc&)vfYvXhhf$vu!Z5l6e|cS2)w!BGv3jN&I4XHMl7${`l8F2pDfB@p>> zA{PcYu~q;DkzvDez?x#?;?tZ%E|jl;l#w8mbvA!YshSk^&gDdz`376k>r`g)(ts6i&d271xmg-u1#cm!KBX^138`YA*{_ zdW@Ast^|<)tEI~?$hK=!`Lso;=Z4j$a=0xG1I<*<97}Qnm5pGRHV`2fDw>7(5TWz2 zkyETN*bvI!_>zURsn^xcU95z7^Q7RR6M0^RST#nzo~>sTRTFvTm#lFcU1fAqRU)RO zi^xr)#>NyDDP!9n&pUl(quho@;Q_apX^?tSXB|-JWolatgEO@a#DCc_6#b9>PyY|- z;AB;I^uIJhO#k1m;6LC`mxB~JqWE9p@ZS@FAokw_{4eMChKc?62*}5vdX2ryM~EEc z&}nfI^Y++@;3he6E&fe;6+__(6M4ZwHg8m+4kQN{wZ}y%cFFIdohQqZrLUPw?o70f zJg6DqkH|b^TU%#U+w0~s&puFwiWJ)xQ3R%1igZfk`baVF55s1nZAe1 zX=+TqfWqlYz_OlMfGfX+#E=Vvand%npThw)1xPf4w&JX#X;kCA+BK3o%l9Bn4^CtA zNbw?36{ec?!l}xkgdB*?Bdv?R3L?GO24sr`3F%WbQ6Lws5N=E9yh;lcsZjh;Ptr*; zL{&I0WNAEYZ6Rj^CWREQD4M9a9-oL=ndAet$xn7dG4b>`nwgPM-){O>K>xm?f5cQCk)20WTKF`ga}w zvKOz%|I7mpnfF}M{)G?Xezx?@eC1H=g|8?vw2 ze-OEu|7fW_db_?!M5nezG|(u=LH*yy_%zF8>cW*IRJL>o`f`kH9%a;Vk_RIE4l0 z4{_22)3;dljVU{O9D)U-wK_tp3w;#>Am#tme-a$2{SgFx>?oN`h6{c`a8xMd+e)`x z4RiR1r&t3e!vz*^9Uy7*Ye@EFMbG_?F)!~!4?`$5;V!-KSqqkT`I?i=zZaRK6$ze; zEy~@6O&;NKyx{B~pwR|pprtctr%;k@KLTZlLYewVl#18o7L;2@>w2K3Vllr5^kD6f zCXcSI2TNBZS$m*hprwlmtXq&8q`AhYA5^`ybGjW{yGl|$wc|&~pgxUF9ol?_njbD! zC4=J@%F<(1n<2082%IZ%U=wh-o_&qSa6mY31@RUf2?6Td2=*;Hw)j+ zIS0zu0c9;|xGjB|I-NL-)?!UPUSEJ<&U8Ab5<^a}*pw6%K^PIFB-4A2idj0c!jO{^ zwetBTsRIzR0R9CV_+j#mNq8-%M>t=!fjJJu6)m1Xg@-57aa?${^0ZAh1xMo2;ia8W=N=+$nU-^MZSM|R(fLrA(Ra9FFeWy{sNwvz@9_OkSLCW`JkchOAN`KC?LepC;f2z1 zRF_qlN59k&ewcu0OTX-7{aYLc@y2Iach3zNu+vvEAHwW%BMXe8duKl3EDLe&fT@@* zE<^abv#fK=chL}OTE;);NX{v&e!;?*870`{{Jy;xEq}Rkmc<5r5-pcg^$9tXb1>&y z9jGu^E|76@KO7!-;7B<3w?I(YJd!7!W1SdE=AL6cJxPzHng5tl4K($ElQz#L@$={K z?KJ>h&$EeL1M4%^+8XgF{QNXD61W*ozy|QWNj@PIO80 z{&ExQGlk0k@_g77R^j>OW|=7eQzJT7%9`OEjvJ-Szi}uyPAJN((NZ1aP3IFr3d2P< z5b`bi?K{e|kG&syFe{((0}E>WF7V>Ga6*jRR(0DngzvwF?|=9G!1}RyOZojD@QKd{ zkMpP>S<4|V#6SqN0>V8abS;`f36ZKNr_xrBQ@YAoDjfUk3}8CLZ+%CpNpDHpQ(%D0Fh&25Np%lsb4Wm#_uuA`|9ga>>uYJUtmoq?i~mwR>a)MoO;%dEHWpuZ0S+FbPQJPAg6-m z;GkWcB7c^S9`vKEa@0XMj*CTjI$}pN za((|w3z*@Uf%86H?d@k6mdc0X?8xH22U2}9lU(dF3tcNJ%`PP;rYu`C&+XCySSa3E z{1nLFx`$01WV&XiVo+N-|A;8^x|LUhfiXN9NG&66-#!Wq*Q8 zyf5a0A*?nZl4)Y8j+rL!v_2XA*F#x$Y28w^MUW{hnxi=i=#X-xwYA@(9Uh)p;AT*0LqlHQ7$c~p)-W@ zsH8GRl`Mwz1)=6uHhBB7l?2|c*8p%DNk=-mQogjX7*}x^Dm1Ip1<%3*xpX+9JmvAt zHnNR)T8}xjPYAB&(W@PX@{+AMyU4GjL4)(jZ%L$Lp33tgW zu=$zM9MNZ9u{8yjWyGnAUk%}}T)`5$<^KHRE3A31H31;_HmFfY;T{UcX}Iz*Tu+(M zU%jm`ifz5Yh+bFTYkuplvIxWd0Me4&W<9hwA9PojW}W+gHf;(d&xxED;CzYm2#h`x`ddE>|8dGehX4pg2MEjonq=YL`T zf!8~M?Xw)~MUs!bdIg(jgBkajhEpS8| zrr-}dQksTWHo8xQZkLnsJ=+WY%-!s?>ms}*XsN<$QB;++n%=&pHt#)mL~7%lxzPwq zT~g`^=N_ch!y+8_B2eH>zq8Zs0|FTOhSJH$sli$8@22`)a5Jb+1ydIn#S(clz)sMel z&f2mye*8o^EM$`(_x%;hJU^IJy?(qW+?I;Sj^ha(^@FPozwRVa+N?JGzJ*MYs}0Yf zU8ne%R~sIpUvjnK!hy8fu&dW7;oTI7ar8*c{oI)Qql{w7ApSxHyXtZcor6()+>)WHSQB|d=p+|4lRI3!x_n=vR%Z6_Wy^rcL9sC_~OUecV@X? z76b$Z0R=@tMe&As!4&V8C3F!LMe~BInU}@1R8Sy!Zvz*$VIhAgjk_*DOr!s3To|esWF7Jxp%~YV!w`Sg1vOVb z%#NBJ&t632tUn+akcigkK02+KKf@RJ%ES0%CxH0;d;_dl$ijbPiR;ZT9N{PqIkB_d zD-Pj-k);U+W|JSU>2B+k{Bw{%Gfkt#hj~Bd^Z-6npCeSQ@|p3h-vgzG^9%uLUU87^ zFwzjV>w(hDy`>%Lr|#_P1ErU8D~@?rDt+AFhSXD|Ki{2=uT-L(CkaUNigP$Gr!iai zkT|hVE0qBEa64jYoIniqm;hU_XKdlrJcZxyw(+4d(S21n8?nA|?8S#lri+V!G%tU} zvOeqsxH-?%vhYVr)3AHUFodZ1$@5S@_*>}KRwYK?jiof9-vEq*Mu*tZ`m z13HX#B)XK8yv5ZPKRQv)2%lL@!6`;u*5l^@0GbdnFRso3)Cr*4bmsk+5(>fI@h>GB zKNJ2^#yf9A|FltVqEx4|+kb)d?*GrEQ>!HDSE_8JQ`VRnOYP?s=_lz%O969aA62jqH6?(oQ)FDyC%P4CIr7E zJyi_KmRKR-Te59Wl~ySFb5C(XQ9AqesS<`Cry5y>Eoj>kw^KkleO6Bw_bui?^DPF;t|Y zb77VL;J^keQs0&={~v5~2n!Lvp=@TY;;M7D#h@a_tIi@uY@;(eE5nVge06q~4C|Iy z1B{A5f9Ry5$J@|Ttmq#(spyZrto#TkL_SSL*X_4Kodq=93Y}$xqM+df2yE+dAC;SJ)w z8B{;sh7lyFrGEniFwKG z4RUm*0Y*{-3^nbXGF5;}5u_IBx(1OR3S)x37?_7b0+Yrzz8 zzz7v-YIA{fLV3r5UDc8hWug4_XU>jft?qYdNhm2e^N7~<5oNm^No(Ey2GH-Zn+8zj zT9*PhCo)ANUgkQJwOa8)JjpZ(ndwEsN$A+d_VKn6WN2(vc`_zc$snFTtc-WBW&31}e+LS#cw>*JF{NomeM-w#b+CS6chA z)4pVAkAuyL?jimhG`4?cOGFEzYmL7c{B^}&FZ?CqZz%qf@izv46Y&Qfdaye|WPnoWUeGp}^i{%Mg`l+RAF*yAUKndBzm5`-)X($O2ki9_(pGV#tT2R3 zbh*_*7Ra>@tW79MP=?pAnW3bY(&RDQ8%mlhyaT%uNqkzkyaiFXkb?A)z0it z80n!rabi_rWJ!+?+7sRH_^V$)9b<^D3;ufIuOI$~;O}|-rQ$Cgf79?c3x6n}GI2Lr zxJOqR^(kp zS$vCaX+wH=`dDghTwb))vftW}UgYev+JeX^(uF8fam8Ib5}}N}!B(^*9hK~IcC;Ot zuH5UzTDB)sBUkn!y4CnwkH2^Dw*!B>@%JhI4&v`P{!Zf$Oh*@#wI|;ak8V}=1S_jp zVJvCoMe9Jv@X9n?xA0gH)kpXJp`*ne7^#iw=sJ0-p6VVXQ9*=8< z+5qG1XFu0k*1vA?TR(dlE@SOV{Jm=blwsIOz~@*4Sz$7+CVrtSY22WiGc zB=;V5VBBwR2iHEV%byAs+4ekm(U$y~`~NPI`D&O*ez`TUUbec_h4%ZOQ1_|}_T)~m zKE1%4NY4FW9r!fU2(aMUZN3Ud#pJT3y+~*GE_HbQ>hRpF&ex-=>2AyN!8$Og_O^lN z*MXO-V439}4{TZftn^=5_N@KG7G^=@1}((%m_4jx{dgh+o{Q{ZS@q+|upaiX&u-PD zDZ^?}a%zj5TR%*#nzOdBGv)Q-$*}qMu->5Fkk2mmu*CZDWO`L+Y&1{SuWlK3&>nV% z*P|)I+~?cFayfghH$=y{%WO?=60Ia%WXF1wcAAN-qBrU6s?KRVd2u;wlR#!Gzusk= z6G)Sgj$b2Tn4!f|h&fRxlDLWurXdJdJZ2|E1QV7otBAbBy9E?DgkJY}T49f&*Wh zR-o?90TMr6Qd?&vRVP7wPkk5+r=tU5yV`iO)@nDMBZ6&qQ&-`jkXS2Lpt!V~&PS-- zZmOIDDkfNL{zQ$ZD@ZL6r25`uWBZb(O1l!apf8E&8z6vBf3VU2?t2^kM0eOv9bl?8 ze*;j1WWEKGJ(&qbtgJ5y^zJ4IZM73x_&sy&N5XUq>*H#RYK4QjUp-UqmhWm=`Xo&h zdH<&RqCC9DE+M8e_2+^=`jK9m=Ci&-`L(oNtExKNk7)o~AM=T?7B@=)Vn>B!R$?_GGGiS3S?nCZR%~+Ngs^_jhA~itxh+py2pQ3A;9jda0VNuB(QKeN) zn*HIAol%0>A^!n_KsxBBrj9qST#4yGo<~A7nx%7|$7u1JKzAN$2`iK&`t**KdM7kH z)?y&(?{V#zomG!-+5CZ|qyHmR(!a~-$8Xq)fh1JfaGjM6B!RJ8j)PKlDlB$%0vy`% z`)Wi})u-@TUP_l zXkpdD(Ao-Bb3#mA;#AlCHb%;;uYzOIYz=A=w1(VDP2DMq!`8Ck^yI+*1fKB9Uw%~0 zq14UUs}nW43^B>Y1`>6es9<12F~?Sc=l=OC#FT1kT#U(IpK*S>Rww3kVn-dHiyWip zEj{OeX~xvJt|tGKj4$gWB&i4!V8JtpfBgD&mM|4V0d8Nwb`>$LzL{|mk&{!n=>(fQ zm~;yN0i98nmRIh1k#63KW1me=7r zJqEY%f@Chkpz;qm#5xTlJ%e|ap>4oiuiXya)i??bBOotV2YM;|aS2;9j5K#UguG!_ zpn*r1vZKSuUY|XMwHB{~CHc8Az%%Ii^sm^$;Uu)xA7}tLVlY#c{;)_IRTO@21Ps)yyTy;Evtc7hvsgcf5w(ftCqr`& zupGc8Ef)Uly1g#uLJB4ujH4_E1l#=1b+&Z`X`>vv&MuB1{gm&2U^+cC?T*)(UQe1R zyRV2k8Hoi!^K)pq=S9mM^c4z0?1u1KE;xnVKS&g%6t}}E#*C(@B^diPnLbOGP-*RV z!Kta->mtifB8|tDLjMqw5(Vsl4KitHC|DXo0r=)Dz$%DmPq{_KNzY$Hh1*4H5U>sW zh=|Ki;8_e7ko3^c0g&&MCwwmDW@8pJR1+MTlw{z25NdQbYGBL$=CfL{L?d?}(AcVq z0lX>X1Aq248}~d34X*_kay6wI2hobv6km)BFnysk)p3jCP{r-flR@30LC9Q9`ixGJ# ztazS3+9yh@n%_RmULQ#koR&gxV)=|M9e^u{#hRB6u1Zz?Gd_Sk%FC?gEA}(*Q6xO( z3(@*JciIN&LNb!Te+ut}VmKrqIi~|q0U7&%VhvjV5t}lKqzB1Z9qci7i!w??(FgRL zyp7!k-M|g#C8_5A;V26@Qx$a^k%=Z1&X?dMV*?3RCY)hC4J0tI-+!aEJ;PoykY-Bm zMcJBJCDSx^S$gk^wTqJ!vebFElu4t{vDGQ0tDoTaTrO@AvxrujVz9*W^?O)J3W*7r zjG!gO<}IQ-=M*b4Kgs;UZWcP4bW)s8ZKVRHxKL09`H<}x3nM}8 z*Q{bJ>7zXTmbDv4E_msX52MC%KsZ709p{*18foq6i#0q5K7jOm@?q99jSR_(K|XQ| z&ABmvrkc9t(O#A>wrxjlc{RknIUlR~7IQ8ZFfB=W%hiCNL_jW#L=c>L1Dwml@YeGf z#$eN6^PgDxB~|8rPa;u2&Y5u*)00U42_oPnoWCz#tmNO8RG8Cv$o#XXY$dTZL=N`< z=aHUGm_Ymk#aM_XNSOWPy5v$Z0%SVzJD;#M6G%{?Tygy0U{=J6Cy`$CEsn@`B=#%nLIFVabp61bf?O(eIKY3JGR6Ny3bI?tY)LB9!`|`!7i`aDVha8Gv`rgcftHEO z=*Nq;0Np!W=-waiVLhji*)F;raF;-LKf?}AA(NDSpRy)XNw{+Dh$x#^m5god_*BwG zN&SrdHI<|)@9bjwX=IJ!xPz5VBlDH7wy@C|Bt|*CkFCleTg8CaW;%(?I)%hVa?5X; zoX=|7_8ELu<8bH-n#Z}sTV?pkOFR~Pvs)TEW#OS~^82*chGKY=3^{a5V%@nXq1SSL zQSuT?@)9{D0%ih+6D2bEUNwGF@_Xc>YAt!0U*^-0yv!@`$jHmAJeT-bp*z^O(@D#w zLyE-c<33@$SS;uRTw6DAC=eM;5N?uM2H%(F%CL{vVk2o1x?*Fkx`#DM=rit+v;I5* zim5t*`THa*Fp_5O{&vXalkB#UbZu-bR)svoL~}?{Y)6E8^Whf-?PrkY8fEYymOK+? zHx$sKnWRJ3nmx6aqv{Dy*y7hNg)asm6^;d_<|%v*-p!RMMb8}hRJ_8i4d*_krV@HU zc#grpr+8ID>mG{Na^aZML!%yIox;1TBrK-r6yDB8E;NNVuOrvkN-nHK&PXSzIXf6Ftk;YP4BA?L&1E#q-~mh5G<6f4(kpyJv_aaO7xy+6LXwL>CK?BNk zI^+OZS>YIecCnNB>`oD4q z23T67)9CTVDY2Fl0a1>=umk7!56#%_g_SeD>|IPm;E`DR5-J03f=^z;w5u?RHJMHN zCIMTuj~nYb%I&)hRhES)9C z)hO+p2+3}$*pcqbV8CPWWNX=aS}e0#?-rXQD;&%>{N^BS8zkaKkE-RF}^gMGEgjVk65WnEWOv)misq5U zN{`(I2`1vA5dlLoNwd%(2x#M|WUio|r1Dm^#4rBYVt=7yyYuk}SY9TSkeMF|an@Ft z)G51>NrL(WAYNK=J--EYO$vIK18TMe%Bi&ru0sby8RI}0D76lj&ca{U;-{M^PE=`Q zMc-71p8WrUK3Po1ATZqoYZP^#S`n_E1d!>H!k@e+0J@xKW%DC=yrk%kdKF&F&{0x% z)nY&tj=GQjkt7oCmNSemIwGSU6#jemNEeAyq_t?qSE+GCv zQfUb`JAp0VoNf-8UV8pBx;fOmoA0us1+e^_c$fVMOzj5%!yNJp=7ohH!+Co2LM*=^ z)7ux4)PNFc%|Tg-j=|@eMe`6IQ_TAn;_E+d2cnAEgGEm9^9R5RlJ^mde}x43yNfWm zP9@?O4gC&g^WUzr%Fin+G#>2rS4gwwn;=p!%P>7i;RdMDIa%=T%KUk$Mb40ZNa4#5 zu&b|N(cnECt8N#f+1pvrtE9a$Vmll5Dn!=4JT~oB(oQMf$k?kS#`)WABI$Dz*nUS% z3prmd+l*uNYhQ)MT*#(#G4VB-kFY6z8w*}U8fSHD0vYiFieV|*ZK#7o)50eu7(uo} z_8VQqX=$mDCdkS_&@Gm}V{pC>5Qzv^uxIckha<}3vbaR&MImvWjtj|<*@2fr7Uxm< z1+ngHbRQ3wF`Jb`9KTSpSH{d~RG6?+kQh*LRFo6^x>u^@Bt7h7eBeWKb20I75p*G5 zSEe)f#iU6m5oO+V^I7wc!Xv%LamM)=?4}b)d5{K+Gy#^(A-HsBJ6K=rj-|gS{_^W= z%wp2K{VKrFY*l38Qv~GL!U+}rd=v!bIR|Wpbl?xxqdGzz&}rG6eK-N*`^Ch&rIm$x z=X9XM8+920q69@!;68H;^ISswX9!$$)0w>co1!2jXDEoE`mVyCqCts~?7W31Z9(DY zXhp6PihglS=1~}E%zr{XF<;8L-FwE>7_+<7B+mBpj?~mAVl=b0OGt#M+N%DMIHVHJ z5g05^Eg|jW1rsuYHFC~S?*Jj7?LPItu96&>&y{zCi0)fniAfJK;rp7s3c9UNxTIy- zS;V!j$e)QKw>ZuyL6OTEuIfjS^6;ERB*0=Cz+=EWio6|fw3eO7A`#Io01!nkk#mLu z3$svv{t%;pwY<%*+sj+_Mg2OBH|v>ATnvNN5WdBZT+ui8!h%-u9jd<&fvz;499c`Jy&b|G<$sR_hBuY_(<_X3v+XY5>+j_dC3-bHk-7Fd%2X>1b1&9_jLX69y z4i!ab6MvIl)@C{B3H~yclg`SCRczaGs3|2& zS>bXL-$XLvwOqlBJ_Qql$C!qJD|fzkH}lIS-Idw9SyC?P7*vvnD!YZnjk)K@mtR5< z1;$^6cTtg^|DDaY<-#2JWEZ=bOPcl;84(`wjgom+A@3?0Su#T{nL!n$=4Z(~T*}!e zaD(E3^7U-~6g~m|zQWwd|J)^Woz3&tE zggSQwSkL?AG4DLmE^&bnfukYwV=b6Oge@*HI`ejKAYvE}Fa@8M$AkX954f^mRiwT)o!!bfGcT)=bvC2%ChGY zKiyq)R$*n76P?fvDnWK~p++0QHzHT?!}G51i_{_!XKD&(5@}#Bc#C@5zr{W^lkOzyUD-b3JkjXweq_$8S^8?yoQ=;XF3L@_ z_=r}RQ_4(%{{2oD;yv4D)~CDynexIS&ms(Q4)Q9rsE zrJLApi~=@FB8tsRY+XILa7j|V#9mp&it>rSGHDeHT}ynUht|UqNYV?e>%V}~39LC% zU5l8mt5}CM#J9=WR~x2lbEmtNr{=Uck1be3I*rRmkG1h9`-Ga)`SrjeVVReS4T1K& z45|mO%S&vYnwO?|YF@PUu&)HP$)K$MA{)Z`?Uj2JQ+^}G*#zIrt+gb>7R8679*oM#Y$40} zF%^1;cN0)e3jat2l<`(pz&k477WbEc3=QJ(Tma40$$5*faElx+d&H$d>I_F>acOsO z7C7k&_s_d;z_>d6P1brnoN}7H$LgW?!!v2a4^0$oV%imi(7r(JLF^lPI$-Kf}evL(JAmLHYU&3A|Q&{=6 zcoT%3ui&jeMIIb5mZ)aooo}hb2}bpqVvm!P5}R9ZPT-X*4J*oD%h|4tBs8lQW(yOR zSS~F`do%af#cLffSO~~r72+GOrB=u;6%r7yb+$q_sF0v|t-BSHqe4RCwK^+gjtU8n z*ZNu^6I4jIcx~iVD`=Ps>JhJvwnE}nNJ6|e#tLbzLi)vPJ6R!(Rmi}2Z8s}Kt3rmx zYkOEBe+os6g*lVw#C+V5J!Yg;RwZ&>-W3*OqaKav-b~aKcFW~Kk(&Z^=q_Sk3wA@6 zrwSa=;LZ!2YTzuc<$bI;I5^tCI|=#~-{u_Mi&}8N?rmEW-Dr{?M@)IF9)Y8W|0vGKf9Y9G&-xL9U7x{Cml(rsUz0u!>ZLR|c z=#7nSU=zSOr}fqdLD(UrHwGZkNhXo9oQ1wk{01k~MGn^+lWdViaa&_X>Wxh#7)CIk z1~gmije)k1>Kv8@dRe!TS!={7y>XN+_+lM6T5mMiz@N*avGLeeZ%na;yj>Teo!VxSy>o z0d}tg57Zm=HX?ta3hRn^D9W#+E$F5U@^w3FYKwQmncAZ%->$j$W{^-m?T=c+JfPOgcj^2 zTX6R*)^jTf2!!adwUQXU(bHCFE?I0Af?GWRj}ZDOyasVbwT55g*ly1m)T! z{$LUNcq>WucoP82=hD=aw}>^`M!JQG?BqG_5CxUjpY9OFlh@yQhbWZ1{xLhkquI=D zq*O_Il?~aBC6ka>SzzKCV$(o_B#Mfwth$qFDu5Sh3x7MEcR_! zs7lpW7qYN-$@CcA!dgrJ{4AOppIMvv0P3RU;C4s{UcEq!0`G~}`|@?Sc>Q?+JMu0W z)BQDo`pQ^8W>(5b;vg#ilEfS>UMI`fapE;qzNU-U;S1RCon)Td$cY&B#L33^Cb6(xaaZ_AOwtd*=^;=t#7Ik6BS6H~QOPyR9$?jR7{;n}B7B zbRaSY+JM=0G$Ahr*}&7S@%4J+U>j_d6*f|D9Abm@vBE~{jYDm)wsj=O>5ao|V1I#{ zh2+!q#^E-gVvRppZyaHR{V`uHjtsrAn+^5@VAib9)Enb$;9@K4Y`w9&4fd%OX3`tu zZLm#N*a8o|v4;(~Vm_<EPn+}j3z&I%SCTyIQBHfn@x z29KK0hVCK(S>D#*bu#!lTdb#kii&Wx@59G zyNO?5h&8xS2CF>|!OofNrQML5e?Xf?i&}AB2CKac!QY$Mb`iVK8vKO}?rI~x$AoJh z5PPjPxI_l4T?(-mn3zSxo@fm&lfi0FLhxV{YrBU842ZD?a~Z65CIkms!B-?$?N0zJ zR`5LuR=X6y74z6?5X-s>^rM!nYmFeZV_S~`c&rudoF(CEuL8WE749yLS-UVtG`;oK@u$b*obPOgM1CRmH$u~r1mp}d|{0dF2QP719*!S94WzS zZv*(Xx$NPG(B)pLqZcDFdfHmRC~L${60CMPMC@e+i!-Znql^u^)m*0ki1-ER>gXj% zj6ODusyS>aFam#?qh@%Z3|6}t=$@a$J{1J^BiNcjy~I%a6)@NwRwf8!TM38(PH$BE z5rU`BVV-+QfXfIgfwOGKCi2(kp`AQ6@Oq$5EbbHX*yn1Rbs2E!Ju$cm*O}g*!q@Mo zWR~_RiEHsYWP|Dlhx39}@4gw(EQIMSMf~Gq=ZLks2x+_CwvV{6KRzV}r#*#4$3K6W z4cSNX1IC;tx;%qB50XOGy{f-6%_Mo_oyA&EQ|?-h9hyZ_{V>kDL5A%c{8Q&5VL$iwEt#es-F2B022jMS@#2Q zDH=1I84keOP&=Ewc7TNWyoj-}KGCr=1kqTz?9BERVKu1w0MRM8erB!*q37_QS;9fm z-+%fPYq6SQFc%T-ph;Xilx;o;C-gX5m^gU1;xfWv7e5aiON2Or0ozi#%gsj51=QJZ z#UAkdL~eA^8{xWkYO;;Guh9iy_)4}OEI{t^ICg727R{FvU7X#BNiNGQAlb^{7uk~n zXfv&cvF8t=Xe-OuYlldzQU(vqL*yk);-e0e!A;#>w9@y=6%%q}LP~~4$Z0-t5?gne zgbYuZWMg2MaY8arNR}#ZVWy|CT{7=z{W1k$D9T?Ux~&n)xw}11Anw-D<*$(P$iP3I z#Qr&qWyGgbZPkVS%q@skR#%|C&EQ(@Oy?B-74m5=;b#Z414l^bK$I5>PaEcxP!XG- z>yDKdy=C4={;`pfqoh6gd2TJ!Z&G4d;X)17V#}__U^eS0Y3cUp0-Ee|lf^Y9Y}-+o zvOx&yFEru0z4x%?U?(hJGl<*gjojY8 zT!-@T7@7J%-1`ia+`A2AvyYR`Au9K7Ijyj)oKXG)3aVZn?oDH-futVOVA^XBfvBIx zJWjxz`OLuLPmrakwc{tCfZv$PzCS@$DEg@^{Uq$7ugp?2->?Jx4^J%B?&{!(|6ms7gn=srnsLmnOGFx1vl+Io{g`IPVflkm>NDgQ1)cBQ;e`a5uf}7XM z=h&b4MScT{NsiKJ65CQth6^*;{bJI@XKo*;=8G%yN9$t?Kle(x2gc zHBg^{#-4JT^l`mchAVUNjYj|OY4SYC{dJlo+m6FnBN{yHl8?o`CT!dp64YX!Xme@z zgw^Aw2_C`uIdUih4&NYxdV=vyXGr%Z-x_4MKxJB;rB#blWQKJCBL?n1?A5cx#eLcf zn2Gp{CE?J?Y~5LS_jG=N9Xd;9y1h4CcH{}Mg=2+LrUOeqM_ff7XPzUOeqsF)de6Bu zD4f3r$)0oCnWqn8Rp-d(il$e=N9V~u8b#?*@Zm*rRZ*tL7cBmY%-1LnWXSyZWicf_=do?f`CpLr;%f-7mn%T?aVS$T*ZM-6F8{ zDvX@PePO(R!8eylJW)RC%dYy-aKHVXCFgt}O5vPCbD;B#6gKc%(#>`AAMl{O>6N?P zfi1m4q6-dwO9C|im+X|q{wF(I`V<6zM>2`hvKM=^ghcv9#;EMHO0u)_QxdycLiEm( z9ZTkOZ0#?kO+oSva#^Fi8&?p1lQ=8NlGdzUDH)~o>B@3T;Wj#?HM?9&#wqtB3)=pO z&8s1s$KX7elMWZ(iOQB$GaF?%!{bDM+)n(&z!*eCu{X2pc@XB7wQ zT2{``g7vq_1&xx?pNbYt!_Uo@mt|FARzl-GZLksfnk}QQdC#tOn zBfG{~oP;qd7{UjcnYHY!S+(1Oj6$y$w)rDJWYuv>OaGd8md z(te?i?WiJMl>}YE4^`xEMe+7x-~Ejh6|}OTr)0OHk7b25*tBrxDMm#9*o`&V3~cBq zVBM6Ujs;I^$TE%cRt#J659v#iW9;_SMN)7VoOwq4G=kVI3mNIEHo8t*e!IV+I}MJ^ zcNW!mK(;2dxhM^6dybTg>W#X;3c;kPtAXmD~Z!$p+)V_S7iO7sI-|5Ic zccllE=W2Et-Ke4@{9Q29gI-pYJ=Fz0brfB>!xMJEoBrQ+WOjHwvQY%s*EZ+zF=cigM&GdlW)PDT^PoL7{Y@ zvf?gVA4*3nZSNM`52Z~>6WM+LyB{|Xr;&2_Y(dV;_q|sPM4fz`)j*PX*A9QDC!7t7H|J~hEl<8Stw8;sUo~v=E~TB5*!#r4E@LlsrUA<2$1JZi`b^AYcDyrP8R`6U zjW{I9i6fKTQuxRB@CuzvoSnf(m9Q7P&>UsRPlAd+4db^TG54;tlk(9c z_FPxc$tkN(CsX|rbRsM2(YbP+Jp#5;RLT~0qkWVkU$c|lXy-uTj!~gKBs?ao5+XxQ zMMfnVS6}4aU>QW|3mGh zN^MaIYtkM4JMJr%(49_fvsF2G}1{IcL0tMBluh0k`p^pG`86ppT!y3?RI z)q`~(ANwWH#1$xX02c10W2>3&t8-e3X+Z- zI8d$2cW6SDs_P9-ZC!Ss%|N6^K|j^VeV3Vc%)@l>XgU4Bp1x1rmP+T4(};}*%$n`d z1hdLS5+RV=JwPH@GRLdoCl=q6HjS-gBErA}eyGoc33HwC#XR6z14bs_V@KE0rgE=2 zZU=Wv%XH3pCj2itqLo?wFNWk+E$ABGS-L2-hnL!Q;WG79^-`1GKB|+FFVsnFnh_gi z4JZ|)4JQ-+J6f65FY4WU?Djeu!S-1&X^ZQHt_%<5VZCTGFI5eP0xFKn&2waZHqb^a z<|K8c-Nbx(Q!m;?;1&QEtIyYa(YE4K+nYux2hX$U-ZV^6&a)A{X`u4kIcDrlTLSI% z-oQ?0`+C!E_$ddntfQ6v0^8Z#k%k7erI!A*!k#juhS>QK`_)+f!~GiJ>N7{qyFX8$ z&6|A2k*BHg#hH;g{i%{uTHKk&MGQOuVN{JiM7 z=&rP5VMS_+`B~0g>2Fq5=Wpf+fBF#aDe5?3XwD&Fmct2n(!-2p_o2RSqE;;?#{jO)%xJE~~->Ff3y1D33jcy?4YP$>IPcK2DggWqHci8qs+E~HqzV72`K$a*2c=`lD zo@q?84g8bqC|0?T&*rul5UI(GJN~*q(U|F%0R}}+Pe<}l?dO~!E`Y6XG zN&w`&T-IrH7wHu9W(iil*4NP=f?Npyxw!9Ya1v=xX)<8@`qSpVCoa}l!n$!EiR+K* zQzNcPYby6RJlE$NaB1J$fcnq5SI;DZxw&)&<9r(0 zqdD;&*53fZZfCg7xQi`$hHu!WL9}a7o(O*o*Qm5}jt$+^K0L<$7(`nrKVD^x2GcMX ztH0g7A6QR(DhGdI>4WLWCU>v=i;<=G)`4x&hQA(64XzIl*I@0B@L5+_yCLYRh9kfi z`=7mXh4mB1jtQ%*EHC2_+Ch2cFxxVO#tl7v83hE7(QJg~R4bX!i46GSyhoAVXXgND-P-g{8CLS(Bpytl8R z^-m?qOqW5zn(=ke65xiFX&&XA`wje)e}}}dwt{y{nddM%-N_$)3<}`-9S>W|hSf#~ zpF82iuj8GIKswDCQ(-5$PbRYokEkP1dW(HKj869Z;Q&;-VUMvB#;d?Ff2@Kd8qXbI zLx~YTUFY7$4*8{o%}S=NSyd8ES7x1Jqo1dp+$Vf*ix5yEA_TJo&(oR8&LY+#nf7+i zgA`Des^`8Jv8TEF3y7T8U%t+6C!@>V`;KWw(t*+MVhC14#sUZZyN7v{4!4EejV`SF#?Zb>z=v$!7#gAL`!QM{hK3v5{WItk zh3ms62hg0J*T%5ZV`wj@YnbLbm^!kr#?a{Q+VbhBP`H$q`iArQkRIGawAs_{#rY${ zDIbHL{`{sJJ;F^x&HcjNr!MUgo~4)^Z?p}lVK0rP0fE~EF|XYB(X8@4W@C-{NK?cw zAA5#vA4|iB6h77J4xy(wR5a(a3TiABP4~be;gESIXHhtIfSf2Tx!HD%z)?i1J+0K@ z8dBpQ;Cl?a?V_3JCbA(?TyFk?y*iGzj~ep@s5<=VwWMD-o$3|o=kP$Q!|!?gRZsPr zccs%*uO)?3y+&$7AF%Jn(IjQ%hb%IUwr^dDdD|ne(LlV8i9ji$7nf>d5W9G)*QsC~ zUK|lExbhE{okmlFoSR}uDJ(<{+lG`~XpBPEKE2dnNE!I=A!RJag8v#)wn6k;g=?Hj zs{VM9{}G!xo(6T3uAat^M6b0E9)(|lVllsu+7%3lF~mx!S_~%`JMJE1h2v?Tph&^> z#*_89UTlqY34q1yqYjHYl>vi=YVqL~8=3J&X?{tA3PNyN>s($RHYJPe?V<#(5r_Dti zkBKy{8G?mNhB~k~Tdt$C*l{c0Ws@h;1ZBW^_Q6Ct&`QeJMrzc%%rcQK3JOgW8^FQb zQ3q*3cY6;V)&X{Au071yBs$Kc8vWBM+xDH?_yP?{Xn{N%a3$mp)RKXFqSE!esVW(B z3m0mUi;6}$OM)D5j{5u{KI{-OHZ{lr>jHroA~2q?rTb`$DERLV6xHg3zKQhVyA@k# z+tujDht#D?&asbQpiKk!fKX~hncSe$AHCh`+PmihyZr)ftlNvSwLA9SJ*v(WnA}|u zGnsaEUye~$6-7PIvU!u~MCZl=(!Anz7;~fKp{wpwP`F3-u$U>Z(pmIsKAmuWv z;nOh@IZAaqn;H=Umo(O42KC$63%g}Yrc;kr{~Pb_`?h!sK|#dJDGL#?u%qw=jh00i zX+*+<-2w^D9#5{f$SmV!_)K-H#Acnc8&k?4Vk9@M;PD2AYLj^`@@q%0<@3+5RYp2` zcnNxk9ejsh5S>L*xl@lyq?L*>1p5l=;n(u-@u}h?nNhXkyqR!m8ZQ_(gX##5)WZ%_ zdQI8J3i`bSJA{(BpZwsWzsWwCOK&?*@Z5H^Lzu|193%H`tLL8tzAIIaW~d7ste!;&2>j_;^g$~jpw&~g zQQMfz#$K?NsMnSvc}Qu|PJtpXk7w(%X_w}DRc8C8tG~g8>Tkqs^|y2O16GkugIv=e zOWA%%Ux}S1G`+j7Qht{RxgRRuQz6b%Z%*|ZeNn(-0DC0ABipW%v{L^9{KM@J*hfn- zq$X6dOG{x#xblGcETfUn+xSq^A6Ycj%W&$E*QqNGQ@zfdf+FW&aw^qUgHZ92anNukly#?oo;NBhF&D!?5GyQTBkXUPebK-!3mGT}CHr6#Y|{u$;D6#yn+n zmP5wi`}5`KGWh*{Ic*xI$541ScQ&*jQtWym^HVWA3Rv-t!W*}5ww?8qwaleMlx0uZ zyjC)(l)2)j zg;MR^r>xsbn(rotTd}*#WBV9(WhDsfYFKa{%~u>Zu)TS7+~nPFV&E<28_nY9Ms)ZX z43Rx*w7MG?Zv0bvLojtKI2zxZek$8~NElA%ox9~R6o878rP@yaLJYSdqUapvZ@uNw zPatlD5Sh%btfD=Xv{lU0OgjX=Cq{S^4$(M|7wh#H=PR^_|6!xeG|B5RqLm9DE^O7V ztkJSVX4<70UUU^>0O8^V`}@_GM7-Pqj{9mF?eqB-A&|pF^>nks2d}1)jTcIIbHGaz zt4o_zyo5j`!tz$r&P}UDYW-0o06Ns-y}SA@5N@odZ>!wOZL8KR4g}ZdwC{~!=6u@R zDH}Qw-?yB7kx#?oj9E37fvFhCl$SkmV%U=9HI~vuXBaeIz)z{x8T6BJz9}yQ z7G!icI#=}OTNg9WHMFS`x12?-p`psM1#H+F+QTnH3na{Saq0OX8 zOtqi58Tc-wgTu@#JbAz-)j;$adb&863kD*2b;6h}b_0=noq8haXbmniQg}C@%dE8*@sKss`4rwlyw~OHpsG&bbOqjW6GCva&~Nf)q3^MY5!VW- zdlDTmwRJam@DpOo}u0JFaBL^)%S;>JkhhT@O2iV(GEJd!-9ZRN1*~^LpAt z_gpU6N2^fxW_+=N@%6M@lS>dP*0usQ%GbJu4Oe!WS@$<-GiOn;(0RwR+uJpb*t|Ds z^UkHB9B|JHABKTXRY@E-BH6PQO~kR#C@mL$7&v*3I8|z&L>2{hKxq%zF8=&jpH+utZ7Q9=O z@!u=Ksa0thi*C3(!8ACh=jLd3bOVi1@Oys)4Iyvk3Y|723JGxcd0+us(r)*5E7J2F zvym;^CM6po7yjE^mb#HnYq=Z} z(y`sR%=GScnS&uvl9I%7vH{r@(&hF~WvQv9H>ytednM|YMmAzIuzk zELH{kzfGT4K3U7&d7BPOd~1QMK6Cye$jc0Iq(%~-Az-~A?@YdY*)nO(gmhZH7}61Ok^QlrZQo4$F#S-)lfC>7#ezyGR12}~(O{kzn%_4d#Q?7mXFg~R zv%Eti0(=*uSm%Xex*?$YHG)<(AF`D7*hE`Ky)Puj>F|nx6rP1L!EJf!K_7fR3aD=Y zwiQ~_&3i+n+k;(vhXyrBGBUq!s5QyK`Rv&y+9}8pSu)RyM3NOsX^BX-7qlsnY+N=Q zzL~a)dP4{nHQAY{c6+klA*-c*L+g^A|GG$asNZhXuE{kar#g7iLm@ZK^vvF9rrAQH zl*3C{yDhL@ZePL%Y=IqX@e*d-LZg$ew8c8gY3-{+D+b~&pc{YO3KVsveKopND}pLI z)`z~*%nEJR0E+RaP~gg6_S+UZSSg;)Vz<&Y0pX&Ca_;_9Rjf04S0(B~O>V|e?zx!V z*h)WD_L1>v^leX}hfpFE2 z0DCLPzsA+qR4Ttz4YWO83wvE`!v*w0trNsPB?I#k-EStkrx;4poOvjs z!0{h_RZImUCQN`5_&z99zQTKcXS}O_1Iy7tf|j zF3P{gg1yM1)I?;<5RxKt3W^rG$<0IvpvR?&j{!u{APp!hfktm0H&#RsmpQF6YKw`1j0Oh_ zh;>7%bnw`**N(D#40HXQ2DcQD`Y1U)MI;9k!L$mFYtgBgraf5*=SUh7CPH?8fd^kd zS`77Agl;N0FmPY-1EWFFEG5u8r>7ulC$Z1K3PfxH+__K0-he#I*!z)P#QsqHsIdd& z;&r1h=ozJ_p8fCzjh^nMN10TLqBh0Av|Wp{9w9~5-q{C3AXI~xoI;wH=**|1PSDs> zNp*H_hs-?{-pPC&+9miLA!{r4CSLoAR~!viEU$vHosRXv3^~W_EDqV!vONdTa6?D1 zCkJTPcE1g`Gtd#c*ulX2km)J|eZfFpOl%bxFbED3rm%4bX_FS=XuPP!X9nIxyy5&0 z_2wyCa*K>Ix!y9n@<5O#1=Q8&lgSW3S=8(#2B}H|-#VE+J4jo`&i@yDD!!2i+dwWW zxBPEN`SQle=v`*i081&L&3cH%h!U9DhvIYqzJ8cJBb|i{0Zyj0Sh~tPQ2pGc8Os!m zmGKCWNahtUu>A$-Pv5=3(hkvxj$eKWva*R;GPO_;Clrh8Q!9ofCkrCDMpd3YAQKyi zHF5s;P}b}aZ5&xgHymv#nU8uwmR-&{8W)ne9}Bu;ClniaZ<$JLaIfb@xmojtmJi=P zoNAjWR;dq-W*;BIOnTv5cKJLc(vvx?@(|q~CK{yJxP^<2>QoyU)!FP2uiZC>?LSQ8 zn@h=M*I8Bl@Esw|>@aa)FFZS`D~pEd8>@i{M`#Fs(vQ$k{46~}Tl7J0?1gUDk;V4c-Nh#fL=WXAeec;#ufXnws!88g{YDh(E+b9V04CX#m6RO8CEF zA3uDQ24~46Wdl$j4f;6z$3#cwyPn9iOCR&Q7`EhLxmQ|1N;K^H3JUm+jxwIOuT|d%v=5<6F3j$VLI*5^2exqx(* zew@ZDx^%YXIFxPt79B^c$M5&YVdn5nXT46)=ANi`sDfBV>!b%|HtPfpXrZ=jNApjy zLbJ!Ypag?5j<_}d1W_d}#Q_mqiWB9CMMggm`r!l(YQ22``k*|K)Z`{SgFj1=-2rlG z)i}hKu^e?{RcYui5C3HGC#g%;E~6M@#7eA~oh`yiQ9YB*HT+}b23t-c9t%ywgc~`g1Wp3MWScDQZK{MR9EVYZKZx|a9yd7K&cNgcNSTSy*V{*wBq$<(aK>c zchN;exf@`F!u_RSF;8NNQeOckWM>vdABDPW#SbBODE6s*W?h<&mr(5PschXT8rXa0 zbM`X6i}4qw8z)D2(^)ljY!?laW!zUH$}&E#A_@e?PhoPsa8io7-b9m4~l7PrGFoGwU{6K+R8g3!B$nU2oOHmz%*xQM4Jb_fQFZ( zo$^(R4294q9Q!|vR1HQmu$fl=Q(qQ!0dt$-&s&W_;(k-o24BIil4e=zm@CNU z^sI!qwaBptr-DkKC`)Gn!(=rKEzew%ntL;|lfj5ni}=uZTQ!*i3@RFbGDu_&{ld}w zBaV-Tcs1}nNq~(9xoi{;#L(FKdMmCJ&|SoE_#%+%MpCdOYGJg9Sx8otLfHZ_v)6SL&9aUv3L9(?y&dwG|sc32AWT1@`pA@dtOBgxz z0xx1vx3NDS4A|0_MYDd^GVk#jS-}oEz63pIr(j3gW(n@O;g?X|kaJG_=T0z*-G{PJ zr@f%QY;~g=a`pU>=<2|4EJT1TTaGc5MITd|$b5=w^we`lC=)pzGUKUslA@;?3I5N3 zxJ}3yhzXv>PiUk&g*sqM*Qy&>Ozz?^S|`0~5w?a}BE+^HOGK!AhRbK9d`72di2!lo zyd|QOe0G!19`czWpF-oYL=2SAq4KGh&yn&uT0Y0gXS#e&md_0NoGG8;4nRwUNj?|I z=OX#cPIp9Oi&!o{R?6pU`4lIfS|Z+*&$r}rvwUus&-dhWw|wrE&wcXwg?t{8&tvjg zD4(b0^Spe1DW6y5^BSI6mWUGhaZ5hSi4c1;gph3u44qyy86CgXn?+xy zl})Rm+Lf1g7FK{S&BN~DM6tU9@;xA|_6lt(kI9NXqh~)}0nuYuXn>1qK-A~qDBCNv zyB#6yDwbX?K!6#uAn+>PqXf2#t+6EK4-I#YI-hgfi4--x;8v7c9uNx!_LAbqD!-*2 zn~6nL2UA;g5b&OJN7zyyc}3Ik3&p~UTaa*#DjM$$s3nk8=q;LJoEzvfq#*e_I@M7L z`={XOP3q{A74?AX2K-5NtDjKasT!)={Rh?Udqj1ARZ(3OzP<4sfbTSXzxfnC<@c#> z=|ieJ`xn*K{!Mj1-=n(UE2*wMzNg@O2)>i?{nlfu`?{LyzNnzOV@N}T@2>a`#&>6Y z8P;Gxw$K^pJ*Yjp>l;dO)W(fFqRTFKgw50``Aw#>d~wYblsQz;HRDG^n1-y z)Q!$=Zwp|n{IvldgBsZ*Ykb+K{#rkeR&}7C8nLVX+Qz}84s;Z+<>D9|>91DFe|^HV zjkOCr3nYDUe!T~ubhzHdOhz ziuDZ8hGebvw(~N;r^a#u^SrEz4EYm(cD@gPsV=+~!YhWE7e6*{69;WzFmIHPlL+(I{PRV?LE;f7+l>;(k->2}?P_svAdi6Rls?uE$Stbg8o> zha+M=q2fvJ#bLVmuTeB+FFOl;LAzo&u5YmUL3<_PqLvl1RA2zCh>fc8I!Hs{*a&~d zLzPd3i=(;H>mb4B9(F;Q%vxEfWN%?g`n^Qo&@#~5h_EAK) zQq7A)b1h2(v6pUH0uw4KAtAA#@Fd5L$#aqwO+hMjYe?yJpg zr!11+pR$cX+BihG5~TIV&u@sQ^nS#e1#1IHdihfp7p!eP1QHeUG1!t>CQjwEWR}1d zhlX^GU;0Jx9AGY~!2Q2Cn0&Jnn3L}*e4ThV7w1pG)@1AMHRJ!&-us8wF|7~ZlOKCG z?Frr0w5rlJtiPMsjmDdGqzs&WW|Ac&J9 zD1ss=f~X=Wr-vY%9Lg!)&)R#3eEUA{^<39;J%7Ht*WJ%rYu1`svu3S(-RoYHz1jHZ zrSuvWT8GEm_qT6jj14rNJ2}uZsxlb5Ek_FRE@Q{iK>DhbM{>0J<8IUg`^+A(`=?(w z_lEddDc(O2s#s{_;@pg@kI4M%f_`=DuFroUL)kboeEii<@z+%;{OIV8Bj?dDsUs^J zw@nPr>c}}d@L}qxcMg<7E2c=H&i#H%{UkLwFhdGG?Zi_WOXmf)ryevhak!``@LgKb zh5pF?rO(WO#kYf4b!eE~weXOKLWNtk!crM%Rjl-D1SE?ly7wme%o zOjFe}&kQTX8+(@p@){36H4tb_IW?fBNR2-)3(RbseJWarqZx|>*^~ZQwR*+MvvaCe zt;(rbwesxvd5ZZ>kd{NF(7HzVR7P$q(Iw-EM#URql62HNc**qNjmJmFFPa|=h7MJv(0+2` z7pDd$XKo}uX6MyFVc?;AiI&wYVsiYNFh>+)F91B4-I6N59w$T_4jZ+T!~l<>C9oGD3%9o8}N?7*l| zu~0@ZR69%hO+0quH;bHLvPe@W;S+qk?ty@!o&LrGdLf z?(5vl!$L}sikln1zcMhdvHrwBcH{gL1M|l&Sh`Z0x9m*mn5C9!F|7bV&LfDoMSM4kLfs~E^vF=+!}t8Ml^zYd|IfUu=tjC5pGR}pV?0ebtS_^ zG)!MId@bpFlHtcX4qG31FeRov90&=W=s@w#RRI()X%#}D9ZR72F|{(t@7ziiP`tcW z1;safSHn@T7XAUQheD4wK=GFNMz}9*hWt!~)CxuA+u;~VibLlR9E|?Fy;T+flkAyp50o)1a!G3rY9E3;1J#Ya`Zx4hP!c4dbX2D}&HY|d< z@FX}3o(we@TS6e8z%p1U65wK(LMJGJsjvd3!D^T;;`HPITu(d*H^LFH6=uLrI1-j` zqEEnX;+b#<+z0l1Y(8B1gdV z$LKsT3yy-hFcWG}Xr2N%78b)SSO&+#DmW3=!bz|R&Vp^whTYJEJK&M9AD){*ch7j7 znxL{Kz;u`gM?e#fg!ADjxEN-_aySvLfi`S_=fY+vCXjZ>x0*;@a0KjuBjHXs3J$_d znEnLki4n*mV8dLPg6h*?IxK)AU@;sC%it(j1v6nSoCq7B4clM}Dsl@P3Ae#fun%U! z0XPv#o#cnvFqVSOoJC+Hbl@mh2q(f4Xu~xyC5O%hN5Tzo6l@X4;bw6>m)+55X<432uYe!an#q9Dr{Nbt^p`2)zkH@E({0 zAA>UNg86U0-v)O8hM7P+``SQZMls ztsw0pa0%QEJ757BgiVmO1*HK?h^NC`;$q^_;FYk9bYUYD5T_C2wt=t}iizJYj>GF< z6%-RyEqnwv!24jK(EnnlYbN2Zu!<9ofbGP^j8;uN19lO=1NOjI;ZE2J2jNRF{h2`M zZ!il!4s+r2P=oET0KNl@;Wk(X7s9G%VpwnlYDsuYkPD844aDDo&F}-*4&Q}c@MYKo z#kZL3gwMc1*aOp_#TbWK@P3#JKY|*(9u~kpSPY+lWibM;5vYP6!&>-0Y=9raX80a# zhcCclp5;NXi@2Dwg|Q)wksjg|u!6WST6PjI7st7wQE-rWA#CONY?%HWPB<8AAj2OB zWRcJSbK#v(gAc$0cnmCt|A1w%6V75Zc(96i9Tdih0c(kiPQ8)yX2J&I!We1ixUhB%uomW2Bh_`@kOJ$HHm~=E0rB&w(28DR7YZQYZ|{ePMc6!pdnU zKALzI@f%<+JPvk}F2<=w{CL>Rc@7iyUjYfLN$4U$fyKnvz)bGYf@Q=n6URBh7%0pp zA6Aim6|99Pz;4QiVFU5Cu#EV@u$lPTu!MLnY$v`PcEM{zQ#Ej4ChQ^MJh&77847#N zg@eSefWn@$Vfyo|?qDb7WRXt%R+tO_1T}a8EPy9MVNve~i;3R|%V06Ag0V&dJ!BXQ zYe~2o_H$w#HW0rQ?%;S9Y$kpZ+(~>KY$tv)?1CF$4_q&f!`t8>Y=OdL9}m-CK#PiW z;`_s_7a0Gi5Xk1v9GFXn%b^DEh6V6KSPVD9bSicLEF*p@EF?Y+RuM0QweTs}0H1@+ zuno4u&9Do;0(;<#F!K?{|3m^iNhpCr&wmOBi9ZYZ8;#JDa2C7^&WAU_EG~Q?EF*q1 ztb(V(9@14ROInCd2MCSC*6V`PXDXeVJE%qBxN>>_?T?13v`F6oot zPU2?>5|6+^;?>Y0o&(dj20~}TS;Qy9EaIhb2XPJN65j;#;l=R8Dh^C1P(s2ASOHhT zYM2Js!%yHwSPxs_-(e?w7qw}6=SewSe}+ddMtjR zcUXb+oE=u&B_+WLW6WEy=K`(2itSR5au5L|IXx++=tG;lj7+ zVdA7qh?FM}h?;IphD9ZIB*RA$-kl7K*2;S4_X^2`=Sj!MTctP|7L}+@hDGICl3{WF zt%M7txzZe=VFr>BQ6T5t!~s#DFc}sFDhP{;iaV$$e6&;?Z@G5Di=<<@G!J`NcrY0j z$~~u7=-%Q)Wj&Ta#h&XnK-iahHS1uy_Qy?4NuqL1ghf+}I~L#DI&tXgpZ<) z#Krpwi{31nbx%CJgj1uccKn_vXIQv^u;{>|#TFBuFD;B;yfU7?L@E@|fBjH|a0B6? z3$zXkcM&e43Zj+z2#dQDHqrp$B~(+~Y3KuCHzoQ4e>U)2df~A2a>B**1@UM_YfKxu zvjz?fg*Ou(y8E{GJ05>6&@^H6oa@s=FW;CRdL22xAzk?1CU;!<&%oQMqs5kN=^uh| z<4~#$#(k9?amRjR+t-2gF;^UD-}JqgUAXz0F&%gP<&_IkI-dVJ@aL4n79SoARp4T$ zF28+J2-PIh>XH=s`1Z4bz}Pghi_?#rt&!HXSJ_m`_9oMI!lCl)h`crs7@tP|MBx?+ z=irzB?WzPsVJ(@K4~Gi3Bny*2UN}-s;p)8#r%|{*nbrh{pFreK*3_pd)pPFa@iY2NsNSZ^w;rAe_QIt$8-Rm48fASm@OSD6Q91LyT>l~sT z+LCFVaHt&$Ly?ME+z2D3+)|1!;?u`9&G=5f!LN zrmcZP6{tv7fc%LHY@l%aUWG*kwkFeh;qVHG{K*PXEPjr|I!Vi7^Fv&C=p(vdUNTKi zQshf^L9!>V-%DD>US-AgYm#a8aCkQq`IFbDSfT+k6yB)V>l~s1`jTn=aHs(?l*AJt zf1>g-h4b*|4^>=HRNhIZ6(lM0B`Z(%#Dxn_4QqCyV|4lnvla&twb3#GXC@%!1x6lvmfYjPJTYrjN3ah*KE z$?FJTS>hwKl?V;L&}4Rhl82?s*c}$(l3^#R{QX3~ROFF| z<;f>J{CYyGi9Exvb74f97f%!io@b*@uqt^HQSmy$dtXdwERk>ML?ZIp4c7&yq@Vp) zDb!e<8k~?Jj_0gT#*UeCwG{FYkt#lSvI#7hos~F~xROkGc)t_Jg>DiYx{~O3Up7Wl zf(HiQYG4Pkq0veSP7MBG3oj6CX}l;UIC(kmTgk#wr%kfOnm)0Db$OIYvqgolAo*>8)v5mr;V3+$zWRG`U6DM=MxqK zsAyc{^3>q$1?Rshg)Tsb${aMbrAa=KCd%{>9{wnVeig@t-`75VJBq(> zP~;JR<|;T8caBdP*2dYV43GU~C>9nau3hp!&$M-~Gd;63aeNbeY-!^IX~Ajf%Btb# z`|tmVb*~(L?D@*!vC^T~2yx{bSEV%CDZvBw6On^nNDU2DKKw%Cru5*neJ_3S_q4yf z7*9*f`8+jVNSMJ=>KCc;78)wpy;t3re*Hg>i`RfexuN`{`coS(P6mg_{5QTum6Be z)!)a!j!TBeep)v?)^$}f7C(LFb!qV$=U#D*_=%I>Z)NXWpR_(%EdG!Wy7_AyE#Wp^_2*oWz%?hoUJ`b;s^%}YIW=vA8ACkNwGlNep` zDT??;qzU1@W~qI0$2ETlo|)3PVKjeQ)iydVE*<}J9S@`=nx zijWed9H~NTkXob;X+T;LadYCcnQ#}f4cUS0LIx3OBNs!mky%JSvKXmEYLE>`Gt!21 zB3n1&Fz6xBhx8-6k@Q=sEs~AoAr4ZElp$L=UIlBA^~gq~9odTXA-fT26L*c|AVrAS zm=%>4znVC714EP=KiEHb;F02;0+D6t^M4SJ8)N&6pBfuFiTG_s@vDsd#FjXCzzFdJ z?ez!6Bk^}n=5_3z5bR7DmHrYpIv3k>ZsSuEgKzRP-oa2AU#kAUlUVZ8PyTZ9|9=UU ziq|eES|IhM#$OH$E{ch-hY>zD@!c^KA>RoTck+pEi}-~O@> z6yN+JJkNzt+;TA#W32=VUtAd!TC^PIzzQg4!Agh=zD!y}fUzOfK;Z z1DpVxpzx=*K;cJigVW$v2s#yc}i+i zRpUF8gVO|mN^@BH{HNyxCyM+RxTUJbuajj)O-+3r53h70@MpBmrrOAkcEJDsis*oC_ z1?fb#Av=&Sklje?@}Lw#rXdX0U6GqMfoL;8{3Nc!19X(BQU@sJ{< z6j_a2hHO9{K%PZ4jmOOktQdVLw?6^NK)kYe;$hP>&kV*JUi|kH?J1RVJA%ni5t$p72Cths z?*DJ{|2s{-Z&B(|%c=^O{;_KA>eZ`OcWj>?yfLMtW=60km~vZ3iX5y-9k(th6$m3U z`N^maN|&T`@DvYCxqFKmOxZ`1RQ{dGzp$h17$unhHenIV3PuA|$$Cy*i=c2Dh-;JJUPja`p9o~5V82@2^hyS_% zwJ+7MJY=4jE-SJw&yg3(Me<_#O!;g%TbZWhDYF$#v6Mwhg|b??TDe!*q6EWc_@waK z@Xg^T!aKr0hbODPTB@#7Z&#mJrI?nh&DBoTDz(eCo3#hEF6}+-Yb`A@A)-dkj@%M? zJ(8vy`nmdT`dj)4!!wRF78u7Fi;Xjk<;HnNm2t6gnQ@g-Z!{X4j6021qutnSbQ)WX zE@P|FZEQ1oj9z1h(P!*5b{YLf*tEdv%%bCcA2l4u|e|}GdDUrS{$v8UJ<<| z+7kUfT4~*E-D^E-y<`2;`nR>)8e@;Q53-lokJ?Y$ui78kgZ6RGAD#D|5pJG)v-?kX zw>!g|?=AN#ylSt}d(+$Qee8|!NBiUbv-}nQD*poiVt<`q=U?mJ=-=u$`}fhBkNeO1 zFZ=Jr{Ez&d{ulnB|BElxvu8uo?ki80XUm3spZt*AAwMZUC%+_bli!s;ls}XE<$udR z$*IaHWj|$7yurhYqa3RgD-SAv-!G(U#r`IqWsBeH zxA{^V4g%_uq1~e0p*^nkY7-*?eT<$>$80j%jQQp<=J95^d7io2tTV4R|7NzB_nQx! zTVv*{=9}iE=#1!D(et8fq7O0fc0_m42`5;qta>_PtM#JQZM|WAWl46x9%UbFTefc( z*k{;P_FDT=d!zlZ-C=jypW46LL1%(9)j7;jonxFO&T_|fk93!N=Xzgz3&haff>(%2 zmdRJjYn2=5F@s7hHJlNi6pn@$GDfcoUmyN^cx(8*@IZLAI!jxi6=|hflh&>Mps%w3 z#KrD+p7cKQrEPRnPIQ3$x;#x;X547DGDarZH`ou_o9zbYLib`X>_6&v`(*0FmH}yU zhMXl&l&8rvWthJ!D*BsOA7e_n@d5y}+{U<#x=z(GI#%w~^s^faiGkdb+>T zztWcm*ouu;AR=ER`zWL_;WNT}!sn<@tB-22_cblDF7k0?vaaY$^*5uRMhBw-YrHkx zGOhX6Db{l94r{wL#g^?O?33+s`vSYge#`#a-fd5Jbf?%k*XeQ6=un4o>3p}0ZdL8p zx!1ZI+*{p#*YQsFE)=c60;q}q|14iGcQcG*=x7gWo!YnBf3zR9pS6@o zAaa;~q`pj_#bDirrn{E*`QFTl&W#pD54Pr7H&~Ba&sZN=3+*-bo%U;XuQ$Oz+K-)p zhFa&Z_aznqbYdyQ^RXCC%j9bLa`{d9SNRW0jxtBNO!)#;l1|S^S4XL)x=FoXtk3$8?Y0rg!L1>96QL`flAbjxgq-z84wC8z&h{ zjK3RC7-M4QaSV&g%^S_<&2LdD`$i9pPL1Y8ABoPluC?yArqS#V+fUhVqjrPNt+OYeTV+NKHfOQ(2YW4ES+j;^!Dge(dU>2v#ka6 zgKFzKYYW5hJ?4aOt$pnM><8>_dxza`k8!3s$2pfe-#JALwLf|5yxY7U?|lYcwSTq$ zssCT`{N)sBBS>cioFlK5d*n2wP-##ejw#Q*+f5)f?3Z8A9FK@sY)P zwf;B#4&xar`I7Of@rLoX@t*O4@v$)@Iwv|WdPDTZ=v&bPta9r@>oRKxZTLNE`4D?^ z%zmCm{LG%{9O4*Gk#n9??`(ALab9*lb;h~}yNliR=;?O%d>XUPzuv#izl-VfA^#tK zr~i!q0xISW|6OK=ZT>`->nfd`cDl_}xN7+tT0zrYYV zSdFRb90u1Sy2@I$jyt+VeOr59`%L>%8yh(wk{g*3IWkflc{$RmN9etU#wnN{KN`Op zqs-Cf!KP-;MX%pwerWz^deKv&tD{?f(;!D#pYsT&qB$IU1-H4&-p{$u>2tnxzIRSV zOML17@W zXof!-_Zd&}U>2LFQ|W)1u^-Hl(Xr9Pqk7bdE9FJiM zeQf<|on~L{ednD_(^KQh6iKW@r^;8z`y1bwZ(9F#WRYHz65me9Pzbjr!Z)A`r7bD( z{b@x$SXmivRo~S9)h*=}-Ysa)N!3T&RpkcX29c|6PW?u zcRzAJ#Yp?o{l@*b`-A(ecQoegasG+^DgJ4GY^lFY)VeRBOmZ-|o{*o$!N6Lc1X_T^agwdkACccR;)A4Wfk zc3bD!=QG8uwJ)*P*_Yc_*(cFqb~?M9erLcLbap#?94ecW8h1~pMFx%C*1udyPG$37 zlD5kqs;@`ij=mrLIQq}%SJ8h*e~e~YhggSNv#qeDTbAWnM_BVvXN#=kt@-wL`!px^ zj#Ez4lzHEKYyIy;OXR1E_p~iFrLw}nd7`Fh(=qKY)T*`1v^wn?tpOvyNxKW%@?mYP z{;~dG%(%o{h+-gjTdJ@Xq%+J)v&O79o6I(Ii@6O`bHJ3Mp=eH2j^@)rOQV(1nrMBr zDcZ(h+lJm7h)Pz-%CTfC-zu_7txBr~%c;qF%i4(vD%nA7rbE$$o_(Y}-(HE`^st@c zjBs+D8BXkQC*mASM>*U1lXHo4jnm}Z<#aeNIj^IDzNfhj_XPJ8_k#G0{)qdM`?}lb z{>S~ro#N>j8AaYougbg5yT^Ob>&EK;r#HsmpRTpqU*q56|J{EM8-IuY87=z*=2xmz zk9nW4gbt7omJgNn7^cusav|31Y4QqrB^F9d{;OP%0{%M+_+j}ey5j3h7kwBF-^$-( z`HxV>Dif4L(G8}OuPjhbz?4{~tYq%1QLa+1!=7kXT9tn&PqPwuL)p$cpkMiq^0P7` z912eePYcfst0?k$;YH!abnDoP@E^m~;o9&uOhLCX2|XNsJlqw2HT))Pwa-wJgRIz6 zF~;i9j2-HC>W}IOZJd^kF*Z*-M)M*UM6QqA9choG=(jN6?{6GyoNRn!{A{F|hnb7b zqcLl*WhQNjK8arJ$Fjs9c!<~RRX1ep4 zJIdWP7-JhS@He|#S#<2eHq7uQczK@5f^D%UZHuK!yLl#JY8VmD437!dhi?o&65fpQ z^sRqajfUF{R?EA2ZB zvQd%IDBu|pkJ)2>4q&iX;xe?WMFG{N`vW?08s~E;oiXOxgxm^E?ey!f1 z-^3uhLvPXV*B{1s>eQdnU%-IcroXLkN2!cAvJKUU8on{tSjbBFWaBjBEMtYS%D8|f z+B)M(<7(r2<0jU^53>?}&Uo2))A*3p?>EMOj5#bq&N9z2FEp<)uQxZCPn)lpv5(DN z=AfAw9TOcNb)!c|&xkH(7W)fNts%M@3+N4$)BD)O5;pN9Ylbxk1+tKJ-leSbZoxo% z+Ul}ivIeX@)_(Q@3^W&m?I;G>MRq+3{SNyHdkb^lzwB@9REAt8wo;yBJNc;SQ=O$w zRm@q7>D1`l;XLMSak|lU|8l-|#<^2n!}Z(+?wQyt74G%!ZCHJsJi|WsGxrO3j5o~i+nA!z=xQazsUP3M`N|G zSMJ1Ie^L30<^;pRF#xRlp!Bc)#->QG5Pd7d{GR%F=EOU~1kU0b6;vw@{^xqGx zbOO;O(XO~||2mp$Dd_Tr)+N>vtOK92U$j55-^99G;Fh>cQB{4k(SZAtJIb5o<)hk1 z_{XA@&h=xgqnrFYv74lURH=$ah;=g0eIS2>l|MsKl>+YYbmeW#rB5-JCWdFAEb_w( z!b{Kurh0<1*h&f5&S6R{vGcz@9HLo}!D*G(A*ydUR&=!sy5LzwICG zubfHla`zH9>@D-e-g!M2y-m3b74@O=jUvSua?`j-LHNY*^6>lW4{E-)P%F_^;evQl zJ1F8aWUgnf?}+rWppNO?TyCsk;rZEMJYalgNah4{p1BZf<^r>trS-L}BsQ6MnyqHL z`2=nEviXMD%N+8nc~&&WI_OAinN@2&Z(ZQu?|;LhCzdAVQlsfO53a+_@{6o1=PFIK zzzThvvDAH;I!ife@zw5i;SDTLE43=Embq*_6>MNRv61<#866<}JLHwq;xp!Kxku?` zN!O2F8B}&FdlV_0&PqEoTqH19n0frP_m3zd@U6Rk1@Ptj}gd(5e^ALWCTkCkcR2gA>VE79&t zw1UVL`iuG(`Y-xz=96@x5e&MMtvYLx@8fhzv`T?e5WYuygf2Q=kLnBc)AUvPI!5%J zsO*>Y_ZiB+>K7Yj)qJMe~4Xj@v`+&V-l z!I$u=@|iL-d|`MY3-m`>`AXUe+TE-Ve$-ypKlQ%!()@iynZC66*Br$9!m~A9Tcj=4 z)|t{kBJmda9$b%`A7og6J;&ZvxD6qRz) zC9!99hjO3t92L1e@-?gKeT@mm92+-X{8+hqJ}a#n^QYZ_C{QP%0!xma_TS}X8!J!C&?|HF9&dw8Zh$Gy*e88_mO?l@0l2KdI?*FOqx z&szT~Mo)UYB4RlZe@#eDxVoTXl<-k|QU9l@%0uXO-gZ93LOh3# z*W^Brd9l=M@E+g^f8*`%zb~4(GCi(e3_RuM%6H10@-Zyt-d8>g|Hqum`f6#+>UO1? zM01|5y`(o-6TKI`&8%xFUY{;);2bk>wMRL@(Ky*x$#0;pzmHmjrSqqj!yWNG(8^fs%-dccZx zSR?Im_9A>+rL0o#wm-KgJBQ-gdXqc*l*xD>x7huco9(6h%b7UZ{O`qGHKj{MAd@k@ zMShuKRH69cqr&sF)pWEEwO_Q6teqD|9*pGZVZA_qSw9l@e5N_mY&PdvbL~Q05#Kvw z-07|xbLR?QPFuQ^0}fHLSd(ikkM4_Zw=%u4-hH?cIj|)?K5^uRXNQjopB^p`Um3m$ zf5{u+4E%+*`Y1k2gf3)tJzi(!c-W*0TWL=-!So z{QwS`$K5UN3$E_j-Z6N+VtC6R#tFlt>PzSgP5zU78A|;CF}w#7Lvkt(of&va6Urr$2`NlI%u2w6parQ0tZ0yr#oK4>CV*bxhTy!;th*TQjwRUu(64J7? z30j^p%h1en+NqNEX<(@#b`d(=E=<+#_&&!DcPDzG-yLM>vByo1?=NJr1j%OgnC}(D z#04q?Qa=!;L<>vfHm!#Zgp5dLB!pwFL@&kMs$ub6r?1!RSs`rDH|k9ok1cvD)?>TA z8T)aI-h~C(%{rk+@5L&L$}h=*&BmL3r;l*LYAb|eQ!U0!4shPD&Qj}$~oBW1XwD~Joda9Y^G;4Q?P zS`x$GUlFc~FTvM`8^RmI&EZyTzD^e5-QgY<;XA|qEW-DoR5H~pH5?O>Yhr^!WwXVTo+GUwsVTC#rTKHu_@NzBdWtov;jX+i`9ni-NKZ= z&FZ!KtX(W;ccX_hZ2m;v&av}w;hJ_nlYbG`N-3K_mF%I^*mW#%H`q;V2(_{8wFTeB zHoMpEV?r4~UrSDg6JkFuhXt=9J0=QyJ`V21PAP7SN*ot8sOoy07frY?+ECM5aA9o2 ziP49O9%y`Zaqy;?v@O6ZLFiNz$ZnKJ2(^)i#gp$9;=L&ID%o(Z!{lgUn{qRIrrW$7 z-Yymw5^IVHel8u`VY9NB9n=cU@>&eIjci!9V+(h)4&I6N$UbUcKq}!HVtXz}o+X=d z0bBYda=Ba;W0Tawzd7l*CTlR0QdIfh0QdT>or`_-fIw(x2} zZ~TRVek0w?HgnhmaLfX;gq`s<=6YT%*g&7&OkeJa_vArykC_#nMISDR7RGyUB|Ue2 zyx+F6b<-W)NsrwVO^^52JiaT5_mgOuX1QIC^~t;BOqyDF`U>MsU5ToxkE@wBrCr&K zn(0Nw?2fCK38O*k zN$BGBJd7=BpSmZ;;z1~l9F#^Lk77Q$qCCF(ZDEpXXOikeI|xNA)UQLs3r)~W!;5C$ z%J}c4=|j3qb63*PZSkq9PnT%kd|I}KS)`TC${oxOIcSJdv_cb_pwH|#L$p||h@oE3 z@ZQFd=4+c6zm<&Hjf~Yk#%B&=vXpVy#P0VN#@!yqoRkxk=F@x)^8e|KIBY@`&wuY3 z@&E2@7{b*vA>NDf(2eEvpgQ_bo7qV#beXX}bElbw4$4NO45CxS9j2pKGSMtqXqH@b z%PdF69yA>X1+&;Gaax^rrxS~>o4u1A_|y8a_V%z|%yhHdYz)0wu7;Uc;1*)!m9Sx5 z;a0I3Rm(n`<}dcE(GT6cVZjKMgEQl6muwV51zMm}?q%f5bi{IIyJki?nJR;EgG`de OAF+%Miti44@&5r-811hB delta 124834 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 RXsOF*^C*VAjlSCTzW^;^vNQky delta 121986 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 1) - memcpy(output, result.c_str(), result.length()+1); + end: + if(result.length() > 1) + memcpy(output, result.c_str(), result.length()+1); #endif From d0975b4c0f4cf13d3c0d245f966ae2f75d00af05 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sat, 2 May 2015 18:55:23 -0500 Subject: [PATCH 291/478] Laserpointer Stringtable - fix swapped eng/czk --- addons/laserpointer/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index 464d0a7704..bf785781d0 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -74,7 +74,7 @@ Laser IV - Switch Laser / Infračervený Laser + Switch Laser / IR Laser Umschalten Laser / IR-Laser Przełącz Laser / Laser IR Изменить режим Лазер / ИК-лазер @@ -82,7 +82,7 @@ Alterna Laser / IR Laser Cambiar láser / Láser IR Lézer / Infravörös Lézer váltása - Přepnout Laser / IR Laser + Přepnout Laser / Infračervený Laser Alternar entre Laser / Laser IV From 0faf110371435a6c37fb09bb624b2db69c9f110a Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 3 May 2015 08:25:29 +0200 Subject: [PATCH 292/478] second batch of documentation --- documentation/missionmaker/modules.md | 230 ++++++++++++++++++-------- 1 file changed, 161 insertions(+), 69 deletions(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 97b4485610..4024e8d60f 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -6,11 +6,7 @@ order: 5 parent: wiki --- - -**THIS PAGE IS NOT UP2DATE.** - - -## 1. Modules +## 1. ACE ### 1.1 Advanced Ballistics *Part of: ace_advanced_ballistics* @@ -68,7 +64,7 @@ How often the markers should be refreshed (in seconds).
    Hide markers for "AI only" groups.
    `Default value: No` -### 1.3 Check PBOs +### 1.4 Check PBOs *Part of: ace_common* If you are worried that players haven't updated ACE or other mods to the version you're using on the server, you can place the "Check PBOs" module on your map. You can choose one of three posible actions that are being executed when a player joins that has a wrong version of ACE or an other mod: @@ -106,7 +102,8 @@ Example 3: @JSRS + @Blastcore-A3:
    [TBD, "warfxpe","blastcore_vep"] ``` -### 1.4 Explosive System + +### 1.5 Explosive System *Part of: ace_explosive* The "Explosive System" module lets you tweak the settings for the new explosive system that ACE introduces. @@ -120,12 +117,14 @@ Require explosive specialists to disable explosives.
    Increase the time it takes to complete actions for non-specialists.
    `Default value: Yes` -### 1.5 Friendly Fire Messages + +### 1.6 Friendly Fire Messages *Part of: ace_respawn* The "Friendly Fire Messages" module triggers a message when a player kills a friendly or civilian unit. This module isn't needed on servers with a low difficulty setting. -### 1.6 Hearing + +### 1.7 Hearing *Part of: ace_hearing* Placing this modules allows you to disable combat deafness usually triggerd by loud explosions or heavy weapons in a players proximity. @@ -136,7 +135,8 @@ Placing this modules allows you to disable combat deafness usually triggerd by l Enable combat deafness?
    `Default value: Yes` -### 1.7 Interaction System + +### 1.8 Interaction System *Part of: ace_interaction* This module allows you to tweak if players should be able to use team management functions (e.g. "switch group", "become leader"). @@ -147,73 +147,98 @@ This module allows you to tweak if players should be able to use team management Should players be allowed to use the Team Management Menu?.
    `Default value: Yes` -### 1.8 Make Unit Surrender +### 1.9 Make Unit Surrender *Part of: ace_captives* -When using the medical system ACE offers you probably want to fine tune some aspects of the wounding, healing or gameplay mechanics and fit them to your needs. The "Medical System" module offers a lot of settings to do just that. +Syncing units to that module sets them in the captive state with their arms behind their back. Usefull for e.g. hostage rescue missions. + + +### 1.10 Map +*Part of: ace_map* + +ACE3 introdcues a bit more realism for the vanilla Arma 3 map and how it behaves. Some of these settings can be toggled by this module. **Settings:** -1. **Bleeding Speed Coefficient (Number)
    ** -Multiplier for the rate of bleeding.
    -`Default value: 1` -2. **Pain Effect Coefficient (Number)
    ** -Multiplier for the intensity of the pain effect (chromatic abberation).
    -`Default value: 1` -3. **Max Unconscious Time (Number)
    ** -Maximum time (in seconds) for a unit to be unconscious before dying. -1 disables this.
    -`Default value: -1` -4. **Allow non-medics? (Boolean)
    ** -This setting is used to allow non-medics to use epipens and bloodbags.
    -`Default value: No` -5. **Punish non-medics? (Boolean)
    ** -Increase the time it takes to complete actions for non-medics.
    +1. **Map illumination? (Boolean)
    ** +Calculate dynamic map illumination based on light conditions?.
    `Default value: Yes` -6. **Require diagnosis? (Boolean)
    ** -Require an unconscious patient to be diagnosed before allowing treatment.
    +2. **Map shake? (Boolean)
    ** +Make map shake when walking?.
    +`Default value: Yes` +3. **Limit map zoom? (Boolean)
    ** +Limit the amount of zoom available for the map?.
    `Default value: No` -7. **Prevent instant death? (Boolean)
    ** -Prevent instant death and always put players in unconscious state instead.
    -`Default value: No` -8. **Prevent death while unconscious? (Boolean)
    ** -Make unconscious units invulnerable.
    -`Default value: No` -9. **Single Bandage (Boolean)
    ** -Use one bandage to heal the entire body.
    -`Default value: No` -10. **Unconscious can chat? (Boolean)
    ** -Allow all players to use chat while unconcious? Admin can always use the chat regardless.
    +4. **Show cursor coordinates? (Boolean)
    ** +Show the grid coordinates on the mouse pointer?.
    `Default value: No` -### 1.9 Rallypoint System + +### 1.11 MicroDAGR Map Fill +*Part of: ace_microdagr* + +Controls how much data is filled on the microDAGR items. Less data restricts the map view to show less on the minimap. + +**Settings:** + +1. **MicroDAGR Map Fill (Option)
    ** +How much map data is filled on MicroDAGR's.
    +`Default value: "Full Satellite + Buildings"` + + +### 1.12 MK6 Settings +*Part of: ace_mk6mortar* + +ACE3 now includes the first iteration of getting a less arcady point and click mortar experience. +Placing this modules allows you to enable the increased realism in game. + +**Settings:** + +1. **Air Resistance (Boolean)
    ** +For Player Shots, Model Air Resistance and Wind Effects.
    +`Default value: Yes` +2. **Allow MK6 Computer (Boolean)
    ** +Show the Computer and Rangefinder (these **NEED** to be removed if you enable air resistance).
    +`Default value: No` +3. **Allow MK6 Compass (Boolean)
    ** +Show the MK6 Digital Compass.
    +`Default value: Yes` + +### 1.13 Name Tags +*Part of: ace_nametags* + +This module allows you to tweak the settings for player names tags. + +**Settings:** + +1. **Player Names View Distance (Number)
    ** +Distance (in meters) at which player names are shown.
    +`Default value: 5` +2. **Show name tags for AI? (Option)
    ** +Show the name and rank tags for friendly AI units, or by default allows players to choose it on their own.
    +`Default value: "Do Not Force"` +3. **Show crew info? (Option)
    ** +Show vehicle crew info, or by default allows players to choose it on their own.
    +`Default value: "Do Not Force"` +4. **Show for Vehicles? (Boolean)
    ** +Show cursor NameTag for vehicle commander (only if client has name tags enabled).
    +`Default value: No` + + +### 1.14 Rallypoint System *Part of: ace_respawn* -This module was introduced with 0.94 and enables Mission Makers to specificly enable units to move a rallypoint. Every unit that is synced with that module is able to move a rallypoint. +This module enables Mission Makers to specificly enable units to move a rallypoint. Every unit that is synced with that module is able to move a rallypoint. -**Note:** -It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework. To enable JIP players to move rally points have a look at [3.1 ACE Rallypoints](#31-ace-rallypoints). +
    +
    Note:
    +

    It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework.

    +
    -### 1.10 Repair System -*Part of: ace_logistics* +To enable JIP players to move rally points have a look at [ACE Rallypoints (to be done)](#). -Placing the "Repair System" module makes it possible to define the time it takes for certain repair actions. -**Settings:** - -1. **Heavy Repair Time (Number)
    ** -Time to repair engine/turret/body/fuel components (in seconds).
    -`Default value: 10` -2. **Wheel Replace Time (Number)
    ** -Time to replace a wheel (in seconds).
    -`Default value: 10` -3. **Track Replace Time (Number)
    ** -Time to replace a track (in seconds).
    -`Default value: 10` -4. **Maximum Repaired Damage (Number)
    ** -Limits the amount of damage that can be repaired. 0 = Repair all damage, 1 = Cannot repair any damage.
    -`Default value: 0` - -### 1.11 Respawn System +### 1.15 Respawn System *Part of: ace_respawn* The "Respawn System" module enables players to respawn with the gear they had before dying and to remove bodies of players after a configurable interval (in seconds). @@ -224,10 +249,10 @@ The "Respawn System" module enables players to respawn with the gear they had be Respawn with the gear a player had just before his death.
    `Default value: No` -### 1.12 SwitchUnits System +### 1.16 SwitchUnits System *Part of: ace_switchunits* -The [SwitchUnits System](#32-ace-switchunits) enables players to control certain AI units on the map. +The [SwitchUnits System (to be done)](#) enables players to control certain AI units on the map. **Settings:** @@ -251,10 +276,29 @@ The safe zone around players from a different team (in meters)
    `Default value: 200` -### 1.13 LSD Vehicles -*Part of: ace_core* +### 1.17 Vehicle Lock +*Part of: ace_vehiclelock* -### 1.14 Weather +#### 1.17.1 Vehicle Key Assign +Sync with vehicles and players. Will handout custom keys to players for every synced vehicle. Only valid for objects present at mission start. + +#### 1.17.2 Vehicle Lock Setup +Settings for lockpick strength and initial vehicle lock state. Removes ambiguous lock states. + +**Settings:** + +1. **Lock Vehicle Inventory? (Boolean)
    ** +Locks the inventory of locked vehicles
    +`Default value: No` +2. **Vehicle Starting Lock State (Option)
    ** +Set lock state for all vehicles (removes ambiguous lock states)
    +`Default value: "As Is"` +3. **Default Lockpick Strength (Number)
    ** +Default Time to lockpick (in seconds)
    +`Default value: 10` + + +### 1.18 Weather *Part of: ace_weather* This module allows you to customize the weather settings. @@ -280,11 +324,16 @@ Synchronizes lightnings, rainbow, fog, ...
    Defines the interval (seconds) between weather updates.
    `Default value: 60` -### 1.15 Wind Deflection +### 1.19 Wind Deflection *Part of: ace_winddeflection* This module allows you to define when wind deflection is active. +
    +
    Note:
    +

    Wind Deflection doesn't work in combination with Advanced Ballistics. If the Advanced Ballistics module is placed Wind deflection will exit and won't trigger.

    +
    + **Settings:** 1. **Wind Deflection (Boolean)
    ** @@ -300,5 +349,48 @@ Defines the interval between every calculation step.
    Defines the radius around the player (in meters) at which projectiles are wind deflected.
    `Default value: 3000` + +### 1.20 LSD Vehicles +*Part of: ace_core* + And then there's the "LSD Vehicles" module … it does 'something' to all vehicles synced to that module. -http://youtu.be/X3e0LTexEok + + +## 2. ACE Medical +*Part of: ace_medical* + +### 2.1 Advanced Medical Settings + +This module allows you to change the default Advanced Medical Settings, when [2.2 Medical Settings](#2-2MedicalSettings) is set to "Advanced". + +**Settings:** + +1. **Enabled for (Options)
    ** +Select what units the advanced medical system will be enabled for.
    +`Default value: "Players only"` +2. **Enable Advanced wounds (Boolean)
    ** +Allow reopening of bandaged wounds?
    +`Default value: No` +3. **Vehicle Crashes (Boolean)
    ** +Do units take damage from a vehicle crash?
    +`Default value: Yes` +4. **Allow PAK (Option)**
    +Who can use the PAK for full heal?
    +`Default value: "Medics only"` +5. **Remove PAK on use (Boolean)**
    +Should PAK be removed on usage?
    +`Default value: Yes` +6. **Locations PAK (Option)**
    +Where can the personal aid kit be used?
    +`Default value: "Vehicles & facility"` +7. **Allow Surgical kit (Option)**
    +Who can use the surgical kit?
    +`Default value: "Medics only"` +8. **Remove Surgical kit (Boolean)**
    +Should Surgical kit be removed on usage?
    +`Default value: Yes` +9. **Locations Surgical kit (Option)**
    +Where can the Surgical kit be used?
    +`Default value: "Vehicles & facility"` + + From 4d4604da288ab980dd8be82b446503b15661de9c Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 10:47:49 +0200 Subject: [PATCH 293/478] Fixed two typos in the ATragMX gun profile list --- addons/atragmx/XEH_postInit.sqf | 4 ++-- addons/atragmx/script_component.hpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf index e2e3cb254c..7b0a2c9962 100644 --- a/addons/atragmx/XEH_postInit.sqf +++ b/addons/atragmx/XEH_postInit.sqf @@ -28,8 +28,8 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == ["7.62x54mmR" , 800, 100, 0.0692, -0.0010230, 3.81, 0, 2, 10, 120, 0, 0, 9.849, 7.92, 24.13, 0.400, 1, "ICAO"], ["7.62x51mm M80" , 810, 100, 0.0679, -0.0010350, 3.81, 0, 2, 10, 120, 0, 0, 9.525, 7.82, 25.40, 0.200, 7, "ICAO"], - ["7.62x51mm M118LR" , 820, 100, 0.0662, -0.0008525, 3.81, 0, 2, 10, 120, 0, 0, 11.34, 7.82, 25.40, 0.243, 7, "ICAO"], - ["7.62x51mm Mk319" , 820, 100, 0.0670, -0.0010300, 3.81, 0, 2, 10, 120, 0, 0, 8.424, 7.82, 25.40, 0.377, 1, "ICAO"], + ["7.62x51mm M118LR" , 780, 100, 0.0710, -0.0008525, 3.81, 0, 2, 10, 120, 0, 0, 11.34, 7.82, 25.40, 0.243, 7, "ICAO"], + ["7.62x51mm Mk319" , 910, 100, 0.0585, -0.0010300, 3.81, 0, 2, 10, 120, 0, 0, 8.424, 7.82, 25.40, 0.377, 1, "ICAO"], ["7.62x51mm Subsonic", 320, 100, 0.3060, -0.0004910, 3.81, 0, 2, 10, 120, 0, 0, 12.96, 7.82, 25.40, 0.235, 7, "ICAO"], ["6.5x39mm" , 800, 100, 0.0683, -0.0007850, 3.81, 0, 2, 10, 120, 0, 0, 7.970, 6.71, 22.86, 0.263, 7, "ICAO"], diff --git a/addons/atragmx/script_component.hpp b/addons/atragmx/script_component.hpp index c201925147..090e82246d 100644 --- a/addons/atragmx/script_component.hpp +++ b/addons/atragmx/script_component.hpp @@ -11,4 +11,4 @@ #include "\z\ace\addons\main\script_macros.hpp" -#define ATRAGMX_PROFILE_NAMESPACE_VERSION 1.3 +#define ATRAGMX_PROFILE_NAMESPACE_VERSION 1.4 From dbca6fe587cbb74e0077c9a353b430ac46b37775 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 3 May 2015 11:33:02 +0200 Subject: [PATCH 294/478] finished module documentation --- documentation/missionmaker/modules.md | 237 ++++++++++++++++++++------ 1 file changed, 182 insertions(+), 55 deletions(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 4024e8d60f..e3d1f4cb21 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -14,40 +14,40 @@ This module allows to enable advanced external- and internal ballistics. **Settings:** -1. **Advanced Ballistics (Boolean)
    ** +1. **Advanced Ballistics (Boolean)**
    Enables advanced ballistics.
    `Default value: No` -2. **Always Enabled For Snipers (Boolean)
    ** +2. **Always Enabled For Snipers (Boolean)**
    Always enables advanced ballistics when high power optics are used.
    `Default value: Yes` -3. **Disabled In FullAuto Mode (Boolean)
    ** +3. **Disabled In FullAuto Mode (Boolean)**
    Disables the advanced ballistics during full auto fire.
    `Default value: No` -4. **Disabled For Non Local Players (Boolean)
    ** +4. **Disabled For Non Local Players (Boolean)**
    Disables the advanced ballistics for bullets coming from other players (enable this if you encounter frame drops during heavy firefights in multiplayer).
    `Default value: Yes` -5. **Enable Ammo Temperature Simulation (Boolean)
    ** +5. **Enable Ammo Temperature Simulation (Boolean)**
    Muzzle velocity varies with ammo temperature.
    `Default value: Yes` -6. **Enable Barrel Length Simulation (Boolean)
    ** +6. **Enable Barrel Length Simulation (Boolean)**
    Muzzle velocity varies with barrel length.
    `Default value: Yes` -7. **Enable Bullet Trace Effect (Boolean)
    ** +7. **Enable Bullet Trace Effect (Boolean)**
    Enables a bullet trace effect to high caliber bullets (only visible when looking through high power optics).
    -8. **Simulation Interval (Number)
    ** +8. **Simulation Interval (Number)**
    Defines the interval between every calculation step.
    `Default value: 0.05` -9. **Simulation Radius (Number)
    ** +9. **Simulation Radius (Number)**
    Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles.
    `Default value: 3000` ### 1.2 Allow Config Export -*Part of: ace_optionsmenu* +*Part of: ace_Optionmenu* -This modules allows to export all current ACE settings from the ACE options menu to the clipboard and RPT file. +This modules allows to export all current ACE settings from the ACE Option menu to the clipboard and RPT file. 1. **Allow (Boolean)**
    -Enables the "export" button in the ACE options menu
    +Enables the "export" button in the ACE Option menu
    `Default value: Yes` ### 1.3 BlueForceTracking @@ -57,10 +57,10 @@ When adding the "Blue Force Tracking" module to your mission it adds map markers **Settings:** -1. **Interval (Number)
    ** +1. **Interval (Number)**
    How often the markers should be refreshed (in seconds).
    `Default value: 1` -2. **Hide AI Groups (Boolean)
    ** +2. **Hide AI Groups (Boolean)**
    Hide markers for "AI only" groups.
    `Default value: No` @@ -75,15 +75,15 @@ If you are worried that players haven't updated ACE or other mods to the version **Settings:** -1. **Action (Option)
    ** +1. **Action (Option)**
    What to do with people who do not have the right PBOs.
    `Default value: "Warn once"` -2. **Check all addons (Boolean)
    ** +2. **Check all addons (Boolean)**
    Check all addons instead of only those of ACE?
    `Default value: "No"` -3. **Whitelist
    ** +3. **Whitelist**
    You can make a whitelist of addons that don't have to be on the server. If you want to use the "Check all addons" option of this module and allow the usage of client side modifications like Blastcore or JSRS, you have to list them here. The list must be in the following format: `["ADDON1","ADDON2",...]` where the addons are CfgPatches references to all PBOs of the optional mod. To figure these out, you can use the scripting command `activatedAddons` in the editor while those mods are enabled. @@ -110,10 +110,10 @@ The "Explosive System" module lets you tweak the settings for the new explosive **Settings:** -1. **Require specialists? (Boolean)
    ** +1. **Require specialists? (Boolean)**
    Require explosive specialists to disable explosives.
    `Default value: No` -2. **Punish non-specialists? (Boolean)
    ** +2. **Punish non-specialists? (Boolean)**
    Increase the time it takes to complete actions for non-specialists.
    `Default value: Yes` @@ -143,7 +143,7 @@ This module allows you to tweak if players should be able to use team management **Settings:** -1. **Enable Team Management (Boolean)
    ** +1. **Enable Team Management (Boolean)**
    Should players be allowed to use the Team Management Menu?.
    `Default value: Yes` @@ -160,16 +160,16 @@ ACE3 introdcues a bit more realism for the vanilla Arma 3 map and how it behaves **Settings:** -1. **Map illumination? (Boolean)
    ** +1. **Map illumination? (Boolean)**
    Calculate dynamic map illumination based on light conditions?.
    `Default value: Yes` -2. **Map shake? (Boolean)
    ** +2. **Map shake? (Boolean)**
    Make map shake when walking?.
    `Default value: Yes` -3. **Limit map zoom? (Boolean)
    ** +3. **Limit map zoom? (Boolean)**
    Limit the amount of zoom available for the map?.
    `Default value: No` -4. **Show cursor coordinates? (Boolean)
    ** +4. **Show cursor coordinates? (Boolean)**
    Show the grid coordinates on the mouse pointer?.
    `Default value: No` @@ -181,7 +181,7 @@ Controls how much data is filled on the microDAGR items. Less data restricts the **Settings:** -1. **MicroDAGR Map Fill (Option)
    ** +1. **MicroDAGR Map Fill (Option)**
    How much map data is filled on MicroDAGR's.
    `Default value: "Full Satellite + Buildings"` @@ -194,13 +194,13 @@ Placing this modules allows you to enable the increased realism in game. **Settings:** -1. **Air Resistance (Boolean)
    ** +1. **Air Resistance (Boolean)**
    For Player Shots, Model Air Resistance and Wind Effects.
    `Default value: Yes` -2. **Allow MK6 Computer (Boolean)
    ** +2. **Allow MK6 Computer (Boolean)**
    Show the Computer and Rangefinder (these **NEED** to be removed if you enable air resistance).
    `Default value: No` -3. **Allow MK6 Compass (Boolean)
    ** +3. **Allow MK6 Compass (Boolean)**
    Show the MK6 Digital Compass.
    `Default value: Yes` @@ -211,16 +211,16 @@ This module allows you to tweak the settings for player names tags. **Settings:** -1. **Player Names View Distance (Number)
    ** +1. **Player Names View Distance (Number)**
    Distance (in meters) at which player names are shown.
    `Default value: 5` -2. **Show name tags for AI? (Option)
    ** +2. **Show name tags for AI? (Option)**
    Show the name and rank tags for friendly AI units, or by default allows players to choose it on their own.
    `Default value: "Do Not Force"` -3. **Show crew info? (Option)
    ** +3. **Show crew info? (Option)**
    Show vehicle crew info, or by default allows players to choose it on their own.
    `Default value: "Do Not Force"` -4. **Show for Vehicles? (Boolean)
    ** +4. **Show for Vehicles? (Boolean)**
    Show cursor NameTag for vehicle commander (only if client has name tags enabled).
    `Default value: No` @@ -245,7 +245,7 @@ The "Respawn System" module enables players to respawn with the gear they had be **Settings:** -1. **Save Gear? (Boolean)
    ** +1. **Save Gear? (Boolean)**
    Respawn with the gear a player had just before his death.
    `Default value: No` @@ -256,22 +256,22 @@ The [SwitchUnits System (to be done)](#) enables players to control certain AI u **Settings:** -1. **Switch To West? (Boolean)
    ** +1. **Switch To West? (Boolean)**
    Allow switching to west units?
    `Default value: No` -2. **Switch To East? (Boolean)
    ** +2. **Switch To East? (Boolean)**
    Allow switching to east units?
    `Default value: No` -3. **Switch To Independent? (Boolean)
    ** +3. **Switch To Independent? (Boolean)**
    Allow switching to independent units?
    `Default value: No` -4. **Switch To Civilian? (Boolean)
    ** +4. **Switch To Civilian? (Boolean)**
    Allow switching to civilian units?
    `Default value: No` -5. **Enable Safe Zone? (Boolean)
    ** +5. **Enable Safe Zone? (Boolean)**
    Enable a safe zone around enemy units? Players can't switch to units inside of the safe zone.
    `Default value: Yes` -6. **Safe Zone Radius (Number)
    ** +6. **Safe Zone Radius (Number)**
    The safe zone around players from a different team (in meters)
    `Default value: 200` @@ -287,13 +287,13 @@ Settings for lockpick strength and initial vehicle lock state. Removes ambiguous **Settings:** -1. **Lock Vehicle Inventory? (Boolean)
    ** +1. **Lock Vehicle Inventory? (Boolean)**
    Locks the inventory of locked vehicles
    `Default value: No` -2. **Vehicle Starting Lock State (Option)
    ** +2. **Vehicle Starting Lock State (Option)**
    Set lock state for all vehicles (removes ambiguous lock states)
    `Default value: "As Is"` -3. **Default Lockpick Strength (Number)
    ** +3. **Default Lockpick Strength (Number)**
    Default Time to lockpick (in seconds)
    `Default value: 10` @@ -305,22 +305,22 @@ This module allows you to customize the weather settings. **Settings:** -1. **Weather propagation (Boolean)
    ** +1. **Weather propagation (Boolean)**
    Enables sever side weather propagation.
    `Default value: Yes` -2. **ACE Weather (Boolean)
    ** +2. **ACE Weather (Boolean)**
    Overrides the default weather (editor, mission settings) with ACE weather (map based).
    `Default value: Yes` -3. **Sync Rain (Boolean)
    ** +3. **Sync Rain (Boolean)**
    Synchronizes rain.
    `Default value: Yes` -3. **Sync Wind (Boolean)
    ** +3. **Sync Wind (Boolean)**
    Synchronizes wind.
    `Default value: Yes` -3. **Sync Misc (Boolean)
    ** +3. **Sync Misc (Boolean)**
    Synchronizes lightnings, rainbow, fog, ...
    `Default value: Yes` -4. **Update Interval (Number)
    ** +4. **Update Interval (Number)**
    Defines the interval (seconds) between weather updates.
    `Default value: 60` @@ -336,16 +336,16 @@ This module allows you to define when wind deflection is active. **Settings:** -1. **Wind Deflection (Boolean)
    ** +1. **Wind Deflection (Boolean)**
    Enables wind deflection.
    `Default value: Yes` -2. **Vehicle Enabled (Boolean)
    ** +2. **Vehicle Enabled (Boolean)**
    Enables wind deflection for static/vehicle gunners.
    `Default value: Yes` -3. **Simulation Interval (Number)
    ** +3. **Simulation Interval (Number)**
    Defines the interval between every calculation step.
    `Default value: 0.05` -4. **Simulation Radius (Number)
    ** +4. **Simulation Radius (Number)**
    Defines the radius around the player (in meters) at which projectiles are wind deflected.
    `Default value: 3000` @@ -365,13 +365,13 @@ This module allows you to change the default Advanced Medical Settings, when [2. **Settings:** -1. **Enabled for (Options)
    ** +1. **Enabled for (Option)**
    Select what units the advanced medical system will be enabled for.
    `Default value: "Players only"` -2. **Enable Advanced wounds (Boolean)
    ** +2. **Enable Advanced wounds (Boolean)**
    Allow reopening of bandaged wounds?
    `Default value: No` -3. **Vehicle Crashes (Boolean)
    ** +3. **Vehicle Crashes (Boolean)**
    Do units take damage from a vehicle crash?
    `Default value: Yes` 4. **Allow PAK (Option)**
    @@ -394,3 +394,130 @@ Where can the Surgical kit be used?
    `Default value: "Vehicles & facility"` +### 2.2 Medical Settings + +This module allows to tweak all the medical settings used in ACE3 + +**Settings:** + +1. **Medical Level (Option)**
    +What is the medical simulation level?
    +`Default value: "Basic"` +2. **Medics setting (Option)**
    +What is the level of detail preferred for medics?
    +`Default value: "Normal"` +3. **Enable Litter (Boolean)**
    +Enable litter being created upon treatment.
    +`Default value: "Normal"` +4. **Life time of litter objects (Number)**
    +How long should litter objects stay? In seconds. -1 is forever.
    +`Default value: 1800` +5. **Enable Screams (Boolean)**
    +Enable screaming by injured units.
    +`Default value: Yes` +6. **Player Damage (Number)**
    +What is the damage a player can take before being killed?
    +`Default value: 1` +7. **AI Damage (Number)**
    +What is the damage an AI can take before being killed?
    +`Default value: 1` +8. **AI Unconsciousness (Option)**
    +Allow AI to go unconscious.
    +`Default value: "50/50"` +9. **Prevent instant death (Boolean)**
    +Have a unit move to unconscious instead of death.
    +`Default value: No` +10. **Bleeding coefficient (Number)**
    +Coefficient to modify the bleeding speed.
    +`Default value: 1` +11. **Pain coefficient (Number)**
    +Coefficient to modify the pain intensity.
    +`Default value: 1` +12. **Pain coefficient (Boolean)**
    +Keep unit status synced. Recommended on.
    +`Default value: Yes` + + +### 2.3 Revive Settings + +This modules allows a mission maker to limit the amount of revives for units in basic and advanced medical. + +**Settings:** + +1. **Enable Revive (Option)**
    +Enable a basic revive system
    +`Default value: "disable"` +2. **Max Revive time (Number)**
    +Max amount of seconds a unit can spend in revive state
    +`Default value: 120` +3. **Max Revive lives (Number)**
    +Max amount of lives a unit. 0 or -1 is disabled.
    +`Default value: -1` + + +### 2.4 Set Medic Class + +Using this module you can define which unit class is defined as a medic / doctor. + +**Settings:** + +1. **List (String)**
    +List of unit names that will be classified as medic, separated by commas.
    +`Default value: ""` +2. **Is Medic (Boolean)**
    +Medics allow for more advanced treatment in case of Advanced Medic roles enabled
    +`Default value: "Regular medic"` + + +### 2.5 Set Medical Facility + +Defines an object as a medical facility for CMS. This allows for more advanced treatments. Can be synced with buildings and vehicles. + +**Settings:** + +1. **Is Medical Facility (Boolean)**
    +Registers an object as a medical facility for CMS.
    +`Default value: Yes` + + +### 2.6 Set Medical Vehicle + +Defines an object as a medical facility for CMS. This allows for more advanced treatments. Can be synced with buildings and vehicles. + +**Settings:** + +1. **List (String)**
    +List of vehicles that will be classified as medical vehicle, separated by commas.
    +`Default value: ""` +2. **Is Medical Vehicle (Boolean)**
    +Whether or not the objects in the list will be a medical vehicle.
    +`Default value: Yes` + + +## 3. ACE Mission Modules +*Part of: ace_missionmodules* + +### 3.1 Ambiance Sounds + +Used for smbiance sounds loop (synced across MP) + +**Settings:** + +1. **Sounds (String)**
    +Class names of the ambiance sounds played. Separated by ','.
    +`Default value: ""` +2. **Minimal Distance (Number)**
    +Minimal Distance (in meters)
    +`Default value: 400` +3. **Minimal Delay (Number)**
    +Minimal Delay (in seconds) between sounds played
    +`Default value: 10` +4. **Maximal Delay (Number)**
    +Maximal Delay (in seconds) between sounds played
    +`Default value: 10` +5. **Follow Players (Boolean)**
    +Follow players. If set to false, loop will play sounds only nearby logic position.
    +`Default value: No` +6. **Volume (Number)**
    +The volume of the sounds played
    +`Default value: 1` \ No newline at end of file From da912d8cc14a38c3e070d8dd3934ccf8fcbf1a90 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 3 May 2015 11:35:59 +0200 Subject: [PATCH 295/478] fix typo --- documentation/missionmaker/modules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index e3d1f4cb21..40a50faf76 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -499,7 +499,7 @@ Whether or not the objects in the list will be a medical vehicle.
    ### 3.1 Ambiance Sounds -Used for smbiance sounds loop (synced across MP) +Used for ambiance sounds loop (synced across MP) **Settings:** From e5a81bfe37dbcf020345ec8d20e369c2fa5288f9 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 11:46:30 +0200 Subject: [PATCH 296/478] Deterministic random numbers for the transonic instability calculation --- .../AdvancedBallistics.cpp | 34 +++++++++++++++---- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index 93fa6d7c27..0e9b5a9786 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -1,9 +1,9 @@ #include "ace_common.h" -#include #include #include #include +#include #define M_PI 3.14159265358979323846f #define GRAVITY 9.80665f @@ -44,6 +44,8 @@ struct Bullet { double lastFrame; double hDeflection; double spinDrift; + unsigned randSeed; + std::default_random_engine randGenerator; }; struct Map { @@ -372,6 +374,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) bulletDatabase[index].spinDrift = 0.0; bulletDatabase[index].speed = 0.0; bulletDatabase[index].frames = 0.0; + bulletDatabase[index].randSeed = 0; int n = sprintf_s(output, outputSize, "%s", ""); return; @@ -411,6 +414,22 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) tickTime = strtod(strtok_s(NULL, ":", &next_token), NULL); tickTime += strtod(strtok_s(NULL, ":", &next_token), NULL); + if (bulletDatabase[index].randSeed == 0) { + int angle = (int)round(atan2(velocity[0], velocity[1]) * 360 / M_PI); + bulletDatabase[index].randSeed = (unsigned)(720 + angle) % 720; + bulletDatabase[index].randSeed *= 3; + bulletDatabase[index].randSeed += (unsigned)round(abs(velocity[2]) / 2); + bulletDatabase[index].randSeed *= 3; + bulletDatabase[index].randSeed += (unsigned)round(abs(bulletDatabase[index].origin[0] / 2)); + bulletDatabase[index].randSeed *= 3; + bulletDatabase[index].randSeed += (unsigned)round(abs(bulletDatabase[index].origin[1] / 2)); + bulletDatabase[index].randSeed *= 3; + bulletDatabase[index].randSeed += (unsigned)abs(bulletDatabase[index].temperature) * 10; + bulletDatabase[index].randSeed *= 3; + bulletDatabase[index].randSeed += (unsigned)abs(bulletDatabase[index].humidity) * 10; + bulletDatabase[index].randGenerator.seed(bulletDatabase[index].randSeed); + } + double ballisticCoefficient = 1.0; double dragRef = 0.0; double drag = 0.0; @@ -572,12 +591,13 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) positionOffset[0] += sin(bulletDir + M_PI / 2) * spinDriftPartial; positionOffset[1] += cos(bulletDir + M_PI / 2) * spinDriftPartial; - if (bulletSpeed < 345 && bulletSpeedAvg > 340 && bulletSpeed > 335) - { - srand((unsigned)time(NULL)); - velocityOffset[0] += (((double)rand() / (RAND_MAX)) * 0.4 - 0.2) * (1 - bulletDatabase[index].transonicStabilityCoef); - velocityOffset[1] += (((double)rand() / (RAND_MAX)) * 0.4 - 0.2) * (1 - bulletDatabase[index].transonicStabilityCoef); - velocityOffset[2] += (((double)rand() / (RAND_MAX)) * 0.4 - 0.2) * (1 - bulletDatabase[index].transonicStabilityCoef); + if (bulletSpeed < 345 && bulletSpeedAvg > 340 && bulletSpeed > 335) { + std::uniform_real_distribution distribution(0.0, 1.0); + double coef = 1.0f - bulletDatabase[index].transonicStabilityCoef; + + velocityOffset[0] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; + velocityOffset[1] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; + velocityOffset[2] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; }; int n = sprintf_s(output, outputSize, "_bullet setVelocity (_bulletVelocity vectorAdd [%f, %f, %f]); _bullet setPosASL (_bulletPosition vectorAdd [%f, %f, %f]);", velocityOffset[0], velocityOffset[1], velocityOffset[2], positionOffset[0], positionOffset[1], positionOffset[2]); From a0e443cfc63f345543508afef45338454dfd1b9c Mon Sep 17 00:00:00 2001 From: ProfessorCZ Date: Sun, 3 May 2015 11:48:56 +0200 Subject: [PATCH 297/478] Czech translation - Update --- addons/ballistics/stringtable.xml | 4 +- addons/flashsuppressors/stringtable.xml | 4 +- addons/kestrel4500/stringtable.xml | 2 +- addons/laser/stringtable.xml | 5 +- addons/medical/stringtable.xml | 22 +++++-- addons/missileguidance/stringtable.xml | 1 + addons/realisticnames/stringtable.xml | 76 ++++++++++++------------- addons/scopes/stringtable.xml | 9 +++ 8 files changed, 75 insertions(+), 48 deletions(-) diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index 97203b165e..534019d7c5 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -483,7 +483,7 @@ Cargador de 10 balas trazadoras de 9.3mm Магазин из 10-ти 9,3 мм трассирующих 9.3mm 10Rnd Tracer Mag - 9.3mm 10Rnd Svítící Zásobník + 9.3mm 10náb. Svítící Zásobník Carregador de 10 cartuchos 9.3mm traçantes 9,3mm 10-lövedékes nyomkövető tár @@ -1593,4 +1593,4 @@ Kaliber: 12,7x99mm (AMAX)<br />Lövedékek: 5 - + \ No newline at end of file diff --git a/addons/flashsuppressors/stringtable.xml b/addons/flashsuppressors/stringtable.xml index 75641b8e01..509c16ddce 100644 --- a/addons/flashsuppressors/stringtable.xml +++ b/addons/flashsuppressors/stringtable.xml @@ -68,7 +68,7 @@ Soppressore di fiamma (.338) Supressor de Clarão (.338) Tłumik płomienia (.338) - Tlumič záblesku (.338) + Tlumič plamene (.338) Cache-flamme (.338) Пламегаситель (.338) Bocacha (.338) @@ -80,7 +80,7 @@ Soppressore di fiamma (9.3mm) Supressor de Clarão (9,3mm) Tłumik płomienia (9,3 mm) - Tlumič záblesku (9,3 mm) + Tlumič plamene (9,3 mm) Cache-flamme (9,3 mm) Пламегаситель (9,3 мм) Bocacha (9,3 mm) diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index ce97297a6b..e584b9120c 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -23,7 +23,7 @@ Kestrel 4500 Indicatore Meteorologico Tascabile Kestrel 4500 Medidor Balístico Ativo Kestrel 4500 kézi szél-és időjárásmérő - Kapesní měřič počasí Kestrel 4500 + Příruční meteostanice Kestrel 4500 Open Kestrel 4500 diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index 686da19dbc..77a16db525 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -10,6 +10,7 @@ Código do Laser Lézerkód Código del láser + Laser kód Laser - Cycle Code Up @@ -20,6 +21,7 @@ Laser - Alternar Código para Cima Lézer - kódciklus növelése Láser - Aumentar código + Laser - Kód + Laser - Cycle Code Down @@ -30,6 +32,7 @@ Laser - Alternar Código para Baixo Lézer - kódciklus csökkentése Láser - Reducir código + Laser - Kód - - + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 5d991661cb..e66eab04fc 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -347,6 +347,7 @@ Bendaggio compressivo Bandage gauze Bandagem de Compressão + Tlakový obvaz Elastic Bandage @@ -775,7 +776,7 @@ Vendaje (Básico) Bandage (Standard) Bandaż (jałowy) - Bandáž (standartní) + Obvaz (standartní) Kötszer (Általános) Bendaggio (base) Bandagem(Básico) @@ -802,6 +803,7 @@ Egy különleges anyagú kötszer sebek betakarására, amelyet a vérzés elállítása után helyeznek fel. Una benda apposita, utilizzata per coprire una ferita, la quale è applicata sopra di essa una volta fermata l'emorragia. Uma curativo, material específico para cobrir um ferimento que é aplicado assim que o sangramento é estancando. + Obvaz je vhodným způsobem upravený sterilní materiál, určený k překrytí rány, případně k fixaci poranění. Packing Bandage @@ -813,6 +815,7 @@ Nyomókötszer Bendaggio compressivo Bandagem de Compressão + Tlakový obvaz Used to pack medium to large wounds and stem the bleeding @@ -824,6 +827,7 @@ Közepestől nagyig terjedő sebek betakarására és vérzés elállítására használt kötszer Usato su medie o larghe ferite per fermare emorragie. Usado para o preenchimento de cavidades geradas por ferimentos médios e grandes e estancar o sangramento. + Používá se k zastavení středních až silnějších krvácení A bandage used to pack the wound to stem bleeding and facilitate wound healing. Packing a wound is an option in large polytrauma injuries. @@ -835,6 +839,7 @@ Un bendaggio usato per coprire la ferita, fermare il sanguinamento e facilitarne la guarigione. Questa tecnica è opzionale su ferite multiple. Ein Verband, um die Wunde abzudecken und die Wundheilung zu fördern. Wunden abdecken ist eine Option bei größeren Polytraumen Uma bandagem usada para preencher o ferimento para estancar o sangramento e facilitar a cicatrização. Preenchimento de feridas é uma opção em ferimentos de politrauma grandes. + Tlakový obvaz se skládá se ze sterilní krycí vrstvy, na kterou je přiložena silná vrstva savého materiálu stlačující cévu v ráně a která je přitlačována k ráně a připevněna obinadlem. Slouží k zastavení silnějších krvácení. Bandage (Elastic) @@ -843,7 +848,7 @@ Vendaje (Elástico) Bandage (Élastique) Bandaż (elastyczny) - Bandáž (elastická) + Obvaz (elastický) Rögzító kötszer Benda (Elastica) Bandagem (Elástica) @@ -858,6 +863,7 @@ Rugalmas kötszercsomag, "rögzítő" Kit bendaggio, elastico Kit de Bandagem, Elástica + Sada obvazů, Elastická Allows an even compression and extra support to the injured area. @@ -869,6 +875,7 @@ Egyenletes nyomást és támogatást biztosít a sebesült felületnek. Permette di comprimevere e aiutare la zone ferita. Esta bandagem pode ser utilizada para comprimir o ferimento e diminuir o sangramento e garantir que o ferimento não abra em movimento. + Hodí se k fixačním účelům a to i v oblastech kloubů. Tourniquet (CAT) @@ -964,6 +971,7 @@ NBK helyzetek esetén használandó Usato in situazioni con gas nervino. Usado em casos de ataque QBRN + Používá se v přítomnosti nervových plynů A drug used by the Military in NBC scenarios. @@ -975,6 +983,7 @@ Egy instabil alkaloid, NBK helyzetek esetén a katonai szervezetek veszik használatba. E' un farmaco usato in ambito militare in scenari con presenza di gas nervino. Uma droga usada por militares em casos de ataque QBRN. + Atropin slouží jako protijed na otravu organofosfátovými insekticidy (diazinon) a nervovými plyny. Epinephrine autoinjector @@ -1010,6 +1019,7 @@ Ein Medikament, dass die Bronchien erweitert, die Herzfrequenz erhöht und Symptome von allergischen Reaktionen(Anaphylaxie) bekämpft. Wird bei plötzlichem Herzstillstand verabreicht. Uma droga trabalha dilatando os bronquios, aumentando a frequência cardíaca e combate efeitos de reações alérgicas(anáfilaticas). Usado em casos de parada cardiaca com poucas changes de recuperação. Egy hormon, mely a szimpatikus idegrendszer által kitágítja a hörgőket, valamint megnöveli a szívverést, ezzel ellensúlyozva ilyen jellegű allergiás reakciókat (anafilaxiás sokk). Hirtelen szívmegállás esetén is használt, idő alatt csökkenő hatásfokkal. + Zúžení periferních cév díky působení na alfa receptory a následné kontrakci hladkých svalů, tím dochází k tzv. centralizaci oběhu, krev se soustřeďuje v životně důležitých centrálních orgánech (srdce, mozek, plíce), působí také pozitivně na srdeční činnost a dochází ke zvýšení krevního tlaku a tepu. Dále se používá při náhlé srdeční zástavě. Plasma IV (1000ml) @@ -1105,6 +1115,7 @@ O Negative Blutinfusion wird nur in seltenen Fällen verwendet, um den Bluthaushalt des Patienten zu ergänzen. Wird in der Regel wärend der Transportphase durchgeführt. Sangue O- , utilizado em casos raros para rapidamente repor o sangue. Uso habitual ocorre durante o transporte ou em estações de tratamento. Nullás vércsoportú, Rh-negatív vér-infúzió, melyet kritikus és ritka helyzetekben vérutánpótlásra használnak, jellemzően az orvosi ellátás szállítási fázisa közben. + 0 Rh negativní krev se používá v vzácných případech k doplnění pacientovy hladiny krve, obvykle při převozu zraněné osoby do nemocnice. Blood IV (500ml) @@ -1164,6 +1175,7 @@ Una soluzione medica per ripristinare il volume del sangue introdotta tramite trasfusione IV. Ein medizinisches Volumenersatzmittel, dass durch einen intravenösen Zugang in den Blutkreislauf verabreicht wird. Uma reposição temporaria para restaurar a pressão arterial perdida por perda de sangue. + Fyziologický roztok se využívá nejčastěji jako infuze při dehydrataci organismu. Saline IV (500ml) @@ -2192,6 +2204,7 @@ Type d'effet de douleur Fájdalom-effekt típusa Tipo do efeito de dor + Typ bolesti - efekt Colour Flashing @@ -2203,6 +2216,7 @@ Flash de couleur Színvillódzás Flash de cor + Blikající barva Chromatic Aberration @@ -2679,4 +2693,4 @@ Снятие жгута ... - + \ No newline at end of file diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 3d1d8d101f..635211d30e 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -23,6 +23,7 @@ Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. A fejlett rakétairányító (vagy AMG) többféle módosítást tartalmaz a rakéták célkövetéséhez és tüzeléséhez. Ez egy szükséges keresztrendszer a rakéta-alapú fegyverekhez. Orientação avançada de mísseis ou OAM, fornece vários aprimoramentos para travamento de mísseis e disparos. Também é um sistema requerido para disparar armas que utilizem mísseis. + Pokočilé navádění raket (AMG) poskytuje několik vylepšení pro lepší zaměření a následnou střelbu. Je to prvek vyžadovaný u typ zbraní jako jsou rakety. Hydra-70 DAGR Missile diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 44da39f72a..c18f869d29 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -30,7 +30,7 @@ XM312 (Hoch) XM312 (Alto) XM312 (Haut) - XM312 (vysoká montáž) + XM312 (Vysoká montáž) XM312 (Wysoki) XM312 (Высокий) XM312 (Alta) @@ -66,7 +66,7 @@ XM307 (Hoch) XM307 (Alto) XM307 (Haut) - XM307 (vysoká montáž) + XM307 (Vysoká montáž) XM307 (Wysoki) XM307 (Высокий) XM307 (Alta) @@ -822,7 +822,7 @@ Ka-60 Kasatka (unbewaffnet) Ka-60 Kasatka (desarmado) Ka-60 Kasatka (nieuzbrojony) - Ka-60 Kasatka (neozbrojená) + Ka-60 Kasatka (neozbrojený) Ka-60 Kasatka (non-armé) Ka-60 Касатка (невооруженный) Ka-60 Kasatka (desarmado) @@ -918,7 +918,7 @@ M83 Rauchgranate (Weiss) Granada de humo M83 (Blanco) Granat dymny M83 (Biały) - M83 Kouřový Granát (bílý) + M83 Kouřový Granát (Bílý) M83 Grenade fumigène (Blanche) M83 дымовая граната (Белый) M83 Granada de fumaça (Branca) @@ -930,7 +930,7 @@ M18 Rauchgranate (Blau) Granada de humo M18 (Azul) Granat dymny M18 (Niebieski) - M18 Kouřový Granát (modrý) + M18 Kouřový Granát (Modrý) M18 Grenade fumigène (Bleue) M18 дымовая граната (Синий) M18 Granada de fumaça (Azul) @@ -942,7 +942,7 @@ M18 Rauchgranate (Grün) Granada de humo M18 (Verde) Granat dymny M18 (Zielony) - M18 Kouřový Granát (zelený) + M18 Kouřový Granát (Zelený) M18 Grenade fumigène (Verte) M18 дымовая граната (Зелёный) M18 Granada de fumaça (Verde) @@ -954,7 +954,7 @@ M18 Rauchgranate (Orange) Granada de humo M18 (Naranja) Granat dymny M18 (Pomarańczowy) - M18 Kouřový Granát (oranžový) + M18 Kouřový Granát (Oranžový) M18 Grenade fumigène (Orange) M18 дымовая граната (Оранжевый) M18 Granada de fumaça (Laranja) @@ -966,7 +966,7 @@ M18 Rauchgranate (Violett) Granada de humo M18 (Púrpura) Granat dymny M18 (Fioletowy) - M18 Kouřový Granát (fialový) + M18 Kouřový Granát (Fialový) M18 Grenade fumigène (Pourpre) M18 дымовая граната (Пурпурный) M18 Granada de fumaça (Roxa) @@ -978,7 +978,7 @@ M18 Rauchgranate (Rot) Granada de humo M18 (Rojo) Granat dymny M18 (Czerwony) - M18 Kouřový Granát (červený) + M18 Kouřový Granát (Červený) M18 Grenade fumigène (Rouge) M18 дымовая граната (Красный) M18 Granada de fumaça (Vermelha) @@ -990,7 +990,7 @@ M18 Rauchgranate (Gelb) Granada de humo M18 (Amarillo) Granat dymny M18 (Żółty) - M18 Kouřový Granát (žlutý) + M18 Kouřový Granát (Žlutý) M18 Grenade fumigène (Jaune) M183 дымовая граната (Жёлтый) M18 Granada de fumaça (Amarela) @@ -1144,7 +1144,7 @@ Mini-Spike (AA) Mini-Spike (FlaRak) - Mini-Spike (PL) + Mini-Spike (AA) Mini-Spike (AA) Mini-Spike (AA) Mini-Spike (Repülő-elhárító) @@ -1156,7 +1156,7 @@ Mini-Spike (AT) Mini-Spike (PALR) - Mini-Spike (PT) + Mini-Spike (AT) Mini-Spike (AT) Mini-Spike (AC) Mini-Spike (Tankelhárító) @@ -1181,7 +1181,7 @@ MX (Black) MX (Schwarz) MX (Czarny) - MX (černý) + MX (Černý) MX (Noir) MX (Fekete) MX (Negro) @@ -1205,7 +1205,7 @@ MXC (Black) MXC (Schwarz) MXC (Czarny) - MXC (černý) + MXC (Černý) MXC (Noir) MXC (Fekete) MXC (Negro) @@ -1229,7 +1229,7 @@ MX 3GL (Black) MX 3GL (Schwarz) MX 3GL (Czarny) - MX 3GL (černý) + MX 3GL (Černý) MX 3GL (Noir) MX 3GL (Fekete) MX 3GL (Negro) @@ -1253,7 +1253,7 @@ MX LSW (Black) MX LSW (Schwarz) MX LSW (Czarny) - MX LSW (černý) + MX LSW (Černý) MX LSW (Noir) MX LSW (Fekete) MX LSW (Negro) @@ -1277,7 +1277,7 @@ MXM (Black) MXM (Schwarz) MXM (Czarny) - MXM (černý) + MXM (Černý) MXM (Noir) MXM (Fekete) MXM (Negro) @@ -1325,7 +1325,7 @@ F2000 (Camo) F2000 (Tarnmuster) F2000 (kamuflaż) - F2000 (kamufláž + F2000 (Kamufláž) F2000 (Camo) F2000 (Terepmintás) F2000 (Camuflaje) @@ -1349,7 +1349,7 @@ F2000 Tactical (Camo) F2000 Tactical (Tarnmuster) F2000 Tactical (kamuflaż) - F2000 Tactical (černý) + F2000 Tactical (Černý) F2000 Tactical (Camo) F2000 Tactical (Terepmintás) F2000 Tactical (Camuflaje) @@ -1373,7 +1373,7 @@ F2000 EGLM (Camo) F2000 EGLM (Tarnmuster) F2000 EGLM (kamuflaż) - F2000 EGLM (kamufláž) + F2000 EGLM (Kamufláž) F2000 EGLM (Camo) F2000 EGLM (Terepmintás) F2000 EGLM (Camuflaje) @@ -1529,7 +1529,7 @@ GM6 Lynx (Camo) GM6 Lynx (Tarnmuster) GM6 Lynx (kamuflaż) - GM6 Lynx (kamufláž) + GM6 Lynx (Kamufláž) GM6 Lynx (Camo) GM6 Gepárd (Terepmintás) GM6 Lynx (Camuflaje) @@ -1553,7 +1553,7 @@ M200 Intervention (Camo) M200 Intervention (Tarnmuster) M200 Intervention (kamuflaż) - M200 Intervention (kamufláž) + M200 Intervention (Kamufláž) M200 Intervention (Camo) M200 Intervention (Terepmintás) M200 Intervention (Camuflaje) @@ -1587,7 +1587,7 @@ Noreen "Bad News" ULR (Black) - Noreen "Bad News" ULR (Black) + Noreen "Bad News" ULR (Černý) Noreen "Bad News" ULR (Noir) Noreen "Bad News" ULR (Negro) Noreen "Bad News" ULR (Чёрный) @@ -1599,7 +1599,7 @@ Noreen "Bad News" ULR (Camo) - Noreen "Bad News" ULR (Camo) + Noreen "Bad News" ULR (Kamufláž) Noreen "Bad News" ULR (Camo) Noreen "Bad News" ULR (Camuflaje) Noreen "Bad News" ULR (Камо) @@ -1611,7 +1611,7 @@ Noreen "Bad News" ULR (Sand) - Noreen "Bad News" ULR (Sand) + Noreen "Bad News" ULR (Pouštní) Noreen "Bad News" ULR (Beige) Noreen "Bad News" ULR (Arena) Noreen "Bad News" ULR (Песочный) @@ -1635,7 +1635,7 @@ SIG 556 (Black) - SIG 556 (Black) + SIG 556 (Černý) SIG 556 (Noir) SIG 556 (Negro) SIG 556 (Чёрный) @@ -1659,7 +1659,7 @@ SIG 556 (Sand) - SIG 556 (Sand) + SIG 556 (Pouštní) SIG 556 (Beige) SIG 556 (Arena) SIG 556 (Песочный) @@ -1671,7 +1671,7 @@ SIG 556 (Camo) - SIG 556 (Camo) + SIG 556 (Kamufláž) SIG 556 (Camo) SIG 556 (Camuflaje) SIG 556 (Камо) @@ -1695,7 +1695,7 @@ SIG 556 (provisional) spotter - SIG 556 (provisional) spotter + SIG 556 (Provizorní) spotter SIG 556 (provisoire) Observateur SIG 556 (provisional) observador SIG 556 (provisional) корректировщик @@ -1719,7 +1719,7 @@ ASP-1 Kir (Black) - ASP-1 Kir (Black) + ASP-1 Kir (Čený) ASP-1 Kir (Noir) ASP-1 Kir (Negro) ASP-1 Kir (Чёрный) @@ -1731,7 +1731,7 @@ ASP-1 Kir (Tan) - ASP-1 Kir (Tan) + ASP-1 Kir (Pouštní) ASP-1 Kir (Tan) ASP-1 Kir (Tan) ASP-1 Kir (Бронзовый) @@ -1755,7 +1755,7 @@ Cyrus (Black) - Cyrus (Black) + Cyrus (Černý) Cyrus (Noir) Cyrus (Negro) Cyrus (Чёрный) @@ -1779,7 +1779,7 @@ Cyrus (Tan) - Cyrus (Tan) + Cyrus (Pouštní) Cyrus (Tan) Cyrus (Tan) Cyrus (Бронза) @@ -1803,7 +1803,7 @@ M14 (Camo) - M14 (Camo) + M14 (Kamufláž) M14 (Camo) M14 (Camuflaje) M14 (Камо) @@ -1815,7 +1815,7 @@ M14 (Olive) - M14 (Olive) + M14 (Olivový) M14 (Olive) M14 (Oliva) M14 (Олива) @@ -1851,7 +1851,7 @@ HK121 (Tan) - HK121 (Tan) + HK121 (Pouštní) HK121 (Tan) HK121 (Tan) HK121 (Бронза) @@ -1887,7 +1887,7 @@ LWMMG (Black) - LWMMG (Black) + LWMMG (Černý) LWMMG (Noir) LWMMG (Negro) LWMMG (Чёрный) @@ -1899,7 +1899,7 @@ LWMMG (Sand) - LWMMG (Sand) + LWMMG (Pouštní) SPMG (Beige) LWMMG (Arena) LWMMG (Песочный) diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index f21a49ff24..e397208e34 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -11,6 +11,7 @@ Kleine Korrektur nach oben Enyhe állítás fel Pequeno ajuste para cima + Korekce mírně nahoru Minor adjustment down @@ -22,6 +23,7 @@ Kleine Korrektur nach unten Enyhe állítás le Pequeno ajuste para baixo + Korekce mírně dolů Minor adjustment right @@ -33,6 +35,7 @@ Kleine Korrektur nach rechts Enyhe állítás jobbra Pequeno ajuste para direita + Korekce mírně doprava Minor adjustment left @@ -44,6 +47,7 @@ Kleine Korrektur nach links Enyhe állítás balra Pequeno ajuste para esquerda + Korekce mírně doleva Major adjustment up @@ -55,6 +59,7 @@ Große Korrektur nach oben Nagy állítás fel Ajuste grande para cima + Korekce nahoru Major adjustment down @@ -66,6 +71,7 @@ Große Korrektur nach unten Nagy állítás le Ajuste grande para baixo + Korekce dolů Major adjustment right @@ -77,6 +83,7 @@ Große Korrektur nach rechts Nagy állítás jobbra Ajuste grande para direita + Korekce doprava Major adjustment left @@ -88,6 +95,7 @@ Große Korrektur nach links Nagy állítás balra Ajuste grande para esquerda + Korekce doleva Set zero adjustment @@ -99,6 +107,7 @@ Auf 0 justieren Állítások nullázása Zerar ajuste + Vynulování korekce \ No newline at end of file From d07cb0e6edb8cec352b8054403c56c64835fdfa8 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 11:51:30 +0200 Subject: [PATCH 298/478] Got rid of the newline braces --- .../AdvancedBallistics.cpp | 76 +++++++------------ 1 file changed, 29 insertions(+), 47 deletions(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index 0e9b5a9786..0a476c9c65 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -97,8 +97,7 @@ double calculateAirDensity(double temperature, double pressure, double relativeH double partialPressure = pressure - vaporPressure; return (partialPressure * 0.028964 + vaporPressure * 0.018016) / (8.314 * (273.15 + temperature)); - } - else { + } else { return pressure / (287.058 * (273.15 + temperature)); } } @@ -108,14 +107,12 @@ double calculateAtmosphericCorrection(double ballisticCoefficient, double temper if (!strcmp(atmosphereModel, "ICAO")) { return (1.22498 / airDensity) * ballisticCoefficient; - } - else { + } else { return (1.20885 / airDensity) * ballisticCoefficient; } } double calculateRetard(int DragFunction, double DragCoefficient, double Velocity) { - double vel = Velocity * 3.2808399; double val = -1; double A = -1; @@ -123,7 +120,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity switch (DragFunction) { case 1: - if (vel> 4230) { A = 1.477404177730177e-04; M = 1.9565; } + if (vel> 4230) { A = 1.477404177730177e-04; M = 1.9565; } else if (vel> 3680) { A = 1.920339268755614e-04; M = 1.925; } else if (vel> 3450) { A = 2.894751026819746e-04; M = 1.875; } else if (vel> 3295) { A = 4.349905111115636e-04; M = 1.825; } @@ -167,7 +164,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity break; case 2: - if (vel> 1674) { A = .0079470052136733; M = 1.36999902851493; } + if (vel> 1674) { A = .0079470052136733; M = 1.36999902851493; } else if (vel> 1172) { A = 1.00419763721974e-03; M = 1.65392237010294; } else if (vel> 1060) { A = 7.15571228255369e-23; M = 7.91913562392361; } else if (vel> 949) { A = 1.39589807205091e-10; M = 3.81439537623717; } @@ -177,7 +174,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity break; case 5: - if (vel> 1730) { A = 7.24854775171929e-03; M = 1.41538574492812; } + if (vel> 1730) { A = 7.24854775171929e-03; M = 1.41538574492812; } else if (vel> 1228) { A = 3.50563361516117e-05; M = 2.13077307854948; } else if (vel> 1116) { A = 1.84029481181151e-13; M = 4.81927320350395; } else if (vel> 1004) { A = 1.34713064017409e-22; M = 7.8100555281422; } @@ -187,7 +184,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity break; case 6: - if (vel> 3236) { A = 0.0455384883480781; M = 1.15997674041274; } + if (vel> 3236) { A = 0.0455384883480781; M = 1.15997674041274; } else if (vel> 2065) { A = 7.167261849653769e-02; M = 1.10704436538885; } else if (vel> 1311) { A = 1.66676386084348e-03; M = 1.60085100195952; } else if (vel> 1144) { A = 1.01482730119215e-07; M = 2.9569674731838; } @@ -197,7 +194,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity break; case 7: - if (vel> 4200) { A = 1.29081656775919e-09; M = 3.24121295355962; } + if (vel> 4200) { A = 1.29081656775919e-09; M = 3.24121295355962; } else if (vel> 3000) { A = 0.0171422231434847; M = 1.27907168025204; } else if (vel> 1470) { A = 2.33355948302505e-03; M = 1.52693913274526; } else if (vel> 1260) { A = 7.97592111627665e-04; M = 1.67688974440324; } @@ -209,7 +206,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity break; case 8: - if (vel> 3571) { A = .0112263766252305; M = 1.33207346655961; } + if (vel> 3571) { A = .0112263766252305; M = 1.33207346655961; } else if (vel> 1841) { A = .0167252613732636; M = 1.28662041261785; } else if (vel> 1120) { A = 2.20172456619625e-03; M = 1.55636358091189; } else if (vel> 1088) { A = 2.0538037167098e-16; M = 5.80410776994789; } @@ -227,7 +224,7 @@ double calculateRetard(int DragFunction, double DragCoefficient, double Velocity val = val / 3.2808399; return val; } - + return 0.0; } @@ -238,8 +235,7 @@ extern "C" void __stdcall RVExtension(char *output, int outputSize, const char *function) { - if (!strcmp(function, "version")) - { + if (!strcmp(function, "version")) { int n = sprintf_s(output, outputSize, "%s", ACE_FULL_VERSION_STR); return; } @@ -262,8 +258,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) retard = calculateRetard(dragModel, ballisticCoefficient, velocity); int n = sprintf_s(output, outputSize, "%f", retard); return; - } - else if (!strcmp(mode, "atmosphericCorrection")) { + } else if (!strcmp(mode, "atmosphericCorrection")) { double ballisticCoefficient = 1.0; double temperature = 15.0; double pressure = 1013.25; @@ -279,8 +274,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) ballisticCoefficient = calculateAtmosphericCorrection(ballisticCoefficient, temperature, pressure, humidity, atmosphereModel); int n = sprintf_s(output, outputSize, "%f", ballisticCoefficient); return; - } - else if (!strcmp(mode, "new")) { + } else if (!strcmp(mode, "new")) { unsigned int index = 0; double airFriction = 0.0; char* ballisticCoefficientArray; @@ -311,8 +305,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) ballisticCoefficientArray++; ballisticCoefficientArray[strlen(ballisticCoefficientArray) - 1] = 0; ballisticCoefficient = strtok_s(ballisticCoefficientArray, ",", &token); - while (ballisticCoefficient != NULL) - { + while (ballisticCoefficient != NULL) { ballisticCoefficients.push_back(strtod(ballisticCoefficient, NULL)); ballisticCoefficient = strtok_s(NULL, ",", &token); } @@ -320,8 +313,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) velocityBoundaryArray++; velocityBoundaryArray[strlen(velocityBoundaryArray) - 1] = 0; velocityBoundary = strtok_s(velocityBoundaryArray, ",", &token); - while (velocityBoundary != NULL) - { + while (velocityBoundary != NULL) { velocityBoundaries.push_back(strtod(velocityBoundary, NULL)); velocityBoundary = strtok_s(NULL, ",", &token); } @@ -335,8 +327,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) originArray++; originArray[strlen(originArray) - 1] = 0; originEntry = strtok_s(originArray, ",", &token); - while (originEntry != NULL) - { + while (originEntry != NULL) { origin.push_back(strtod(originEntry, NULL)); originEntry = strtok_s(NULL, ",", &token); } @@ -378,8 +369,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) int n = sprintf_s(output, outputSize, "%s", ""); return; - } - else if (!strcmp(mode, "simulate")) { + } else if (!strcmp(mode, "simulate")) { // simulate:0:[-0.109985,542.529,-3.98301]:[3751.57,5332.23,214.252]:[0.598153,2.38829,0]:28.6:0:0.481542:0:215.16 unsigned int index = 0; char* velocityArray; @@ -459,12 +449,11 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) bulletDatabase[index].speed += bulletSpeed; bulletDatabase[index].frames += 1; bulletSpeedAvg = (bulletDatabase[index].speed / bulletDatabase[index].frames); - + windSpeed = sqrt(pow(wind[0], 2) + pow(wind[1], 2) + pow(wind[2], 2)); - if (windSpeed > 0.1) - { + if (windSpeed > 0.1) { double windSourceTerrain[3]; - + windSourceTerrain[0] = position[0] - wind[0] / windSpeed * 100; windSourceTerrain[1] = position[1] - wind[1] / windSpeed * 100; windSourceTerrain[2] = position[2] - wind[2] / windSpeed * 100; @@ -483,8 +472,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) } } - if (windSpeed > 0.1) - { + if (windSpeed > 0.1) { double windSourceObstacles[3]; windSourceObstacles[0] = position[0] - wind[0] / windSpeed * 25; @@ -497,8 +485,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) } } - if (windAttenuation < 1) - { + if (windAttenuation < 1) { wind[0] *= windAttenuation; wind[1] *= windAttenuation; wind[2] *= windAttenuation; @@ -511,7 +498,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) trueSpeed = sqrt(pow(trueVelocity[0], 2) + pow(trueVelocity[1], 2) + pow(trueVelocity[2], 2)); temperature = bulletDatabase[index].temperature - 0.0065 * position[2]; - + if (bulletDatabase[index].ballisticCoefficients.size() == bulletDatabase[index].velocityBoundaries.size() + 1) { double pressure = 1013.25 * exp(-(bulletDatabase[index].altitude + position[2]) / 7990) - 10 * bulletDatabase[index].overcast; @@ -526,10 +513,8 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) velocityOffset[2] -= accelRef[2]; ballisticCoefficient = bulletDatabase[index].ballisticCoefficients[0]; - for (int i = (int)bulletDatabase[index].velocityBoundaries.size() - 1; i >= 0; i = i - 1) - { - if (bulletSpeed < bulletDatabase[index].velocityBoundaries[i]) - { + for (int i = (int)bulletDatabase[index].velocityBoundaries.size() - 1; i >= 0; i = i - 1) { + if (bulletSpeed < bulletDatabase[index].velocityBoundaries[i]) { ballisticCoefficient = bulletDatabase[index].ballisticCoefficients[i + 1]; break; } @@ -544,14 +529,13 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) velocityOffset[0] -= accel[0]; velocityOffset[1] -= accel[1]; velocityOffset[2] -= accel[2]; - } - else { + } else { double pressureDeviation = 1013.25 * exp(-(bulletDatabase[index].altitude + position[2]) / 7990) - 1013.25 - 10 * bulletDatabase[index].overcast; double airFriction = bulletDatabase[index].airFriction + ((temperature - 15) * 0.0000015 + bulletDatabase[index].humidity * 0.0000040 + pressureDeviation * -0.0000009); if (airFriction != bulletDatabase[index].airFriction || windSpeed > 0) { dragRef = deltaT * bulletDatabase[index].airFriction * bulletSpeed * bulletSpeed; - + accelRef[0] = (velocity[0] / bulletSpeed) * dragRef; accelRef[1] = (velocity[1] / bulletSpeed) * dragRef; accelRef[2] = (velocity[2] / bulletSpeed) * dragRef; @@ -594,7 +578,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) if (bulletSpeed < 345 && bulletSpeedAvg > 340 && bulletSpeed > 335) { std::uniform_real_distribution distribution(0.0, 1.0); double coef = 1.0f - bulletDatabase[index].transonicStabilityCoef; - + velocityOffset[0] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; velocityOffset[1] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; velocityOffset[2] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; @@ -602,8 +586,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) int n = sprintf_s(output, outputSize, "_bullet setVelocity (_bulletVelocity vectorAdd [%f, %f, %f]); _bullet setPosASL (_bulletPosition vectorAdd [%f, %f, %f]);", velocityOffset[0], velocityOffset[1], velocityOffset[2], positionOffset[0], positionOffset[1], positionOffset[2]); return; - } - else if (!strcmp(mode, "set")) { + } else if (!strcmp(mode, "set")) { int height = 0; int numObjects = 0; int surfaceIsWater = 0; @@ -618,8 +601,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) int n = sprintf_s(output, outputSize, "%s", ""); return; - } - else if (!strcmp(mode, "init")) { + } else if (!strcmp(mode, "init")) { int mapSize = 0; int mapGrids = 0; int gridCells = 0; From da309e668230470b5e3110d182f0e8afa29e2668 Mon Sep 17 00:00:00 2001 From: Lukas Date: Sun, 3 May 2015 11:53:12 +0200 Subject: [PATCH 299/478] Update stringtable.xml --- addons/missileguidance/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 635211d30e..dcb2be486c 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -23,7 +23,7 @@ Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile. A fejlett rakétairányító (vagy AMG) többféle módosítást tartalmaz a rakéták célkövetéséhez és tüzeléséhez. Ez egy szükséges keresztrendszer a rakéta-alapú fegyverekhez. Orientação avançada de mísseis ou OAM, fornece vários aprimoramentos para travamento de mísseis e disparos. Também é um sistema requerido para disparar armas que utilizem mísseis. - Pokočilé navádění raket (AMG) poskytuje několik vylepšení pro lepší zaměření a následnou střelbu. Je to prvek vyžadovaný u typ zbraní jako jsou rakety. + Pokočilé navádění raket (AMG) poskytuje několik vylepšení pro lepší zaměření a následnou střelbu. Je to prvek vyžadovaný u typu zbraní jako jsou rakety. Hydra-70 DAGR Missile @@ -98,4 +98,4 @@ Управляемая ракета лазерного наведения Hellfire II AGM-114K - \ No newline at end of file + From 3434964f4fb088990b6150e56648482a0fd7f688 Mon Sep 17 00:00:00 2001 From: Lukas Date: Sun, 3 May 2015 11:54:18 +0200 Subject: [PATCH 300/478] Update stringtable.xml --- addons/scopes/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index e397208e34..226df258bd 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -107,7 +107,7 @@ Auf 0 justieren Állítások nullázása Zerar ajuste - Vynulování korekce + Vynulovat korekci - \ No newline at end of file + From 29fdd63432aaaf327d4fddccd2cc574e178e4dcb Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 12:07:13 +0200 Subject: [PATCH 301/478] Use the constants --- extensions/advanced_ballistics/AdvancedBallistics.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index 0a476c9c65..d08b6a6122 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -96,9 +96,9 @@ double calculateAirDensity(double temperature, double pressure, double relativeH double vaporPressure = relativeHumidity * _pSat; double partialPressure = pressure - vaporPressure; - return (partialPressure * 0.028964 + vaporPressure * 0.018016) / (8.314 * (273.15 + temperature)); + return (partialPressure * DRY_AIR_MOLAR_MASS + vaporPressure * WATER_VAPOR_MOLAR_MASS) / (UNIVERSAL_GAS_CONSTANT * KELVIN(temperature)); } else { - return pressure / (287.058 * (273.15 + temperature)); + return pressure / (SPECIFIC_GAS_CONSTANT_DRY_AIR * KELVIN(temperature)); } } @@ -106,9 +106,9 @@ double calculateAtmosphericCorrection(double ballisticCoefficient, double temper double airDensity = calculateAirDensity(temperature, pressure, relativeHumidity); if (!strcmp(atmosphereModel, "ICAO")) { - return (1.22498 / airDensity) * ballisticCoefficient; + return (STD_AIR_DENSITY_ICAO / airDensity) * ballisticCoefficient; } else { - return (1.20885 / airDensity) * ballisticCoefficient; + return (STD_AIR_DENSITY_ASM / airDensity) * ballisticCoefficient; } } From 13bc1e005860b99217401c5f27547f6f1e44cdc6 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 12:31:30 +0200 Subject: [PATCH 302/478] Replaced deprecated airFriction calculation --- extensions/advanced_ballistics/AdvancedBallistics.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index d08b6a6122..6e964f8921 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -433,6 +433,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) double trueVelocity[3] = { 0.0, 0.0, 0.0 }; double trueSpeed = 0.0; double temperature = 0.0; + double pressure = 1013.25; double windSpeed = 0.0; double windAttenuation = 1.0; double velocityOffset[3] = { 0.0, 0.0, 0.0 }; @@ -498,10 +499,9 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) trueSpeed = sqrt(pow(trueVelocity[0], 2) + pow(trueVelocity[1], 2) + pow(trueVelocity[2], 2)); temperature = bulletDatabase[index].temperature - 0.0065 * position[2]; + pressure = 1013.25 * exp(-(bulletDatabase[index].altitude + position[2]) / 7990) - 10 * bulletDatabase[index].overcast; if (bulletDatabase[index].ballisticCoefficients.size() == bulletDatabase[index].velocityBoundaries.size() + 1) { - double pressure = 1013.25 * exp(-(bulletDatabase[index].altitude + position[2]) / 7990) - 10 * bulletDatabase[index].overcast; - dragRef = deltaT * bulletDatabase[index].airFriction * bulletSpeed * bulletSpeed; accelRef[0] = (velocity[0] / bulletSpeed) * dragRef; @@ -530,8 +530,8 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) velocityOffset[1] -= accel[1]; velocityOffset[2] -= accel[2]; } else { - double pressureDeviation = 1013.25 * exp(-(bulletDatabase[index].altitude + position[2]) / 7990) - 1013.25 - 10 * bulletDatabase[index].overcast; - double airFriction = bulletDatabase[index].airFriction + ((temperature - 15) * 0.0000015 + bulletDatabase[index].humidity * 0.0000040 + pressureDeviation * -0.0000009); + double airDensity = calculateAirDensity(temperature, pressure, bulletDatabase[index].humidity); + double airFriction = bulletDatabase[index].airFriction * airDensity / STD_AIR_DENSITY_ICAO; if (airFriction != bulletDatabase[index].airFriction || windSpeed > 0) { dragRef = deltaT * bulletDatabase[index].airFriction * bulletSpeed * bulletSpeed; From a7d66b59cfc2b926c564b30843b5d14dd20a36ef Mon Sep 17 00:00:00 2001 From: Bla1337 Date: Sun, 3 May 2015 14:01:35 +0300 Subject: [PATCH 303/478] transaltions --- addons/nametags/stringtable.xml | 4 ++-- addons/nightvision/stringtable.xml | 6 +++--- addons/overheating/stringtable.xml | 2 +- addons/realisticnames/stringtable.xml | 4 ++-- addons/respawn/stringtable.xml | 4 ++-- addons/switchunits/stringtable.xml | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 7c2d0356a9..abbf89ae38 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -59,7 +59,7 @@ Mostra i gradi (richiede mostra nomi abilitato) Mostrar patente de jogadores (requer nome de jogadores) Játékosok rendfokozatának mutatása (a nevek mutatása szükséges) - Показывать звания игроков (при вкл. именах) + Показывать звания игроков (при включенных именах) Show vehicle crew info @@ -89,7 +89,7 @@ Show SoundWaves (requires player names) Schallwellen anzeigen (benötigt Spielernamen) Mostrar onda sonora (requiere Mostrar nombres de jugadores) - Индикатор разговора (при вкл. именах) + Индикатор разговора (при включенных именах) Zobrazit SoundWaves (vyžaduje jména hráčů) Pokaż fale dźwiękowe (wymagana opcja Pokaż imiona graczy) Afficher "qui parle" (si noms affichés) diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index c84d648678..6a7792a24d 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -45,7 +45,7 @@ Occhiali notturni (Gen3, marroni) Gogle noktowizyjne (Gen3, brązowe) Óculos de visão noturna (Gen3, marrons) - ПНВ (Gen3, коричневый) + ПНВ (Gen3, Коричневый) Gafas de visión nocturna (Gen3, marrón) Éjjellátó szemüveg (3. Gen., barna) @@ -57,7 +57,7 @@ Occhiali notturni (Gen3, verdi) Gogle noktowizyjne (Gen3, zielone) Óculos de visão noturna (Gen3, verdes) - ПНВ (Gen3, зеленый) + ПНВ (Gen3, Зёленый) Gafas de visión nocturna (Gen3, verde) Éjjellátó szemüveg (3. Gen., zöld) @@ -69,7 +69,7 @@ Occhiali notturni (Gen3, neri) Gogle noktowizyjne (Gen3, czarne) Óculos de visão noturna (Gen3, pretos) - ПНВ (Gen3, черный) + ПНВ (Gen3, Чёрный) Gafas de visión nocturna (Gen3, negro) Éjjellátó szemüveg (3. Gen., fekete) diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 21ac4c56fb..491b587fc2 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -116,7 +116,7 @@ Lufa wymieniona Hlaveň vyměněna Canon changé - Ствол сменён + Ствол заменён Cső kicserélve Cano substituído Canna sostituita diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 44da39f72a..6270570bfc 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -1533,7 +1533,7 @@ GM6 Lynx (Camo) GM6 Gepárd (Terepmintás) GM6 Lynx (Camuflaje) - GM6 Lynx (камо) + GM6 Lynx (Камо) GM6 Lynx (Camo) GM6 Lynx (Camo) @@ -1557,7 +1557,7 @@ M200 Intervention (Camo) M200 Intervention (Terepmintás) M200 Intervention (Camuflaje) - M200 Intervention (камо) + M200 Intervention (Камо) M200 Intervention (Camo) M200 Intervention (Camo) diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index d104b53801..cd0fda2780 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -52,7 +52,7 @@ Téléporté à la base Zur Basis teleportiert Teletransportado a base - Телепорт на базу + Вы были телепортированы на базу Przeteleportowano do bazy Teleportován na základnu Bázisra teleportálva @@ -64,7 +64,7 @@ Téléporté au point de déploiement Zum Sammelpunkt teleportiert Teletransportado al punto de reunión - Телепорт на точку сбора + Вы были телепортированы на точку сбора Przeteleportowano do punktu zbiórki Teleportován na rallypoint Gyülekezőpontra teleportálva diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index 16ce6ae281..8121e3e61e 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -4,7 +4,7 @@ Switched unit Einheit gewechselt - Юнит переключен + Юнит переключён Prohozená jednotka Przełącz jednostkę Cambiado de unidad From 73d0be88fb4c11b82a4e460e79e8be077cdad620 Mon Sep 17 00:00:00 2001 From: Bla1337 Date: Sun, 3 May 2015 14:57:59 +0300 Subject: [PATCH 304/478] nametags edits --- addons/nametags/stringtable.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index abbf89ae38..e4074733d9 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -35,7 +35,7 @@ Mostra i nomi solo se puntati (richiede mostra nomi abilitato) Mostrar nome de jogador somente no cursor (requer nome de jogadores) Játékosok nevének mutatása csak a kurzoron (a nevek mutatása szükséges) - Показать имена игроков только под курсором (при включенных именах) + Показать имена игроков только под курсором (при вкл. именах) Show player name only on keypress (requires player names) @@ -45,7 +45,7 @@ Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) Pokaż imiona graczy tylko po przytrzymaniu klawisza (wymagana opcja Pokaż imiona graczy) Játékosnevek mutatása csak gombnyomásra (a nevek mutatása szükséges) - Показать имена игроков только по нажатию клавиши (при включенных именах) + Показать имена игроков только по нажатию клавиши (при вкл. именах) Mostra i nomi solo se si preme il tasto (richiede mostra nomi abilitato) Mostrar nomes somente ao pressionar teclar (requer nome de jogadores) @@ -59,7 +59,7 @@ Mostra i gradi (richiede mostra nomi abilitato) Mostrar patente de jogadores (requer nome de jogadores) Játékosok rendfokozatának mutatása (a nevek mutatása szükséges) - Показывать звания игроков (при включенных именах) + Показывать звания игроков (при вкл. именах) Show vehicle crew info @@ -89,7 +89,7 @@ Show SoundWaves (requires player names) Schallwellen anzeigen (benötigt Spielernamen) Mostrar onda sonora (requiere Mostrar nombres de jugadores) - Индикатор разговора (при включенных именах) + Индикатор разговора (при вкл. именах) Zobrazit SoundWaves (vyžaduje jména hráčů) Pokaż fale dźwiękowe (wymagana opcja Pokaż imiona graczy) Afficher "qui parle" (si noms affichés) From 4710e61c2af1706d6cd798fe580fe16da4c0afc8 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 3 May 2015 14:37:44 +0200 Subject: [PATCH 305/478] swapped basic and advanced --- documentation/missionmaker/modules.md | 72 +++++++++++++-------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 40a50faf76..d48d7e9cb3 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -359,42 +359,7 @@ And then there's the "LSD Vehicles" module … it does 'something' to all v ## 2. ACE Medical *Part of: ace_medical* -### 2.1 Advanced Medical Settings - -This module allows you to change the default Advanced Medical Settings, when [2.2 Medical Settings](#2-2MedicalSettings) is set to "Advanced". - -**Settings:** - -1. **Enabled for (Option)**
    -Select what units the advanced medical system will be enabled for.
    -`Default value: "Players only"` -2. **Enable Advanced wounds (Boolean)**
    -Allow reopening of bandaged wounds?
    -`Default value: No` -3. **Vehicle Crashes (Boolean)**
    -Do units take damage from a vehicle crash?
    -`Default value: Yes` -4. **Allow PAK (Option)**
    -Who can use the PAK for full heal?
    -`Default value: "Medics only"` -5. **Remove PAK on use (Boolean)**
    -Should PAK be removed on usage?
    -`Default value: Yes` -6. **Locations PAK (Option)**
    -Where can the personal aid kit be used?
    -`Default value: "Vehicles & facility"` -7. **Allow Surgical kit (Option)**
    -Who can use the surgical kit?
    -`Default value: "Medics only"` -8. **Remove Surgical kit (Boolean)**
    -Should Surgical kit be removed on usage?
    -`Default value: Yes` -9. **Locations Surgical kit (Option)**
    -Where can the Surgical kit be used?
    -`Default value: "Vehicles & facility"` - - -### 2.2 Medical Settings +### 2.1 Medical Settings This module allows to tweak all the medical settings used in ACE3 @@ -438,6 +403,41 @@ Keep unit status synced. Recommended on.
    `Default value: Yes` +### 2.2 Advanced Medical Settings + +This module allows you to change the default Advanced Medical Settings, when [2.2 Medical Settings](#2-2MedicalSettings) is set to "Advanced". + +**Settings:** + +1. **Enabled for (Option)**
    +Select what units the advanced medical system will be enabled for.
    +`Default value: "Players only"` +2. **Enable Advanced wounds (Boolean)**
    +Allow reopening of bandaged wounds?
    +`Default value: No` +3. **Vehicle Crashes (Boolean)**
    +Do units take damage from a vehicle crash?
    +`Default value: Yes` +4. **Allow PAK (Option)**
    +Who can use the PAK for full heal?
    +`Default value: "Medics only"` +5. **Remove PAK on use (Boolean)**
    +Should PAK be removed on usage?
    +`Default value: Yes` +6. **Locations PAK (Option)**
    +Where can the personal aid kit be used?
    +`Default value: "Vehicles & facility"` +7. **Allow Surgical kit (Option)**
    +Who can use the surgical kit?
    +`Default value: "Medics only"` +8. **Remove Surgical kit (Boolean)**
    +Should Surgical kit be removed on usage?
    +`Default value: Yes` +9. **Locations Surgical kit (Option)**
    +Where can the Surgical kit be used?
    +`Default value: "Vehicles & facility"` + + ### 2.3 Revive Settings This modules allows a mission maker to limit the amount of revives for units in basic and advanced medical. From 1f5e47b7c193741a6eb92c68821ce566e69547bf Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 3 May 2015 07:21:27 -0700 Subject: [PATCH 306/478] PyFormat.Info love --- tools/make.py | 86 +++++++++++++++++++++++++-------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/tools/make.py b/tools/make.py index 462d44b536..c6e0c2b26c 100644 --- a/tools/make.py +++ b/tools/make.py @@ -280,7 +280,7 @@ def color(color): def print_error(msg): color("red") - print ("ERROR: " + msg) + print ("ERROR: {}".format(msg)) color("reset") def print_green(msg): @@ -311,12 +311,12 @@ def copy_important_files(source_dir,destination_dir): #copy importantFiles try: - print_blue("\nSearching for important files in " + source_dir) - print("Source_dir: " + source_dir) - print("Destination_dir: " + destination_dir) + print_blue("\nSearching for important files in {}".format(source_dir)) + print("Source_dir: {}".format(source_dir)) + print("Destination_dir: {}".format(destination_dir)) for file in importantFiles: - print_green("Copying file => " + os.path.join(source_dir,file)) + print_green("Copying file => {}".format(os.path.join(source_dir,file))) shutil.copyfile(os.path.join(source_dir,file),os.path.join(destination_dir,file)) except: print_error("COPYING IMPORTANT FILES.") @@ -325,14 +325,14 @@ def copy_important_files(source_dir,destination_dir): #copy all extension dlls try: os.chdir(os.path.join(source_dir)) - print_blue("\nSearching for DLLs in " + os.getcwd()) + print_blue("\nSearching for DLLs in {}".format(os.getcwd())) filenames = glob.glob("*.dll") if not filenames: print ("Empty SET") for dll in filenames: - print_green("Copying dll => " + os.path.join(source_dir,dll)) + print_green("Copying dll => {}".format(os.path.join(source_dir,dll))) if os.path.isfile(dll): shutil.copyfile(os.path.join(source_dir,dll),os.path.join(destination_dir,dll)) except: @@ -353,17 +353,17 @@ def copy_optionals_for_building(mod,pbos): files = glob.glob(os.path.join(release_dir, "@ace","optionals","*.pbo")) for file in files: file_name = os.path.basename(file) - #print ("Adding the following file: " + file_name) + #print ("Adding the following file: {}".format(file_name)) pbos.append(file_name) pbo_path = os.path.join(release_dir, "@ace","optionals",file_name) sigFile_name = file_name +"."+ key_name + ".bisign" sig_path = os.path.join(release_dir, "@ace","optionals",sigFile_name) if (os.path.isfile(pbo_path)): - print("Moving " + pbo_path + " for processing.") + print("Moving {} for processing.".format(pbo_path)) shutil.move(pbo_path, os.path.join(release_dir,"@ace","addons",file_name)) if (os.path.isfile(sig_path)): - #print("Moving " + sig_path + " for processing.") + #print("Moving {} for processing.".format(sig_path)) shutil.move(sig_path, os.path.join(release_dir,"@ace","addons",sigFile_name)) except: print_error("Error in moving") @@ -385,7 +385,7 @@ def copy_optionals_for_building(mod,pbos): else: destination = os.path.join(module_root,dir_name) - print("Temporarily copying " + os.path.join(optionals_root,dir_name) + " => " + destination + " for building.") + print("Temporarily copying {} => {} for building.".format(os.path.join(optionals_root,dir_name),destination)) if (os.path.exists(destination)): shutil.rmtree(destination, True) shutil.copytree(os.path.join(optionals_root,dir_name), destination) @@ -406,7 +406,7 @@ def cleanup_optionals(mod): else: destination = os.path.join(module_root,dir_name) - print("Cleaning " + destination) + print("Cleaning {}".format(destination)) try: file_name = "ace_{}.pbo".format(dir_name) @@ -418,10 +418,10 @@ def cleanup_optionals(mod): dst_sig_path = os.path.join(release_dir, "@ace","optionals",sigFile_name) if (os.path.isfile(src_file_path)): - #print("Preserving " + file_name) + #print("Preserving {}".format(file_name)) os.renames(src_file_path,dst_file_path) if (os.path.isfile(src_sig_path)): - #print("Preserving " + sigFile_name) + #print("Preserving {}".format(sigFile_name)) os.renames(src_sig_path,dst_sig_path) except FileExistsError: print_error(file_name + " already exists") @@ -434,7 +434,7 @@ def cleanup_optionals(mod): def purge(dir, pattern, friendlyPattern="files"): - print_green("Deleting " + friendlyPattern + " files from directory: " + dir) + print_green("Deleting {} files from directory: {}".format(friendlyPattern,dir)) for f in os.listdir(dir): if re.search(pattern, f): os.remove(os.path.join(dir, f)) @@ -443,7 +443,7 @@ def purge(dir, pattern, friendlyPattern="files"): def build_signature_file(file_name): global key global dssignfile - print("Signing with " + key + ".") + print("Signing with {}.".format(key)) ret = subprocess.call([dssignfile, key, file_name]) if ret == 0: return True @@ -461,7 +461,7 @@ def check_for_obsolete_pbos(addonspath, file): def main(argv): """Build an Arma addon suite in a directory from rules in a make.cfg file.""" - print_blue(("\nmake.py for Arma, modified for Advanced Combat Environment v" + __version__)) + print_blue("\nmake.py for Arma, modified for Advanced Combat Environment v{}".format(__version__)) global work_drive global module_root @@ -567,7 +567,7 @@ See the make.cfg file for additional build options. else: check_external = False - print_yellow("\nCheck external references is set to " + str(check_external)) + print_yellow("\nCheck external references is set to {}".format(str(check_external))) # Get the directory the make script is in. make_root = os.path.dirname(os.path.realpath(__file__)) @@ -632,21 +632,21 @@ See the make.cfg file for additional build options. module_root_parent = os.path.abspath(os.path.join(os.path.join(work_drive, prefix), os.pardir)) module_root = cfg.get(make_target, "module_root", fallback=os.path.join(make_root_parent, "addons")) optionals_root = os.path.join(module_root_parent, "optionals") - print_green ("module_root: " + module_root) + print_green ("module_root: {}".format(module_root)) if (os.path.isdir(module_root)): os.chdir(module_root) else: - print_error ("Directory " + module_root + " does not exist.") + print_error ("Directory {} does not exist.".format(module_root)) sys.exit() if (os.path.isdir(optionals_root)): - print_green ("optionals_root: " + optionals_root) + print_green ("optionals_root: {}".format(optionals_root)) else: - print_error ("Directory " + optionals_root + " does not exist.") + print_error ("Directory {} does not exist.".format(optionals_root)) sys.exit() - print_green ("release_dir: " + release_dir) + print_green ("release_dir: {}".format(release_dir)) except: raise @@ -739,7 +739,7 @@ See the make.cfg file for additional build options. ret = subprocess.call([dscreatekey, key_name]) # Created in make_root os.chdir(curDir) if ret == 0: - print_green("Created: " + os.path.join(private_key_path, key_name + ".biprivatekey")) + print_green("Created: {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) print("Removing any old signature keys...") purge(os.path.join(module_root, release_dir, project, "addons"), "^.*\.bisign$","*.bisign") purge(os.path.join(module_root, release_dir, project, "optionals"), "^.*\.bisign$","*.bisign") @@ -762,7 +762,7 @@ See the make.cfg file for additional build options. raise else: - print_green("\nNOTE: Using key " + os.path.join(private_key_path, key_name + ".biprivatekey")) + print_green("\nNOTE: Using key {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) key = os.path.join(private_key_path, key_name + ".biprivatekey") @@ -773,13 +773,13 @@ See the make.cfg file for additional build options. if (file.endswith(".pbo") and os.path.isfile(os.path.join(obsolete_check_path,file))): if check_for_obsolete_pbos(module_root, file): fileName = os.path.splitext(file)[0] - print_yellow("Removing obsolete file => " + file) + print_yellow("Removing obsolete file => {}".format(file)) purge(obsolete_check_path,fileName+"\..",fileName+".*") # For each module, prep files and then build. print_blue("\nBuilding...") for module in modules: - print_green("\nMaking " + module + "-"*max(1, (60-len(module)))) + print_green("\nMaking {}".format(module + "-"*max(1, (60-len(module))))) missing = False sigMissing = False @@ -811,7 +811,7 @@ See the make.cfg file for additional build options. print("Module has not changed.") if sigMissing: if key: - print("Missing Signature key " + sigFile) + print("Missing Signature key {}".format(sigFile)) build_signature_file(os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")) # Skip everything else continue @@ -833,7 +833,7 @@ See the make.cfg file for additional build options. print("Resuming build...") continue #else: - #print("WARNING: Module is stored on work drive (" + work_drive + ").") + #print("WARNING: Module is stored on work drive ({}).".format(work_drive)) try: # Remove the old pbo, key, and log @@ -855,8 +855,8 @@ See the make.cfg file for additional build options. continue # Build the module into a pbo - print_blue("Building: " + os.path.join(work_drive, prefix, module)) - print_blue("Destination: " + os.path.join(module_root, release_dir, project, "addons")) + print_blue("Building: {}".format(os.path.join(work_drive, prefix, module))) + print_blue("Destination: {}".format(os.path.join(module_root, release_dir, project, "addons"))) # Make destination folder (if needed) try: @@ -876,14 +876,14 @@ See the make.cfg file for additional build options. cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-bin", "-dst", os.path.join(work_drive, prefix, module, "config.bin"), os.path.join(work_drive, prefix, module, "config.cpp")] ret = subprocess.call(cmd) if ret != 0: - print_error("CfgConvert -bin return code == " + str(ret) + ". Usually means there is a syntax error within the config.cpp file.") + print_error("CfgConvert -bin return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-txt", "-dst", os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.bin")] ret = subprocess.call(cmd) if ret != 0: - print_error("CfgConvert -txt return code == " + str(ret) + ". Usually means there is a syntax error within the config.cpp file.") + print_error("CfgConvert -txt return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) @@ -930,7 +930,7 @@ See the make.cfg file for additional build options. color("reset") if ret == 0: - print_green("pboProject return code == " + str(ret)) + print_green("pboProject return code == {}".format(str(ret))) # Prettyprefix rename the PBO if requested. if pbo_name_prefix: try: @@ -940,7 +940,7 @@ See the make.cfg file for additional build options. print_error("Could not rename built PBO with prefix.") # Sign result if key: - print("Signing with " + key + ".") + print("Signing with {}.".format(key)) if pbo_name_prefix: ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) else: @@ -952,13 +952,13 @@ See the make.cfg file for additional build options. build_successful = True if not build_successful: - print_error("pboProject return code == " + str(ret)) + print_error("pboProject return code == {}".format(str(ret))) print_error("Module not successfully built/signed.") print ("Resuming build...") continue #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp - #print_green("\Pabst (restoring): " + os.path.join(work_drive, prefix, module, "config.cpp")) + #print_green("\Pabst (restoring): {}".format(os.path.join(work_drive, prefix, module, "config.cpp"))) os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) os.remove(os.path.join(work_drive, prefix, module, "config.bin")) os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) @@ -998,10 +998,10 @@ See the make.cfg file for additional build options. else: previousDirectory = os.getcwd() os.chdir(arma3tools_path) - print_error("Current directory - " + os.getcwd()) + print_error("Current directory - {}".format(os.getcwd())) ret = subprocess.call(cmd) os.chdir(previousDirectory) - print_error("Current directory - " + os.getcwd()) + print_error("Current directory - {}".format(os.getcwd())) color("reset") print_green("completed") # Prettyprefix rename the PBO if requested. @@ -1015,7 +1015,7 @@ See the make.cfg file for additional build options. if ret == 0: # Sign result if key: - print("Signing with " + key + ".") + print("Signing with {}.".format(key)) if pbo_name_prefix: ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) else: @@ -1040,7 +1040,7 @@ See the make.cfg file for additional build options. continue else: - print_error("Unknown build_tool " + build_tool + "!") + print_error("Unknown build_tool {}!".format(build_tool)) # Update the hash for a successfully built module if build_successful: @@ -1065,7 +1065,7 @@ See the make.cfg file for additional build options. # Make release if make_release: - print_blue("\nMaking release: " + project + "-" + release_version + ".zip") + print_blue("\nMaking release: {}-{}.zip".format(project,release_version)) try: # Delete all log files @@ -1101,7 +1101,7 @@ See the make.cfg file for additional build options. shutil.copytree(os.path.join(module_root, release_dir, project), os.path.join(a3_path, project)) except: print_error("Could not copy files. Is Arma 3 running?") - + print_green("\nDone.") From bf592ce0a940523d716dd311c64bb33462f5a70b Mon Sep 17 00:00:00 2001 From: Bla1337 Date: Sun, 3 May 2015 17:35:58 +0300 Subject: [PATCH 307/478] nightvision edits --- addons/nightvision/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index 6a7792a24d..b6f2431eef 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -57,7 +57,7 @@ Occhiali notturni (Gen3, verdi) Gogle noktowizyjne (Gen3, zielone) Óculos de visão noturna (Gen3, verdes) - ПНВ (Gen3, Зёленый) + ПНВ (Gen3, Зелёный) Gafas de visión nocturna (Gen3, verde) Éjjellátó szemüveg (3. Gen., zöld)
    From 30c27bf689551766e6f2a539057d9962b75de748 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 23:21:56 +0200 Subject: [PATCH 308/478] Added weather data for kunduz map --- addons/weather/functions/fnc_getMapData.sqf | 25 +++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index f2527d1157..e1df9f658c 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -34,6 +34,7 @@ if (worldName in ["reshmaan"]) then { GVAR(Latitude) = 35; GVAR(Altitude) = 2000 if (worldName in ["Thirsk"]) then { GVAR(Latitude) = 65; GVAR(Altitude) = 0; }; if (worldName in ["lingor"]) then { GVAR(Latitude) = -4; GVAR(Altitude) = 0; }; if (worldName in ["Panthera3"]) then { GVAR(Latitude) = 46; GVAR(Altitude) = 0; }; +if (worldName in ["Kunduz"]) then { GVAR(Latitude) = 37; GVAR(Altitude) = 400; }; // Assume default wind values // Source: https://weatherspark.com/averages/32194/Lemnos-Limnos-North-Aegean-Islands-Greece @@ -131,6 +132,30 @@ if (worldName in ["Imrali"]) exitWith { // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Bursa,Turkey GVAR(Humidity) = [78, 75, 70, 70, 71, 61, 58, 59, 63, 69, 77, 76]; }; +if (worldName in ["Kunduz"]) exitWith { + // Source: http://www.iten-online.ch/klima/asien/afghanistan/kunduz.htm + GVAR(TempDay) = [6.3, 9.5, 15.8, 23, 29.8, 37.3, 39, 36.9, 31.8, 24.5, 16, 9.7]; + GVAR(TempNight) = [-2.4, 0, 5.7, 11.6, 15.7, 20.9, 21.5, 21.5, 16.3, 10.6, 4.1, 0]; + // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Kabul,Afghanistan + GVAR(Humidity) = [70, 72, 64, 61, 49, 34, 36, 38, 39, 52, 51, 63]; + + // Source: https://weatherspark.com/averages/32753/Kunduz-Afghanistan + GVAR(WindSpeedMax) = [[3.5, 0.8], [4.0, 0.6], [4.3, 2.0], [4.6, 1.1], [5.1, 1.2], [5.7, 1.0], [4.9, 0.8], [4.5, 0.3], [4.3, 0.3], [3.8, 0.5], [3.0, 1.3], [3.1, 0.8]]; + GVAR(WindSpeedMean) = [1.5, 1.8, 2.1, 2.4, 2.5, 2.8, 2.7, 2.5, 2.3, 2.1, 1.7, 1.6]; + GVAR(WindSpeedMin) = [[0.2, 0.1], [0.3, 0.3], [0.4, 0.1], [0.8, 0.2], [0.8, 0.1], [1.0, 0.3], [0.9, 0.5], [0.8, 0.2], [0.8, 0.1], [0.7, 0.1], [0.5, 0.1], [0.2, 0.2]]; + GVAR(WindDirectionProbabilities) = [[0.04, 0.02, 0.05, 0.11, 0.12, 0.06, 0.09, 0.06], // January + [0.04, 0.02, 0.05, 0.11, 0.12, 0.06, 0.08, 0.07], // February + [0.05, 0.04, 0.06, 0.14, 0.12, 0.06, 0.10, 0.08], // March + [0.09, 0.05, 0.08, 0.13, 0.07, 0.05, 0.07, 0.07], // April + [0.14, 0.07, 0.13, 0.13, 0.06, 0.05, 0.05, 0.08], // May + [0.16, 0.06, 0.12, 0.12, 0.05, 0.04, 0.05, 0.10], // June + [0.17, 0.06, 0.08, 0.12, 0.06, 0.04, 0.05, 0.12], // July + [0.15, 0.05, 0.06, 0.16, 0.08, 0.05, 0.07, 0.13], // August + [0.15, 0.04, 0.08, 0.20, 0.13, 0.05, 0.10, 0.14], // September + [0.08, 0.02, 0.08, 0.22, 0.15, 0.06, 0.13, 0.13], // October + [0.06, 0.02, 0.05, 0.20, 0.17, 0.06, 0.12, 0.10], // November + [0.04, 0.02, 0.05, 0.14, 0.19, 0.07, 0.10, 0.07]];// December +}; // Assume default values GVAR(TempDay) = [1, 3, 9, 14, 19, 23, 25, 24, 21, 13, 7, 2]; From 061b77e375b362e2cc33b60734eab419ba4a9b0c Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 3 May 2015 23:32:53 +0200 Subject: [PATCH 309/478] Fixed completely fucked up temperature day/night cycle --- addons/weather/functions/fnc_updateTemperature.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/weather/functions/fnc_updateTemperature.sqf b/addons/weather/functions/fnc_updateTemperature.sqf index 870d00333c..82f126e33f 100644 --- a/addons/weather/functions/fnc_updateTemperature.sqf +++ b/addons/weather/functions/fnc_updateTemperature.sqf @@ -11,13 +11,13 @@ */ #include "script_component.hpp" -private ["_time", "_month", "_hourlyCoef"]; +private ["_time", "_month", "_timeRatio"]; _time = daytime; _month = date select 1; -_hourlyCoef = -0.5 * sin(360 * ((3 + (date select 3))/24 + (date select 4)/1440)); +_timeRatio = abs(_time - 12) / 12; -GVAR(currentTemperature) = (GVAR(TempDay) select (_month - 1)) * (1 - _hourlyCoef) + (GVAR(TempNight) select (_month - 1)) * _hourlyCoef; +GVAR(currentTemperature) = (GVAR(TempDay) select (_month - 1)) * (1 - _timeRatio) + (GVAR(TempNight) select (_month - 1)) * _timeRatio; GVAR(currentTemperature) = GVAR(currentTemperature) + GVAR(temperatureShift) - GVAR(badWeatherShift) * overcast; GVAR(currentTemperature) = round(GVAR(currentTemperature) * 10) / 10; From b86012a6b18c8bbb5048b8be9d3fd01be1f9c1b3 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Mon, 4 May 2015 00:16:12 +0200 Subject: [PATCH 310/478] Ensure that litterCondition is always code #1000 --- addons/medical/functions/fnc_createLitter.sqf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/medical/functions/fnc_createLitter.sqf b/addons/medical/functions/fnc_createLitter.sqf index 253a3ed315..8682cc24d5 100644 --- a/addons/medical/functions/fnc_createLitter.sqf +++ b/addons/medical/functions/fnc_createLitter.sqf @@ -46,11 +46,11 @@ _createLitter = { _position = [(_position select 0) - random 2, (_position select 1) - random 2, _position select 2]; }; _direction = (random 360); - + // Create the litter, and timeout the event based on the cleanup delay - // The cleanup delay for events in MP is handled by the server side + // The cleanup delay for events in MP is handled by the server side [QGVAR(createLitter), [_litterClass,_position,_direction], 0] call EFUNC(common,syncedEvent); - + true }; @@ -68,6 +68,7 @@ _createdLitter = []; _litterCondition = if (_litterCondition != "") then {compile _litterCondition} else {{true}}; } else { _litterCondition = missionNamespace getvariable _litterCondition; + if (typeName _litterCondition != "CODE") then {_litterCondition = {false}}; }; if !([_caller, _target, _selectionName, _className, _usersOfItems] call _litterCondition) exitwith {}; From ae47c7855257e71930c9f52c9cc5e2cbb3c835d4 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Mon, 4 May 2015 00:20:28 +0200 Subject: [PATCH 311/478] Make treatment execute before createLitter --- addons/medical/functions/fnc_treatment_failure.sqf | 4 ++-- addons/medical/functions/fnc_treatment_success.sqf | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/medical/functions/fnc_treatment_failure.sqf b/addons/medical/functions/fnc_treatment_failure.sqf index c329bf724c..19352e5441 100644 --- a/addons/medical/functions/fnc_treatment_failure.sqf +++ b/addons/medical/functions/fnc_treatment_failure.sqf @@ -58,6 +58,6 @@ if (isNil _callback) then { _callback = missionNamespace getvariable _callback; }; -_args call FUNC(createLitter); - _args call _callback; + +_args call FUNC(createLitter); diff --git a/addons/medical/functions/fnc_treatment_success.sqf b/addons/medical/functions/fnc_treatment_success.sqf index 0178ea78fd..ffe67d21bc 100644 --- a/addons/medical/functions/fnc_treatment_success.sqf +++ b/addons/medical/functions/fnc_treatment_success.sqf @@ -52,6 +52,6 @@ if (isNil _callback) then { _callback = missionNamespace getvariable _callback; }; -_args call FUNC(createLitter); - _args call _callback; + +_args call FUNC(createLitter); From 6c6cb9128a405763a89c92d30dce903ab6149d0d Mon Sep 17 00:00:00 2001 From: Bla1337 Date: Mon, 4 May 2015 09:54:54 +0300 Subject: [PATCH 312/478] Reverted the abbreviation changes Abbreviation only used when necessary for the text clipping prevention. --- addons/nametags/stringtable.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index e4074733d9..7c2d0356a9 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -35,7 +35,7 @@ Mostra i nomi solo se puntati (richiede mostra nomi abilitato) Mostrar nome de jogador somente no cursor (requer nome de jogadores) Játékosok nevének mutatása csak a kurzoron (a nevek mutatása szükséges) - Показать имена игроков только под курсором (при вкл. именах) + Показать имена игроков только под курсором (при включенных именах) Show player name only on keypress (requires player names) @@ -45,7 +45,7 @@ Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) Pokaż imiona graczy tylko po przytrzymaniu klawisza (wymagana opcja Pokaż imiona graczy) Játékosnevek mutatása csak gombnyomásra (a nevek mutatása szükséges) - Показать имена игроков только по нажатию клавиши (при вкл. именах) + Показать имена игроков только по нажатию клавиши (при включенных именах) Mostra i nomi solo se si preme il tasto (richiede mostra nomi abilitato) Mostrar nomes somente ao pressionar teclar (requer nome de jogadores) From ec4802e700502b5c0bab68ce800ded86ab7e6987 Mon Sep 17 00:00:00 2001 From: bux578 Date: Mon, 4 May 2015 11:57:09 +0200 Subject: [PATCH 313/478] remove "CMS", fix link I need to check the links once published. --- documentation/missionmaker/modules.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index d48d7e9cb3..fc454df4f9 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -405,7 +405,7 @@ Keep unit status synced. Recommended on.
    ### 2.2 Advanced Medical Settings -This module allows you to change the default Advanced Medical Settings, when [2.2 Medical Settings](#2-2MedicalSettings) is set to "Advanced". +This module allows you to change the default Advanced Medical Settings, when [2.1 Medical Settings](#2-1MedicalSettings) is set to "Advanced". **Settings:** @@ -471,18 +471,18 @@ Medics allow for more advanced treatment in case of Advanced Medic roles enabled ### 2.5 Set Medical Facility -Defines an object as a medical facility for CMS. This allows for more advanced treatments. Can be synced with buildings and vehicles. +Defines an object as a medical facility. This allows for more advanced treatments. Can be synced with buildings and vehicles. **Settings:** 1. **Is Medical Facility (Boolean)**
    -Registers an object as a medical facility for CMS.
    +Registers an object as a medical facility.
    `Default value: Yes` ### 2.6 Set Medical Vehicle -Defines an object as a medical facility for CMS. This allows for more advanced treatments. Can be synced with buildings and vehicles. +Defines an object as a medical facility. This allows for more advanced treatments. Can be synced with buildings and vehicles. **Settings:** From 08ada80baa4db1c862b3890246ee5a5d61b7042c Mon Sep 17 00:00:00 2001 From: bux578 Date: Mon, 4 May 2015 12:36:45 +0200 Subject: [PATCH 314/478] update from gh-pages --- documentation/user/promotional-material.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/documentation/user/promotional-material.md b/documentation/user/promotional-material.md index 834cd66efc..478a256897 100644 --- a/documentation/user/promotional-material.md +++ b/documentation/user/promotional-material.md @@ -10,9 +10,10 @@ You are hereby granted to use the ACE3 logos and imagery for promotional purpose ## Colors -![white](https://cloud.githubusercontent.com/assets/1235520/6618806/d19959e4-c8c5-11e4-85f4-814c93ec7778.jpg) White: `#ffffff, rgb(255, 255, 255)`
    -![black](https://cloud.githubusercontent.com/assets/1235520/6618807/d2c7bf0e-c8c5-11e4-8c43-6de02d47898c.jpg) Black: `#000000, rgb(0, 0, 0)`
    -![red](https://cloud.githubusercontent.com/assets/1235520/6618808/d3e6a62a-c8c5-11e4-9313-4db522a40117.jpg) Red: `#ba2619, rgb(186, 38, 25)` +* White: `#ffffff, rgb(255, 255, 255)` +* Black: `#000000, rgb(0, 0, 0)` +* Red: `#ba2619, rgb(186, 38, 25)` + ## Logo When using the ACE3 logo please do not stretch or skew it. @@ -31,4 +32,4 @@ When using the ACE3 logo please do not stretch or skew it. * [JPG (black background)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/white/ACE3-Logo.jpg) * [PNG (transparent background)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/white/ACE3-Logo.png) -* [EPS (vector file)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/white/ACE3-Logo.eps) \ No newline at end of file +* [EPS (vector file)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/white/ACE3-Logo.eps) From a5d74f4bfdb0d9d589af8cfd99c81a310d3765bc Mon Sep 17 00:00:00 2001 From: bux578 Date: Mon, 4 May 2015 13:43:33 +0200 Subject: [PATCH 315/478] proper heading numeration --- .../development/ace3-config-entries.md | 10 ++--- .../development/ace3-events-system.md | 14 ++++--- .../arma-3-scheduler-and-our-practices.md | 22 +++++------ .../development/coding-guidelines.md | 39 +++++++------------ .../development/extension-guidelines.md | 20 +++++----- .../setting-up-the-development-environment.md | 33 +++++----------- documentation/feature/medical-system.md | 10 ++--- .../framework/advanced-missile-guidance.md | 24 ++++++------ documentation/framework/carry-drag.md | 2 +- documentation/missionmaker/modules.md | 8 ++-- documentation/user/getting-started.md | 4 +- documentation/user/promotional-material.md | 8 ++-- 12 files changed, 87 insertions(+), 107 deletions(-) diff --git a/documentation/development/ace3-config-entries.md b/documentation/development/ace3-config-entries.md index 1033172469..2dbad136d3 100644 --- a/documentation/development/ace3-config-entries.md +++ b/documentation/development/ace3-config-entries.md @@ -6,7 +6,7 @@ parent: wiki order: 2 --- -### CfgVehicles +## 1. CfgVehicles ```c++ ace_nightvision_grain @@ -23,7 +23,7 @@ ace_offset ``` -### CfgWeapons +## 2. CfgWeapons ```c++ ace_recoil_shakemultiplier @@ -60,7 +60,7 @@ ace_modedescription ``` -### CfgAmmo +## 3. CfgAmmo ```c++ ace_recoil_shakemultiplier @@ -88,7 +88,7 @@ ace_barrellengths ``` -### CfgGlasses +## 4. CfgGlasses ```c++ ace_color @@ -102,7 +102,7 @@ ace_dustpath ``` -### CfgMagazines +## 5. CfgMagazines ```c++ ace_isbelt diff --git a/documentation/development/ace3-events-system.md b/documentation/development/ace3-events-system.md index 33412aa8fa..393005bdf4 100644 --- a/documentation/development/ace3-events-system.md +++ b/documentation/development/ace3-events-system.md @@ -6,7 +6,7 @@ parent: wiki order: 3 --- -## Event Handlers +## 1. Event Handlers Event handlers in ACE3 are implemented through our event system. They should be used to trigger or allow triggering of specific functionality. @@ -23,12 +23,14 @@ Events can be removed or cleared with the following commands. * `[eventName, eventHandlerId] call ace_common_fnc_removeEventHandler`
    will remove a specific event handler of the event name, using the ID returned from `ace_common_fnc_addEventHandler`. * `[eventName] call ace_common_fnc_removeAllEventHandlers`
    will remove all event handlers for that type of event. -### Synchronized Events +### 1.1 Synchronized Events + * `[eventName, eventCodeBlock, ttlNumberOrCodeBlock] call ace_common_fnc_addSyncedEventHandler`
    adds a globally synchronized event handler which will expire events after the provided TTL, or the code returns true. * `[eventName] call ace_common_fnc_removeSyncedEventHandler`
    will remove a specific event handler of the event name, using the ID returned from `ace_common_fnc_addSyncedEventHandler`. * * `[eventName, args, ttlNumberOrCodeBlock] call ace_common_fnc_syncedEvent`
    calls a global synchronized event, which will also be run on JIP players unless it has expired; event will expire after the provided TTL, or the code returns true. -### Pattern: +### 1.2 Pattern: + ```c++ // tapper machine ["tapShoulder", [_target], [otherArguments]] call EFUNC(common,targetEvent); @@ -38,7 +40,8 @@ PREP(onTapShoulder); ["tapShoulder", FUNC(onTapShoulder) ] call EFUNC(common,addEventHandler); ``` -### Listenable Event List: +### 1.3 Listenable Event List: + @@ -191,7 +194,8 @@ PREP(onTapShoulder);
    -### Callable Event List: +### 1.4 Callable Event List: + diff --git a/documentation/development/arma-3-scheduler-and-our-practices.md b/documentation/development/arma-3-scheduler-and-our-practices.md index bef0224819..a090eecc44 100644 --- a/documentation/development/arma-3-scheduler-and-our-practices.md +++ b/documentation/development/arma-3-scheduler-and-our-practices.md @@ -6,25 +6,25 @@ parent: wiki order: 8 --- -## Terminology +## 1. Terminology -#### Frame +### 1.1 Frame A single rendered frame of Arma 3. -#### Scheduled Space +### 1.2 Scheduled Space This refers to execution would is ruled by the Arma 3 default script scheduling engine. This would include: * spawn * execVM -#### Unscheduled Space +### 1.3 Unscheduled Space This refers to execution which is linear; what this means is that the code will run to completion prior to executing the current frame. It must complete, but is guaranteed to run within a given frame. * perFrameHandler * Extended_EventHandlers * addEventHandler -## What is the scheduler and why do I care? +## 2. What is the scheduler and why do I care? BIKI Article: https://community.bistudio.com/wiki/Biki2.0:Performance_Considerations @@ -36,7 +36,7 @@ What does this all mean? It means we need to live outside of the spawn execution The scheduler will also actually halt your script mid-execution, usually at the end of a given control block, and pause you to yield to other scripts. This can lead to drastically incorrect results when performing calculations. Again, this is the reason we want all our given code to run to completion in a single given frame. -## Design Patterns +## 3 Design Patterns Because we are attempting to always run to completion; execution occurs from 2 places. Either PFH handles or event handlers; in both cases, we wish our code to run to completion. This takes a change in mind set for design to ensure your executing that way. In a nutshell though, this all distills down to the fact that you will always call other chunks of code; nothing will ever be spawned off. The only circumstance this really becomes a problem is for waiting or delay. If designed correctly, though, you can avoid those circumstances. @@ -47,7 +47,7 @@ Rules of thumb for component design: * If you have to wait, use a PFH delay/diag_tickTime check. -### PFH-Design Pattern +### 3.1 PFH-Design Pattern Line Notes: @@ -55,7 +55,7 @@ Line Notes: -### ACE3 General Rules +### 3.2 ACE3 General Rules * Always use call whenever possible. We should be calling functions chains exclusive and not be relying on spawn/execVM ever. Consider spawn/execVM banned without good reason. All code should be a chain of execution which is traceable, and not triggered between seperate threads. * waitUntil and sleep are banned. If you need to use them, use scheduled delay execution instead. **Reasoning** *Sleep/waituntil surrender about 5x the scheduler time than even normal execution does. * @@ -63,9 +63,9 @@ Line Notes: * PFH should be utilized at all possible times when the player can see the result of whatever the code is. This applies to missile guidance, bullets, wind, optics, interactive UI, HUD's, and rendering. We should only consider scheduled execution if the code is running out of the visual range of the player. -### Code Examples +### 3.3 Code Examples -##### Generic PFH functions +#### 3.3.1 Generic PFH functions See: https://dev.withsix.com/docs/cba/files/common/fnc_addPerFrameHandler-sqf.html for more details. ```c++ @@ -73,7 +73,7 @@ See: https://dev.withsix.com/docs/cba/files/common/fnc_addPerFrameHandler-sqf.ht ``` -##### PFH Wait +#### 3.3.2 PFH Wait ```c++ DFUNC(myDelayedFunction) = { diff --git a/documentation/development/coding-guidelines.md b/documentation/development/coding-guidelines.md index e39581a9d4..04d6adba80 100644 --- a/documentation/development/coding-guidelines.md +++ b/documentation/development/coding-guidelines.md @@ -6,17 +6,8 @@ parent: wiki order: 1 --- -## Table Of Contents -- [Indentation](#indentation) -- [Braces](#braces) -- [Modules](#how-to-create-a-new-module) -- [Macros](#macro-usage) -- [Events](#event-handlers) -- [Hashes](#hashes) - - -## Indentation +## 1. Indentation 4 spaces for indentation. @@ -28,12 +19,12 @@ class Something: Or { }; ``` -#### Reasoning +### 1.1 Reasoning Tabs can be tricky sometimes, especially when it comes to sharing code with others. Additionally, a lot of people tend to forget they're using tabs when they're aligning things after the first character, which causes things to fall apart when viewing the code at different tab lengths. -## Braces +## 2. Braces - opening brace on the same line as keyword - closing brace in own line, same level of indentation as keyword @@ -88,12 +79,12 @@ class Two {foo = 2;}; class Three {foo = 3;}; ``` -#### Reasoning +### 2.1 Reasoning Putting the opening brace in it's own line wastes a lot of space, and keeping the closing brace on the same level as the keyword makes it easier to recognize what exactly the brace closes. -## How to create a new module +## 3. How to create a new module 1. Copy the structure from `extras\blank` to the `addons\` folder and name it what you wish the new module to be named. 1. Edit `script_component.hpp`, change the `COMPONENT` definition to the name of the module. Also edit each of the `DEBUG` definitions to be the name of the module (for example, `DEBUG_SETTINGS_BLANK` should be `DEBUG_SETTINGS_BALLS` for module balls) @@ -101,7 +92,7 @@ Putting the opening brace in it's own line wastes a lot of space, and keeping th 1. The module is now prepared for development -### Function Definitions +### 3.1 Function Definitions Functions should be created in the functions\ subdirectory, named `fnc_FunctionName.sqf` They should then be indexed via the `PREP(FunctionName)` macro in the XEH_preInit.sqf file. The `PREP` macro allows for CBA function caching, which drastically speeds up load times. **Beware though that function caching is enabled by default and as such to disable it you need to `#define DISABLE_COMPILE_CACHE` above your `#include "script_components.hpp"` include!** @@ -127,9 +118,9 @@ Every function should have a header of the following format: ``` -## Macro Usage +## 4. Macro Usage -### Module/PBO specific Macro Usage +### 4.1 Module/PBO specific Macro Usage The family of `GVAR` macro's define global variable strings or constants for use within a module. Please use these to make sure we follow naming conventions across all modules and also prevent duplicate/overwriting between variables in different modules. The macro family expands as follows, for the example of the module 'balls' * `GVAR(face)` is `ace_balls_face` @@ -152,7 +143,7 @@ The `FUNC` and `EFUNC` macros should NOT be used inside `QUOTE` macros if the in Using `FUNC` or `EFUNC` inside a `QUOTE` macro is fine if the intention is for it to be executed as a function. -#### FUNC Macros, Call Tracing, and Non-ACE/Anonymous Functions +#### 4.1.1 FUNC Macros, Call Tracing, and Non-ACE/Anonymous Functions ACE implements a basic call tracing system that can dump the call stack on errors or wherever you want. To do this the `FUNC` macros in debug mode will expand out to include metadata about the call including line numbers and files. This functionality is automatic with the use of calls via `FUNC` and `EFUNC`, but any calls to other functions need to use the following macros: @@ -161,13 +152,13 @@ ACE implements a basic call tracing system that can dump the call stack on error These macros will call these functions with the appropriate wrappers and enable call logging into them (but to no further calls inside obviously). -### General Purpose Macros +### 4.2 General Purpose Macros [CBA script_macros_common.hpp](https://gist.github.com/commy2/9ed6cc73fbe6a2b3f4e1) * `QUOTE()` is utilized within configuration files for bypassing the quote issues in configuration macros. So, all code segments inside a given config should utilize wrapping in the QUOTE() macro instead of direct strings. This allows us to use our macros inside the string segments, such as `QUOTE(_this call FUNC(balls))` -#### setVariable, getVariable family macros +#### 4.2.1 setVariable, getVariable family macros * `GETVAR(player,MyVarName,false)` `player getVariable ["MyVarName", false]` @@ -185,7 +176,7 @@ These macros will call these functions with the appropriate wrappers and enable `uiNamespace setVariable ["MyVarName", _control]` -## Event Handlers +## 5. Event Handlers Event handlers in ACE are implemented through our event system. They should be used to trigger or allow triggering of specific functionality. @@ -204,7 +195,7 @@ Events can be removed or cleared with the following commands. More information on the [ACE Events System](https://github.com/KoffeinFlummi/ACE3/wiki/ACE-Events-System) page. -## Hashes +## 6. Hashes Hashes are a variable type that store key value pairs. They are not implemented natively in SQF, so there are a number of macros and functions for their usage in ACE. If you are unfamiliar with the idea, they are similar in function to `setVariable`/`getVariable` but do not require an object to use. @@ -230,7 +221,7 @@ A description of the above macros is below. * `HASH_HASKEY(hash, key)` will return true/false if that key exists in the hash. * `HASH_REM(hash, key)` will remove that hash key. -### Hashlists +### 6.1 Hashlists A hashlist is an extension of a hash. It is a list of hashes! The reason for having this special type of storage container rather than using a normal array is that an array of normal hashes that are are similar will duplicate a large amount of data in their storage of keys. A hashlist on the other hand uses a common list of keys and an array of unique value containers. The following will demonstrate it's usage. @@ -269,6 +260,6 @@ As you can see above working with hashlists are fairly simple, a more in depth e * `HASHLIST_SELECT(hashlist, index)` returns the hash at that index in the list. * `HASHLIST_SET(hashlist, index, hash)` sets a specific index to that hash. -#### A note on pass by reference and hashes +#### 6.1.1 A note on pass by reference and hashes Hashes and hashlists are implemented with SQF arrays, and as such they are passed by reference to other functions. Remember to make copies (using the + operator) if you intend for the hash or hashlist to be modified with out the need for changing the original value. diff --git a/documentation/development/extension-guidelines.md b/documentation/development/extension-guidelines.md index b5e7e98586..45aa8c5994 100644 --- a/documentation/development/extension-guidelines.md +++ b/documentation/development/extension-guidelines.md @@ -6,27 +6,27 @@ parent: wiki order: 9 --- -## Basics +## 1. Basics -### Requirements +### 1.1 Requirements - A compiler (VS/GCC/Clang) - If starting with Visual Studio, you need to make sure to use the Visual studio command prompt - cmake 3.0 or later in your path -### Cross-Platform Guidelines +### 1.2 Cross-Platform Guidelines -### C++ basic style and naming guide +### 1.3 C++ basic style and naming guide -### ace_common cpp library +### 1.4 ace_common cpp library --- -## Building Extensions on Windows +## 2 Building Extensions on Windows -### Compiling +### 2.1 Compiling -#### Windows - Creating a Visual Studio Project +#### 2.1.1 Windows - Creating a Visual Studio Project 1. Open your compiling command prompt (which has cmake and your compiler) 2. From this directory, you need to use cmake to build the appropriate build files. Change the -G property appropriately. run cmake --help to get a list of the options. @@ -37,7 +37,7 @@ cmake .. -G "Visual Studio 2014" A Visual studio project file will now be generated in your build directory. -#### Windows - Visual Studio - Compile only (nmake) +#### 2.1.2 Windows - Visual Studio - Compile only (nmake) 1. Open your compiling command prompt (which has cmake and your compiler) 2. From this directory, you need to use cmake to build the appropriate build files. Change the -G property appropriately. run cmake --help to get a list of the options. @@ -56,4 +56,4 @@ extensions\ somethingElse\ace_somethingElse.dll ``` -### Creating a New Extension +### 2.2 Creating a New Extension diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index fe76ca6a20..14d5e067c9 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -9,20 +9,7 @@ order: 0 This page describes how you can setup your development environment for ACE3, allowing you to properly build ACE and utilize file patching. -## Table Of Contents -- [Requirements](#requirements) -- [Why so complicated?](#why-so-complicated) -- [Getting ACE](#getting-ace) -- [Initial Setup](#initial-setup) - - [Manual Setup](#manual-setup) -- [Creating a Test Build](#creating-a-test-build) -- [Creating a Release Build](#creating-a-release-build) -- [File Patching](#file-patching) - - [Enabling File Patching](#enabling-file-patching) - - [Restrictions of File Patching](#restrictions-of-file-patching) - - -## Requirements +## 1. Requirements - Arma 3 (duh) - A proper installation of the Arma 3 Tools (available on Steam) @@ -32,25 +19,25 @@ This page describes how you can setup your development environment for ACE3, all - A properly setup PATH variable (containing Python and the Mikero tools) -## Why so complicated? +## 2. Why so complicated? If you have contributed to AGM you might be used to an easier build process, where there was even an .exe you could use for building. ACE3, however, makes use of CBA macros to simplify things and give the developer access to a better debug process, which requires a stricter build environment. Additionally, Mikero's tools are stricter and report more errors than AddonBuilder does. The structure of this development environment also allows for [file patching](#file-patching), which is very useful for debugging. Not offering .exes for the Python scripts we use allows us to make easy changes without the hassle of compiling self-extracting exes all the time. -## Getting ACE +## 3. Getting ACE To actually get the ACE source code on your machine, it is recommended that you use Git. Tutorials for this are all around the web, and it allows you to track your changes and easily update your local copy. If you just want to create a quick and dirty build, you can also directly download the source code using the "Download ZIP" button on the front page of the GitHub repo. -## Initial Setup +## 4. Initial Setup After ensuring that you have installed all requirements, execute the `setup.py` script found in the `tools` folder. This will do most of the heavy lifting for you, create the links you need and copy the required CBA code to the proper place. Please note that these links are tied to the location of your ACE3 source code, so make sure that the project folder is where you want it to be. We recommend that you store the ACE3 project on your P-drive. -#### Manual Setup +### 4.1 Manual Setup Should the script fail, here is how you create the required links manually: @@ -73,7 +60,7 @@ mklink /D "P:\z\ace" "[location of the ACE3 project]" Then, copy the `cba` folder from the `tools` folder to `P:\x\cba`. Create the `x` folder if needed. That folder contains the parts of the CBA source code that are required for the macros to work. -## Creating a Test Build +## 5. Creating a Test Build To create a development build of ACE to test changes or to debug something, run the `build.py` file in the `tools` folder. This will populate the `addons` folder with binarized PBOs. These PBOs still point to the source files in their respective folders however, which allows you to use [file patching](#file-patching). @@ -86,16 +73,16 @@ To start the game using this build, you can use the following modline: ``` -## Creating a Release Build +## 6. Creating a Release Build To create a complete build of ACE that you can use without the source files, run the `make.py` file in the `tools` folder. This will populate the `release` folder with binarized PBOs that you can redistribute. These handle like those of any other mod. -## File Patching +## 7. File Patching File Patching allows you to change the files in an addon while the game is running, requiring only a restart of the mission. This makes it great for debugging, as it cuts down the time required between tests. Note that this only works with PBOs created using MakePBO, as outlined in [Creating a Test Build](#creating-a-test-build). -#### Enabling File Patching +### 7.1 Enabling File Patching There are two ways to enable file patching: - Load cba_cache_disable.pbo (included in CBA's optional folder) @@ -113,7 +100,7 @@ class CfgSettings { }; ``` -#### Restrictions of File Patching +### 7.2 Restrictions of File Patching Files must exist in the built PBOs for filepatching to work. If you create a new file you must rebuild the PBO or Arma will not find it in your file paths. diff --git a/documentation/feature/medical-system.md b/documentation/feature/medical-system.md index 3d756b70c8..443fb4b182 100644 --- a/documentation/feature/medical-system.md +++ b/documentation/feature/medical-system.md @@ -23,7 +23,7 @@ The four main elements that basic medical introduces are: All interactions in the medical system are done with the interaction menu. Non-medics can - by default - not perform all actions, and their actions take more time as when performed by trained medics. These actions are using epinephrine and blood IVs. -### How it works +### 2.1 How it works When hit, units start to lose blood depending on the severity of their wounds. Once the level of blood falls below a certain threshold, the unit will fall unconscious and eventually die. Units will also fall unconscious when sustaining large amounts of damage at once. @@ -45,17 +45,17 @@ Besides the 4 elements introduced by basic medical, advanced introduces the foll * Various treatment methods such as CPR, different kinds of IVs and tourniquets * A basic medication simulation -### How it works +### 3.1 How it works Same as with basic, when hit an injury is sustained. Different though is that the type of injury and the severity of it are based upon how the damage was done and what caused it. This affects both blood loss and immediate consequences, such as being knocked out or being killed right away. When a player has sustained an injury, this will be indicated by flashing red of the screen; this means the player is bleeding. -##### Stopping bleeding +#### 3.1.1 Stopping bleeding In order to stop the bleeding, all injuries on every bodypart requires treatment. This is done by either applying a tourniquet to legs or arms as a temporarly solution, or by using bandages to stop the bleeding as a more permament fix. -##### Vitals +#### 3.1.2 Vitals While a unit is bleeding however, the blood volume decreases which will result in a change of vitals. Depending on the factors such as current blood volume, the blood loss rate, medication used, the blood pressure will start to drop. To counter this drop, also based upon the previously mentioned factors and others, the heart rate will adjust accordingly to attempt to keep blood pressure at safe levels. This means that for any patient it is required to keep an eye on the vitals. This is done through the interaction system by selecting check pulse or blood pressure on either the arms or head. -##### Medication +#### 3.1.3 Medication To stabalize the vitals and to counter for example pain, a player/medic can use medication. Advanced medical has 3 different medications available: * Atropine * Morphine diff --git a/documentation/framework/advanced-missile-guidance.md b/documentation/framework/advanced-missile-guidance.md index 3029b7b3bd..8beee862b7 100644 --- a/documentation/framework/advanced-missile-guidance.md +++ b/documentation/framework/advanced-missile-guidance.md @@ -6,7 +6,7 @@ order: 5 parent: wiki --- -# 1. Overview +## 1. Overview The ACE Advanced Missile Guidance Framework provides a setup of configuration settings, functions and a execution framework for addon makers to integrate with the missile guidance and targeting mechanisms of ACE. It also provides for mod makers to create their own custom guidance methods within the framework. @@ -18,23 +18,23 @@ ACE3 provides a full suite of base concepts and guidance for the majority of mod Finally, flight profiles and mechanics for realistic missile simulations are also implemented; allowing for lock-steering bump guidance flight such as with the M47 Dragon or GBU steering fins, or finely tuned direct flight guidance which is currently avialable with other missile types. -# 2. Details +## 2. Details The framework is broken up into 3 major components: Locking Types, Seeker Types and Attack Profiles. In combination, these components build out the entire process of launching, locking and going terminal flight against targets. -### Components +### 2.1 Components -##### 1. Locking Types +#### 2.1.1 Locking Types Locking types provide the basic functionality of targeting which will be based to a seeker type, providing target aquisition for seekers. This provides the basic functionality for providing pre-determined targets for a seeker, or allowing the seeker to perform its own target aquisition and locking. Additionally, the seeker may reference back into the locking type in order to re-perform target aquisition. -##### 2. Seeker Types +#### 2.1.2 Seeker Types Each seeker is generally assumed to be the logic for the seeker head unit within any given munition. Seekers within this framework provide the basic targeting functionality for the entire framework. The locking type will provide a generic target to the seeker, or the seeker may aquire a target on its own. The seeker then provides a target, either an object or a ASL position, which is then passed further into the framework. This target (or position) should be the actual current target position for the missiles flight. Seekers are required to perform all limitations and checks within their systems, although various limitations have been provided in this framework such as LOS FOV, laser guidance, etc. -##### 3. Attack Profiles +#### 2.1.3 Attack Profiles An attack profile adjusts the current target flight location to create the actual flight path of the missile. The attack profile is provided with all parameters of the system, including the returned target of the seeker. Using this information, the attack profile then will adjust the *direct flight target position* to specifically direct where and how the missile shall flight. -## How it all ties together +## 3. How it all ties together The system is executed in a linear series of calls to each step of the process, and feeding back the return from that step to the next step. Execution is conducted using Locking->Seeker->Profile, iteratively every frame of execution. Flight times are adjusted to accTime values and FPS lag, giving consistent flight. @@ -42,9 +42,9 @@ On each step of execution, a target specification array [targetObj, targetPos] i In the simplest sense, the entire system provides the flight trajectory of the missile homing directly on the "adjusted attack position"; thus, an attack profile would ajust this position to direct the missile. For example, Top down attacks return the adjusted attack position high above the target, until entering their terminal stages, which then changes the position to be directly ontop of the target - thus "walking the missile" along its flight path and to the kill. -# 2. Adding AMG to a missile +## 4. Adding AMG to a missile -## Enabling guidance on Ammo Types +### 4.1 Enabling guidance on Ammo Types ``` class CfgAmmo { class MissileBase; @@ -81,9 +81,9 @@ class CfgAmmo { }; ``` -# 2. Creating your own custom seekers and attack profiles +## 5. Creating your own custom seekers and attack profiles -## Adding seeker types and attack profiles +### 5.1 Adding seeker types and attack profiles ``` class ace_missileguidance_attackProfiles{ @@ -104,4 +104,4 @@ class ace_missileguidance_seekerTypes { functionName = "my_fnc_doSeekerType"; }; }; -``` \ No newline at end of file +``` diff --git a/documentation/framework/carry-drag.md b/documentation/framework/carry-drag.md index daaa9fb95a..d117bcbc4a 100644 --- a/documentation/framework/carry-drag.md +++ b/documentation/framework/carry-drag.md @@ -6,7 +6,7 @@ order: 5 parent: wiki --- -# 1. Config Values +## 1. Config Values ``` class CfgVehicles { diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index fc454df4f9..2c51fd659b 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -88,17 +88,17 @@ You can make a whitelist of addons that don't have to be on the server. If you w The list must be in the following format: `["ADDON1","ADDON2",...]` where the addons are CfgPatches references to all PBOs of the optional mod. To figure these out, you can use the scripting command `activatedAddons` in the editor while those mods are enabled. Example 1: @Blastcore-A3:
    -```js +``` ["warfxpe","blastcore_vep"] ``` Example 2: @JSRS:
    -```js +``` [TBD] ``` Example 3: @JSRS + @Blastcore-A3:
    -```js +``` [TBD, "warfxpe","blastcore_vep"] ``` @@ -405,7 +405,7 @@ Keep unit status synced. Recommended on.
    ### 2.2 Advanced Medical Settings -This module allows you to change the default Advanced Medical Settings, when [2.1 Medical Settings](#2-1MedicalSettings) is set to "Advanced". +This module allows you to change the default Advanced Medical Settings, when [2.1 Medical Settings](#2.1-medical-settings) is set to "Advanced". **Settings:** diff --git a/documentation/user/getting-started.md b/documentation/user/getting-started.md index 012f307445..5c5bac9e66 100644 --- a/documentation/user/getting-started.md +++ b/documentation/user/getting-started.md @@ -13,10 +13,8 @@ parent: wiki Downloaded ACE3 and have no idea where to start? This page serves as a document to help new players get started with things like the medical system, or how to adjust your scope. -### Table of contents -1. [Vector 21](#vector-21) -### Vector 21 +### 1. Vector 21 *Part of: ace_vector* ACE3 adds a realistic depiction of the Vector 21 rangefinder to the game. Unlike other rangefinders, it doesn't just magically show you the range to your target, but in exchange allows you to do alot of things with it that the other choices in Arma do not offer. The Vector's functions include, but are not limited to: diff --git a/documentation/user/promotional-material.md b/documentation/user/promotional-material.md index 478a256897..4c928f1fb3 100644 --- a/documentation/user/promotional-material.md +++ b/documentation/user/promotional-material.md @@ -8,17 +8,17 @@ parent: wiki You are hereby granted to use the ACE3 logos and imagery for promotional purposes. You are NOT allowed to use it commercially. -## Colors +## 1. Colors * White: `#ffffff, rgb(255, 255, 255)` * Black: `#000000, rgb(0, 0, 0)` * Red: `#ba2619, rgb(186, 38, 25)` -## Logo +## 2. Logo When using the ACE3 logo please do not stretch or skew it. -### Black +### 2.1 Black @@ -26,7 +26,7 @@ When using the ACE3 logo please do not stretch or skew it. * [PNG (transparent background)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/black/ACE3-Logo.png) * [EPS (vector file)](https://github.com/KoffeinFlummi/ACE3/blob/master/extras/assets/logo/black/ACE3-Logo.eps) -### White +### 2.2 White From d07b69aca4785ef5cf7649c269f6f7c8c2517781 Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Mon, 4 May 2015 13:37:14 -0300 Subject: [PATCH 316/478] Increase the minimum distance required to perform LOS checks to 1.5m; should avoid LOS checks for medical bodyparts entirely, thus avoiding problems with weaponholders obstructing actions. --- addons/interact_menu/functions/fnc_renderBaseMenu.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf index 4daa4a5c90..ca26fb984d 100644 --- a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf @@ -44,8 +44,8 @@ if (GVAR(openedMenuType) == 0 && vehicle ACE_player == ACE_player && if (_actualDistance > _distance) exitWith {true}; - if (_actualDistance > 1.0) exitWith { - // If distance to action is greater than 1.0 m, check LOS + if (_actualDistance > 1.5) exitWith { + // If distance to action is greater than 1.5 m, check LOS _line = [_headPos call EFUNC(common,positionToASL), _pos call EFUNC(common,positionToASL), _object, ACE_player]; lineIntersects _line }; From 76eaa5ded1e6332f23825ccd97c02291800f79c8 Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 4 May 2015 20:35:39 +0200 Subject: [PATCH 317/478] Added wind data for Bornholm --- addons/weather/functions/fnc_getMapData.sqf | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index e1df9f658c..d42e63481e 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -124,6 +124,23 @@ if (worldName in ["Bornholm"]) exitWith { GVAR(TempNight) = [-1.6, -2.1, -0.7, 1.7, 6.2, 10.7, 13, 13.1, 10.6, 7.2, 3.5, 0.1]; // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,allinge,Denmark GVAR(Humidity) = [85, 84, 80, 76, 69, 69, 76, 77, 79, 81, 86, 86]; + + // Source: https://weatherspark.com/averages/28830/R-nne-Capital-Region-of-Denmark + GVAR(WindSpeedMax) = [[9.3, 2.2], [8.4, 2.2], [7.9, 2.2], [7.1, 2.1], [7.2, 2.1], [6.8, 2.0], [6.8, 2.0], [7.1, 2.1], [7.7, 2.2], [8.6, 2.2], [8.8, 2.2], [9.3, 2.2]]; + GVAR(WindSpeedMean) = [6.9, 6.0, 5.7, 4.9, 4.8, 4.6, 4.7, 4.9, 5.5, 6.2, 6.5, 6.7]; + GVAR(WindSpeedMin) = [[3.9, 2.0], [3.0, 2.0], [2.3, 2.0], [1.8, 1.8], [1.7, 1.8], [1.7, 1.7], [1.7, 1.8], [1.9, 1.9], [2.6, 2.0], [2.9, 2.0], [3.3, 2.1], [3.5, 2.0]]; + GVAR(WindDirectionProbabilities) = [[0.07, 0.04, 0.07, 0.05, 0.09, 0.12, 0.20, 0.07], // January + [0.08, 0.06, 0.10, 0.06, 0.06, 0.08, 0.20, 0.08], // February + [0.05, 0.06, 0.13, 0.08, 0.07, 0.08, 0.19, 0.06], // March + [0.05, 0.11, 0.16, 0.09, 0.05, 0.06, 0.17, 0.06], // April + [0.04, 0.10, 0.15, 0.08, 0.05, 0.06, 0.20, 0.05], // May + [0.03, 0.07, 0.10, 0.07, 0.05, 0.07, 0.28, 0.06], // June + [0.04, 0.06, 0.11, 0.07, 0.04, 0.07, 0.28, 0.06], // July + [0.05, 0.06, 0.11, 0.07, 0.06, 0.08, 0.26, 0.06], // August + [0.06, 0.06, 0.11, 0.07, 0.06, 0.09, 0.21, 0.06], // September + [0.07, 0.05, 0.09, 0.08, 0.08, 0.12, 0.18, 0.07], // October + [0.08, 0.06, 0.08, 0.07, 0.10, 0.12, 0.16, 0.07], // November + [0.08, 0.05, 0.06, 0.04, 0.10, 0.14, 0.19, 0.07]];// December }; if (worldName in ["Imrali"]) exitWith { // Source: http://www.iten-online.ch/klima/europa/tuerkei/bursa.htm From be7391bf4728807ca20cf86ff44aec06a7bd4eea Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 4 May 2015 21:28:12 +0200 Subject: [PATCH 318/478] Added wind data for F.A.T.A --- addons/weather/functions/fnc_getMapData.sqf | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index d42e63481e..cc05a6feae 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -100,6 +100,24 @@ if (toLower worldName in ["fata", "Abbottabad"]) exitWith { GVAR(TempNight) = [-0.6, 2.4, 7.4, 13.1, 18.2, 22.8, 23.8, 22.9, 19.2, 12, 5.6, 1.2]; // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Zhob,Pakistan GVAR(Humidity) = [50, 40, 42, 40, 30, 30, 50, 49, 40, 32, 38, 41]; + + // Source: https://weatherspark.com/averages/31382/Shkin-Paktika-Afghanistan + GVAR(WindSpeedMax) = [[3.0, 1.0], [3.3, 1.0], [4.0, 1.0], [4.3, 1.4], [4.3, 1.5], [4.6, 1.4], [4.5, 1.3], [4.0, 0.9], [4.0, 1.0], [3.5, 1.0], [3.4, 1.0], [3.1, 1.0]]; + GVAR(WindSpeedMean) = [1.3, 1.5, 1.6, 1.7, 1.7, 1.7, 1.6, 1.5, 1.5, 1.4, 1.4, 1.2]; + GVAR(WindSpeedMin) = [[0.2, 0.1], [0.2, 0.1], [0.2, 0.1], [0.2, 0.1], [0.1, 0.1], [0.1, 0.1], [0.3, 0.1], [0.2, 0.1], [0.1, 0.1], [0.1, 0.1], [0.1, 0.1], [0.1, 0.1]]; + GVAR(WindDirectionProbabilities) = [[0.09, 0.03, 0.02, 0.03, 0.05, 0.07, 0.07, 0.18], // January + [0.07, 0.02, 0.01, 0.05, 0.10, 0.10, 0.06, 0.12], // February + [0.07, 0.02, 0.01, 0.07, 0.14, 0.11, 0.08, 0.12], // March + [0.07, 0.04, 0.03, 0.05, 0.12, 0.08, 0.06, 0.13], // April + [0.10, 0.03, 0.02, 0.04, 0.10, 0.09, 0.08, 0.18], // May + [0.12, 0.05, 0.04, 0.05, 0.08, 0.06, 0.06, 0.16], // June + [0.06, 0.04, 0.02, 0.06, 0.05, 0.01, 0.02, 0.06], // July + [0.08, 0.03, 0.04, 0.05, 0.09, 0.04, 0.02, 0.06], // August + [0.10, 0.04, 0.02, 0.06, 0.11, 0.09, 0.06, 0.13], // September + [0.07, 0.02, 0.01, 0.04, 0.11, 0.08, 0.08, 0.19], // October + [0.06, 0.01, 0.00, 0.05, 0.11, 0.09, 0.08, 0.13], // November + [0.07, 0.01, 0.01, 0.03, 0.08, 0.09, 0.09, 0.18]];// December + }; if (worldName in ["sfp_wamako"]) exitWith { From f81e53bb336e28cb20d47c616c5c68363420ba10 Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 4 May 2015 22:17:26 +0200 Subject: [PATCH 319/478] Added wind data for Takistan (Kabul) --- addons/weather/functions/fnc_getMapData.sqf | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index cc05a6feae..4ea04baed6 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -84,6 +84,23 @@ if (toLower worldName in ["takistan", "zargabad", "mountains_acr", "shapur_baf", GVAR(TempNight) = [-7.1, -5.7, 0.7, 6, 8.8, 12.4, 15.3, 14.3, 9.4, 3.9, -1.2, -4.7]; // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Kabul,Afghanistan GVAR(Humidity) = [68, 69, 62, 60, 49, 37, 38, 39, 40, 41, 56, 61]; + + // Source: https://weatherspark.com/averages/32750/Kabul-Afghanistan + GVAR(WindSpeedMax) = [[4.0, 1.0], [4.1, 1.0], [5.1, 1.1], [6.9, 1.2], [8.9, 1.2], [10.0, 1.1], 0, [8.2, 1.0], [6.9, 1.0], [5.2, 1.0], [3.8, 0.9], [3.7, 0.9]]; + GVAR(WindSpeedMean) = [2.2, 2.2, 2.5, 2.8, 3.8, 4.4, 0, 3.3, 2.7, 2.4, 1.8, 1.9]; + GVAR(WindSpeedMin) = [[0.2, 0.4], [0.2, 0.4], [0.2, 0.4], [0.3, 0.4], [0.6, 0.4], [0.9, 0.4], [0.7, 0.4], [0.5, 0.4], [0.2, 0.5], [0.1, 0.1], [0, 0.1], [0, 0.1]]; + GVAR(WindDirectionProbabilities) = [[0.04, 0.02, 0.05, 0.04, 0.05, 0.04, 0.11, 0.29], // January + [0.08, 0.04, 0.06, 0.04, 0.06, 0.04, 0.10, 0.20], // February + [0.12, 0.06, 0.08, 0.04, 0.05, 0.04, 0.09, 0.19], // March + [0.18, 0.07, 0.09, 0.05, 0.05, 0.04, 0.08, 0.16], // April + [0.27, 0.05, 0.05, 0.03, 0.04, 0.03, 0.08, 0.16], // May + [0.35, 0.04, 0.04, 0.02, 0.02, 0.02, 0.07, 0.13], // June + [0.30, 0.07, 0.09, 0.04, 0.02, 0.02, 0.05, 0.10], // July + [0.23, 0.07, 0.08, 0.06, 0.03, 0.02, 0.05, 0.10], // August + [0.15, 0.06, 0.10, 0.06, 0.04, 0.02, 0.07, 0.13], // September + [0.12, 0.04, 0.07, 0.06, 0.04, 0.03, 0.10, 0.17], // October + [0.07, 0.03, 0.06, 0.05, 0.06, 0.02, 0.10, 0.20], // November + [0.05, 0.03, 0.06, 0.05, 0.06, 0.04, 0.11, 0.26]];// December }; if (toLower worldName in ["fallujah"]) exitWith { From ea7a1c30eb69ecd1cfa44b9719f15a56f1d864d5 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 4 May 2015 13:36:23 -0700 Subject: [PATCH 320/478] Ability to set the test directory, the location you want the final files copied to for testing. Default: %USERPROFILE%\documents\Arma 3\ --- tools/make.cfg | 6 ++++++ tools/make.py | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/tools/make.cfg b/tools/make.cfg index 170cea5159..5e4460ffd9 100644 --- a/tools/make.cfg +++ b/tools/make.cfg @@ -49,10 +49,16 @@ module_root = P:\z\ace\addons optionals_root = P:\z\ace\optionals +# If the command-line variable test, the addons built will be copied to the following folder. +# Default: %USERPROFILE%\documents\Arma 3\ +# test_dir = %USERPROFILE%\documents\Arma 3\ + + # Directory where the built addon will be saved. # Default: release release_dir = P:\z\ace\release + # This string will be prefixed to all build PBO file names. # Default: None pbo_name_prefix = ace_ diff --git a/tools/make.py b/tools/make.py index c6e0c2b26c..0beaac766b 100644 --- a/tools/make.py +++ b/tools/make.py @@ -625,6 +625,9 @@ See the make.cfg file for additional build options. # Release/build directory, relative to script dir release_dir = cfg.get(make_target, "release_dir", fallback="release") + #Directory to copy the final built PBO's for a test run. + test_dir = cfg.get(make_target, "test_dir", fallback=os.path.join(os.environ["USERPROFILE"],r"documents\Arma 3")) + # Project PBO file prefix (files are renamed to prefix_name.pbo) pbo_name_prefix = cfg.get(make_target, "pbo_name_prefix", fallback=None) @@ -1095,6 +1098,11 @@ See the make.cfg file for additional build options. else: a3_path = cygwin_a3path + print_yellow("Path from the registry => {}".format(a3_path)) + a3_path = test_dir + + print_yellow("Copying build files to {}".format(a3_path)) + if os.path.exists(a3_path): try: shutil.rmtree(os.path.join(a3_path, project), True) From 3fa218848d8eb8e0141ae55352f71f5a8d798cd2 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 4 May 2015 22:46:58 -0500 Subject: [PATCH 321/478] MissleGuidance - fix Inheritance check --- addons/missileguidance/functions/fnc_onFired.sqf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index c5053c6e73..a3cf55f928 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -15,8 +15,10 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); // Bail on not missile if(! (_ammo isKindOf "MissileBase") ) exitWith { false }; -_configs = configProperties [configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON), "true", false]; +//Verify ammo has explicity added guidance config (ignore inheritances) +_configs = configProperties [(configFile >> "CfgAmmo" >> _ammo), QUOTE(configName _x == QUOTE(QGVAR(enabled))), false]; if( (count _configs) < 1) exitWith {}; + _config = (configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON)); _enabled = getNumber ( _config >> "enabled"); From 21552caee70a3c57aaeaa4a12dc2f3a2078316f1 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 4 May 2015 23:01:19 -0500 Subject: [PATCH 322/478] Opps- Not the same as javelin --- addons/missileguidance/functions/fnc_onFired.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index a3cf55f928..a184ba1ef4 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -16,7 +16,7 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile); if(! (_ammo isKindOf "MissileBase") ) exitWith { false }; //Verify ammo has explicity added guidance config (ignore inheritances) -_configs = configProperties [(configFile >> "CfgAmmo" >> _ammo), QUOTE(configName _x == QUOTE(QGVAR(enabled))), false]; +_configs = configProperties [(configFile >> "CfgAmmo" >> _ammo), QUOTE(configName _x == QUOTE(QUOTE(ADDON))), false]; if( (count _configs) < 1) exitWith {}; _config = (configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON)); From dafff4e63e6039ac3393eb1443ea42b1e5f0094c Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 4 May 2015 23:50:03 -0500 Subject: [PATCH 323/478] #940 - Map Tweak (contor legend) for brefing --- addons/map/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/map/config.cpp b/addons/map/config.cpp index ebd21d14f5..927d9aeb0f 100644 --- a/addons/map/config.cpp +++ b/addons/map/config.cpp @@ -154,7 +154,7 @@ class RscDisplayGetReady: RscDisplayMainMap { class controlsBackground { class CA_Map: RscMapControl { onDraw = QUOTE([ctrlParent (_this select 0)] call DFUNC(onDrawMap)); - //#include "MapTweaks.hpp" @todo Shouldn't this apply to briefing too? + #include "MapTweaks.hpp" }; }; // get rid of the "center to player position" - button (as it works even on elite) From bd69405cf4d398bfa83a76eacab95f6e0f859482 Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 5 May 2015 08:37:41 +0200 Subject: [PATCH 324/478] fix czech typo in medical, fix #1010 --- addons/medical/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index e66eab04fc..f573f53b0d 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -632,7 +632,7 @@ Natychmiastowy Urgence Immédiate Sofort - Okamžiý + Okamžitý Azonnali Immediata Imediato From 4f44bcdf46c182910365eee868b9fbdaf0763536 Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 5 May 2015 10:36:12 +0200 Subject: [PATCH 325/478] Added wind data for Chernarus (Prag) --- addons/weather/functions/fnc_getMapData.sqf | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index 4ea04baed6..5a090c7388 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -76,6 +76,23 @@ if (toLower worldName in ["chernarus", "bootcamp_acr", "woodland_acr", "utes"]) GVAR(TempNight) = [-4, -3, 0, 4, 9, 12, 14, 14, 10, 6, 2, -2]; // Source: http://www.weather-and-climate.com/average-monthly-Humidity-perc,Prague,Czech-Republic GVAR(Humidity) = [82, 80, 78, 70, 71, 72, 70, 73, 78, 80, 83, 82]; + + // Source: https://weatherspark.com/averages/32335/Prague-Central-Bohemia-Czech-Republic + GVAR(WindSpeedMax) = [[6.7, 2.4], [6.8, 2.2], [7.1, 2.0], [6.7, 1.9], [6.5, 1.8], [6.4, 1.8], [6.4, 1.8], [5.9, 1.9], [5.8, 2.1], [5.9, 2.3], [6.4, 2.8], [7.0, 3.0]]; + GVAR(WindSpeedMean) = [4.5, 4.3, 4.4, 4.1, 3.6, 3.6, 3.6, 3.4, 3.6, 0, 4.1, 4.6]; + GVAR(WindSpeedMin) = [[1.5, 1.1], [1.5, 1.1], [1.5, 1.0], [1.2, 0.9], [1.1, 0.8], [1.0, 0.8], [1.0, 1.0], [1.0, 0.9], [1.1, 1.0], [1.0, 1.0], [1.3, 1.1], [1.8, 1.2]]; + GVAR(WindDirectionProbabilities) = [[0.06, 0.02, 0.06, 0.06, 0.10, 0.23, 0.15, 0.06], // January + [0.08, 0.03, 0.08, 0.06, 0.08, 0.18, 0.15, 0.08], // February + [0.08, 0.02, 0.10, 0.06, 0.07, 0.17, 0.15, 0.08], // March + [0.12, 0.04, 0.10, 0.05, 0.06, 0.12, 0.13, 0.10], // April + [0.12, 0.05, 0.09, 0.05, 0.05, 0.10, 0.13, 0.10], // May + [0.12, 0.04, 0.06, 0.03, 0.05, 0.13, 0.16, 0.10], // June + [0.09, 0.03, 0.07, 0.04, 0.06, 0.16, 0.18, 0.10], // July + [0.09, 0.03, 0.08, 0.04, 0.06, 0.15, 0.16, 0.09], // August + [0.07, 0.03, 0.08, 0.06, 0.08, 0.18, 0.15, 0.08], // September + [0.06, 0.03, 0.10, 0.07, 0.10, 0.19, 0.13, 0.05], // October + [0.06, 0.02, 0.08, 0.07, 0.10, 0.15, 0.13, 0.05], // November + [0.06, 0.02, 0.06, 0.06, 0.10, 0.24, 0.15, 0.05]];// December }; if (toLower worldName in ["takistan", "zargabad", "mountains_acr", "shapur_baf", "provinggrounds_pmc"]) exitWith { From 19864d5be69916d64b4966df209b7df6ad6507df Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 5 May 2015 10:37:51 +0200 Subject: [PATCH 326/478] Fixed a bug in the humidity calculation --- addons/weather/functions/fnc_updateHumidity.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/weather/functions/fnc_updateHumidity.sqf b/addons/weather/functions/fnc_updateHumidity.sqf index dce031b3f3..df6e64df5d 100644 --- a/addons/weather/functions/fnc_updateHumidity.sqf +++ b/addons/weather/functions/fnc_updateHumidity.sqf @@ -14,7 +14,7 @@ private ["_month", "_avgTemperature", "_pS1", "_pS2"]; _month = date select 1; -GVAR(currentHumidity) = (GVAR(Humidity) select _month) / 100; +GVAR(currentHumidity) = (GVAR(Humidity) select (_month - 1)) / 100; if (rain > 0 && overcast > 0.7) then { GVAR(currentHumidity) = 1; From cb88469da8def67e41d2829999d8f173070234ee Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 5 May 2015 16:30:42 +0200 Subject: [PATCH 327/478] copy documentation style updates from gh-pages --- documentation/development/ace3-config-entries.md | 7 +++++++ .../development/arma-3-scheduler-and-our-practices.md | 5 +++-- documentation/missionmaker/modules.md | 6 ++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/documentation/development/ace3-config-entries.md b/documentation/development/ace3-config-entries.md index 2dbad136d3..07782cf76c 100644 --- a/documentation/development/ace3-config-entries.md +++ b/documentation/development/ace3-config-entries.md @@ -7,6 +7,8 @@ order: 2 --- ## 1. CfgVehicles +Entries from found in the `CfgVehicles.hpp` files + ```c++ ace_nightvision_grain @@ -24,6 +26,8 @@ ace_offset ## 2. CfgWeapons +Entries from found in the `CfgWeapons.hpp` files + ```c++ ace_recoil_shakemultiplier @@ -61,6 +65,7 @@ ace_modedescription ## 3. CfgAmmo +Entries from found in the `CfgAmmo.hpp` files ```c++ ace_recoil_shakemultiplier @@ -89,6 +94,7 @@ ace_barrellengths ## 4. CfgGlasses +Entries from found in the `CfgGlasses.hpp` file ```c++ ace_color @@ -103,6 +109,7 @@ ace_dustpath ## 5. CfgMagazines +Entries from found in the `CfgMagazines.hpp` files ```c++ ace_isbelt diff --git a/documentation/development/arma-3-scheduler-and-our-practices.md b/documentation/development/arma-3-scheduler-and-our-practices.md index a090eecc44..95852792d8 100644 --- a/documentation/development/arma-3-scheduler-and-our-practices.md +++ b/documentation/development/arma-3-scheduler-and-our-practices.md @@ -14,11 +14,13 @@ A single rendered frame of Arma 3. ### 1.2 Scheduled Space This refers to execution would is ruled by the Arma 3 default script scheduling engine. This would include: + * spawn * execVM ### 1.3 Unscheduled Space This refers to execution which is linear; what this means is that the code will run to completion prior to executing the current frame. It must complete, but is guaranteed to run within a given frame. + * perFrameHandler * Extended_EventHandlers * addEventHandler @@ -43,7 +45,6 @@ Because we are attempting to always run to completion; execution occurs from 2 p Rules of thumb for component design: * If you need to wait for a value, don't wait, use a CBA event! This means everything should be designed and written with an event-driven model in mind. - * If you have to wait, use a PFH delay/diag_tickTime check. @@ -58,7 +59,7 @@ Line Notes: ### 3.2 ACE3 General Rules * Always use call whenever possible. We should be calling functions chains exclusive and not be relying on spawn/execVM ever. Consider spawn/execVM banned without good reason. All code should be a chain of execution which is traceable, and not triggered between seperate threads. -* waitUntil and sleep are banned. If you need to use them, use scheduled delay execution instead. **Reasoning** *Sleep/waituntil surrender about 5x the scheduler time than even normal execution does. * +* waitUntil and sleep are banned. If you need to use them, use scheduled delay execution instead. **Reasoning: Sleep/waitUntil surrender about 5x the scheduler time than even normal execution does.** * If we need a spawn or exec, we should utilize the perFrame scheduler. Spawn/execVM are subject to the Arma 3 scheduler and as such, cannot be relied upon. In order to give our players a consistent gameplay experience, we need to have total control over how and when all of our code runs. * PFH should be utilized at all possible times when the player can see the result of whatever the code is. This applies to missile guidance, bullets, wind, optics, interactive UI, HUD's, and rendering. We should only consider scheduled execution if the code is running out of the visual range of the player. diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 2c51fd659b..9cb17e001f 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -354,7 +354,9 @@ Defines the radius around the player (in meters) at which projectiles are wind d *Part of: ace_core* And then there's the "LSD Vehicles" module … it does 'something' to all vehicles synced to that module. - +
    + +
    ## 2. ACE Medical *Part of: ace_medical* @@ -520,4 +522,4 @@ Follow players. If set to false, loop will play sounds only nearby logic positio `Default value: No` 6. **Volume (Number)**
    The volume of the sounds played
    -`Default value: 1` \ No newline at end of file +`Default value: 1` From 76f540409fac13b79fb4a4fc0c8502910687cc82 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 5 May 2015 10:46:56 -0500 Subject: [PATCH 328/478] Fix 1.44 Updating Base Class Updating base class VestItem->ItemInfo, by z\addons\ace\protection\config.cpp/CfgWeapons/V_PlateCarrierIAGL_dgtl/ItemInfo/ --- addons/protection/FixVests.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/protection/FixVests.hpp b/addons/protection/FixVests.hpp index db00c1ea05..f3d1ad2b3d 100644 --- a/addons/protection/FixVests.hpp +++ b/addons/protection/FixVests.hpp @@ -234,7 +234,7 @@ class V_PlateCarrierIA2_dgtl: V_PlateCarrierIA1_dgtl { // heavy }; }; class V_PlateCarrierIAGL_dgtl: V_PlateCarrierIA2_dgtl { // heavy (gl) - class ItemInfo: ItemInfo { + class ItemInfo: VestItem { containerClass = "Supply140"; //"Supply120"; mass = 100; //80; armor = 12; //100; From b781264212bff9f6234ecb7d5c1977857a5d205c Mon Sep 17 00:00:00 2001 From: Josuan Albin Date: Tue, 5 May 2015 18:53:17 +0200 Subject: [PATCH 329/478] New anim update new healing animation added to animationCaller, animationCallerSelf stays the same --- addons/medical/ACE_Medical_Treatments.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index 3f5212ad71..d28aac7662 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -20,8 +20,8 @@ class ACE_Medical_Actions { animationPatient = ""; animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback"; animationPatientUnconsciousExcludeOn[] = {"ainjppnemstpsnonwrfldnon"}; - animationCaller = "AinvPknlMstpSlayWnonDnon_medic"; - animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; + animationCaller = "AinvPknlMstpSlayWrflDnon_medicOther"; + animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medicOther"; animationCallerSelf = "AinvPknlMstpSlayW[wpn]Dnon_medic"; animationCallerSelfProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; litter[] = { {"All", "", {{"ACE_MedicalLitterBase", "ACE_MedicalLitter_bandage1", "ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}} }; From f063e45e60817b6d88f127f45758bba634f04d4e Mon Sep 17 00:00:00 2001 From: Josuan Albin Date: Tue, 5 May 2015 19:04:08 +0200 Subject: [PATCH 330/478] medical advanced added animations added for advanced --- addons/medical/ACE_Medical_Treatments.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index d28aac7662..8c7691eea5 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -109,8 +109,8 @@ class ACE_Medical_Actions { animationPatient = ""; animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback"; animationPatientUnconsciousExcludeOn[] = {"ainjppnemstpsnonwrfldnon"}; - animationCaller = "AinvPknlMstpSlayWnonDnon_medic"; - animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; + animationCaller = "AinvPknlMstpSlayWrflDnon_medicOther"; + animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medicOther"; animationCallerSelf = "AinvPknlMstpSlayW[wpn]Dnon_medic"; animationCallerSelfProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; litter[] = { {"All", "", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}} }; From dd2ea99d156d02dfe6b0eb22ae8ff579cda3c215 Mon Sep 17 00:00:00 2001 From: Josuan Albin Date: Tue, 5 May 2015 19:26:11 +0200 Subject: [PATCH 331/478] pak pak anim --- addons/medical/ACE_Medical_Treatments.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index 8c7691eea5..9848410c8c 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -217,8 +217,8 @@ class ACE_Medical_Actions { itemConsumed = QGVAR(consumeItem_PAK); animationPatient = ""; animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback"; - animationCaller = "AinvPknlMstpSlayWnonDnon_medic"; - animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medic"; + animationCaller = "AinvPknlMstpSlayWnonDnon_medicOther"; + animationCallerProne = "AinvPpneMstpSlayW[wpn]Dnon_medicOther"; animationCallerSelf = ""; animationCallerSelfProne = ""; litter[] = { {"All", "", {"ACE_MedicalLitter_gloves"}}, {"All", "", {{"ACE_MedicalLitterBase", "ACE_MedicalLitter_bandage1", "ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}} }, {"All", "", {{"ACE_MedicalLitterBase", "ACE_MedicalLitter_bandage1", "ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}} }; From 9abf8a15c1bca3a5fe0aeae58e630e0fdf87aa08 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 5 May 2015 19:44:44 +0200 Subject: [PATCH 332/478] Make certain that GVAR(BodyRemoveTimer) exists --- addons/respawn/config.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/respawn/config.cpp b/addons/respawn/config.cpp index 19032df4f7..05f4ee2aa8 100644 --- a/addons/respawn/config.cpp +++ b/addons/respawn/config.cpp @@ -26,4 +26,8 @@ class ACE_Settings { value = 1; typeName = "BOOL"; }; + class GVAR(BodyRemoveTimer) { + value = 0; + typeName = "SCALAR"; + }; }; From cee83113d2e4b7843b52c53291e1a47aad86c645 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 5 May 2015 19:44:56 +0200 Subject: [PATCH 333/478] lets use proper module config for this --- addons/respawn/CfgVehicles.hpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index ddd8f28405..9a74ccf76a 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -14,22 +14,14 @@ class CfgVehicles { displayName = "Save Gear?"; description = "Respawn with the gear a soldier had just before his death?"; typeName = "BOOL"; - - class values { - class Yes { name = "Yes"; value = 1; }; - class No { default = 1; name = "No"; value = 0; }; - }; + value = 0; }; class RemoveDeadBodiesDisconnected { displayName = "Remove bodies?"; description = "Remove player bodies after disconnect?"; typeName = "BOOL"; - - class values { - class Yes { default = 1; name = "Yes"; value = 1; }; - class No { name = "No"; value = 0; }; - }; + value = 1; }; }; }; From a49feee76bd5564357c661955b67c7601518cbfb Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 5 May 2015 19:47:17 +0200 Subject: [PATCH 334/478] should have been defaultValue --- addons/respawn/CfgVehicles.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index 9a74ccf76a..2f963a12d3 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -14,14 +14,14 @@ class CfgVehicles { displayName = "Save Gear?"; description = "Respawn with the gear a soldier had just before his death?"; typeName = "BOOL"; - value = 0; + defaultValue = 0; }; class RemoveDeadBodiesDisconnected { displayName = "Remove bodies?"; description = "Remove player bodies after disconnect?"; typeName = "BOOL"; - value = 1; + defaultValue = 1; }; }; }; From 50cc5db92feb2b279021ba30aee5deeaa52a037a Mon Sep 17 00:00:00 2001 From: Glowbal Date: Tue, 5 May 2015 20:05:31 +0200 Subject: [PATCH 335/478] fixes #1017 --- addons/interact_menu/XEH_clientInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index edb25d99bb..bbd2b74263 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -57,7 +57,7 @@ addMissionEventHandler ["Draw3D", DFUNC(render)]; if (_unit != ACE_player || !_isUnconscious) exitWith {}; GVAR(actionSelected) = false; - [] call FUNC(keyUp); + [GVAR(openedMenuType), false] call FUNC(keyUp); }] call EFUNC(common,addEventhandler); // disable firing while the interact menu is is is opened From 150a76d31f6743a416bdce5dc8c857b477b005fc Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 5 May 2015 14:21:02 -0500 Subject: [PATCH 336/478] DLL Recompile RelWithDebInfo --- ace_advanced_ballistics.dll | Bin 614400 -> 592896 bytes ace_break_line.dll | Bin 712704 -> 715264 bytes ace_fcs.dll | Bin 788480 -> 784384 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/ace_advanced_ballistics.dll b/ace_advanced_ballistics.dll index 8f1c62484fccd88ee868047cb0bed19e0397580d..5aa9a66c0cd9fc73b3550129435eba0febf2d0b0 100644 GIT binary patch literal 592896 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
    ll^Tc``dTAzyy?K?XbVk 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�MpNK#FjUXLyqFk~BDSEL%Q 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 z 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
    AH|X+S6U=Zje0s(=l`s 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 literal 614400 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

    )PuA7=%Ymfkr{A`^cCQG5RFid^~ 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

    66E)D1rCQnq5=bZ-G3VlTD}$r6nkdXP|}Y@ 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

    Mke9JC=X^_ zOl(Olm5pivMNGgyR)>aW)X~q_;D5Dw*uPzEbOKg?O#Qb(m5k_aI_Ae4YElzvX_dTF zvC5lFT{gts8Fx{dSh(#$S>i!HTqU;v zy>GCTpeuHi_X<~8PogO*K%5PxX=?vPO;2m(b;1?h9VewRxS)uAD#O=thG(_wY0Q?# zS~0%K$67JI$;VnTzRAa0YmG9E>IkY3u1-gky2y&01-?~~aD$wWU(kS+L0R}dlD*kU z#7>rlo}U$4IGcN+!SFmS^Gfz^@Q)TExlXmVPrGP;`veyU@>Lhi^kbC~_LORjOT@~Z zkVFRkGt^-j&IMTeLk^z-%XnCUIT~w+ivNv8MDM*%Z=wtpe0fofMZRCWLcS-(%lE5C z@%v0yfjJArW;X$Gmm#SIhoAv_v*kUGU2bsEeP&C6d2V%qIp+-Sr?D>R9G-Up4p_6R zp=f66R2bKt{Q>Ca`=K6&b<#N)_2Av7&A&MX=2~6H!-HMhQ5(3Eid||A=E(<%&kC6z zEJPZHP-sdm2dj>9j)F2RP>N~7yVLylu#u_q_y6Gi-_rT>%+CP_Zf1879^gPn#%qyb z4*<5Uz#P+x?|U%rf}hATfy7iGBQE?^z9P+wqiChi@Y2XPCi&-HvMuM$8ZLT~(n3aSn^lt361s|(+NYvil0#pus z+MEY2FNoTVZ#$@T-6+Kiq8`RiWXQE+FJ|hb0hp3^xQviBl3jO}uEpaD%-MCouG&}pV@u7G;93-n@Hbl6H z-_0_k|D_yg=ML_oe*NG4x_ZM3i0@qZSN0TIspyVUUR?E6!xKmY zGYTR2ajLa4)gILFL-Z6PJKv) zNH20M^`p#WFfsSK`mU;>qT%?_k%N%Sj~o1R_82~PcvIW-7)i9DuKu|8uHkq?3z6uk zZ+P;Prf2LIHB=mnx(dYT9SGu`5XBdQR?%#*!QIYRe7a9%IhqCW46Y_vLHYV*<4O}7 ziWvs%L(o`YYQ)N3ArF(by`;^^MnG@#e^f@#ST7-q z2jf2p@EU8=G-ntnn8f|q9J9uH3@;6hbWl}e?ukas4;*XEZEg%rZ_Gukm7xh~AE9~r z4LN{g#}UaOuS0}29>1X&i)ZGGA0M9%|b4jKKe>Y9cXNJ88$jFh>$sOTMF;Cngmd`8+9S zO)q+l67+Rl6;Cje_6kIQ)^l|Q)_Jq*x6nojChVY{gALI8l+#`c3AGs+sHp`hwf1Y- zOsLqj9E8;ct?HAN$u5xL5pcMWwp8e~aRI{5&@k7#8s{cb{kBEgOz!Jg{UOku)eaaO zPO9v@aQ6jSjSZQN_3Zr@DN!6N;vUpm6>pb_Ktr9EfQ3z^!17&jKW7AxcJQTe*sCyW z$QSXRfFdCtc4IlZDst#Q0%FbEuo=Ma5Amu%Y$?!%w89s{AWb#90L?98S_>$s)oKC$ z2r%7cP^)4yx{PAIzye<`1Mtf@C#)E36h zzKu@-GmRO~9e_GG+Rxd;*%5TOm7gAaZv?x+mJg&=#_Cr1h=wZUk;1~K7|$|wS~*Y* zTc{XbhKworSuTXOFOj%b2;!*D&J&PhT(MQ@Hx&Rzlv*El_A9EH+)e5%{QH6RF9#&~gw$@m;UttPCsbR(48hz(pyOhNWRt*Nsy#Eet<*f?O=j0hvRl28%4 znJ4TbN<--<3i|<=7IZzg=6aH7Wq#KtPqr}>zE7deG3<2|gaa#w#x|?v=g#~YAN%@EGlyj3OMKAbT7aQGZA% z7T{b$X2OGngxYKtOwV5Nyd{UrV|z%p?R|U^_d8DVl`Kcpl`Peh`wpXnqa(A}0(9u< z&<_fn{LvK%UV-y0P|-Y0+HtU}esIP;i@hw}lf-Kw_)NYs11Eslap2o&3{d4bvm)O% z#KYOZMz;}rTFh^R+grul4y-O|r3IY>v)C&nY3yE)1E$_4j^b&uflMATIm&(7HU=lZ zt*D_G-?HAU9rJ2pZ$#HZZU=d`dfN>AkSqsI-(zFYEQ;4|rxdYh1`A}e*qy|N`|sW| z?%oq>{*{DDGEfS64bt`&ve*|fQb@;98ObxZPtF{2)`pEajNY*~P^#4^!G>Ti1gGW< za-0oX8|gS3Y>$3!Bm9ZnDt;@Al7FxQ1X3zd#^1rFL6v<+KGgb#rad!@ef`%q&nE0m zu^Hxr7WY&L15g~j5h=O^4G9*#nrtDnrDvdYEE^MXIPd_=pa_^oR@&+v6~WRvd<0+y zJYxztvSL)*lAVoc585HC@a19?{jwwO2rIY*z9xazBV3$q^B|SSWeXOJjZWz;B}_&Q ztAE@h*k>>B6mbX)W?UgMjBG|`*>Ds*8;4pdhpZ#oYSkVX;$JW&$@O0r$0ta!b8)Qj z7soU-*FRkx|NaHyIQ)E9;u!v^P8@~%e+6-%=R~{c!@okYs{85p+1;j7CdF)Y0`~>N zTfIuxHQc{2B;6gjKX#MevTo9w5=f7lM$by@aD~mSYzCGHN@Y`U6il9K%Bk}6ocKY0 zhZdy^NZ29ID7hlZxl|;<-;zH0zV%%oh33IA(IZ5FBVHpMeLRX~z&@p8Jy_+Y8kjD? zcw%UgWOTW@D#FH*gD?v?c2GwM_9a*POut(3bA%ylCJ&#pvuInrh&r5WL0bnzZkzOv z+un+I-e}l#N%)CPy@gA|D})3`wb4;y9CxxPblhjFf`YynSA(Z2JXMctvPWPr(|$0y zZd{WPwjHAwo+8?z*)=C`UR_shlPq)ErNSCXV`y!j1Q(USOHCau9Re*Fh@utyY|ZO1 zxjER$><(B4dEeNM6ENvm>4AZII-V$u%?1pDVtTP#I4~7%SIKhWp|fQ*@g5gjhvp$C zXUoI(>DsG@-s2rK>O$q@G&W!ZySs-Ui!$sDvj7DhthhwBgoCtyBoPP!@I^0Sw8L3Q zWBrdU%-}pAx$Ri6d2hpU4BfPN#->GM_5w>!?AQTK+0X87GwoZ~*lTNHxJ8m+jOjfw zG)cr>#2Y@so5uQvucd={7;9DWulC|c5Iz824ZtP4uaTxLjT-C6V*ccE+T7K=;Xb@* z_!_(U$&5@guP;WKDqHIz?R#zqS>~QQ)*5NgAryNifMtP_Ps4F@a_SF?wX`wcBzr$^ zMjU62_IM1t#i={>ndwa*Vx|T8B>BWmZQM6pj zh7uP>o!>^_Mx}INY@r);lnp{uP!~FUvzf!yGNqUN3sk!$gy}++q`1KWj-O8_T@@qN2 z?&Q}Be%-~dwfwr5Uk~u>8ZLo){(OvIoA~tvzcPMp=GPW}J;Sf<{Mx~<22LS_UrqcP z$*&fEjpo-_evRW-S_tV$qSO66NyGSc1iy~r*U|hshF{0?Ybw7^=GSTbI)h)+`IVMI zdXi|HGEWk1@#IOG&#$yZ*ONruZ%-2WPM#z(@t!1dc|1v^C!Qn&_?LB&+&OsMhbV?^ z+W26c>UdkQ^w$F30g zgEPVBNP3qpe@TZMh@m5V87HPDy4YauwJKc?gmx|}gRh1@ispPTM?lVxg)|zA2VWchI@d? z$ij|{(GeBcFa|R{v^ygX4LBv%}3i&)jR2=8mfYPts>bWg?eT)d%O0ReMRI(YQp zmj~-3>g;FQzC}3wqQq!GU{I!c%11 zM{uS;GKjmy55xvaC$G}Nmrv_6d7fvvls(wG5?v-x#~C>mC;o;vc?-NF`8})~OGi=D zLIP`tQf9KJE~~-mDlzRu^82S*6MX8^(tlNTHIJR0H7nVZ{1uXd)JkHeS|JJa3EDn# z)Emn15|d*j#yEV8o{Dd=-fwaE7ORLlmI!E~wrHY`RYV=jMO}|Vi3O2p%Gp8p!3Hks zqYyQU2BMDRqK?%>9j%DkB8xf}0*>RN=0Z=qt9O93Z?UWIa`Wc>G|6{fD5Ympi(^X9 z#uta0Up?@_msMhA@}bh>gFj&Kx{?p6jfEFi2mjZ~51OjP1IZNx|7jQS@)Wm0xE6}f zC$h=mIBgygl2})zejDg$4#94tvkR2{O@$AX8AteR94#L6-*%*?S!a3{)04(7`=I`6|D!m*0Pc4X6m9t&*Va zYQP2F<HdXO@3tn4GH1- zf>0B7qZ|&R6vBN=!Hv@3C1E1TS6bZ1%sXAdm6%We2%QLv+3G^=*aZ5SVm%T7Ni1}v z88jhgQ@EqjIBt)Sv%XHqkYC!}5%t+(mFqK0Rz$rR{;ucTxwWE8Y)jq~+!B1&amwRp z@g(n0u69(0V9kfoxXwN#iEhFNbTeX6B%Oy@YTt!(kPva=yxudXO1!>fT$OMQHVFH2 z+-Jh2>rV)ux|jv8V({t+UWMY-e)l7J^EkNk`g1@A>JRd*gKj@hz@1@rdQKXhVAdS3 zlt+P>8M$UE4ugX3Ax>jO1)?Zcpgy~jDAr^`3offBm@P(>LtTN{j))OEK;5_>abci& zw8Ld_A3}^2qQzX;;@e0&M_@5W!Pvg&kWNc*xrg$DyefrQd=ap}YLNSR^G-TYHMrJ& zgzKFP4)w2dmRV;a=y}&8fgTC;NT5doJrd}VK#v4^B+w&)9treFphp5d66ldYj|6%o z&?A8!3G_&yM*=+(=#fB=1bQU!|EC0;Y4uVc#M9FK`RA}9!hpLFEYJGVmF5wh*GG!e zA5X4jNB-94DWBF4p><2~txI7!(~e31LXbV(Gl^c!YNF?&t48lB(7T`L?YaQ;EkXYToLB`~6G66~ch~h(9iN zCP6GZ)=Xl`(~;kDPE2cdxaLdWZKwRubF4I~1mw~zQZ)jhHL?t3Um&vcqd<0?KUs}G z_TnnNWX=F>DWNqHT5up5;)JAsI4Qvvhbu&yffZK#F;beOK1NF`fXCm)N%`tyq7<(J zjF4jJQI$Xw(mab*bLHzzNb{jp=aC*lf06#jn|0VNzq$2<{IN-|9@E2w6AjxbH(z#QO@DT|2RkHYtA4&kH`4vPTJXZWT`Qi0DVc$UGhH}R{Lu3BzM!VyH_ z6_W6C_~t`_4d6I^eQ?@=a|EmF%47QgXQ>{CowQSW$NBXrUA2@5>p8;OOjy_IvAjvL z7dhs0{Q4xnKITJ(_?<&k&h!P9Q~2gZ#*rux8B znM4u1iQu2_1bzU)v%Wr9l*$n-5Gmh6Ww2C_#ZDIU@~5jNTT10cf?q=RXo3&?HV*$r z0Q@R~7swt)`M}@L;nxMgPbK)dk$`W+H!asJo5N@D>rDYzeF-a?H2+0CmWIBU4d9r4 z`8C1^pEU6x)`gUhqFmk41^$sDlE*=Q-9uL&sXRjXOGt{Bc7gvVj`;|`iaz+1eg@&s zrTTOd-@I&VPb`~bX7KAx{A#7E#s#ncM5URiJcn-@EyG-6}Z2|gd zLZ3|4XE&IT;r*}dS|9#M8b6@9E`ON#`$Hg_Gwp=*dk5NG&k9|>HWeZQ3#gTZx|fu2 zb|5NG+L;zDJ@$m$emim3@>>sd2hinq;4UI`m{>P=K}gAnhQAf~HxSkd3$Pl%oqtyO zZw;R0+mGPiq?Y5QF5#`sj;0{Bm6h6ExoC!>GpE zJEOr)F4N^=I_cA^gfWKn>4rcIO7Hr0NbhwYyj{Sv6J9(iQ$!%1$~0*|e6n;l6XM}D zKz(t8`a<<H6=MOl)o@+CxpQ!sUC8(1NQw= zy8ee>zoDxt?M)-(();_fszPtUQ#m6cOzb>inFlegMVbhe!kt{nl2`Gl^4|>p7Z90; zV?m}3>FM~^ph)5=1a)8lpblzK8UUG~iwK~d0JdrXIDbJ}jGC1#eu-AJbAJk4TBQ69?ga)G# zpg1qzbG`n{@r#rvYsu z=rSENfu{O{)^gB60L}9QjqwM4nn0f#4A5jh&@WLDd>AMq&@J%*HR(V}NiKxJ*FdSH zrV{90qS|<;Dh!=FNXnl`AiFLC$PNueqd@`^YO%J^M=hwJ?jx*v%5SV5i=fj3p=T2G z{DFY}5*nsaC+MMp(3cSO7%HKizR=C=%pIH)rE4c!>6UZOv~sEJF{;%l@R!gGX<2;} ztR8_~FOMcxm+Hx>TsWPp$&TEyh9tIC`pX~aUMgkt-?h^3@mnRgNsx`j25Kp|@a`en z8!ra!zMawD>vU3kD}{4nnBPHHOSsN63| z-~OH`?UdZOt87kRk6a(8CY$qk1W)DTiOf=eG8)DMz<8bD1d@|ggCmKgac1kKjXbF> z(ggmyLRzg)ax(}l(~?|7qzXx=zC-b9466@RFSo4KF-%rz6yY?Hji}b)kd$8IQfrp% zdK4#JhFmh>KMKlqJ2CP)?AV2Wu!i&x9B1k9VDhcQxTf#{q8-^jnn@?u57RF2D48 zYj{6AP8lJ*KLq0a(I0O=pk+SaBRqld=J@07l=Ad=5n?P zo7Tv6YcDwoyi!!+seB_9)ofqVn)ID;9v%ZNO?7r6PohR(9T9kejMM;M0)&_AkC&<8 z-AH(c3GWkVsFoU)^_$YCt0*t^(#3lGSCDQ$4L^+VR}lWQzWC??#o!J0j*!Q_RO3i4 z>?Y8yqFQ$q>aLa{stY^N0+){v2oIuwQ=(MWfj&A0peGl4^GsBq@dv$x zK-Uik=uSV-Vt>%@(XN-TCI%ky1D)m%dVoL+lK@)a2TH@Zno>}<{z{-{h}RT9(9^m~ z#XA{y6X*%z)#3+A!^b{UZz0fW;{f{k?YGLxj$$d+Trr_s{!it1D)&-x|cvxhXM3U`-8?4Xwz>1`j#Ik4deP0!G9hh zUateF=m&beKj>}(Wmf`pz8@$JANx>!mOurv16TWjHrxF`1pFb+*pzoo{(Rd}Q-#!e`Xp(E0ALtYQptS@VLUPUX z12yU`AyIvrK;tI@G}#aIL%qo$&>{j&90gF59#rk4kwbM0fe0x8`8-d}xt0k6xSRmC zCIVnrAOQ6hy}UwhHmw`!zD0VH|E`ceyk94#M?qjOwX1UbkEilQ zq~5bNQa+9G7HO73HJ;zMNLGbvsXx_~8r3C4btct>pw6h0UwYM?fWFi&dA+d+g0@PM2g`VAgoYys^}e>_j4)N@Nd12~=v@oydlCN%qew z+28q-Jt=~01vQ-|U6Fk?TdpX+o-zsHdX?-I{$w8}vXhDIC7qMS>B%x#y)NHISX-!N zXhEUs^47wJ1wxM?=*P)NtMrHdE-Rpv&us#9DK-3$`a|yxgg!vfE2!-+@P%$>&&bf7 z=tS~*rSLM*u4%@abYdNmn@cUu06jT1hg5h|yCi$ep^)uBW8p*gH$-*@wN4c%dX<`X zC$cTGx+=U4oUAH-;__%2$jzq~?6-mBh}iR85*rgh>_H;7h}yWs&WNG>WnwA=WXo_)T2S1&e4zXTp+^w3iI=|~S{X&!wOH=ydZ3z4Cyhl(Z}3;;QnOB5Hz@;2pP)5V z`agIoKQJ0h+^Hw4aib1XEmRVC#+yL8l7QGr0&BGd1WKUdQX~-GRRS}J-5^eFy)=O* zFq>X|Q%IS5O8SjHfoXDg{bDVFew08QsrpM$Dlg;Olher)c#czBFCDv=M8p$#P)VQ; zuT)jrq$IGDnsVL<{vA){kyJaTb&&w3({2DMmBjRVl6+@h*u0?4AV2Hl;J>)!M=pQp33k=9llJ5sC>Crrt&H7Dvzor{2P{C z&gLFGm1CbXi?kq+iabx2cL#}%OEZ%m;ZJ=LovvT#)GlawGg{U)ao4?yec9i z2d|LE;~lX*8h0)UKM}nGa-E9k584Mm5#6nQ@DtGj`ao&T#)H3z-iCdbMf3)q%AX>4 zWNPLw5s{k0bQ&(3OGM9*!+!c!m8cIu3IViJ7w2FAz$U7`ATogSNF9VIg5F7O&hr{H z6`o2`#rPbiTbxc9NAXnt3NTk{sYM0@y`{f4BxfBjd@7 zMSju8A|X*Ex`dwg4b%~53Q6FOw!&|C~x`&COCi+oKJImucmh* zGM=C_Em4|!H{|A|Gc}|qZl_0X{%KT*EXD4-WT_4zC{)-BaaYS|Q>3hEuae`-4aW0$ zDvzbU>ew#R#E5O86wFiNi6(gyy+}!PmXc^A#ziR6f8*|-=ol^0%PCP4Rfb)+bd^y} z*SUIkpwTRUirD+vYPa1GBucmm;( z+WO#?OMjlP%O5#{hp2Jo`K!fK`G{oTX!+V(U<`Ui|fq0ks|%_h7D z2=D8(06tI6^W*b38eTl%?IgUn{PA{5+x2)P&(qZY@%%A7mCqnYVXZ%2xwKA?M{?Pr z;cX?nW=d~LAl{Asc=u^|s|hcT((B`o_o&ntc+{43r+>`w5uH}rMEg}8jp>x9FQ`%FvN(pP^0-Stpvad1;o1H1UeoYiAiNob zH!cuwf>|8ll-_NDc)9*~f7I|EAiPLQZ>T@sqf!#^NUkk&<+5hV zy@}sTrCvI^YFVd%pv=;hcq*@;u20Q$9}(!vnn^Cu(hM9;RnSa&`FireAJ(Bc)0p%} zf6)B|x{*Bad>_yz=}tZ9UQm63Kog1TI6u%-f6%)KbQn=J`+zbjMh{9Y=gkCqhWv~Z zH+r*3ynZ=Hmn{NKAkcR5IJWzNzUvR#j)ts!Ch_{9ALyh0pzjmtY~ppH59k(YF+izZ z2rkw!@&Xunf|^NQmmVhMW*ULIM2E~v$C>u9bSbB>RdN;SC_DfPvo#7g6NRlr;lwm= z{uK&aq|a}YdDx1(R>s6be~m&UQ8-59T7LxMolI!v5)aoevJCGf-ffF?eNFjs^R?? z;YE@+Io=$ty zl1DQG=WJq^>b2xi(1-#JS>c0;+6&i%+MhLQT0@Bk>VVaz28LL{Oia}T zs_Rn;=P6RbMwGplCmJ>UG*c&qdcY1O*zpAWh7MKxE=BXxW*uMVFu3`NoE(%l@qLi#7(kwJP@Mbn0%p5h~Q6c3DHDA3bJ>Ym~wb!)T_ z+A!2pe57un_CXtldWw(KO{Wi()+9Wr4acTYa>si#ISst+_zj-Q<4KDupfs9re)5Bw z0w0F@H(J;7HB{(#YD6^v8UcEf0H#d?z;q3OG;G5JdC;U;iZ7rMi)L1=z3HR8Ss=er zOPI*z6S+63u78i>59FN&4#q8}!s8{=oI#H>sbG%NBg!$3zCu{h{9YkN;;wSM$sh}j z)^*52`wyPVA0PuPcA6gNfSSvMPL7~%1cK#}F_B;@%d=L8+HBHf3jL{4F= zG*3_A0q{3Vqi_>ZNF)l!p*B96K~7nc9+TueP{Zs?n0rZbFZyD3=Akq~H+?;nL(70( zPYp()FS>X1bUL+Ue82(&K&r|t`&-TS-cwRf6zb~Zc z`5gZLz3ldI+#`V=3G_&yM*=+(=#fB=1bQUUBY_?X^hlsb0zDGwk-$%v0CpYi`S-s~ z0xMoNSjzGD68`?TM}!=n=#j%OjT?EPuFCem4W}o(C`bcU$r9qCwtw ze;#MB+=0K!i3UsBbc5yHNe0W%D-4#opxftGUwapKEX)#|=}oskU~azIVA%kC&KNEN zVEzC*smfqnyuol7@7_uBz8ljRW;rm*VA*(+!7>%RbVlcn{AKw?ix+aTj{<(*FoR{$ zMFz{#(VfFDUS2E|lp6+^80 zfcL*2X|NsmVV!Fg& z=?6Vf$1Ye7<@0!*|&>BC-OMkwS(6A$6mc!6< z<)^`ohdOPQdIzT~c9UKMAwAQPwhWx|5R%kq(-W$~(9WM~pi{*wHq z`O5@uS}rHjo&M`2J>jku-A=7=LD7PRLVi*F!X*oei_eo*U^@B53m0@dAsHB^Q%!J0 z{PLps1@S@=YAnw!r}k6wdHaHecNXOrbW^Sb9S`vQqWonG^8?cf%-`*h%$?_>zI1W% z(gni8LKNT}6yc)y+(5FO=);NyV4<6IhjF@>b&D?Xd){)_@p})aThcwcu(v-(TBpE8 z3zprH4|PW2-lNy{&Ju%02g;ojIG=oUiD~K-&#^|t7uy#W#xE$2pL6@j1-Zn9KWLT+HfqWFN(BxT^AHNDj7cVQe7ZfaBxR|Qt()^{%i|>qk0TWD8viC z)qC+Wd|MD-uz1;GAs_Y*HXwfKf`x^s@m;ggi9BF^it<1Z5v-G>IO--ipNN|hKdP_ie`vz6fiVYR6La>hrI=K16xi)X;E2O zS=kenm6n;6rIi(xl@%tYmIpK|O)D!ZD=RfBeX{&t*P5BV7mJPZ^n3sB_x+yFr8n0c z?z!ildk$;XtTnUUg~(EG|F*PD3}Y~J8akLcUwwk5tCvPiBXHZcxtzsLS3?RlTpxv= z{&@EKa5yob<-p9g`B_d>O1@q*K2*!dD{`qau<{Dr&W!BY*(jH{T@^Uz75N@9>JG>C z?TCI};OwKg>cYcZln3es zdKSc+*WD5)0m=VsQ%z&qT8Y0&BroGH1yPP8K%~DHZtB?5Pt!U8-JlRqGKl#$k<=T= zaQ;pP+4(_bgCJCJGiNxWHxe+zw>p7R#UY7c4&VqR@QxghGFCiVLo z{Mqog0+AnHU8k-<@_pnl(s!1A8<6r5tk3Z-0+NrqGW;SaMT`YHfFprUpdC0HI2f1- z>z#?EAuo!qba6T{^NZXD9UJo1sECUV)-UJ*5ybX96a4|3mcn5G0a0!rQ z^Y0p9Wtqc(EOQKyI!y<*0J?#!w{u2*myLABBk4u1Mz$L(iz~w;J z={g|W_(tH3z~5*iVD~Xaj7sSNGryKIW65K zqqH;^o~#|EoP^{$F_Tw<((*Hl^v4HRHtx)I9;q}>TwYNjZ|RP_9NfS~Ui$Nu&{Gf4 zpMA2i!r{OaK0n)yhdNJq4hoZ&DKtsX&ztMawYjt1!Y}pVb52^ip@hb8sXB`4&d!_x%E8eUMjFgsU&P_!u<=Hq^zov);k zM^A-^5#*m&ln)8%MFs5Lhyx>^VntPP$|J&^CC-eZLRNxpc3wW_K!#O}*|ZgAPX&dd zFuGqiKdde*jbU6cGF6M_dB*h7GO{?2Ey_h@V{Rg=Kih$cC?_mbJ}0kOl`7lia%QHv zFd^i`Q%+#?67l&v%?)e2^Rqc0&DLkHh530dTb|pQZ+NCAJ7%zWge~GsPfx9$QC0g9 zJo0(o>D0{*iJm2$>;hYw&0|DegeKdJtswha-5R;h!ufgmbI}Ip>n%|EQ5*UKkMf&} zuI1*To@V254zo7Q({}Pt-)9=j9E6U80Pdy$T>keR^CWJ*2JY>66d-R6a z@9N$-=7KhulZ~ef(cbFD)g3Cmar5V>9+cHzLdC<1h;V$B6T2J?H#=c!0f zi^UvARW8-3o2AB)7WIpvTd#qF(gHjONm-uJgW2k>Oz4%Dkx?W@Og`(%5vC~D)6TF0 zg2y&KKuJLW@D;f*GKnd=jUU2(A%xJex>J8q}J#SYs5ILNx#T2JI$rvA`A12^aLBe#QbHT_nGNAtbIR$ zwd^Xav+4rzC*-RD>%%rLPZ-t-N4M9kzhfQmPta$bHS1R(Ja|~cKoOwh2!EVmhN}#6 zF2gqp>iKN_#hSGeYl!0_{N4|);q6`<~L8ryy;kTR%Lqm63u$)P|bQB%2^E=DvzFS%+~5Sgl0GA*rDYe6&dWE&#bE)NtC6Zl;91U< zSKu^p2@Mga>+OxCOchrrUqggRo+oCstEeC=S=<|^!Gg|F`W@7x2rD8f8;gDUrPH#U zxk}MV&cdSnTn`tXIh}=ZMfq68ER@3X^2ZnDqTicsw#D>ti%4D;Z;Ec7bzb z0h2I5NfB*EwyV5chyFfdY8oa;-dVP$O-q~WjB6m4acIyDMQf8?PN%zGY}{m}fwx^x zo-{4VdmkH_q0d!iU_wa->My%kD4vpEdbVh75^leEUFI{bZ+*Zj6{^?fFhNtgPA*Ev z9ooJ4^9KQzTiJxJpTp(x&9Cg>;en{a{VF{$n}75AlD(H zfPC(b0rGh{9%ut50lChS0_5}eOyI>p2QU=q0`>$J0=XWt0I07+0J(m$1ju!ea$sNJ za$q=cH829W4%i=90UQF{2)q$sN2xte^0Aqnifg^#nz&PM(U_8)& zM1XZPFbH@#Fc>%n7y=v%32rvtHDX;`M6u2088E_de8n^~H z47dR}0=Nxm2kr;P0*?Sk0#5?tfR<5cH^5L}0x$|V8W<0}9GC(e19Sk#0tx6kEFaQ_}3dj{OJcK(jSBT=?7-fAB+6y2QDVYBY$Ed z@+T%Ce_}H72l_8S{=hE4BS4OYoOE*xhl<)Ugv|q{;GP7)Wck;8Ni0z?Hx%;CkR8U?q_EfNJ0l;9=l9z+=E|K;CnB zPtwK)SRVm|0OtZ72tOC9Y+y~qUOhUbJu2KX4Vj$-pmjY|y=bT|9b25{xl%xj;(-&@T1G>bI8`fMeyGb zEC)^m9s(ab=xX>U0Xg@I09L@C59C~H0K?%g0fwVI(ZGH1-^6&NZv*5U$xc7QZwJ-_ zCj&W08wm8DAl_9ig1;yH!SH7S7r-A1426F-Fba4#uma(If${L?08@ZB(~o?H10C?+ z3gp~v7_bojMZiNy7YSSh{|aC^a6WJ~un1TIoC4(Bxh=2?{s(~jfGNNl;DbQUsoN3Z zzY7?Ie1-u1lf^r*(})j-KN$Y03`f50fuZnE14aRt0po#7fGNPofDYgqU=a8_01M%t z4h)9BBXAM?Gk`J3F9ui+|1H4Pz^8!~z+zw(a5*p(={f`V!G9Id1%D4<4g3yZE%0ri z|HJ_6W?(RIJunow0T>1R02mM43Jgd3F2EG{X9794e+_iN|1Pi$_!e+E@G0O1;6uPD zq`MHf5B`UNHNdNZwFn-Ucj$KOL9^e^=ll_)~$W;g15A!~ZC7J@7jE z5#AfP1O9B_Az&WxD6lE;H1I26(BuH?QeX)1abP&`C14EjSzr=yG;k)+4LpCHx4?g^ z1=6s}$}3&}A_ebEHQs?V?OJ@f8-Xu{5;fil7+#>GL&iJwFIxCr3-8cG_H3fyo2`FQ z!*4=_{4B|zrGI(C?`;HMw*Ey5zkd<=&egv@;&(1WZm#sZrQa?2^JRFxl$Ry*DbT;5 z;dd|dbbSi+FI+H|$S;u#C0~)mY^*EuDw65arJeNwwnko zLADmveo{2vPkFKZusvNVypT`+cLf(q@V370@5dW{JHQ?@yKWUiqJ-DV`Mzr z8U2c%?JWYaNiv@8E&{EY^9NpRe~cHcoBl%GpCY35_86g!)xS|=5bYEJZIyhs&j@Y2 zM}97P5dECr@nU<8Kx&mg+b!*-(zE?Wz^C}xj_FtWu{~2?#m{z4`zw2~eMg`+lzg^x z#w+`=y+>#%kRUF$d-|0;wtwoUsyp^!mPP5FqnCA@r>q5f zTlBUK_I2u~Y{@>)wx#+8`#$}uZ*dHuU**rSfOX@`791ap?I>L@yH_`k8%A9@ei;26 zN9y`TKT>7mxMGaY(c6JnKF1qle1Sr#wQUWsCiV#^cO z6XO&mik3DH<)L*($=b=)ZSAew9KEi_du%PnwK3X6nZLU4DgAh#6Zb*E!22BAg3_1w zJLb;k0A6Ao8s(`gF|P1FDlRc@c;j<*dET}m#))J@+o3%tqo>wy_oB~x$3SBriPOh& zaSvtAq78b-2hj#cdFsK~rp#%TO%vpo!@_0>p7tqhmgwnk!e%2qWe_$S=^5LE&Aj&t zVY4_-|18kkkSMcR7f}vxnU!wI(&9q5Bv0QGx=r@zDs)RS=)(H+<}Gx)+@rhFP1TwnveFoM&7V`Fr(E*V`NO_thSRE~=J= zF5^79ih3C1X`3RiWKX=vYn-fQwi&j)hV$Y`p<1rUE5*~EL|)#0C-RE-*uf~fejVrN zqek6wOh7LamykWy;AbD4>M2(NzM5u;Y9&Iq8J>8NKF-vK;|#iqQL1iwHR6c5F72Ym zYh_0@K8yUudgO`xQao)+@Q?J=vEWZK=)*Q~rDyIW_*L)2x14&tTw#bOf3jzc5&UtU zxq;vxX(&IfGsV+KMEodI`eal5L{B>r^3@0{=KLI^)V*HBCmPxU^BZrNE6|_pDZd(X z6QzaNHh78q@U=j32|d#=A{+hba%QjW;*c|C<#);_8|BZIPX@|A2X}L$yt#75t>Rsn z*%{+q7+H;ewpF7)Pyc40Awu7Irg+{Fjr_c$8U5awjYwZ=C@=49VwBG?jqf5<{B?oH zD}~Q?yoaTG@)2`)^~A?`wx4YL6_*%e(jg@RcjLOU#5|uhEG{vx&+yosdPTtE%4TAo z@4yU4Tw?sAOrt-;Q->m+e~s}jXjj)?)mPInD-f6Hi|HPH zg@DWMUj4-U+}k(Bb8WV#e#Ntg zF`n|-cf}>(|*Nspjs7C&&g`FMm;Bc%O~cyY86MU<3wOa zq}ENvvs0$W{^D6@uBU&9=LxU=YQC>R#B=vtkNw26(Ol1%E}kpZstlhqIU1Zep=UB+U;u6m@#(2@+yz%tsc-o(M_Tyi1iFEkMjjjOz|;@97?U2|xdeOU;+nh@t$d$1A_;kz$=f zt+wI2V!i#SRX5HNd6)3&Bj)Gc{v-U}@(4fwic73(s8u`4V|^5O#tY8nn1hm_{7M4- zoPQhR={LsHqDmt*H}v|sj*^C4l|HKfM4(S{Jxs-@`LOT%qL|MX!2S)T6LIGIsd$D{ z+At5cU!^_$eD>$puu4DbL=G`)5YOvg`*Z!zSRY~?NUeTy9hBDawkNSJq*g^4&-UZ3 zU$G8U1Ph5vtQ)yK_jB>wDE^x5WsEbITdemKLmP34H5sp7Vou0$MvT;6zi7$IuhI*D zmPaq)&+**XgulQuZU}#&XRasKfV}xrtLVu^xg7Qm*i& zWEDk&^7W|E`PtDRa!pPvBo*buBg<=q=&@i`B9%suEXpJm6(BdKn}odu_@p*^LPjAekM8k##Uv3C@63n>=^mp- zzTMH7;}@aE6mo7?3g0+bnV|wzXbO0p2o+eMulSOC8bTc&X}abD*~;_v5{-sd>3VKN_68L*PIs}a3}O3> z#&Z$pD++mU7V*M1!bW4Ii2Fcs$w z1zxUM*Wer>CDT@e_w_jEMx{9!qFKA(Y@8UJofCj_iiRVN1?LbQ$DRe1W(m^Fzs#Fv zJmjZovt9`-#P2eqE6S=-=@qT|?aF$Vi4W{vX7p}doj)dzek|2uK+ z&fCznY6|vW;LMh9aTZTL&NGT`i}UfYFQNzX{Q>(a{(#Io6YI)ye1mTna2}JAMfuwh z)}d3~u<&mKtUo|sBVX+g_|71~8#W3$G5u2TZoyeIigyUot%FT(02P6Xp;s%|-0w=w z`YQa*fm?u2Ae`ydRSP+GoF$~>e1<(N5vYsKphsYndqKltV<+eVlZ~c-hi|jGdDGqk z+1;mW))pvhFWB@K>>E+}Yy@wALwWCpon~M!N(lHBkL?J)$-@2;rOWlG?*Xvo&x5@@ zOThCz{2m^(gN~C${4vB$O!me-i8_8r#!deb@9RUoab<@=we?}U2njWeeHY5K)TKNj{<>APVcP#|po3eLoe z#@?ey*!z9h^dQQj^me1nGtfp=n#WMa5yLcV9O!4X+0~OY>jF?L!V^G4KpCLN5T;}h z_d$*y?4;z(Mm`hKo}8ebaCZRR1^04L4cdS)?a-t6E)Y7Zw7bE(6nVJOc5g;oEAHs! zUk={I1HHW8p#A`YhTdRJyN_ZwlSuh@gfZuzray`FvoSXQ)AU)t;9Da@|Cs>2Z7CQx(I*C=?LC1pv<>8!VQ-hxc^}f? zLl#e-pY#!N-L;;c=kuQFww?}K&qQ0at>-xYnQZGhLkj4bW9!dY{L!Z^(Idx2r{zQ^ zkBfHmvo5XY7-K58o=QqGx^<~Kzb;A_s>}2435yW?{UVe29ho`&EdGD6|4ig%klAP% zp?ypAMJ8|BhWE1ZZaxn8Sw2}uW37{JH{9xKjEug;p(UhZX53d`-_YU`QfP5sfqmgG zwuO=eAQs-fp*AG36%%yq3kM}32!VZz`+^_Xmy+l#hFb)Qg*2t8328lHK~n_0H;vnx zpEhcc{@OAb{cQloT-Dx(VO&^*@nO*nZ~LqO4-SU$@VtYuBopJ^Htd&F(rw4_tsw3b zO3oJa&#%$W8NUc|xwx09xNk6abeCh)(O>bcA;usTmxwXxE8I`s!hP$lDD1Dqm@*&p zhVJMur3g=iT$LyB2xNz2O!%ki*PXz(%ESM8`Vi=Uh2j2N3tig5hO;n+b%xw$(EqOi z?K9YOG145u7^ZX%mUiskQ>?~$+g!aqU?_UoxUjjomQ)a&q(B^YRM{i;Cx$l!^~lwC?TOw7MXuWy`?80A3bxwJ=`B4B&3O?2&!Chji}P zp?z?>wr$(AX=AloTjOdat_$?*9I{0Z29sZtrvA;Ex3B~RwhX$URcrCrm>9DHt&*R~ z%IlbL$A<7z!FTX=MQ>_KgSL&wOwHvfE+8MtyP0zGA)A~%eGxjq# zP@bPbD1D9LZ-O-Z&eC}K*W%l2v`G~<6aF#iHeXbbtBTgi~eg&Ydm{3qaf$7QE%#EYj$5}k38v^nSt-MK^sB-4zb4}4Ns26 z7_HrS%H)1yb%_wJ@Npe(zP{4M6`nji@o}YvD>q!tCMO8)yfp8nh3zA9M(G7*qo~0y+vh2C4;}1f2$HS!hon3n&O=1qFjTfkHqw zP$(!86az{GrGVU^1)y@!2GAjpmJMD|BB&5l4%!H+0R_*24M2&YBv1+{3seqT4q5}+ z2s#AP<|04POwbZgCFn57;(`oN7HB!B5=0wT1CM}$a*#hL5hSbSe+*{nC+#}IC~(#+ zoD+~C)>voFa;M=4Pu(+XRzaZyZhB_TD$L4egj|Z9HET9bPd56C^)q%<2xPkQJ!ze3 z>3Dev*@gLXWB9CDI2{8Ui8JJ)_^eqtOv9C(iDOjtGOAcA$YF_rI10ptGXeGZ;rKfO zqjC&J zFdP`xN1VNO4crSry?O!RxCHTiK@p(-pq`)+NE8DBz2IH|x(1Y5JX=3ih~L4d7N;BB zGzdcx&eJjSX6v3*oS~5B(vOzJSsR&Hb#w?O^3h1SnS!sFCnv)S2rJ@&Mv^O4m|mEN zhp^V;fE=6zk;cBT}3X1ZbDzjA9ZyHZrfteeUBl9wf!3hL7a>%0&%B(j9 zgBmt7i-$)P>1@(y!|eRRB3Q_gUEp@%lpy^;ES&bB%J0mwH9{>d)ywC#P<_>me2r00 zOU=l0>nC?LVA#|mM!*`oCz%xgT+lS~buUi?*8n>Zi?2hHHb2S=j}PCZQgXEVH^e(G7YUIU_R zZ+)tIGSx%l8VPEBRD(N*oF;U$lKH4&Y7i$x6w-a zuv=pcQg<9F)Xz9E4JV$l(bl7f4cTb66pTZ*c+a75YAmpg;!qQ(pC;{%#gVZ#{g%O` znvrKD=Z`Y6OqPfP&G_D=)Q5P@#=|5yn%gF%&%tnE<0%q`F(htkw2gU0W2VhhYI*c_ z1Wup8acdZD#I#&I`U9A5%JA z2W2B)X&cUxNj08@h2E&U)i6&FUb7XW%JoLTv%Jtm@S0EXxr@?qD3$PBRhWh2rLNYW z$8b!RGe6hXBTh7Jtq<6F0x(k*;AEgeIB*soy&6xlr=utr<0H>*hnsaS5UmZT%OD8) zIijO;i(D>DU1rI-N{rLx%61oI7jV*mE1ZpiXo|pj#rb*jMSsa~ZlB8JbJ1+JkI2Ml452pc4xlk|Ac+zPw{27()N8+rH^ zRi!Nk3=yTEd(c4Po==Y~+^kviheX*lZOZs7#!r|gmLR+qf(%X{Aj?*q=P^>M=YX$_ zf+E?XigI~mB<;tk3LLn^+4Pj5Ty#TMXZ~#5)paIkZcz>$N<7_qo^bRc;ZKGuJ32az z0}f|zh^OD3oy+MZL;75WGjwM|y@f=K?FcKtpH9DFzK!)-MF`g12%Cp>s6&G^>sqXR zF>D9IlCakP0?rg$E8ho&{f>Rq6E*AYSU-cwb-qOiYXW)Yc(3*o!kP9k!b-3n_6*kD zO5~cj&2G0bPFyz4{4WeAD~o^T7+-!Y#GUouBCYYo-NNO^ z$M*Br|B?mjw<6Wo8rS;%2YQ=!qvxNW*0_JF9TRUd{A;2$?w?9;`(Lv1`E35F1E=bZ+D|p$Ti)BcZTtHl?AW<$clDmVAMX3;<4^V< z`1IhR&p!X+@RwhGUGvSi-yQk>haZpr^z$#rj-U9o_P5{vIC<*df1dv9?=$8#cWaxr z?Sk8P=-8=qmkUEK>e|iLy~o9&J$v;I>vKup@Q8l>z3&C0hs6vZVUKP2)x%XYufAqh zYQyo@Em(N{4gbf>|4%Effpq`J%VTQH;$N$&WC*L;|<9$FrzV9-heJZQJOf`e%{Amo_*{xdB=34V6R{w;Agl4=3N8-&h zt}xrs4GF)QbK#{iFTPvvZ+NSoru+0L%g|)$)H34o@)NLbBo9;tv%Fqe*j#@;@Vj0hHfmWPxC&<# zBm8d=-b`9;_*UjU;QR7@@;LBDfai|M_~tBDv%ZY)b=-K)cn;s7Y?03!6n|98oDTdM zvW|m30R0G3`JW4i-hg*CAik431hkdmIR7s|?=D%?%QFP*6uzuZ+N6>{s>*12?RST4UvEkGXBTzr`> zZ0h^nrpozT`SEL8mV{pp^BY<2ZgHYK4)|1AXdkgUp`s_>N)sD=Pe9K|} z-nPwt!Y`Eh=3BiN=PoktR`B*4v*feY0cB-CCaqrx>qS61Z79BYo~`#ye(fyUY~7mn zosSb=xzT1EGnI~FFNN`Baqc!tL(bf(#C=M9yH73HrdY~zm&bQLbuGkm3fS}VkO%kP zl>86L6>URUp0=vrt9`c>)`Y4*^}Rz|gpJI1@^I^s?(Bk*<0p^ND~z)M#_{64Qn?eb zUM3F57RN9b$TOJv-e2)F#?5=d%`egoe-e?@(j#rKaQj~sARlKbcXwV@EFPMcM$$9P~w@6_u zyR|OAIuTu0nwen*QcuKtwn=9m99~Cfqg<3}N`W&!Uc50Cb{(&N7#Oll`I1+>#4vo| zF-^}|{AQUdALQ0G!nm}8xss3b9K~nUWlRCi(a(0&Q^LrDxs)euQrwvMl)Sp^MqY0W zxWLQojrGO<4Q{$>RAPIJ(D)-wPU*S2B{`2I7PTIQN^B=RFyn{32`$UWTeya10f{ zEvIbYITIfhnKAcryc18uI}ea=0E!w+0{TuP9f;o-PfWxioCz(y(<)!;UQtTeTRcZ`KlfzOY9? zZ1~b8cs6{&r?z`BLhSZ}T*Fo`Z0pjnoeSSOk>V1&y@Xrr^itv8 zJ;!1Xmk1X-x0IXnZ|@E+<9;%7)ZIxY(uh2ayU0Yic?X#YMIGt$3vV6`?Hm(3!bB>u z8%(&xzAxb(iJ3#b6wGj8CDe&NR}m3ncbDSl{w{He-CV*gc5ex{*s&$tVvm+^*WIBe z!h~Ml-Dx5ebqQU>-ZT*+^z`l-7y9YV$Fuv4oMQi(*mp*M{T*ivMZ3ZbsStH8zIzm5 z=AC9D6lZPeTO5(-5H}A`}jU zqhMaX{x+6uWMOoMGuuTTyhGJL{+gYZuBXk(bIfMA%Rvn=_GE~NSy`p-JV==h2FB0M zm+_^M+N{z6pj>Sh6isKET)bUQn~hhMfxB2=x%4<$ViqSV;qJzjBFUtFpgpP;>ag1j6)cHFzR5y!I*{N1|tmy z8H_I&Rxp}yu##8GmCB`K<(V^s-_7d2>eJTS&)AjgZ+^{;OMW%2Sz;~zSZM-j{y6`h z)WCJjenS%_Wkjs_<)&ZsZ}!e{*J!tW(G;_$sCa2?K_Wt<;~ zXPtAdIuppX76*`X7Z%2juqwhk$G%HNaTlQQ$~mEs*zbp83lOBhLyR4dj{5mjii5 z_ZT40A|4Cm8N^ordDiuKAkUbd0OXm>$-sEvRA3U2vqYYK&E|Xl_d(A8KFIms2RZ-y zAm@J{1ou6BZ*Kg35Dbs!um430oc}$R^S{UPKH6J+()r(G;oR{2@3EZ!J(gwc5BNQl zCBPKmV?YOR4KN7L1|5Kf@J|N@!`~6O2>uzs^S{S({`XkW49;KwzykcnhVOW@vF69K zveab`x9M+7d3q(!iqx0WbXGGT&)(#__4<5b-7z1zFwU44*BM<%V+i|+~eUR~@P_i~$g`SpP)m3q_dJ)4lJ99UcCdwBl3gD<;~r>=z~AkTLl*5_j# zh|3%&^5Smz3wTvIozHu64(w z`r+)K{B0fDMSnG*7t9x5F4~d^_nw1FW-(guI~$$?tVSuGN62%&`98;NVZ56_D%OK4 zD|;PnBfe|PMV$9C^HN{R#m^cNUsj3w zKAZi-eTE}BYtq|~%sOz?F7cGJVO`ZXjQpxeU1nLzUd&PGsyOT0NVFi{HN2%T%Oj6h zmU{E)OBVZlktehIa@ex@ZCM`dEkyPIKvsbG6<5|u;hcpd(@H*Fh*BDRDMd|gVhP1rH)W2tY(~43X)7HOt z_d*%P8*KBvn_nQX?$|ykiB`zedw-5l1b^%DsITrgKG(epSMqm;`8^HZml@m@2KOQ9 z9tob4aPt?%M!_BQxJb))U!ibcslVCA_w~}vcV01Yt6%6#Ht>`f!q*u1_sQ@Sr1f9r z%_|IUrDw8qQy-UfC&9f`x~b1P>876hrJMTHN;lubg*+i-^4;1{>7ER?OS-AUI_c(n zylv7=Th$oc+G@VOQf5&+92JDa37X#ennwfBhpg0aOq~brb{<%vOv07 zFRP`SWvr5J+P_x1xporrjF8E9ripO#S6--_8*bW}wwj6c7TS=ymFfJV%`Y~%5%quV zMZ54ShraxULHgIg&0qPVZ8pNqenz|Q(A`(+-@qL*@EkL^gP#?Bi}e`>H-8z6wu#ll zuhhTZn`v-6;8yY%7~JJ>^H*|MhwI^{?fGuI67DOZCF|iZ+*inUdfE^kvep|u6mI_d z5ZfK=N|nojaOGYMw<kxeN5#is|Kgepe zTx1bk=RRjn@QH6Wn!wXk1>h@=bDdGASpB3!p$Zph{&wV~=UWoNZ;to+>&q+iq!qF& z>-hb&y7BeXGnH4qkZ~@3mWqQ31T+4|atU2sgOo#H89%`=U1v>i;-zN^r!vy`r3C^&)j^xPX_jA;c~q4S5&jA zy|>N&*QxfyT&D%*%h7vP#`~RC|I+iiJv-gMd@;A%h#ywW5{;-P_wUU+=LBt>J+Rwl{hBsO zxU%QTz4NAyeRuPxEs)VY{nl9GUV3&xm+p7R?z-dGmb#w+6*G`z^D>#yyi>cdF=A$ zLteV#>cg`Rl?6Wg_p#Umcdw}~>oWJ^43u>Mr{(Sx;t8D8h zpL*xLwLQzP827cmc4NfmKWnRdOiB)G{o1c5+D&U0JnGQGt1tWbq0Tc-h7A3e_Hppb zx4u6A$!pX8ey#1Cw3fJOx4G!9%*|76-O8iy91`$|CENYh+sA>xbVbU%Wp%a>k{DO!BfeI4vO z=SElD{`qZ>T1F>~%L;nx;9vLN7y3oJqgj!?<0~HedE||+ZhpVX^y3q=4y@`~yzs7h z&@#`MG<=r^82fcy0Xq)$^9M ztNCPUbnJw$>}yZu%^%n6+ZO`a%B%yXtPR*ZJ?NDn1e)zWef( zBOh&M**>EA8!L}&+x^{?%71_PQoP?U>#w(k7WB;DbK|KEHP1I|-y$}B*tHX`UcGD3 z$gd{k_KIVD=r-o zzTusFKVR3`;;7v>e$JV}t>#S441WD!?EAwmDam?d;M@aSUifWewxbuyQ&T&u?9UhW zO!;YzZR{f_r#-kf@bBmSu6rtcZ1(-{bnO#Twe{J(AMG#RI%H4Kluz$lx?=0YYd*N5 zXQ$$07X&O`^GBhzTlDERiQhbTcg76scON`>B>R(IBl2r1Zhdy?RXr{nw7jUrwO8Ex z{pAt!Pvt)RU2Mw^RVV)yWIZt%Uo}=zOwSC3CEel>)aHiQU5pnCYi~2@{FPiq0 z^_OndTI{u3ze(S4WX|IK)^C>W+_q)P?ba!;&Zyq^_Mg)S+_a%-=Y*uDmu(-{d7ZYU z+gFuIrH_|wAGRmr#qUq{$hqd>+lOAazjNuX{NndY9((dyC$%;@|1^v`2$EMfJA5nTJoVc|LR4_UB%ny3N&c#ftm2O^H_xzvJz(wL=a}8h7O2ye-{B zP6gbUFm}%VXFpkx^rdC_laCZ>i(_hdUq|=**FNiU|F`oUoq{$Ex$V!jCBc1On0WfK z2Y>9@KC*98%T`Sv9~Sd>*c+!8&z~Om=!Vrb!wcR$F?zwW^ul{uckg`g`B$Il_fl~3 zvv;k%?1xcN4?OtH7hm}O{o${B%bJv~ycE*?9$B7z{JBG0!=D>I^wM$f6;x;D{Lp;O zBNI=aXj--E%SkJvFSdU2Ou;SjZyad5yJ@G}+>b;bnsj8+OW%zDvtx_?PmO!~%TLw@ zPWUN($#q9x-_<>K_CD?A_K$yC^!1JteflrDk?PlUobUMaw-4tHFJAe5|KNqQlWGU` zJHFx9yDw+tEGZ$xDCP{^=bR1Ku1pGU?REu4Z>`+u+yi zs|7zjIH@XabNaLUKfUeq9|mnm%Q{y6*26p6&G~54T@iYNv9>!hUuYG-U-p`hhx5Z5~_Stu1 zZ#*#nWcct;zMQwL|92k+WK7Ketn-=|Mqhc!$GZ+Sx#aK9M(?^Sv|aD#_Fnv2=QsVU z`tE4{+WSAgc=@3#0#>}=YR2PRt?*Gd%?ovsb75Z{(F7D$Zme=Z5u*=YJT7BA9Kfa&O3P5 zeML7FUNhw3+${rMTRLRRsIYB!mp&i*c`H_uW8|iX7k~6nc-(<5-<7TEH~jax!%N59 z6!*+`rDMPStH;Ccj}QN{`~7C0tiJ0lm*)8TVY#0SGCJi7PB@JIhxUAXns<_EtEnKQIz*1F|){@UW-M;CvzZqt<`cI|lK z7Pr0IiVt%ljs$gD*fFm>`u=7Oh-b zHmu#N2P2jy?#{X1zb5n{H8Iw+KL6*x!~#vwC7WVC>mQ)``Cp*WZ~eU1 z-1@fGyv=T{MVrG~i?%1U7VVn(S=x2-v$T)!vvi2_3+OPzFQB8_FQC(6zrao_{Q^6` z?ibkQL%+ZafA(v6VL+3XAw8S46w~Lk7?}492j~c9DAwMZw(?d#Ep}9Et?U7Ob@AnI z&9wI)78|O-6A2n{F?S#kCvpn{kh>2=xSW?GR$c0g|6}$+yy4+eD16?(XE4w9ag~|F zCh041YFE7t&*I#z%k{$U*xwh3XHNRKddk(=Xw7C45TmbVdO2)Z;}h$+HeE7*laM=^ zbM=#Xy@~r_*H}O4Wj^W}r>}Z4Pp(4F*4JyNBCG(?xXx2K@Q+?sEG@U)~#3a{4mFkGQ+v zrw`k^xN{%fbK&6OTIGyC_CL4M{y2`-n0U#Bh|hTMkAFX5xBqtI@$?}U#Q!p*YsaVU z2UB+2yS&u_@mrfL9r3LF)(@+x^Hy<7Z&lLxOw`jsEM+k~yR7bm|E zcIU6~ryf7rZTXA#eN!fPwI7ClmCnB|Z2z+T{>&x*WnW#2_$_6<@2jx?`egdfbyYak zx$OIE3YxuYe{A977w_KO5%R{~HGl4F_G@!jwms4`1nFzWxBPg6{idYxJHF9Sp4iYH z6@%We51y787Pz{_5L^QTgMlNUel`2aP9E-O?v&X(f+{){ch^B=f@arrE62g zsJHFkkGt#F*5BX+>C`zdHoNN``_uDZTlM7KIAPirv*nSTN_)b;zx?^G8wb*!>qcC# z$^QJYn?Fdnqw8?3y0E={!zTN_Gxr_u+|m#J3C;eV_^!Qjepqb4y1!$z!?huif4plS znbGBft-nPM*OE(HyURD*9r;~K?cbxlt*n?_*r&=Kb;ZUl0lR3AzyBTjewBS<*0-bL zZ2g97kpXRs(znr5#q?^`5=@p$ATfm;Z!y zjxg7B+gAI|l-Tq&Hk`tp9CGIVimmo7gYL}=_e1$s?wY;IzRmvF#kbwM={?(U?by_y zRy(%YzgW5Z@rtiuuj=o9`C`U)`!|QrT-(GJ3Vrro-tGJCc3bEPSF1s2AF)mET%G&A z{f4XhzP|3qK}bJo%WK*P_JU^}N!hi?&wXmaw~Ifp=dUd3aq$`0E4JSoUpL=jU+~tH zo$WuM{apK2+`Ge`zwX=e(XY0`Z$q?8`?JkXd&>u&zxQBN7yOFHUu$PPw$onV`eft9 z*FnG3>n9EGu*+U^U%wOCD+WOSCWpcw-ete-_>D_{`w{U=%ZsOX+ilmDcKqST7g`|y zgWbv=+HKEz;KUyb3woeD0SQ+HR@-mrIr-wN=EB}b{=Bp-vD*G#+t**eZw}hyn(k8v z+*WOW{?~UFewqgTHq5zb-h0*dftw=l8v8xUyJqjs181u3Wh;*V-fA$~d&#?R_mACU zzw?bAqiiwIXK8ll2d~{@e`sbz_tFz+|I^n+Ui-=(`}K>?q>tDQdu)hqfAH8I`xmW( zF77wI_i!z7)Pz>O_S#Q%TODS-zCGl%c`7}9uf1*OpnhG}w;itSkE@)wY_Gla(nr^2 zUxw4o%UTw1`e?8H9ZT!CKmQ>b?cvR*Uk>`vK5+l5ogexa`m?X`%P{`w!@@*49!flR zU!nGWwJu-b z{&$66;n0VKU!k=?_!YXx2*1M0Uc#?%nI`-S4_9D3z@@M(PxuwuE)jl(l{LF`eub%z z3BN+^O5si zudwWo5A^g3wMyalAdPYU`fs*CnfQew6cMx9Lr;J5`Yp5Py?8;aDDs&z7sUQCBra%K z=il%DOK&OY8}_DRbG2ac3)YUOTdeO-XkpzA>h7>$Mb!6o>;@68=Ct%3mSHv#Rrhb1 z@bbM**%{%kgu7C@^$?xs{S#y6fsQjIb=0a0KzHe}_%q|zlkaxRebP_jjVfH=VLOqh ze(?SD6uj39H85=GIEJrqH7*TZ13JAoKs)_z0E09Y$M-A2pqU>AXfrp182Jw`3x3zf zdMd!$f|LBi^0%6lEHUv{zVmqA0_QDo-U8<>(2xbH1Fe?5f!3Nk1FeZI)H#-1aXWua znjAm5{UvvfSW)|R{7ZLU`Nl?PMilRHQ=?~&j7u0alfS=#pVPoEM9fSt%62(srsq4; z=FW0u=Q?Lja=NBv7iPsf(|JhRO#Ix#EN^T-wj=tBwo$V-@Ak%&hdA8L7;Wz zKGjwQGfh_^!!}AJpAyBDM!I7`=Clmw)u}MhdeS79^&Rw)$g2}DM!CVOs>>+bn0_dD zD3>d$MxInDgK_GjtU?*SK%z=do^z!q&rIaE!6cg>0PK)qhk(X1ke}t_Wt4B0Avo|Y zA^1CeT;J~DGAv3W`BWOCTyxq^VB+$84fx$AxeQ+&Mn1@l0 zv3%sC%w&+Ue5`X-kBTQ2j)v;d$YZWY)-&@6FAB8ANxDU+Kq+HS(DCqdZ=fkQtBsgiris zTbnM!96;4x$gAqWDBGMq73pb5TQT~-NjAUds*qvTKy%p;nhV@nM>Fr2nrEyLCW)tES%W^WTd!n_8^<^h> zdL?@i`1kpceME-U8f25#muz!-C3`yfBfqF?Bi2E@3`+qT<&)o69hhY(`D?(x)Q9}l zGOWTRpZvb$n`J2Z)!;woL%#oE*$03|{mJi3zFCHne-ix3QkDv%eH=2Z5NPbfCJQ3?L2ue^3r5gk2kGUFIW?buz5dM;=V$D-WX_V;)Puf7(YL)~`j`LV@OTFpaM~ zjB<>5RDeHK%40Zf#WA%|hAjp9suS`ut*k?mFedB(h!fq#K1FQ#8A!&U>$?T=}EwLhaAV;+^@KkOrqS{Y{f zwtgN=<0}uN9Ah3e;E#tK6{g06=`zgaBM+wWm4{J|l1H>G2(+&8k;g_ER_!AXrty`B zQI0VWH~53Tt6vVA42uGq>w{^0xdnKJs81UwIhi81o1N|Ij0KZKd~r8I}d~)qW|1X?^t*qda3?$>3jY%8ThY$gmwi zbG81vWwe#`fD%fmcEWLPB7oCnkR%EKtfn1}6p-2Y8^@U!h8t|_)<;V0DGOQZtYkW~@ec8e&k9_K~-hlr9W8Jbby-kKi0nKfIX?(Q-qZ}ol z$oetY1;a}qXR(jGm&>sAKJsQ7UwIqlP`0`bga4?HJhY>t%)vl&`IyF69!5DzJ~6%w z^M5IieswQ!$gmP0c`%KyJdAQEOI81t~*h<4{AkJB>D`g8p} zn8sHgMmfej7J)wra#R@Wo?}C*3@Zb!1~oLkF}<&`!6Am92+{W65guz29vWHG(3G8kp5ymY)N&{}57kLk;0*m__?FJNj{tq;_Gp6y?28?oyd9Z%Wb;0-@kdr0zptMZWt)A-86D94yb4fwSab<4p%8!W@3fYU(@^;xF()!vOVt&4oyc7Y*Z>ZJPY zQW<`>e2ry@g8V9jEH&=zmtiM?XOqSBzRF;fY0NJb{87KwwHebV$}k78p+3vBzS@~l zo-wa&;9qIVi|H$5*fyZKoiUBCHei%v%!Bn~t_#M8-x6pIsr8nVVYF?e3>zwue2n8| zoR^x@3J%x_{DmgD)OWEATLv_)|B~O=I-6OBl3xP;eJ1%#e?*4W0@WHJd08f2M%~Tn z1qa?mfIsrL`ZkG|VM!9nr_vbZn$s$tjo@Ewl1rVJ%dj;-C7ZmybT+3~viF0(#)s^a zGR*&XuWa)Al5I|}WY>Z}7U`9rNWD{JSgJubd40(?r&qFqZ^iiML-u+Zw$UJ)yuM_c z(<|9S!GF?+?4UnHSvmogy~*oKwmH3$eIEZiEb!R=rrN&_G}WrR`)jFD{@VI={@TVB z7A@#ei#8Lq4D<`A*JBp#VbFe%Wu-+M4O$G^2s!~8`nW|)1uX?tf{uY~t1Q}7(5;}2 zprfFWCoEbL=qAv+peCy=+9=Rs(7T}DLAEC?+APompj{yAQx+{5R0gs=ZPDDI3edNp zu4^n>KIn7Mz-KJlbWka16=)~u-=MC~S~NQ-3$zmS0qA#7_qEUklm}W0+5>8{4!oco z&_+U(h~K$4#&Us0j2X=%sfp+DDr$+ND*fTTm%zE$B1Q-yr)I>Y zMSBpm0rVxP^EQh%5p+9f6X+CZz;@^ZdK`2B)aHHoLC=A{0bTR~$^*I!v<37R{W~n$ zL!c_qFQ6_vEm{J|4SEFh9_SQk*e;8<5cCe{6llP1)Dvhe=xfl$)vzznvxBeZEy325fW7VT}& z7odKhShRaV`$5+IkPRvTJqp?mIt?0e0O>%RK;MJTU;lj;NJyC$$%)LZt^61FZFa|- z|9vI=k4w}{Jr`*<4ZobJjma&}o9i5xmYq8_J1uTfiq?Z}n+SIF>!CH_uX~T@4@#>U zlb&ZCIXL4Wp(MMoo|H*W{Csw<^DJWiWBvcT5;WFvi{9FSfab1t;PPXv!sIVi3FtF$s zW%HP(H71!dT9-w=k{=Vhs;2`fKLg18a)Fdz3Z#yUfSkkJ0|a<3=Hv1BaHx4tWBGKQ zp0rrWPkmwnyyZ2DS2iU7(nr1gu5y^okKo#q)ysOuTEOvxyx|) zX)k}|Ir#sRGAuRNa`8FjQtxA{y?ShDfZtfBe8&;gvf=Vk=F4k@9ajQbZ)>H02as)S zFOY3)zYK>{w_!5;OrHi+_K!bHUQEX;R{tyhO#QWfKUC4wg;WNaO8!!~8Me}t55v?& zonj63d)UOQ_>`TXo&Dm{}LNUQQ>`dB3dcn3A=m?RQ+LQBhtn~Pj!WDt=}J( zK?db|O~s z^RG6QN9jz_w8u*1OI!nF-19)nU^}$7Y1kG_&x>h~$+q*mY&)k7Z6~Dx8RkB{Af&fb+F0#I%m`@u@cV0qY{j=;^bt~beLm|iCfnN#GNXWoWO_c#W2Mw#O#?ctM>y-|RiH6F%V_kQ-OAp~quMa;SDW-u z>5SzrlkH0n3$ClT;#czj6Frg*a;Kj|F7x?UjHZ`)x#VRVSqJwHLt5^CB`?cK z3XzU}btZr@{^M!h_<~W=-CoFHxkBKM0nG%N^Wz>j%2o1s#?eC|UU}RrXpaA>lQ*9G z70vOt+Pv`P8|dv`*t|oNg$&x+}mcB^YJ*Z9PX_%$HyD&H9?lW%#csHk9@et%`7LNgEybQ z1`GE#gPcP?+UK zY%%aBH-f(#_$jNmOh?<5og*FjsoTSbyf&UAO)L}1>y!R|b=E+pMEdFXd`43)QI$y{ zZN{-VsIyoDNd}TnUF4(gB(@{^PaAYnVMh&NV9~F})<f_tx8flddXXRW|b9 z3V!0HSk~o@;CC4KcQk^( z)}YVnM)0qCPT2QZAoXG&3BTy5M%3|BkYNV_Lq@k>2AZ1OL zm}-z!(MVaFpY_^U>w5OGFwYD_yN+xGzZ-pr=}KfDqRmpzkq#_ktdME+`aee+<}uX3 zzoQZSFRm53y$)m^nDo+=PZt0wtG&dFfJ#+0f5eyV{#@*MoMWmgDUbQV79 z%zPTcv)vnG-V^u6(ZGh%t8hLy@VY=io&3flJu6|lK@NX{j#oPYb@)@k*8$;k4E#Lr ziEel~l3hV-=8cLq6Uv)3=+ zqrFZU_vY%9nOgp7evpak$Tag{PRa{Xl=2GrJz&b#({Iv)w5F%;N{jr*)(JoM#V|FYBT_ z$%Dq++(|i_^AWXPeV34vU9^1pIN$xr$o(><^7p)UpbwFQyOzm^0p%0AQGVd-2kQ59 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%0ABEcH+Rv3`30s8#k)_-&nZdc8in{+2$oe1=)% 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 P-e`k&mEae#Z$8dzo;kHEJAHxy4 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

    `4%>{f%f`^Q?Q>YVD|LmpVihphj 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ξ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

    H*qV=<;O{vZBl5A%MiH@R@n* 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 From 05f34e5d6a74a014a36c7a69d0f16bb3d58ccfd5 Mon Sep 17 00:00:00 2001 From: ulteq Date: Tue, 5 May 2015 22:21:29 +0200 Subject: [PATCH 337/478] Attempt to fix https://github.com/acemod/ACE3/issues/1025 --- addons/weather/functions/fnc_updateWind.sqf | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/weather/functions/fnc_updateWind.sqf b/addons/weather/functions/fnc_updateWind.sqf index 06bb57d093..b362458fdb 100644 --- a/addons/weather/functions/fnc_updateWind.sqf +++ b/addons/weather/functions/fnc_updateWind.sqf @@ -13,11 +13,16 @@ if (!GVAR(syncWind)) exitWith { ACE_wind = wind }; +private ["_newWaves"]; + ACE_wind = [] call FUNC(getWind); setWind [ACE_wind select 0, ACE_wind select 1, true]; 2 setGusts 0; // Set waves: 0 when no wind, 1 when wind >= 16 m/s -1 setWaves (((vectorMagnitude ACE_wind) / 16.0) min 1.0); +_newWaves = ((vectorMagnitude ACE_wind) / 16.0) min 1.0; +if (abs(_newWaves - waves) > 0.1) then { + 1 setWaves _newWaves; +}; TRACE_3("Wind/ACE_wind/Deviation(m/s)",wind,ACE_wind,Round((vectorMagnitude (ACE_wind vectorDiff wind)) * 1000) / 1000); From 5f43cffecd105341fbbc470dd87bbc89dfa2828d Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 5 May 2015 20:35:08 -0500 Subject: [PATCH 338/478] Sort for mag repack --- addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf b/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf index 4ef69044da..67c5c4630b 100644 --- a/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf +++ b/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf @@ -24,7 +24,8 @@ private ["_newMagFnc", "_time", "_events", "_swapAmmoFnc", "_ammoSwaped", "_lowI PARAMS_3(_fullMagazineCount,_arrayOfAmmoCounts,_isBelt); // Sort Ascending - Don't modify original -_arrayOfAmmoCounts = (+_arrayOfAmmoCounts) call BIS_fnc_sortNum; +_arrayOfAmmoCounts = +_arrayOfAmmoCounts; +_arrayOfAmmoCounts sort true; _newMagFnc = { _time = _time + GVAR(TimePerMagazine); From 1041d68b063692af265e779b3feaf335563fa6f4 Mon Sep 17 00:00:00 2001 From: bux578 Date: Wed, 6 May 2015 14:13:26 +0200 Subject: [PATCH 339/478] sync "getting-started" from gh pages --- documentation/user/getting-started.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/documentation/user/getting-started.md b/documentation/user/getting-started.md index 5c5bac9e66..baed16588b 100644 --- a/documentation/user/getting-started.md +++ b/documentation/user/getting-started.md @@ -43,46 +43,46 @@ The Vector 21 rangefinder has the following usage modes: 9. Fall of shot #### 1. Slope distance -Measuring Slope distance +Measuring Slope distance Press and hold the "Distance" key until the red pointing circle appears. Sight the circle on the object and release the key. #### 2. Azimuth -Measuring Azimuth +Measuring Azimuth Press and hold the "Azimuth" key until the red pointing circle appears. Sight the circle on the object and release the key. #### 3. Slope distance and Azimuth -Measuring Slope distance and Azimuth +Measuring Slope distance and Azimuth Press and hold both the "Distance" and "Azimuth" key until the red pointing circle appears. Sight the circle on the object and release both keys. #### 4. Horizontal distance and height difference -Measuring Horizontal distance and height difference +Measuring Horizontal distance and height difference Tap the "Distance" key once then press and hold it until the red pointing circle appears. Sight the circle on the object and release the key. #### 5. Azimuth and Inclination -Measuring Azimuth and Inclination +Measuring Azimuth and Inclination Tap the "Azimuth" key once then press and hold it until the red pointing circle appears. Sight the circle on the object and release the key. #### 6. Distance between two points -Measuring Distance between two points +Measuring Distance between two points Press and hold the "Distance" key until the red pointing circle appears. Sight the circle on the first object and tap the "Azimuth" key while further holding the "Distance" key. The first measurement is confirmed ("1-P" = first point). Sight the second object and release the "Distance" key. #### 7. Horizontal and vertical distance between two points -Measuring Horizontal and vertical distance between two points +Measuring Horizontal and vertical distance between two points Tap the "Distance" key once then press and hold it until the red pointing circle appears. Sight the circle on the object and tap the "Azimuth" key once. The first measurement is confirmed ("1-P" = first point). Sight the second object and release the "Distance" key. #### 8. Horizontal distance and azimuth between two points -Measuring Horizontal distance and azimuth between two points +Measuring Horizontal distance and azimuth between two points Press and hold the "Azimuth" key until the red pointing circle appears. Sight the circle on the first object and tap the "Distance" key while further holding the "Azimuth" key. The first measurement is confirmed ("1-P" = first point). Sight the second object and release the "Azimuth" key. #### 9. Fall of shot -Measuring Fall of shot +Measuring Fall of shot Tap the "Azimuth" key once then press and hold it until the red pointing circle appears. Sight the circle on the object and tap the "Distance" key while further holding the "Azimuth" key. The first measurement is confirmed ("1-P" = first point). Sight the Fall of shot and release the "Azimuth" key. The left digits display the left (`L`)/right (`r`) correction value in meter and the right digits display the longer (`A` = add)/shorter (`d` = drop) correction value in meter. If the "Distance" key is tapped the height correction values will be displayed (`UP` and `dn`). From 49b4bce96e972a99cc177d9c5e7bbdcdacf872a5 Mon Sep 17 00:00:00 2001 From: bux578 Date: Wed, 6 May 2015 15:50:22 +0200 Subject: [PATCH 340/478] sync "config-entries" from gh-pages --- documentation/development/ace3-config-entries.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/documentation/development/ace3-config-entries.md b/documentation/development/ace3-config-entries.md index 07782cf76c..fcd85ccfe1 100644 --- a/documentation/development/ace3-config-entries.md +++ b/documentation/development/ace3-config-entries.md @@ -7,7 +7,7 @@ order: 2 --- ## 1. CfgVehicles -Entries from found in the `CfgVehicles.hpp` files +Entries found in the `CfgVehicles.hpp` files ```c++ @@ -26,7 +26,7 @@ ace_offset ## 2. CfgWeapons -Entries from found in the `CfgWeapons.hpp` files +Entries found in the `CfgWeapons.hpp` files ```c++ @@ -65,7 +65,7 @@ ace_modedescription ## 3. CfgAmmo -Entries from found in the `CfgAmmo.hpp` files +Entries found in the `CfgAmmo.hpp` files ```c++ ace_recoil_shakemultiplier @@ -94,7 +94,7 @@ ace_barrellengths ## 4. CfgGlasses -Entries from found in the `CfgGlasses.hpp` file +Entries found in the `CfgGlasses.hpp` file ```c++ ace_color @@ -109,7 +109,7 @@ ace_dustpath ## 5. CfgMagazines -Entries from found in the `CfgMagazines.hpp` files +Entries found in the `CfgMagazines.hpp` files ```c++ ace_isbelt From 4c5f5cd9a272568728fe127c008282f3ad4613a9 Mon Sep 17 00:00:00 2001 From: jonpas Date: Wed, 6 May 2015 17:37:43 +0200 Subject: [PATCH 341/478] Added Switching between sniper optics modes A3 feedback tracker issue --- documentation/development/arma-3-issues.md | 1 + 1 file changed, 1 insertion(+) diff --git a/documentation/development/arma-3-issues.md b/documentation/development/arma-3-issues.md index 3b4a6f036b..79f0336e9b 100644 --- a/documentation/development/arma-3-issues.md +++ b/documentation/development/arma-3-issues.md @@ -20,6 +20,7 @@ Keeping track of Arma 3 issues that need to be fixed. If you want to support us * [CorruptedHeart: 0022318: Can no longer use "MenuBack" shortcut in AddAction](http://feedback.arma3.com/view.php?id=22318) * [James2464: 0023725: All Environment Rocks Should Have PhysX LODs](http://feedback.arma3.com/view.php?id=23725) * [Jaynus: 0023679: Display event handler return values for mouse buttons should be respected](http://feedback.arma3.com/view.php?id=23679) +* [Heisenberg: 0023741: Switching between optic modes of a sniper scope (AMS, DMS, MOS) will result in a blurred vision](http://feedback.arma3.com/view.php?id=23741) **Resolved:** From 873ae72864fa5812041cce04df3dcf324e3090a9 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Wed, 6 May 2015 11:56:09 -0700 Subject: [PATCH 342/478] Perform config cleanup on success or cancel #1032 --- tools/make.py | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/tools/make.py b/tools/make.py index 0beaac766b..8159dbe928 100644 --- a/tools/make.py +++ b/tools/make.py @@ -456,6 +456,24 @@ def check_for_obsolete_pbos(addonspath, file): if not os.path.exists(os.path.join(addonspath, module)): return True return False + + +def config_restore(modulePath): + #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp + #print_green("\Pabst! (restoring): {}".format(os.path.join(modulePath, "config.cpp"))) + try: + if os.path.isfile(os.path.join(modulePath, "config.cpp")): + os.remove(os.path.join(modulePath, "config.cpp")) + if os.path.isfile(os.path.join(modulePath, "config.backup")): + os.rename(os.path.join(modulePath, "config.backup"), os.path.join(modulePath, "config.cpp")) + if os.path.isfile(os.path.join(modulePath, "config.bin")): + os.remove(os.path.join(modulePath, "config.bin")) + if os.path.isfile(os.path.join(modulePath, "texHeaders.bin")): + os.remove(os.path.join(modulePath, "texHeaders.bin")) + except: + print_yellow("Some error occurred. Check your addon folder {} for integrity".format(modulePath)) + + return True ############################################################################### @@ -867,6 +885,7 @@ See the make.cfg file for additional build options. except: pass + # Run build tool build_successful = False if build_tool == "pboproject": @@ -960,12 +979,6 @@ See the make.cfg file for additional build options. print ("Resuming build...") continue - #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp - #print_green("\Pabst (restoring): {}".format(os.path.join(work_drive, prefix, module, "config.cpp"))) - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - os.remove(os.path.join(work_drive, prefix, module, "config.bin")) - os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - # Back to the root os.chdir(module_root) @@ -975,6 +988,8 @@ See the make.cfg file for additional build options. input("Press Enter to continue...") print ("Resuming build...") continue + finally: + config_restore(os.path.join(work_drive, prefix, module)) elif build_tool== "addonbuilder": # Detect $NOBIN$ and do not binarize if found. From a80b180f080a29540da83f1380241ae363cb12a7 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Wed, 6 May 2015 12:13:46 -0700 Subject: [PATCH 343/478] Perform optionals clean up on success, failure or cancel #1032 --- tools/make.py | 561 +++++++++++++++++++++++++------------------------- 1 file changed, 283 insertions(+), 278 deletions(-) diff --git a/tools/make.py b/tools/make.py index 8159dbe928..69f5474ad0 100644 --- a/tools/make.py +++ b/tools/make.py @@ -730,339 +730,347 @@ See the make.cfg file for additional build options. print_error("Cannot create release directory") raise - #Temporarily copy optionals_root for building. They will be removed later. - optionals_modules = [] - optional_files = [] - copy_optionals_for_building(optionals_modules,optional_files) - # Get list of subdirs in make root. - dirs = next(os.walk(module_root))[1] + try: + #Temporarily copy optionals_root for building. They will be removed later. + optionals_modules = [] + optional_files = [] + copy_optionals_for_building(optionals_modules,optional_files) - # Autodetect what directories to build. - if module_autodetect and not arg_modules: - modules = [] - for path in dirs: - # Any dir that has a config.cpp in its root is an addon to build. - config_path = os.path.join(path, 'config.cpp') - if os.path.isfile(config_path) and not path in ignore: - modules.append(path) + # Get list of subdirs in make root. + dirs = next(os.walk(module_root))[1] - # Make the key specified from command line if necessary. - if new_key: - if not os.path.isfile(os.path.join(private_key_path, key_name + ".biprivatekey")): - print_yellow("\nRequested key does not exist.") - try: - os.makedirs(private_key_path) - except: - pass - curDir = os.getcwd() - os.chdir(private_key_path) - ret = subprocess.call([dscreatekey, key_name]) # Created in make_root - os.chdir(curDir) - if ret == 0: - print_green("Created: {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) - print("Removing any old signature keys...") - purge(os.path.join(module_root, release_dir, project, "addons"), "^.*\.bisign$","*.bisign") - purge(os.path.join(module_root, release_dir, project, "optionals"), "^.*\.bisign$","*.bisign") - purge(os.path.join(module_root, release_dir, project, "keys"), "^.*\.bikey$","*.bikey") - else: - print_error("Failed to create key!") - - try: - print("Copying public key to release directory.") + # Autodetect what directories to build. + if module_autodetect and not arg_modules: + modules = [] + for path in dirs: + # Any dir that has a config.cpp in its root is an addon to build. + config_path = os.path.join(path, 'config.cpp') + if os.path.isfile(config_path) and not path in ignore: + modules.append(path) + # Make the key specified from command line if necessary. + if new_key: + if not os.path.isfile(os.path.join(private_key_path, key_name + ".biprivatekey")): + print_yellow("\nRequested key does not exist.") try: - os.makedirs(os.path.join(module_root, release_dir, project, "keys")) + os.makedirs(private_key_path) except: pass + curDir = os.getcwd() + os.chdir(private_key_path) + ret = subprocess.call([dscreatekey, key_name]) # Created in make_root + os.chdir(curDir) + if ret == 0: + print_green("Created: {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) + print("Removing any old signature keys...") + purge(os.path.join(module_root, release_dir, project, "addons"), "^.*\.bisign$","*.bisign") + purge(os.path.join(module_root, release_dir, project, "optionals"), "^.*\.bisign$","*.bisign") + purge(os.path.join(module_root, release_dir, project, "keys"), "^.*\.bikey$","*.bikey") + else: + print_error("Failed to create key!") - shutil.copyfile(os.path.join(private_key_path, key_name + ".bikey"), os.path.join(module_root, release_dir, project, "keys", key_name + ".bikey")) + try: + print("Copying public key to release directory.") - except: - print_error("Could not copy key to release directory.") - raise + try: + os.makedirs(os.path.join(module_root, release_dir, project, "keys")) + except: + pass - else: - print_green("\nNOTE: Using key {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) + shutil.copyfile(os.path.join(private_key_path, key_name + ".bikey"), os.path.join(module_root, release_dir, project, "keys", key_name + ".bikey")) - key = os.path.join(private_key_path, key_name + ".biprivatekey") + except: + print_error("Could not copy key to release directory.") + raise - # Remove any obsolete files. - print_blue("\nChecking for obsolete files...") - obsolete_check_path = os.path.join(module_root, release_dir, project,"addons") - for file in os.listdir(obsolete_check_path): - if (file.endswith(".pbo") and os.path.isfile(os.path.join(obsolete_check_path,file))): - if check_for_obsolete_pbos(module_root, file): - fileName = os.path.splitext(file)[0] - print_yellow("Removing obsolete file => {}".format(file)) - purge(obsolete_check_path,fileName+"\..",fileName+".*") + else: + print_green("\nNOTE: Using key {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) - # For each module, prep files and then build. - print_blue("\nBuilding...") - for module in modules: - print_green("\nMaking {}".format(module + "-"*max(1, (60-len(module))))) - missing = False - sigMissing = False + key = os.path.join(private_key_path, key_name + ".biprivatekey") - # Cache check - if module in cache: - old_sha = cache[module] - else: - old_sha = "" + # Remove any obsolete files. + print_blue("\nChecking for obsolete files...") + obsolete_check_path = os.path.join(module_root, release_dir, project,"addons") + for file in os.listdir(obsolete_check_path): + if (file.endswith(".pbo") and os.path.isfile(os.path.join(obsolete_check_path,file))): + if check_for_obsolete_pbos(module_root, file): + fileName = os.path.splitext(file)[0] + print_yellow("Removing obsolete file => {}".format(file)) + purge(obsolete_check_path,fileName+"\..",fileName+".*") - #We always build ACE_common so we can properly show the correct version stamp in the RPT file. - if module == "common": - old_sha = "" + # For each module, prep files and then build. + print_blue("\nBuilding...") + for module in modules: + print_green("\nMaking {}".format(module + "-"*max(1, (60-len(module))))) + missing = False + sigMissing = False - # Hash the module - new_sha = get_directory_hash(os.path.join(module_root, module)) + # Cache check + if module in cache: + old_sha = cache[module] + else: + old_sha = "" - # Is the pbo or sig file missing? - missing = not os.path.isfile(os.path.join(release_dir, project, "addons", "ace_{}.pbo".format(module))) - sigFile = pbo_name_prefix+module + ".pbo." + key_name + ".bisign" - sigMissing = not os.path.isfile(os.path.join(release_dir, project, "addons", sigFile )) + #We always build ACE_common so we can properly show the correct version stamp in the RPT file. + if module == "common": + old_sha = "" - if missing: - print_yellow("Missing PBO file ace_{}.pbo".format(module) + ". Building...") + # Hash the module + new_sha = get_directory_hash(os.path.join(module_root, module)) - # Check if it needs rebuilt - # print ("Hash:", new_sha) - if old_sha == new_sha and not missing: - if not force_build: - print("Module has not changed.") - if sigMissing: - if key: - print("Missing Signature key {}".format(sigFile)) - build_signature_file(os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")) - # Skip everything else - continue + # Is the pbo or sig file missing? + missing = not os.path.isfile(os.path.join(release_dir, project, "addons", "ace_{}.pbo".format(module))) + sigFile = pbo_name_prefix+module + ".pbo." + key_name + ".bisign" + sigMissing = not os.path.isfile(os.path.join(release_dir, project, "addons", sigFile )) + + if missing: + print_yellow("Missing PBO file ace_{}.pbo".format(module) + ". Building...") + + # Check if it needs rebuilt + # print ("Hash:", new_sha) + if old_sha == new_sha and not missing: + if not force_build: + print("Module has not changed.") + if sigMissing: + if key: + print("Missing Signature key {}".format(sigFile)) + build_signature_file(os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")) + # Skip everything else + continue + + # Only do this if the project isn't stored directly on the work drive. + # Split the path at the drive name and see if they are on the same drive (usually P:) + if os.path.splitdrive(module_root)[0] != os.path.splitdrive(work_drive)[0]: + try: + # Remove old work drive version (ignore errors) + shutil.rmtree(os.path.join(work_drive, prefix, module), True) + + # Copy module to the work drive + shutil.copytree(module, os.path.join(work_drive, prefix, module)) + + except: + raise + print_error("ERROR: Could not copy module to work drive. Does the module exist?") + input("Press Enter to continue...") + print("Resuming build...") + continue + #else: + #print("WARNING: Module is stored on work drive ({}).".format(work_drive)) - # Only do this if the project isn't stored directly on the work drive. - # Split the path at the drive name and see if they are on the same drive (usually P:) - if os.path.splitdrive(module_root)[0] != os.path.splitdrive(work_drive)[0]: try: - # Remove old work drive version (ignore errors) - shutil.rmtree(os.path.join(work_drive, prefix, module), True) - - # Copy module to the work drive - shutil.copytree(module, os.path.join(work_drive, prefix, module)) + # Remove the old pbo, key, and log + old = os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module) + "*" + files = glob.glob(old) + for f in files: + os.remove(f) + if pbo_name_prefix: + old = os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module) + "*" + files = glob.glob(old) + for f in files: + os.remove(f) except: raise print_error("ERROR: Could not copy module to work drive. Does the module exist?") input("Press Enter to continue...") print("Resuming build...") continue - #else: - #print("WARNING: Module is stored on work drive ({}).".format(work_drive)) - try: - # Remove the old pbo, key, and log - old = os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module) + "*" - files = glob.glob(old) - for f in files: - os.remove(f) + # Build the module into a pbo + print_blue("Building: {}".format(os.path.join(work_drive, prefix, module))) + print_blue("Destination: {}".format(os.path.join(module_root, release_dir, project, "addons"))) - if pbo_name_prefix: - old = os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module) + "*" - files = glob.glob(old) - for f in files: - os.remove(f) - except: - raise - print_error("ERROR: Could not copy module to work drive. Does the module exist?") - input("Press Enter to continue...") - print("Resuming build...") - continue - - # Build the module into a pbo - print_blue("Building: {}".format(os.path.join(work_drive, prefix, module))) - print_blue("Destination: {}".format(os.path.join(module_root, release_dir, project, "addons"))) - - # Make destination folder (if needed) - try: - os.makedirs(os.path.join(module_root, release_dir, project, "addons")) - except: - pass - - - # Run build tool - build_successful = False - if build_tool == "pboproject": + # Make destination folder (if needed) try: - #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) - - os.chdir("P:\\") - - cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-bin", "-dst", os.path.join(work_drive, prefix, module, "config.bin"), os.path.join(work_drive, prefix, module, "config.cpp")] - ret = subprocess.call(cmd) - if ret != 0: - print_error("CfgConvert -bin return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - - cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-txt", "-dst", os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.bin")] - ret = subprocess.call(cmd) - if ret != 0: - print_error("CfgConvert -txt return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + os.makedirs(os.path.join(module_root, release_dir, project, "addons")) + except: + pass - # Include build number + # Run build tool + build_successful = False + if build_tool == "pboproject": try: - configpath = os.path.join(work_drive, prefix, module, "config.cpp") - f = open(configpath, "r") - configtext = f.read() - f.close() + #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) - if configtext: - patchestext = re.search(r"class CfgPatches\n\{(.*?)\n\}", configtext, re.DOTALL).group(1) - patchestext = re.sub(r'version(.*?)="(.*?)"', r'version\1="\2-{}"'.format(commit_id), patchestext) - configtext = re.sub(r"class CfgPatches\n\{(.*?)\n\}", "class CfgPatches\n{"+patchestext+"\n}", configtext, flags=re.DOTALL) - f = open(configpath, "w") - f.write(configtext) - f.close() - else: + os.chdir("P:\\") + + cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-bin", "-dst", os.path.join(work_drive, prefix, module, "config.bin"), os.path.join(work_drive, prefix, module, "config.cpp")] + ret = subprocess.call(cmd) + if ret != 0: + print_error("CfgConvert -bin return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + + cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-txt", "-dst", os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.bin")] + ret = subprocess.call(cmd) + if ret != 0: + print_error("CfgConvert -txt return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) + os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + + + # Include build number + try: + configpath = os.path.join(work_drive, prefix, module, "config.cpp") + f = open(configpath, "r") + configtext = f.read() + f.close() + + if configtext: + patchestext = re.search(r"class CfgPatches\n\{(.*?)\n\}", configtext, re.DOTALL).group(1) + patchestext = re.sub(r'version(.*?)="(.*?)"', r'version\1="\2-{}"'.format(commit_id), patchestext) + configtext = re.sub(r"class CfgPatches\n\{(.*?)\n\}", "class CfgPatches\n{"+patchestext+"\n}", configtext, flags=re.DOTALL) + f = open(configpath, "w") + f.write(configtext) + f.close() + else: + os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) + os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + except: + raise + print_error("Failed to include build number") + continue + + if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): + print_green("$NOBIN$ Found. Proceeding with non-binarizing!") + cmd = [makepboTool, "-P","-A","-L","-N","-G", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"addons")] + + else: + if check_external: + cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "+X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] + else: + cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "-X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] + + color("grey") + if quiet: + devnull = open(os.devnull, 'w') + ret = subprocess.call(cmd, stdout=devnull) + devnull.close() + else: + ret = subprocess.call(cmd) + color("reset") + + if ret == 0: + print_green("pboProject return code == {}".format(str(ret))) + # Prettyprefix rename the PBO if requested. + if pbo_name_prefix: + try: + os.rename(os.path.join(module_root, release_dir, project, "addons", module+".pbo"), os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module+".pbo")) + except: + raise + print_error("Could not rename built PBO with prefix.") + # Sign result + if key: + print("Signing with {}.".format(key)) + if pbo_name_prefix: + ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) + else: + ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", module + ".pbo")]) + + if ret == 0: + build_successful = True + else: + build_successful = True + + if not build_successful: + print_error("pboProject return code == {}".format(str(ret))) + print_error("Module not successfully built/signed.") + print ("Resuming build...") + continue + + # Back to the root + os.chdir(module_root) + except: raise - print_error("Failed to include build number") + print_error("Could not run Addon Builder.") + input("Press Enter to continue...") + print ("Resuming build...") continue + finally: + config_restore(os.path.join(work_drive, prefix, module)) + elif build_tool== "addonbuilder": + # Detect $NOBIN$ and do not binarize if found. if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): - print_green("$NOBIN$ Found. Proceeding with non-binarizing!") - cmd = [makepboTool, "-P","-A","-L","-N","-G", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"addons")] - + do_binarize = False + print("$NOBIN$ file found in module, packing only.") else: - if check_external: - cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "+X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] + do_binarize = True + try: + # Call AddonBuilder + os.chdir("P:\\") + + cmd = [addonbuilder, os.path.join(work_drive, prefix, module), os.path.join(make_root, release_dir, project, "addons"), "-clear", "-project="+work_drive] + if not do_binarize: + cmd.append("-packonly") + + if quiet: + previousDirectory = os.getcwd() + os.chdir(arma3tools_path) + devnull = open(os.devnull, 'w') + ret = subprocess.call(cmd, stdout=devnull) + devnull.close() + os.chdir(previousDirectory) else: - cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "-X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] - - color("grey") - if quiet: - devnull = open(os.devnull, 'w') - ret = subprocess.call(cmd, stdout=devnull) - devnull.close() - else: - ret = subprocess.call(cmd) - color("reset") - - if ret == 0: - print_green("pboProject return code == {}".format(str(ret))) + previousDirectory = os.getcwd() + os.chdir(arma3tools_path) + print_error("Current directory - {}".format(os.getcwd())) + ret = subprocess.call(cmd) + os.chdir(previousDirectory) + print_error("Current directory - {}".format(os.getcwd())) + color("reset") + print_green("completed") # Prettyprefix rename the PBO if requested. if pbo_name_prefix: try: - os.rename(os.path.join(module_root, release_dir, project, "addons", module+".pbo"), os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix+module+".pbo")) + os.rename(os.path.join(make_root, release_dir, project, "addons", module+".pbo"), os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix+module+".pbo")) except: raise print_error("Could not rename built PBO with prefix.") - # Sign result - if key: - print("Signing with {}.".format(key)) - if pbo_name_prefix: - ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) + + if ret == 0: + # Sign result + if key: + print("Signing with {}.".format(key)) + if pbo_name_prefix: + ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) + else: + ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", module + ".pbo")]) + + if ret == 0: + build_successful = True else: - ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", module + ".pbo")]) - - if ret == 0: build_successful = True - else: - build_successful = True - if not build_successful: - print_error("pboProject return code == {}".format(str(ret))) - print_error("Module not successfully built/signed.") + if not build_successful: + print_error("Module not successfully built.") + + # Back to the root + os.chdir(make_root) + + except: + raise + print_error("Could not run Addon Builder.") + input("Press Enter to continue...") print ("Resuming build...") continue - # Back to the root - os.chdir(module_root) - - except: - raise - print_error("Could not run Addon Builder.") - input("Press Enter to continue...") - print ("Resuming build...") - continue - finally: - config_restore(os.path.join(work_drive, prefix, module)) - - elif build_tool== "addonbuilder": - # Detect $NOBIN$ and do not binarize if found. - if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): - do_binarize = False - print("$NOBIN$ file found in module, packing only.") else: - do_binarize = True - try: - # Call AddonBuilder - os.chdir("P:\\") + print_error("Unknown build_tool {}!".format(build_tool)) - cmd = [addonbuilder, os.path.join(work_drive, prefix, module), os.path.join(make_root, release_dir, project, "addons"), "-clear", "-project="+work_drive] - if not do_binarize: - cmd.append("-packonly") + # Update the hash for a successfully built module + if build_successful: + cache[module] = new_sha - if quiet: - previousDirectory = os.getcwd() - os.chdir(arma3tools_path) - devnull = open(os.devnull, 'w') - ret = subprocess.call(cmd, stdout=devnull) - devnull.close() - os.chdir(previousDirectory) - else: - previousDirectory = os.getcwd() - os.chdir(arma3tools_path) - print_error("Current directory - {}".format(os.getcwd())) - ret = subprocess.call(cmd) - os.chdir(previousDirectory) - print_error("Current directory - {}".format(os.getcwd())) - color("reset") - print_green("completed") - # Prettyprefix rename the PBO if requested. - if pbo_name_prefix: - try: - os.rename(os.path.join(make_root, release_dir, project, "addons", module+".pbo"), os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix+module+".pbo")) - except: - raise - print_error("Could not rename built PBO with prefix.") - - if ret == 0: - # Sign result - if key: - print("Signing with {}.".format(key)) - if pbo_name_prefix: - ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) - else: - ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", module + ".pbo")]) - - if ret == 0: - build_successful = True - else: - build_successful = True - - if not build_successful: - print_error("Module not successfully built.") - - # Back to the root - os.chdir(make_root) - - except: - raise - print_error("Could not run Addon Builder.") - input("Press Enter to continue...") - print ("Resuming build...") - continue - - else: - print_error("Unknown build_tool {}!".format(build_tool)) - - # Update the hash for a successfully built module - if build_successful: - cache[module] = new_sha + except: + print_yellow("Cancel or some error detected.") + finally: + copy_important_files(module_root_parent,os.path.join(release_dir, "@ace")) + cleanup_optionals(optionals_modules) # Done building all modules! @@ -1078,9 +1086,6 @@ See the make.cfg file for additional build options. except: print_error("ERROR: Could not delete pboProject temp files.") - copy_important_files(module_root_parent,os.path.join(release_dir, "@ace")) - cleanup_optionals(optionals_modules) - # Make release if make_release: print_blue("\nMaking release: {}-{}.zip".format(project,release_version)) From e63b543c5a0be76b55f09bfdf9cde1737847a7e7 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Wed, 6 May 2015 14:05:11 -0700 Subject: [PATCH 344/478] Added blacklist for server.pbo signature keys #1032 --- tools/make.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tools/make.py b/tools/make.py index 69f5474ad0..f3d71f3f34 100644 --- a/tools/make.py +++ b/tools/make.py @@ -63,6 +63,7 @@ optionals_root = "" key_name = "ace_3.0.0" key = "" dssignfile = "" +signature_blacklist = ["ace_server.pbo"] ############################################################################### # http://akiscode.com/articles/sha-1directoryhash.shtml @@ -443,8 +444,13 @@ def purge(dir, pattern, friendlyPattern="files"): def build_signature_file(file_name): global key global dssignfile - print("Signing with {}.".format(key)) - ret = subprocess.call([dssignfile, key, file_name]) + global signature_blacklist + ret = 0 + baseFile = os.path.basename(file_name) + #print_yellow("Sig_fileName: {}".format(baseFile)) + if not (baseFile in signature_blacklist): + print("Signing with {}.".format(key)) + ret = subprocess.call([dssignfile, key, file_name]) if ret == 0: return True else: @@ -1034,7 +1040,9 @@ See the make.cfg file for additional build options. if ret == 0: # Sign result - if key: + + #print_yellow("Sig_fileName: ace_{}.pbo".format(module)) + if (key and not "ace_{}.pbo".format(module) in signature_blacklist) : print("Signing with {}.".format(key)) if pbo_name_prefix: ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) From cea6d0063d809f981db070e1f1da797e79e37117 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 7 May 2015 17:49:59 +0200 Subject: [PATCH 345/478] Disables the CfgAISkill class to prevent it from affecting players. --- addons/ai/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/ai/config.cpp b/addons/ai/config.cpp index fdcb6afe9d..0d5f7c62c3 100644 --- a/addons/ai/config.cpp +++ b/addons/ai/config.cpp @@ -12,5 +12,5 @@ class CfgPatches { }; }; -#include "CfgAISkill.hpp" +//#include "CfgAISkill.hpp" #include "CfgWeapons.hpp" From 4eaab93fd1ec9a4e3f39b0fe0d7318973742a758 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:21:15 +0200 Subject: [PATCH 346/478] Convert ACE_caliber to meters --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgAmmo.hpp | 92 ++-- extras/CfgAmmoReference.hpp | 410 +++++++++--------- optionals/compat_cup/CfgAmmo.hpp | 64 +-- optionals/compat_hlcmods_core/CfgAmmo.hpp | 44 +- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- 10 files changed, 350 insertions(+), 350 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index e63b1d7dfc..20235d2489 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -91,7 +91,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { }; }; -_caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); +_caliber = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); _bulletLength = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); _bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); _barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 02df51e891..7d3e83230d 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -25,7 +25,7 @@ class CfgAmmo { typicalSpeed=750; tracerStartTime = 0.073; //M856 tracer burns out to 800m tracerEndTime = 1.579; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -42,7 +42,7 @@ class CfgAmmo { deflecting=18; hit=11; typicalSpeed=836; - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -59,7 +59,7 @@ class CfgAmmo { deflecting=18; hit=9; typicalSpeed=886; - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -76,7 +76,7 @@ class CfgAmmo { deflecting=18; hit=6; typicalSpeed=886; - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=46; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -97,7 +97,7 @@ class CfgAmmo { deflecting=18; hit=7; typicalSpeed=880; - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -117,7 +117,7 @@ class CfgAmmo { typicalSpeed=883; tracerStartTime = 0.073; //7T3M tracer burns out to 850m tracerEndTime = 1.736; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -131,7 +131,7 @@ class CfgAmmo { class B_65x39_Caseless : BulletBase { airFriction=-0.000785; typicalSpeed=800; - ACE_caliber=0.264; + ACE_caliber=0.006706; ACE_bulletLength=1.295; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -154,7 +154,7 @@ class CfgAmmo { airFriction=-0.00078; typicalSpeed=820 ; caliber=0.9; - ACE_caliber=0.264; + ACE_caliber=0.006706; ACE_bulletLength=1.364; ACE_bulletMass=139; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -169,7 +169,7 @@ class CfgAmmo { airFriction=-0.000651; typicalSpeed=860 ; caliber=1.1; - ACE_caliber=0.264; + ACE_caliber=0.006706; ACE_bulletLength=1.426; ACE_bulletMass=140; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -186,7 +186,7 @@ class CfgAmmo { hit=9; tracerStartTime = 0.073; //Based on the British L5A1 which burns out to 1000m tracerEndTime = 2.058; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -206,7 +206,7 @@ class CfgAmmo { caliber=1.8; hit=16; typicalSpeed=790; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -222,7 +222,7 @@ class CfgAmmo { caliber=1.8; hit=16; typicalSpeed=790; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -238,7 +238,7 @@ class CfgAmmo { caliber=1.5; hit=14; typicalSpeed=900; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -254,7 +254,7 @@ class CfgAmmo { caliber=2.2; hit=11; typicalSpeed=930; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=127; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -270,7 +270,7 @@ class CfgAmmo { caliber=1; hit=6; typicalSpeed=320; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.340; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -286,7 +286,7 @@ class CfgAmmo { typicalSpeed=800; caliber=2.0; hit=10; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.21; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -302,7 +302,7 @@ class CfgAmmo { typicalSpeed=820; caliber=2.1; hit=8; - ACE_caliber=0.284; + ACE_caliber=0.007214; ACE_bulletLength=1.529; ACE_bulletMass=180; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -318,7 +318,7 @@ class CfgAmmo { typicalSpeed=915; caliber=2.3; hit=6; - ACE_caliber=0.243; + ACE_caliber=0.006172; ACE_bulletLength=1.282; ACE_bulletMass=180; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -334,7 +334,7 @@ class CfgAmmo { caliber=1.8; hit=17; typicalSpeed=900; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.353; ACE_bulletMass=190; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -350,7 +350,7 @@ class CfgAmmo { caliber=1.9; hit=18; typicalSpeed=867; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -366,7 +366,7 @@ class CfgAmmo { caliber=2.0; hit=19; typicalSpeed=853; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.602; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -380,7 +380,7 @@ class CfgAmmo { class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; typicalSpeed=820; - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -396,7 +396,7 @@ class CfgAmmo { caliber=1.5; hit=15; typicalSpeed=820; - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -415,7 +415,7 @@ class CfgAmmo { typicalSpeed=800; tracerStartTime = 0.073; //Based on the 7T2 which burns three seconds tracerEndTime = 3; - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -431,7 +431,7 @@ class CfgAmmo { caliber=1.5; hit=11; typicalSpeed=790; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.153; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -447,7 +447,7 @@ class CfgAmmo { hit=12; caliber=1.5; typicalSpeed=716; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -465,7 +465,7 @@ class CfgAmmo { typicalSpeed=716; tracerStartTime = 0.073; //57N231P tracer burns out to 800m tracerEndTime = 2.082; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -480,7 +480,7 @@ class CfgAmmo { airFriction=-0.00125; typicalSpeed=390; hit=6; - ACE_caliber=0.356; + ACE_caliber=0.009042; ACE_bulletLength=0.610; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -495,7 +495,7 @@ class CfgAmmo { hit=5; airFriction=-0.001234; typicalSpeed=298; - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -510,7 +510,7 @@ class CfgAmmo { airFriction=-0.001234; typicalSpeed=370; hit=6; - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -525,7 +525,7 @@ class CfgAmmo { airFriction=-0.00168; typicalSpeed=425; hit=7; - ACE_caliber=0.5; + ACE_caliber=0.0127; ACE_bulletLength=0.764; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -540,7 +540,7 @@ class CfgAmmo { airFriction=-0.001213; typicalSpeed=282; hit=7; - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -555,7 +555,7 @@ class CfgAmmo { airFriction=-0.00083; typicalSpeed=761; caliber=2.0; - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -569,7 +569,7 @@ class CfgAmmo { class B_93x64_Ball : BulletBase { airFriction=-0.00106; typicalSpeed=880; - ACE_caliber=0.366; + ACE_caliber=0.009296; ACE_bulletLength=1.350; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -584,7 +584,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000395; typicalSpeed=910; - ACE_caliber=0.408; + ACE_caliber=0.010363; ACE_bulletLength=2.126; ACE_bulletMass=410; ACE_transonicStabilityCoef=1; @@ -598,7 +598,7 @@ class CfgAmmo { }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; - ACE_caliber=0.416; + ACE_caliber=0.010566; ACE_bulletLength=2.089; ACE_bulletMass=398; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -613,7 +613,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000606; typicalSpeed=915; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.558; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -627,7 +627,7 @@ class CfgAmmo { class B_338_NM_Ball : BulletBase { airFriction=-0.000537; typicalSpeed=820; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -642,7 +642,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000535; typicalSpeed=826; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -658,7 +658,7 @@ class CfgAmmo { airFriction=-0.000673; caliber=2.8; typicalSpeed=826; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.535; ACE_bulletMass=253; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -672,7 +672,7 @@ class CfgAmmo { class B_127x54_Ball : BulletBase { airFriction=-0.00014; typicalSpeed=300; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.540; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -687,7 +687,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.0006; typicalSpeed=900; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -704,7 +704,7 @@ class CfgAmmo { typicalSpeed=900; hit=25; caliber=4.0; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=648; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -720,7 +720,7 @@ class CfgAmmo { airFriction=-0.000374; typicalSpeed=860; caliber=3.0; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.540; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -735,7 +735,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.00064; typicalSpeed=820; - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -749,7 +749,7 @@ class CfgAmmo { class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; typicalSpeed=250; - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index 85201b92cc..5a7e9302cf 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -5,7 +5,7 @@ class CfgAmmo airFriction=-0.001265; hit=8; typicalSpeed=750; - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -22,7 +22,7 @@ class CfgAmmo deflecting=18; hit=11; typicalSpeed=836; - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -39,7 +39,7 @@ class CfgAmmo deflecting=18; hit=9; typicalSpeed=886; - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -60,7 +60,7 @@ class CfgAmmo deflecting=18; hit=7; typicalSpeed=880; - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -78,7 +78,7 @@ class CfgAmmo deflecting=18; hit=7; typicalSpeed=883; - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -92,7 +92,7 @@ class CfgAmmo class B_65x39_Caseless : BulletBase { airFriction=-0.000785; typicalSpeed=800; - ACE_caliber=0.264; + ACE_caliber=0.006706; ACE_bulletLength=1.295; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -115,7 +115,7 @@ class CfgAmmo { airFriction=-0.00078; typicalSpeed=820 ; - ACE_caliber=0.264; + ACE_caliber=0.006706; ACE_bulletLength=1.364; ACE_bulletMass=139; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -130,7 +130,7 @@ class CfgAmmo airFriction=-0.001035; typicalSpeed=833; hit=9; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -150,7 +150,7 @@ class CfgAmmo caliber=1.05; hit=16; typicalSpeed=790; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -166,7 +166,7 @@ class CfgAmmo caliber=0.85; hit=14; typicalSpeed=890; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -182,7 +182,7 @@ class CfgAmmo caliber=0.5; hit=6; typicalSpeed=790; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.340; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -198,7 +198,7 @@ class CfgAmmo caliber=1.08; hit=17; typicalSpeed=900; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.353; ACE_bulletMass=190; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -214,7 +214,7 @@ class CfgAmmo caliber=1.12; hit=18; typicalSpeed=867; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -230,7 +230,7 @@ class CfgAmmo caliber=1.15; hit=19; typicalSpeed=853; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.602; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -244,7 +244,7 @@ class CfgAmmo class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; typicalSpeed=820; - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -260,7 +260,7 @@ class CfgAmmo caliber=0.95; hit=15; typicalSpeed=820; - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -277,7 +277,7 @@ class CfgAmmo caliber=0.9; hit=15; typicalSpeed=800; - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -293,7 +293,7 @@ class CfgAmmo caliber=0.9; hit=11; typicalSpeed=790; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.153; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -308,7 +308,7 @@ class CfgAmmo airFriction=-0.0015168; hit=12; typicalSpeed=716; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -323,7 +323,7 @@ class CfgAmmo airFriction=-0.0015168; hit=12; typicalSpeed=716; - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -338,7 +338,7 @@ class CfgAmmo airFriction=-0.00125; typicalSpeed=390; hit=6; - ACE_caliber=0.356; + ACE_caliber=0.009042; ACE_bulletLength=0.610; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -353,7 +353,7 @@ class CfgAmmo hit=5; airFriction=-0.001234; typicalSpeed=298; - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -368,7 +368,7 @@ class CfgAmmo airFriction=-0.001234; typicalSpeed=370; hit=6; - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -383,7 +383,7 @@ class CfgAmmo airFriction=-0.00168; typicalSpeed=425; hit=7; - ACE_caliber=0.5; + ACE_caliber=0.0127; ACE_bulletLength=0.764; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -398,7 +398,7 @@ class CfgAmmo airFriction=-0.001213; typicalSpeed=282; hit=7; - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -412,7 +412,7 @@ class CfgAmmo class ACE_303_Ball : ACE_762x51_Ball_M118LR { airFriction=-0.00083; typicalSpeed=761; - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -426,7 +426,7 @@ class CfgAmmo class B_93x64_Ball : BulletBase { airFriction=-0.00106; typicalSpeed=880; - ACE_caliber=0.366; + ACE_caliber=0.009296; ACE_bulletLength=1.350; ACE_bulletMass=230; ACE_transonicStabilityCoef=1; @@ -442,7 +442,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.000395; typicalSpeed=910; - ACE_caliber=0.408; + ACE_caliber=0.010363; ACE_bulletLength=2.126; ACE_bulletMass=410; ACE_transonicStabilityCoef=1; @@ -456,7 +456,7 @@ class CfgAmmo }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; - ACE_caliber=0.416; + ACE_caliber=0.010566; ACE_bulletLength=2.089; ACE_bulletMass=398; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -471,7 +471,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.000606; typicalSpeed=915; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.558; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -485,7 +485,7 @@ class CfgAmmo class B_338_NM_Ball : BulletBase { airFriction=-0.000537; typicalSpeed=820; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -501,7 +501,7 @@ class CfgAmmo airFriction=-0.000535; caliber=1.55; typicalSpeed=826; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -517,7 +517,7 @@ class CfgAmmo airFriction=-0.000673; caliber=2.4; typicalSpeed=826; - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.535; ACE_bulletMass=253; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -531,7 +531,7 @@ class CfgAmmo class B_127x54_Ball : BulletBase { airFriction=-0.00014; typicalSpeed=300; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.540; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -546,7 +546,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.0006; typicalSpeed=853; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -561,7 +561,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.000374; typicalSpeed=860; - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.540; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -576,7 +576,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.00064; typicalSpeed=820; - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -590,7 +590,7 @@ class CfgAmmo class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; typicalSpeed=250; - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -604,7 +604,7 @@ class CfgAmmo class TMR_B_762x51_M118LR : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -618,7 +618,7 @@ class CfgAmmo class RH_50_AE_Ball: BulletBase { - ACE_caliber=0.5; + ACE_caliber=0.0127; ACE_bulletLength=1.110; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -631,7 +631,7 @@ class CfgAmmo }; class RH_454_Casull: BulletBase { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.895; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -644,7 +644,7 @@ class CfgAmmo }; class RH_32ACP: BulletBase { - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -657,7 +657,7 @@ class CfgAmmo }; class RH_45ACP: BulletBase { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -670,7 +670,7 @@ class CfgAmmo }; class RH_B_40SW: BulletBase { - ACE_caliber=0.4; + ACE_caliber=0.01016; ACE_bulletLength=0.447; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -683,7 +683,7 @@ class CfgAmmo }; class RH_44mag_ball: BulletBase { - ACE_caliber=0.429; + ACE_caliber=0.010897; ACE_bulletLength=0.804; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -696,7 +696,7 @@ class CfgAmmo }; class RH_357mag_ball: BulletBase { - ACE_caliber=0.357; + ACE_caliber=0.009068; ACE_bulletLength=0.541; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -709,7 +709,7 @@ class CfgAmmo }; class RH_762x25: BulletBase { - ACE_caliber=0.310; + ACE_caliber=0.007874; ACE_bulletLength=0.5455; ACE_bulletMass=86; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -722,7 +722,7 @@ class CfgAmmo }; class RH_9x18_Ball: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -735,7 +735,7 @@ class CfgAmmo }; class RH_B_9x19_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -748,7 +748,7 @@ class CfgAmmo }; class RH_B_22LR_SD: BulletBase { - ACE_caliber=0.223; + ACE_caliber=0.005664; ACE_bulletLength=0.45; ACE_bulletMass=38; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -761,7 +761,7 @@ class CfgAmmo }; class RH_57x28mm: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.495; ACE_bulletMass=28; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -775,7 +775,7 @@ class CfgAmmo class RH_9x19_B_M822: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -788,7 +788,7 @@ class CfgAmmo }; class RH_9x19_B_HP: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -801,7 +801,7 @@ class CfgAmmo }; class RH_9x19_B_HPSB: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.603; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -814,7 +814,7 @@ class CfgAmmo }; class RH_B_6x35: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.445; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -827,7 +827,7 @@ class CfgAmmo }; class RH_556x45_B_M855A1 : B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -840,7 +840,7 @@ class CfgAmmo }; class RH_556x45_B_Mk262 : B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -853,7 +853,7 @@ class CfgAmmo }; class RH_556x45_B_Mk318 : B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -866,7 +866,7 @@ class CfgAmmo }; class RH_68x43_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.277; + ACE_caliber=0.007036; ACE_bulletLength=0.959; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -879,7 +879,7 @@ class CfgAmmo }; class RH_68x43_B_Match: B_65x39_Caseless { - ACE_caliber=0.277; + ACE_caliber=0.007036; ACE_bulletLength=1.250; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -892,7 +892,7 @@ class CfgAmmo }; class RH_762x35_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.118; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -905,7 +905,7 @@ class CfgAmmo }; class RH_762x35_B_Match: B_65x39_Caseless { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.153; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -918,7 +918,7 @@ class CfgAmmo }; class RH_762x35_B_MSB: B_65x39_Caseless { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -931,7 +931,7 @@ class CfgAmmo }; class RH_762x51_B_M80A1 : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -944,7 +944,7 @@ class CfgAmmo }; class RH_762x51_B_Mk316LR : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -957,7 +957,7 @@ class CfgAmmo }; class RH_762x51_B_Mk319 : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.074; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -970,7 +970,7 @@ class CfgAmmo }; class RH_762x51_B_LFMJSB: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.340; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -984,7 +984,7 @@ class CfgAmmo class HLC_556NATO_SOST: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -997,7 +997,7 @@ class CfgAmmo }; class HLC_556NATO_SPR: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1010,7 +1010,7 @@ class CfgAmmo }; class HLC_556NATO_EPR: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -1023,7 +1023,7 @@ class CfgAmmo }; class HLC_300Blackout_Ball: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.118; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1036,7 +1036,7 @@ class CfgAmmo }; class HLC_300Blackout_SMK: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1049,7 +1049,7 @@ class CfgAmmo }; class HLC_762x51_BTSub: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.340; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1062,7 +1062,7 @@ class CfgAmmo }; class HLC_762x54_ball: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1075,7 +1075,7 @@ class CfgAmmo }; class HLC_762x54_tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1088,7 +1088,7 @@ class CfgAmmo }; class HLC_303Brit_B: BulletBase { - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1101,7 +1101,7 @@ class CfgAmmo }; class HLC_792x57_Ball: BulletBase { - ACE_caliber=0.318; + ACE_caliber=0.008077; ACE_bulletLength=1.128; ACE_bulletMass=196; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1114,7 +1114,7 @@ class CfgAmmo }; class FH_545x39_Ball: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1134,7 +1134,7 @@ class CfgAmmo }; class HLC_9x19_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1155,7 +1155,7 @@ class CfgAmmo }; class HLC_10mm_FMJ: HLC_9x19_Ball { - ACE_caliber=0.5; + ACE_caliber=0.0127; ACE_bulletLength=0.764; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1168,7 +1168,7 @@ class CfgAmmo }; class HLC_9x19_M882_SMG: HLC_9x19_Ball { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1182,7 +1182,7 @@ class CfgAmmo class M_mas_545x39_Ball_7N6M : BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1195,7 +1195,7 @@ class CfgAmmo }; class M_mas_545x39_Ball_7T3M : BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1208,7 +1208,7 @@ class CfgAmmo }; class B_mas_556x45_Ball_Mk262 : B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1221,7 +1221,7 @@ class CfgAmmo }; class B_mas_9x18_Ball_57N181S : BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1234,7 +1234,7 @@ class CfgAmmo }; class B_mas_9x21p_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1247,7 +1247,7 @@ class CfgAmmo }; class B_mas_9x21_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1260,7 +1260,7 @@ class CfgAmmo }; class B_mas_9x21d_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1273,7 +1273,7 @@ class CfgAmmo }; class B_mas_765x17_Ball: BulletBase { - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1286,7 +1286,7 @@ class CfgAmmo }; class B_mas_762x39_Ball: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1299,7 +1299,7 @@ class CfgAmmo }; class B_mas_762x39_Ball_T: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1312,7 +1312,7 @@ class CfgAmmo }; class B_mas_762x51_Ball_M118LR : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1325,7 +1325,7 @@ class CfgAmmo }; class B_mas_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.353; ACE_bulletMass=190; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1338,7 +1338,7 @@ class CfgAmmo }; class B_mas_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1351,7 +1351,7 @@ class CfgAmmo }; class B_mas_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.602; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1364,7 +1364,7 @@ class CfgAmmo }; class B_mas_762x54_Ball : BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1377,7 +1377,7 @@ class CfgAmmo }; class B_mas_762x54_Ball_T : BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1390,7 +1390,7 @@ class CfgAmmo }; class BWA3_B_762x51_Ball_LR : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1403,7 +1403,7 @@ class CfgAmmo }; class BWA3_B_762x51_Ball_SD : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1417,7 +1417,7 @@ class CfgAmmo class BWA3_B_46x30_Ball : BulletBase { - ACE_caliber=0.193; + ACE_caliber=0.004902; ACE_bulletLength=0.512; ACE_bulletMass=31; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1431,7 +1431,7 @@ class CfgAmmo class Trixie_338_Ball : BulletBase { - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1444,7 +1444,7 @@ class CfgAmmo }; class Trixie_303_Ball : BulletBase { - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1458,7 +1458,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk318_Ball : BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1471,7 +1471,7 @@ class CfgAmmo }; class rhs_ammo_556x45_Mk262_Ball : BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1484,7 +1484,7 @@ class CfgAmmo }; class rhsammo_762x51_Ball : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1497,7 +1497,7 @@ class CfgAmmo }; class rhs_B_545x39_Ball : BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1510,7 +1510,7 @@ class CfgAmmo }; class rhs_B_545x39_Ball_Tracer_Green : BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1523,7 +1523,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M118_Special_Ball : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1536,7 +1536,7 @@ class CfgAmmo }; class rhs_B_762x54_Ball : BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1549,7 +1549,7 @@ class CfgAmmo }; class rhs_B_762x54_Ball_Tracer_Green : BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1562,7 +1562,7 @@ class CfgAmmo }; class rhs_B_762x39_Ball : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1575,7 +1575,7 @@ class CfgAmmo }; class rhs_B_762x39_Tracer : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1588,7 +1588,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M80_Ball : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1601,7 +1601,7 @@ class CfgAmmo }; class rhsusf_B_300winmag : BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1615,7 +1615,7 @@ class CfgAmmo class R3F_9x19_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1628,7 +1628,7 @@ class CfgAmmo }; class R3F_556x45_Ball: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -1641,7 +1641,7 @@ class CfgAmmo }; class R3F_762x51_Ball: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1654,7 +1654,7 @@ class CfgAmmo }; class R3F_762x51_Ball2: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1667,7 +1667,7 @@ class CfgAmmo }; class R3F_127x99_Ball: BulletBase { - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1680,7 +1680,7 @@ class CfgAmmo }; class R3F_127x99_Ball2: BulletBase { - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1694,7 +1694,7 @@ class CfgAmmo class CUP_B_545x39_Ball: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1707,7 +1707,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1720,7 +1720,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1733,7 +1733,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1746,7 +1746,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1759,7 +1759,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1772,7 +1772,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1785,7 +1785,7 @@ class CfgAmmo }; class B_762x39mm_KLT: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1798,7 +1798,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1811,7 +1811,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1824,7 +1824,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1837,7 +1837,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1850,7 +1850,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1863,7 +1863,7 @@ class CfgAmmo }; class CUP_B_9x19_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1876,7 +1876,7 @@ class CfgAmmo }; class CUP_B_762x51_noTracer: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1889,7 +1889,7 @@ class CfgAmmo }; class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1902,7 +1902,7 @@ class CfgAmmo }; class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1915,7 +1915,7 @@ class CfgAmmo }; class CUP_B_303_Ball: BulletBase { - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1928,7 +1928,7 @@ class CfgAmmo }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1941,7 +1941,7 @@ class CfgAmmo }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1954,7 +1954,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1967,7 +1967,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1980,7 +1980,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1993,7 +1993,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2006,7 +2006,7 @@ class CfgAmmo }; class CUP_B_9x39_SP5: BulletBase { - ACE_caliber=0.364; + ACE_caliber=0.009246; ACE_bulletLength=1.24; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2019,7 +2019,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Green: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2032,7 +2032,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Red: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2045,7 +2045,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Yellow: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2058,7 +2058,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_White: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2071,7 +2071,7 @@ class CfgAmmo }; class B_127x107_Ball: BulletBase { - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2084,7 +2084,7 @@ class CfgAmmo }; class CUP_B_9x18_SD: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2097,7 +2097,7 @@ class CfgAmmo }; class CUP_B_765x17_Ball: BulletBase { - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2110,7 +2110,7 @@ class CfgAmmo }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { - ACE_caliber=0.586; + ACE_caliber=0.014884; ACE_bulletLength=2.00; ACE_bulletMass=1010; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2123,7 +2123,7 @@ class CfgAmmo }; class CUP_B_127x99_Ball_White_Tracer: BulletBase { - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2136,7 +2136,7 @@ class CfgAmmo }; class CUP_B_86x70_Ball_noTracer: BulletBase { - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2150,7 +2150,7 @@ class CfgAmmo class VTN_9x18_Ball_FMJ: B_9x21_Ball { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2163,7 +2163,7 @@ class CfgAmmo }; class VTN_9x18_Ball_SC: VTN_9x18_Ball_FMJ { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2176,7 +2176,7 @@ class CfgAmmo }; class VTN_9x18_Ball_TRC: VTN_9x18_Ball_FMJ { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2189,7 +2189,7 @@ class CfgAmmo }; class VTN_9x18_Ball_AP1: VTN_9x18_Ball_FMJ { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2202,7 +2202,7 @@ class CfgAmmo }; class VTN_9x18_Ball_AP2: VTN_9x18_Ball_FMJ { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2215,7 +2215,7 @@ class CfgAmmo }; class VTN_9x18_Ball_PRS: VTN_9x18_Ball_FMJ { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2228,7 +2228,7 @@ class CfgAmmo }; class VTN_9x19_Ball_SC: VTN_9x18_Ball_FMJ { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2241,7 +2241,7 @@ class CfgAmmo }; class VTN_9x19_Ball_TRC: VTN_9x19_Ball_SC { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2254,7 +2254,7 @@ class CfgAmmo }; class VTN_9x19_Ball_AP: VTN_9x19_Ball_SC { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2267,7 +2267,7 @@ class CfgAmmo }; class VTN_9x19_Ball_PRS: VTN_9x19_Ball_SC { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2280,7 +2280,7 @@ class CfgAmmo }; class VTN_9x39_Ball_SC: B_9x21_Ball { - ACE_caliber=0.364; + ACE_caliber=0.009246; ACE_bulletLength=1.24; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2293,7 +2293,7 @@ class CfgAmmo }; class VTN_9x39_Ball_AP: VTN_9x39_Ball_SC { - ACE_caliber=0.364; + ACE_caliber=0.009246; ACE_bulletLength=1.24; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2306,7 +2306,7 @@ class CfgAmmo }; class VTN_545x39_Ball_SC: B_556x45_Ball { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2319,7 +2319,7 @@ class CfgAmmo }; class VTN_545x39_Ball_TRC: VTN_545x39_Ball_SC { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2332,7 +2332,7 @@ class CfgAmmo }; class VTN_545x39_Ball_AP: VTN_545x39_Ball_TRC { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2345,7 +2345,7 @@ class CfgAmmo }; class VTN_545x39_Ball_AP2: VTN_545x39_Ball_AP { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2358,7 +2358,7 @@ class CfgAmmo }; class VTN_545x39_Ball_SS: VTN_545x39_Ball_SC { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2371,7 +2371,7 @@ class CfgAmmo }; class VTN_762x39_Ball_SC: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2384,7 +2384,7 @@ class CfgAmmo }; class VTN_762x39_Ball_TRC: VTN_762x39_Ball_SC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2397,7 +2397,7 @@ class CfgAmmo }; class VTN_762x39_Ball_AP: VTN_762x39_Ball_TRC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2410,7 +2410,7 @@ class CfgAmmo }; class VTN_762x39_Ball_INC: VTN_762x39_Ball_AP { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2423,7 +2423,7 @@ class CfgAmmo }; class VTN_762x39_Ball_API: VTN_762x39_Ball_INC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2436,7 +2436,7 @@ class CfgAmmo }; class VTN_762x39_Ball_SS: VTN_762x39_Ball_SC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2449,7 +2449,7 @@ class CfgAmmo }; class VTN_762x41_Ball_SS: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=0.53; ACE_bulletMass=143; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2462,7 +2462,7 @@ class CfgAmmo }; class VTN_762x54_Ball_SC: VTN_762x39_Ball_SC { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2475,7 +2475,7 @@ class CfgAmmo }; class VTN_762x54_Ball_TRC: VTN_762x54_Ball_SC { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2488,7 +2488,7 @@ class CfgAmmo }; class VTN_762x54_Ball_AP: VTN_762x54_Ball_TRC { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2501,7 +2501,7 @@ class CfgAmmo }; class VTN_762x54_Ball_INC: VTN_762x54_Ball_AP { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2514,7 +2514,7 @@ class CfgAmmo }; class VTN_762x54_Ball_API: VTN_762x54_Ball_INC { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2527,7 +2527,7 @@ class CfgAmmo }; class VTN_145x114_Ball_APT: B_127x108_Ball { - ACE_caliber=0.586; + ACE_caliber=0.014884; ACE_bulletLength=2.00; ACE_bulletMass=1010; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2540,7 +2540,7 @@ class CfgAmmo }; class VTN_6mm_BB: B_65x39_Caseless { - ACE_caliber=0.24; + ACE_caliber=0.006096; ACE_bulletLength=0.24; ACE_bulletMass=6; ACE_ammoTempMuzzleVelocityShifts[]={}; @@ -2553,7 +2553,7 @@ class CfgAmmo }; class VTN_9x19_Ball_FMJ: B_9x21_Ball { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2566,7 +2566,7 @@ class CfgAmmo }; class VTN_556x45_Ball_FMJ: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2579,7 +2579,7 @@ class CfgAmmo }; class VTN_556x45_Ball_TRC: VTN_556x45_Ball_FMJ { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2592,7 +2592,7 @@ class CfgAmmo }; class VTN_556x45_Ball_TRCN: VTN_556x45_Ball_TRC { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2605,7 +2605,7 @@ class CfgAmmo }; class VTN_556x45_Ball_SC: VTN_556x45_Ball_FMJ { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2618,7 +2618,7 @@ class CfgAmmo }; class VTN_556x45_Ball_AP: VTN_556x45_Ball_TRC { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2631,7 +2631,7 @@ class CfgAmmo }; class VTN_556x45_Ball_INC: VTN_556x45_Ball_AP { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2644,7 +2644,7 @@ class CfgAmmo }; class VTN_556x45_Ball_LR: VTN_556x45_Ball_FMJ { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2657,7 +2657,7 @@ class CfgAmmo }; class VTN_556x45_Ball_SS: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2670,7 +2670,7 @@ class CfgAmmo }; class VTN_762x51_Ball_SC: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2683,7 +2683,7 @@ class CfgAmmo }; class VTN_762x51_Ball_TRC: VTN_762x51_Ball_SC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2696,7 +2696,7 @@ class CfgAmmo }; class VTN_762x51_Ball_TRCN: VTN_762x51_Ball_TRC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2709,7 +2709,7 @@ class CfgAmmo }; class VTN_762x51_Ball_AP: VTN_762x51_Ball_TRC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2722,7 +2722,7 @@ class CfgAmmo }; class VTN_762x51_Ball_LR: VTN_762x51_Ball_SC { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2735,7 +2735,7 @@ class CfgAmmo }; class VTN_1143x23_Ball_FMJ: B_408_Ball { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2748,7 +2748,7 @@ class CfgAmmo }; class VTN_1143x23_Ball_HP: VTN_1143x23_Ball_FMJ { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2761,7 +2761,7 @@ class CfgAmmo }; class VTN_1143x23_Ball_JHP: VTN_1143x23_Ball_FMJ { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2774,7 +2774,7 @@ class CfgAmmo }; class VTN_762x39_Ball_FMJ: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2787,7 +2787,7 @@ class CfgAmmo }; class VTN_45_Pellet: B_762x51_Ball { - ACE_caliber=0.22; + ACE_caliber=0.005588; ACE_bulletLength=0.23; ACE_bulletMass=3; ACE_ammoTempMuzzleVelocityShifts[]={}; diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index 1dcd91bc23..32e52aef30 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class B_127x99_Ball; class CUP_B_545x39_Ball: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -18,7 +18,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -31,7 +31,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -44,7 +44,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -57,7 +57,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -70,7 +70,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -83,7 +83,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -96,7 +96,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -109,7 +109,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -122,7 +122,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -135,7 +135,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -148,7 +148,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -161,7 +161,7 @@ class CfgAmmo }; class CUP_B_9x19_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -174,7 +174,7 @@ class CfgAmmo }; class CUP_B_762x51_noTracer: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -187,7 +187,7 @@ class CfgAmmo }; class CUP_B_303_Ball: BulletBase { - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -200,7 +200,7 @@ class CfgAmmo }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -213,7 +213,7 @@ class CfgAmmo }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -226,7 +226,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -239,7 +239,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -252,7 +252,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -265,7 +265,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -278,7 +278,7 @@ class CfgAmmo }; class CUP_B_9x39_SP5: BulletBase { - ACE_caliber=0.364; + ACE_caliber=0.009246; ACE_bulletLength=1.24; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -291,7 +291,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Green: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -304,7 +304,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Red: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -317,7 +317,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Yellow: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -330,7 +330,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_White: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -343,7 +343,7 @@ class CfgAmmo }; class B_127x107_Ball: BulletBase { - ACE_caliber=0.511; + ACE_caliber=0.012979; ACE_bulletLength=2.520; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -356,7 +356,7 @@ class CfgAmmo }; class CUP_B_9x18_SD: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -369,7 +369,7 @@ class CfgAmmo }; class CUP_B_765x17_Ball: BulletBase { - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -382,7 +382,7 @@ class CfgAmmo }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { - ACE_caliber=0.586; + ACE_caliber=0.014884; ACE_bulletLength=2.00; ACE_bulletMass=1010; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -395,7 +395,7 @@ class CfgAmmo }; class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball { - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.310; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -408,7 +408,7 @@ class CfgAmmo }; class CUP_B_86x70_Ball_noTracer: BulletBase { - ACE_caliber=0.338; + ACE_caliber=0.008585; ACE_bulletLength=1.70; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index 7259d2da3d..6d0e36f0d3 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -8,7 +8,7 @@ class CfgAmmo class HLC_762x51_ball; class HLC_556NATO_EPR: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -21,7 +21,7 @@ class CfgAmmo }; class HLC_556NATO_SOST: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -34,7 +34,7 @@ class CfgAmmo }; class HLC_556NATO_SPR: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -47,7 +47,7 @@ class CfgAmmo }; class HLC_300Blackout_Ball: B_556x45_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.118; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -60,7 +60,7 @@ class CfgAmmo }; class HLC_300Blackout_SMK: HLC_300Blackout_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -73,7 +73,7 @@ class CfgAmmo }; class HLC_762x39_Ball: HLC_300Blackout_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -86,7 +86,7 @@ class CfgAmmo }; class HLC_762x39_Tracer: HLC_762x39_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -99,7 +99,7 @@ class CfgAmmo }; class HLC_762x51_MK316_20in: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -112,7 +112,7 @@ class CfgAmmo }; class HLC_762x51_BTSub: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.340; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -125,7 +125,7 @@ class CfgAmmo }; class HLC_762x54_ball: HLC_762x51_ball { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -138,7 +138,7 @@ class CfgAmmo }; class HLC_762x54_tracer: HLC_762x51_tracer { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -151,7 +151,7 @@ class CfgAmmo }; class HLC_303Brit_B: B_556x45_Ball { - ACE_caliber=0.311; + ACE_caliber=0.007899; ACE_bulletLength=1.227; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -164,7 +164,7 @@ class CfgAmmo }; class HLC_792x57_Ball: HLC_303Brit_B { - ACE_caliber=0.318; + ACE_caliber=0.008077; ACE_bulletLength=1.128; ACE_bulletMass=196; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -183,7 +183,7 @@ class CfgAmmo }; class FH_545x39_Ball: B_556x45_Ball { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -203,7 +203,7 @@ class CfgAmmo }; class HLC_57x28mm_JHP: FH_545x39_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.495; ACE_bulletMass=28; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -216,7 +216,7 @@ class CfgAmmo }; class HLC_9x19_Ball: B_556x45_Ball { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -229,7 +229,7 @@ class CfgAmmo }; class HLC_9x19_M882_SMG: B_556x45_Ball { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -250,7 +250,7 @@ class CfgAmmo }; class HLC_10mm_FMJ: HLC_9x19_Ball { - ACE_caliber=0.5; + ACE_caliber=0.0127; ACE_bulletLength=0.764; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -263,7 +263,7 @@ class CfgAmmo }; class HLC_45ACP_Ball: B_556x45_Ball { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -276,7 +276,7 @@ class CfgAmmo }; class FH_44Mag: HLC_45ACP_Ball { - ACE_caliber=0.429; + ACE_caliber=0.010897; ACE_bulletLength=0.804; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -289,7 +289,7 @@ class CfgAmmo }; class FH_50BMG_SLAP: B_127x99_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.25; ACE_bulletMass=350; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -302,7 +302,7 @@ class CfgAmmo }; class FH_50BMG_Raufoss: B_127x99_Ball { - ACE_caliber=0.510; + ACE_caliber=0.012954; ACE_bulletLength=2.380; ACE_bulletMass=660; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index b66b55f530..d57daad303 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -4,7 +4,7 @@ class CfgAmmo class BulletBase; class RH_50_AE_Ball: BulletBase { - ACE_caliber=0.5; + ACE_caliber=0.0127; ACE_bulletLength=1.110; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -17,7 +17,7 @@ class CfgAmmo }; class RH_454_Casull: BulletBase { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.895; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -30,7 +30,7 @@ class CfgAmmo }; class RH_32ACP: BulletBase { - ACE_caliber=0.3125; + ACE_caliber=0.007938; ACE_bulletLength=0.610; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -43,7 +43,7 @@ class CfgAmmo }; class RH_45ACP: BulletBase { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -56,7 +56,7 @@ class CfgAmmo }; class RH_B_40SW: BulletBase { - ACE_caliber=0.4; + ACE_caliber=0.01016; ACE_bulletLength=0.447; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -69,7 +69,7 @@ class CfgAmmo }; class RH_44mag_ball: BulletBase { - ACE_caliber=0.429; + ACE_caliber=0.010897; ACE_bulletLength=0.804; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -82,7 +82,7 @@ class CfgAmmo }; class RH_357mag_ball: BulletBase { - ACE_caliber=0.357; + ACE_caliber=0.009068; ACE_bulletLength=0.541; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -95,7 +95,7 @@ class CfgAmmo }; class RH_762x25: BulletBase { - ACE_caliber=0.310; + ACE_caliber=0.007874; ACE_bulletLength=0.5455; ACE_bulletMass=86; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -108,7 +108,7 @@ class CfgAmmo }; class RH_9x18_Ball: BulletBase { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -121,7 +121,7 @@ class CfgAmmo }; class RH_B_9x19_Ball: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -134,7 +134,7 @@ class CfgAmmo }; class RH_B_22LR_SD: BulletBase { - ACE_caliber=0.223; + ACE_caliber=0.005664; ACE_bulletLength=0.45; ACE_bulletMass=38; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -147,7 +147,7 @@ class CfgAmmo }; class RH_57x28mm: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.495; ACE_bulletMass=28; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index c15e0e503a..44ed3493d0 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -10,7 +10,7 @@ class CfgAmmo { class RH_9x19_B_M822: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -23,7 +23,7 @@ class CfgAmmo { }; class RH_9x19_B_HP: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -36,7 +36,7 @@ class CfgAmmo { }; class RH_9x19_B_HPSB: BulletBase { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.603; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -49,7 +49,7 @@ class CfgAmmo { }; class RH_556x45_B_M855A1: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -62,7 +62,7 @@ class CfgAmmo { }; class RH_556x45_B_Mk318: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -75,7 +75,7 @@ class CfgAmmo { }; class RH_556x45_B_Mk262: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -88,7 +88,7 @@ class CfgAmmo { }; class RH_68x43_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.277; + ACE_caliber=0.007036; ACE_bulletLength=0.959; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -101,7 +101,7 @@ class CfgAmmo { }; class RH_68x43_B_Match: B_65x39_Caseless { - ACE_caliber=0.277; + ACE_caliber=0.007036; ACE_bulletLength=1.250; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -114,7 +114,7 @@ class CfgAmmo { }; class RH_762x35_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.118; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -127,7 +127,7 @@ class CfgAmmo { }; class RH_762x35_B_Match: B_65x39_Caseless { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.153; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -140,7 +140,7 @@ class CfgAmmo { }; class RH_762x35_B_MSB: B_65x39_Caseless { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -153,7 +153,7 @@ class CfgAmmo { }; class RH_762x51_B_M80A1: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -166,7 +166,7 @@ class CfgAmmo { }; class RH_762x51_B_Mk316LR: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -179,7 +179,7 @@ class CfgAmmo { }; class RH_762x51_B_Mk319: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -192,7 +192,7 @@ class CfgAmmo { }; class RH_762x51_B_LFMJSB: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.340; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index 706344ff8c..4aad0f4614 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -2,7 +2,7 @@ class BulletBase; class RH_B_6x35: BulletBase { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.445; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 323634f02c..1eabe3969d 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class B_556x45_Ball; class rhs_B_545x39_Ball: B_556x45_Ball { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -18,7 +18,7 @@ class CfgAmmo }; class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball { - ACE_caliber=0.220; + ACE_caliber=0.005588; ACE_bulletLength=0.85; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -32,7 +32,7 @@ class CfgAmmo class B_762x51_Ball; class rhs_B_762x54_Ball: B_762x51_Ball { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -45,7 +45,7 @@ class CfgAmmo }; class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -58,7 +58,7 @@ class CfgAmmo }; class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball { - ACE_caliber=0.312; + ACE_caliber=0.007925; ACE_bulletLength=1.14; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -71,7 +71,7 @@ class CfgAmmo }; class rhs_B_762x39_Ball: B_762x51_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -84,7 +84,7 @@ class CfgAmmo }; class rhs_B_762x39_Tracer: rhs_B_762x39_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -98,7 +98,7 @@ class CfgAmmo class B_9x21_Ball; class rhs_B_9x19_7N21: B_9x21_Ball { - ACE_caliber=0.355; + ACE_caliber=0.009017; ACE_bulletLength=0.610; ACE_bulletMass=80.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -111,7 +111,7 @@ class CfgAmmo }; class rhs_B_9x18_57N181S: B_9x21_Ball { - ACE_caliber=0.365; + ACE_caliber=0.009271; ACE_bulletLength=0.610; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index 68a8c8f7fd..9a81abd2c3 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -4,7 +4,7 @@ class CfgAmmo class BulletBase; class rhsusf_B_300winmag: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.489; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -18,7 +18,7 @@ class CfgAmmo class B_556x45_Ball; class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -31,7 +31,7 @@ class CfgAmmo }; class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball { - ACE_caliber=0.224; + ACE_caliber=0.00569; ACE_bulletLength=0.906; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -44,7 +44,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M80_Ball: BulletBase { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.14; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -57,7 +57,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -70,7 +70,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball { - ACE_caliber=0.308; + ACE_caliber=0.007823; ACE_bulletLength=1.24; ACE_bulletMass=127; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -83,7 +83,7 @@ class CfgAmmo }; class rhs_ammo_45ACP_MHP: BulletBase { - ACE_caliber=0.452; + ACE_caliber=0.011481; ACE_bulletLength=0.68; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; From b20c42398b0e88dc590dd0eeb768cef649e89184 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:27:40 +0200 Subject: [PATCH 347/478] Convert ACE_bulletLength to meters --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgAmmo.hpp | 92 ++-- extras/CfgAmmoReference.hpp | 410 +++++++++--------- optionals/compat_cup/CfgAmmo.hpp | 64 +-- optionals/compat_hlcmods_core/CfgAmmo.hpp | 44 +- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- 10 files changed, 350 insertions(+), 350 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 20235d2489..941a4c8284 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -92,7 +92,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { }; _caliber = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); -_bulletLength = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); +_bulletLength = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); _bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); _barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); _stabilityFactor = 1.5; diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 7d3e83230d..6486854f38 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -26,7 +26,7 @@ class CfgAmmo { tracerStartTime = 0.073; //M856 tracer burns out to 800m tracerEndTime = 1.579; //Time in seconds calculated with ballistics calculator ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -43,7 +43,7 @@ class CfgAmmo { hit=11; typicalSpeed=836; ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -60,7 +60,7 @@ class CfgAmmo { hit=9; typicalSpeed=886; ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -77,7 +77,7 @@ class CfgAmmo { hit=6; typicalSpeed=886; ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=46; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.151}; @@ -98,7 +98,7 @@ class CfgAmmo { hit=7; typicalSpeed=880; ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -118,7 +118,7 @@ class CfgAmmo { tracerStartTime = 0.073; //7T3M tracer burns out to 850m tracerEndTime = 1.736; //Time in seconds calculated with ballistics calculator ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -132,7 +132,7 @@ class CfgAmmo { airFriction=-0.000785; typicalSpeed=800; ACE_caliber=0.006706; - ACE_bulletLength=1.295; + ACE_bulletLength=0.032893; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.263}; @@ -155,7 +155,7 @@ class CfgAmmo { typicalSpeed=820 ; caliber=0.9; ACE_caliber=0.006706; - ACE_bulletLength=1.364; + ACE_bulletLength=0.034646; ACE_bulletMass=139; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -170,7 +170,7 @@ class CfgAmmo { typicalSpeed=860 ; caliber=1.1; ACE_caliber=0.006706; - ACE_bulletLength=1.426; + ACE_bulletLength=0.03622; ACE_bulletMass=140; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.317}; @@ -187,7 +187,7 @@ class CfgAmmo { tracerStartTime = 0.073; //Based on the British L5A1 which burns out to 1000m tracerEndTime = 2.058; //Time in seconds calculated with ballistics calculator ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -207,7 +207,7 @@ class CfgAmmo { hit=16; typicalSpeed=790; ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -223,7 +223,7 @@ class CfgAmmo { hit=16; typicalSpeed=790; ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.243}; @@ -239,7 +239,7 @@ class CfgAmmo { hit=14; typicalSpeed=900; ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; @@ -255,7 +255,7 @@ class CfgAmmo { hit=11; typicalSpeed=930; ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=127; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.377}; @@ -271,7 +271,7 @@ class CfgAmmo { hit=6; typicalSpeed=320; ACE_caliber=0.007823; - ACE_bulletLength=1.340; + ACE_bulletLength=0.034036; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -287,7 +287,7 @@ class CfgAmmo { caliber=2.0; hit=10; ACE_caliber=0.007823; - ACE_bulletLength=1.21; + ACE_bulletLength=0.030734; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.494}; @@ -303,7 +303,7 @@ class CfgAmmo { caliber=2.1; hit=8; ACE_caliber=0.007214; - ACE_bulletLength=1.529; + ACE_bulletLength=0.038837; ACE_bulletMass=180; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.345}; @@ -319,7 +319,7 @@ class CfgAmmo { caliber=2.3; hit=6; ACE_caliber=0.006172; - ACE_bulletLength=1.282; + ACE_bulletLength=0.032563; ACE_bulletMass=180; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.278}; @@ -335,7 +335,7 @@ class CfgAmmo { hit=17; typicalSpeed=900; ACE_caliber=0.007823; - ACE_bulletLength=1.353; + ACE_bulletLength=0.034366; ACE_bulletMass=190; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.268}; @@ -351,7 +351,7 @@ class CfgAmmo { hit=18; typicalSpeed=867; ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.310}; @@ -367,7 +367,7 @@ class CfgAmmo { hit=19; typicalSpeed=853; ACE_caliber=0.007823; - ACE_bulletLength=1.602; + ACE_bulletLength=0.040691; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -381,7 +381,7 @@ class CfgAmmo { airFriction=-0.001023; typicalSpeed=820; ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -397,7 +397,7 @@ class CfgAmmo { hit=15; typicalSpeed=820; ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -416,7 +416,7 @@ class CfgAmmo { tracerStartTime = 0.073; //Based on the 7T2 which burns three seconds tracerEndTime = 3; ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -432,7 +432,7 @@ class CfgAmmo { hit=11; typicalSpeed=790; ACE_caliber=0.007823; - ACE_bulletLength=1.153; + ACE_bulletLength=0.029286; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -448,7 +448,7 @@ class CfgAmmo { caliber=1.5; typicalSpeed=716; ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -466,7 +466,7 @@ class CfgAmmo { tracerStartTime = 0.073; //57N231P tracer burns out to 800m tracerEndTime = 2.082; //Time in seconds calculated with ballistics calculator ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -481,7 +481,7 @@ class CfgAmmo { typicalSpeed=390; hit=6; ACE_caliber=0.009042; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -496,7 +496,7 @@ class CfgAmmo { airFriction=-0.001234; typicalSpeed=298; ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -511,7 +511,7 @@ class CfgAmmo { typicalSpeed=370; hit=6; ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -526,7 +526,7 @@ class CfgAmmo { typicalSpeed=425; hit=7; ACE_caliber=0.0127; - ACE_bulletLength=0.764; + ACE_bulletLength=0.019406; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -541,7 +541,7 @@ class CfgAmmo { typicalSpeed=282; hit=7; ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -556,7 +556,7 @@ class CfgAmmo { typicalSpeed=761; caliber=2.0; ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -570,7 +570,7 @@ class CfgAmmo { airFriction=-0.00106; typicalSpeed=880; ACE_caliber=0.009296; - ACE_bulletLength=1.350; + ACE_bulletLength=0.03429; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -585,7 +585,7 @@ class CfgAmmo { airFriction=-0.000395; typicalSpeed=910; ACE_caliber=0.010363; - ACE_bulletLength=2.126; + ACE_bulletLength=0.054; ACE_bulletMass=410; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -599,7 +599,7 @@ class CfgAmmo { class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; ACE_caliber=0.010566; - ACE_bulletLength=2.089; + ACE_bulletLength=0.053061; ACE_bulletMass=398; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.72}; @@ -614,7 +614,7 @@ class CfgAmmo { airFriction=-0.000606; typicalSpeed=915; ACE_caliber=0.008585; - ACE_bulletLength=1.558; + ACE_bulletLength=0.039573; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.322}; @@ -628,7 +628,7 @@ class CfgAmmo { airFriction=-0.000537; typicalSpeed=820; ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -643,7 +643,7 @@ class CfgAmmo { airFriction=-0.000535; typicalSpeed=826; ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -659,7 +659,7 @@ class CfgAmmo { caliber=2.8; typicalSpeed=826; ACE_caliber=0.008585; - ACE_bulletLength=1.535; + ACE_bulletLength=0.038989; ACE_bulletMass=253; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -673,7 +673,7 @@ class CfgAmmo { airFriction=-0.00014; typicalSpeed=300; ACE_caliber=0.012954; - ACE_bulletLength=2.540; + ACE_bulletLength=0.064516; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={1.050}; @@ -688,7 +688,7 @@ class CfgAmmo { airFriction=-0.0006; typicalSpeed=900; ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -705,7 +705,7 @@ class CfgAmmo { hit=25; caliber=4.0; ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=648; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -721,7 +721,7 @@ class CfgAmmo { typicalSpeed=860; caliber=3.0; ACE_caliber=0.012954; - ACE_bulletLength=2.540; + ACE_bulletLength=0.064516; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.050}; @@ -736,7 +736,7 @@ class CfgAmmo { airFriction=-0.00064; typicalSpeed=820; ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -750,7 +750,7 @@ class CfgAmmo { airFriction=-0.0007182; typicalSpeed=250; ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index 5a7e9302cf..de8429036f 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -6,7 +6,7 @@ class CfgAmmo hit=8; typicalSpeed=750; ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -23,7 +23,7 @@ class CfgAmmo hit=11; typicalSpeed=836; ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -40,7 +40,7 @@ class CfgAmmo hit=9; typicalSpeed=886; ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -61,7 +61,7 @@ class CfgAmmo hit=7; typicalSpeed=880; ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -79,7 +79,7 @@ class CfgAmmo hit=7; typicalSpeed=883; ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -93,7 +93,7 @@ class CfgAmmo airFriction=-0.000785; typicalSpeed=800; ACE_caliber=0.006706; - ACE_bulletLength=1.295; + ACE_bulletLength=0.032893; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.263}; @@ -116,7 +116,7 @@ class CfgAmmo airFriction=-0.00078; typicalSpeed=820 ; ACE_caliber=0.006706; - ACE_bulletLength=1.364; + ACE_bulletLength=0.034646; ACE_bulletMass=139; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -131,7 +131,7 @@ class CfgAmmo typicalSpeed=833; hit=9; ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -151,7 +151,7 @@ class CfgAmmo hit=16; typicalSpeed=790; ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -167,7 +167,7 @@ class CfgAmmo hit=14; typicalSpeed=890; ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; @@ -183,7 +183,7 @@ class CfgAmmo hit=6; typicalSpeed=790; ACE_caliber=0.007823; - ACE_bulletLength=1.340; + ACE_bulletLength=0.034036; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -199,7 +199,7 @@ class CfgAmmo hit=17; typicalSpeed=900; ACE_caliber=0.007823; - ACE_bulletLength=1.353; + ACE_bulletLength=0.034366; ACE_bulletMass=190; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.268}; @@ -215,7 +215,7 @@ class CfgAmmo hit=18; typicalSpeed=867; ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -231,7 +231,7 @@ class CfgAmmo hit=19; typicalSpeed=853; ACE_caliber=0.007823; - ACE_bulletLength=1.602; + ACE_bulletLength=0.040691; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -245,7 +245,7 @@ class CfgAmmo airFriction=-0.001023; typicalSpeed=820; ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -261,7 +261,7 @@ class CfgAmmo hit=15; typicalSpeed=820; ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -278,7 +278,7 @@ class CfgAmmo hit=15; typicalSpeed=800; ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -294,7 +294,7 @@ class CfgAmmo hit=11; typicalSpeed=790; ACE_caliber=0.007823; - ACE_bulletLength=1.153; + ACE_bulletLength=0.029286; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -309,7 +309,7 @@ class CfgAmmo hit=12; typicalSpeed=716; ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -324,7 +324,7 @@ class CfgAmmo hit=12; typicalSpeed=716; ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -339,7 +339,7 @@ class CfgAmmo typicalSpeed=390; hit=6; ACE_caliber=0.009042; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -354,7 +354,7 @@ class CfgAmmo airFriction=-0.001234; typicalSpeed=298; ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -369,7 +369,7 @@ class CfgAmmo typicalSpeed=370; hit=6; ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -384,7 +384,7 @@ class CfgAmmo typicalSpeed=425; hit=7; ACE_caliber=0.0127; - ACE_bulletLength=0.764; + ACE_bulletLength=0.019406; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -399,7 +399,7 @@ class CfgAmmo typicalSpeed=282; hit=7; ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -413,7 +413,7 @@ class CfgAmmo airFriction=-0.00083; typicalSpeed=761; ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -427,7 +427,7 @@ class CfgAmmo airFriction=-0.00106; typicalSpeed=880; ACE_caliber=0.009296; - ACE_bulletLength=1.350; + ACE_bulletLength=0.03429; ACE_bulletMass=230; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -443,7 +443,7 @@ class CfgAmmo airFriction=-0.000395; typicalSpeed=910; ACE_caliber=0.010363; - ACE_bulletLength=2.126; + ACE_bulletLength=0.054; ACE_bulletMass=410; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -457,7 +457,7 @@ class CfgAmmo class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; ACE_caliber=0.010566; - ACE_bulletLength=2.089; + ACE_bulletLength=0.053061; ACE_bulletMass=398; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.72}; @@ -472,7 +472,7 @@ class CfgAmmo airFriction=-0.000606; typicalSpeed=915; ACE_caliber=0.008585; - ACE_bulletLength=1.558; + ACE_bulletLength=0.039573; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.322}; @@ -486,7 +486,7 @@ class CfgAmmo airFriction=-0.000537; typicalSpeed=820; ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -502,7 +502,7 @@ class CfgAmmo caliber=1.55; typicalSpeed=826; ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -518,7 +518,7 @@ class CfgAmmo caliber=2.4; typicalSpeed=826; ACE_caliber=0.008585; - ACE_bulletLength=1.535; + ACE_bulletLength=0.038989; ACE_bulletMass=253; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -532,7 +532,7 @@ class CfgAmmo airFriction=-0.00014; typicalSpeed=300; ACE_caliber=0.012954; - ACE_bulletLength=2.540; + ACE_bulletLength=0.064516; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={1.050}; @@ -547,7 +547,7 @@ class CfgAmmo airFriction=-0.0006; typicalSpeed=853; ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -562,7 +562,7 @@ class CfgAmmo airFriction=-0.000374; typicalSpeed=860; ACE_caliber=0.012954; - ACE_bulletLength=2.540; + ACE_bulletLength=0.064516; ACE_bulletMass=750; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.050}; @@ -577,7 +577,7 @@ class CfgAmmo airFriction=-0.00064; typicalSpeed=820; ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -591,7 +591,7 @@ class CfgAmmo airFriction=-0.0007182; typicalSpeed=250; ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -605,7 +605,7 @@ class CfgAmmo class TMR_B_762x51_M118LR : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -619,7 +619,7 @@ class CfgAmmo class RH_50_AE_Ball: BulletBase { ACE_caliber=0.0127; - ACE_bulletLength=1.110; + ACE_bulletLength=0.028194; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.228}; @@ -632,7 +632,7 @@ class CfgAmmo class RH_454_Casull: BulletBase { ACE_caliber=0.011481; - ACE_bulletLength=0.895; + ACE_bulletLength=0.022733; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.171}; @@ -645,7 +645,7 @@ class CfgAmmo class RH_32ACP: BulletBase { ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -658,7 +658,7 @@ class CfgAmmo class RH_45ACP: BulletBase { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -671,7 +671,7 @@ class CfgAmmo class RH_B_40SW: BulletBase { ACE_caliber=0.01016; - ACE_bulletLength=0.447; + ACE_bulletLength=0.011354; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.105, 0.115, 0.120, 0.105}; @@ -684,7 +684,7 @@ class CfgAmmo class RH_44mag_ball: BulletBase { ACE_caliber=0.010897; - ACE_bulletLength=0.804; + ACE_bulletLength=0.020422; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; @@ -697,7 +697,7 @@ class CfgAmmo class RH_357mag_ball: BulletBase { ACE_caliber=0.009068; - ACE_bulletLength=0.541; + ACE_bulletLength=0.013741; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.148}; @@ -710,7 +710,7 @@ class CfgAmmo class RH_762x25: BulletBase { ACE_caliber=0.007874; - ACE_bulletLength=0.5455; + ACE_bulletLength=0.013856; ACE_bulletMass=86; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -723,7 +723,7 @@ class CfgAmmo class RH_9x18_Ball: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -736,7 +736,7 @@ class CfgAmmo class RH_B_9x19_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -749,7 +749,7 @@ class CfgAmmo class RH_B_22LR_SD: BulletBase { ACE_caliber=0.005664; - ACE_bulletLength=0.45; + ACE_bulletLength=0.01143; ACE_bulletMass=38; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.111}; @@ -762,7 +762,7 @@ class CfgAmmo class RH_57x28mm: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.495; + ACE_bulletLength=0.012573; ACE_bulletMass=28; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; @@ -776,7 +776,7 @@ class CfgAmmo class RH_9x19_B_M822: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -789,7 +789,7 @@ class CfgAmmo class RH_9x19_B_HP: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -802,7 +802,7 @@ class CfgAmmo class RH_9x19_B_HPSB: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.603; + ACE_bulletLength=0.015316; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.212}; @@ -815,7 +815,7 @@ class CfgAmmo class RH_B_6x35: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.445; + ACE_bulletLength=0.011303; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.26}; @@ -828,7 +828,7 @@ class CfgAmmo class RH_556x45_B_M855A1 : B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.152}; @@ -841,7 +841,7 @@ class CfgAmmo class RH_556x45_B_Mk262 : B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -854,7 +854,7 @@ class CfgAmmo class RH_556x45_B_Mk318 : B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -867,7 +867,7 @@ class CfgAmmo class RH_68x43_B_FMJ: B_65x39_Caseless { ACE_caliber=0.007036; - ACE_bulletLength=0.959; + ACE_bulletLength=0.024359; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.162}; @@ -880,7 +880,7 @@ class CfgAmmo class RH_68x43_B_Match: B_65x39_Caseless { ACE_caliber=0.007036; - ACE_bulletLength=1.250; + ACE_bulletLength=0.03175; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.253}; @@ -893,7 +893,7 @@ class CfgAmmo class RH_762x35_B_FMJ: B_65x39_Caseless { ACE_caliber=0.007823; - ACE_bulletLength=1.118; + ACE_bulletLength=0.028397; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -906,7 +906,7 @@ class CfgAmmo class RH_762x35_B_Match: B_65x39_Caseless { ACE_caliber=0.007823; - ACE_bulletLength=1.153; + ACE_bulletLength=0.029286; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -919,7 +919,7 @@ class CfgAmmo class RH_762x35_B_MSB: B_65x39_Caseless { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -932,7 +932,7 @@ class CfgAmmo class RH_762x51_B_M80A1 : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -945,7 +945,7 @@ class CfgAmmo class RH_762x51_B_Mk316LR : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.243}; @@ -958,7 +958,7 @@ class CfgAmmo class RH_762x51_B_Mk319 : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.074; + ACE_bulletLength=0.02728; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.277}; @@ -971,7 +971,7 @@ class CfgAmmo class RH_762x51_B_LFMJSB: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.340; + ACE_bulletLength=0.034036; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.252}; @@ -985,7 +985,7 @@ class CfgAmmo class HLC_556NATO_SOST: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -998,7 +998,7 @@ class CfgAmmo class HLC_556NATO_SPR: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -1011,7 +1011,7 @@ class CfgAmmo class HLC_556NATO_EPR: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.152}; @@ -1024,7 +1024,7 @@ class CfgAmmo class HLC_300Blackout_Ball: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.118; + ACE_bulletLength=0.028397; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -1037,7 +1037,7 @@ class CfgAmmo class HLC_300Blackout_SMK: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -1050,7 +1050,7 @@ class CfgAmmo class HLC_762x51_BTSub: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.340; + ACE_bulletLength=0.034036; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -1063,7 +1063,7 @@ class CfgAmmo class HLC_762x54_ball: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -1076,7 +1076,7 @@ class CfgAmmo class HLC_762x54_tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1089,7 +1089,7 @@ class CfgAmmo class HLC_303Brit_B: BulletBase { ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -1102,7 +1102,7 @@ class CfgAmmo class HLC_792x57_Ball: BulletBase { ACE_caliber=0.008077; - ACE_bulletLength=1.128; + ACE_bulletLength=0.028651; ACE_bulletMass=196; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.315}; @@ -1115,7 +1115,7 @@ class CfgAmmo class FH_545x39_Ball: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1135,7 +1135,7 @@ class CfgAmmo class HLC_9x19_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1156,7 +1156,7 @@ class CfgAmmo class HLC_10mm_FMJ: HLC_9x19_Ball { ACE_caliber=0.0127; - ACE_bulletLength=0.764; + ACE_bulletLength=0.019406; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -1169,7 +1169,7 @@ class CfgAmmo class HLC_9x19_M882_SMG: HLC_9x19_Ball { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1183,7 +1183,7 @@ class CfgAmmo class M_mas_545x39_Ball_7N6M : BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1196,7 +1196,7 @@ class CfgAmmo class M_mas_545x39_Ball_7T3M : BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1209,7 +1209,7 @@ class CfgAmmo class B_mas_556x45_Ball_Mk262 : B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -1222,7 +1222,7 @@ class CfgAmmo class B_mas_9x18_Ball_57N181S : BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1235,7 +1235,7 @@ class CfgAmmo class B_mas_9x21p_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1248,7 +1248,7 @@ class CfgAmmo class B_mas_9x21_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1261,7 +1261,7 @@ class CfgAmmo class B_mas_9x21d_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1274,7 +1274,7 @@ class CfgAmmo class B_mas_765x17_Ball: BulletBase { ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -1287,7 +1287,7 @@ class CfgAmmo class B_mas_762x39_Ball: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1300,7 +1300,7 @@ class CfgAmmo class B_mas_762x39_Ball_T: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1313,7 +1313,7 @@ class CfgAmmo class B_mas_762x51_Ball_M118LR : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -1326,7 +1326,7 @@ class CfgAmmo class B_mas_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.353; + ACE_bulletLength=0.034366; ACE_bulletMass=190; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.268}; @@ -1339,7 +1339,7 @@ class CfgAmmo class B_mas_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -1352,7 +1352,7 @@ class CfgAmmo class B_mas_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.602; + ACE_bulletLength=0.040691; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -1365,7 +1365,7 @@ class CfgAmmo class B_mas_762x54_Ball : BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -1378,7 +1378,7 @@ class CfgAmmo class B_mas_762x54_Ball_T : BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1391,7 +1391,7 @@ class CfgAmmo class BWA3_B_762x51_Ball_LR : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -1404,7 +1404,7 @@ class CfgAmmo class BWA3_B_762x51_Ball_SD : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.2}; @@ -1418,7 +1418,7 @@ class CfgAmmo class BWA3_B_46x30_Ball : BulletBase { ACE_caliber=0.004902; - ACE_bulletLength=0.512; + ACE_bulletLength=0.013005; ACE_bulletMass=31; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.1455}; @@ -1432,7 +1432,7 @@ class CfgAmmo class Trixie_338_Ball : BulletBase { ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -1445,7 +1445,7 @@ class CfgAmmo class Trixie_303_Ball : BulletBase { ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -1459,7 +1459,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk318_Ball : BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -1472,7 +1472,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk262_Ball : BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -1485,7 +1485,7 @@ class CfgAmmo class rhsammo_762x51_Ball : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1498,7 +1498,7 @@ class CfgAmmo class rhs_B_545x39_Ball : BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1511,7 +1511,7 @@ class CfgAmmo class rhs_B_545x39_Ball_Tracer_Green : BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1524,7 +1524,7 @@ class CfgAmmo class rhs_ammo_762x51_M118_Special_Ball : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -1537,7 +1537,7 @@ class CfgAmmo class rhs_B_762x54_Ball : BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -1550,7 +1550,7 @@ class CfgAmmo class rhs_B_762x54_Ball_Tracer_Green : BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1563,7 +1563,7 @@ class CfgAmmo class rhs_B_762x39_Ball : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1576,7 +1576,7 @@ class CfgAmmo class rhs_B_762x39_Tracer : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1589,7 +1589,7 @@ class CfgAmmo class rhs_ammo_762x51_M80_Ball : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1602,7 +1602,7 @@ class CfgAmmo class rhsusf_B_300winmag : BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -1616,7 +1616,7 @@ class CfgAmmo class R3F_9x19_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1629,7 +1629,7 @@ class CfgAmmo class R3F_556x45_Ball: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -1642,7 +1642,7 @@ class CfgAmmo class R3F_762x51_Ball: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1655,7 +1655,7 @@ class CfgAmmo class R3F_762x51_Ball2: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -1668,7 +1668,7 @@ class CfgAmmo class R3F_127x99_Ball: BulletBase { ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -1681,7 +1681,7 @@ class CfgAmmo class R3F_127x99_Ball2: BulletBase { ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -1695,7 +1695,7 @@ class CfgAmmo class CUP_B_545x39_Ball: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1708,7 +1708,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Green: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1721,7 +1721,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Red: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1734,7 +1734,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_White: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1747,7 +1747,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1760,7 +1760,7 @@ class CfgAmmo class CUP_B_762x39_Ball: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1773,7 +1773,7 @@ class CfgAmmo class CUP_B_762x39_Ball_Tracer_Green: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1786,7 +1786,7 @@ class CfgAmmo class B_762x39mm_KLT: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1799,7 +1799,7 @@ class CfgAmmo class CUP_B_9x18_Ball: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1812,7 +1812,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Green: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1825,7 +1825,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Red: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1838,7 +1838,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1851,7 +1851,7 @@ class CfgAmmo class CUP_B_9x18_Ball_White_Tracer: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1864,7 +1864,7 @@ class CfgAmmo class CUP_B_9x19_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1877,7 +1877,7 @@ class CfgAmmo class CUP_B_762x51_noTracer: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1890,7 +1890,7 @@ class CfgAmmo class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1903,7 +1903,7 @@ class CfgAmmo class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1916,7 +1916,7 @@ class CfgAmmo class CUP_B_303_Ball: BulletBase { ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -1929,7 +1929,7 @@ class CfgAmmo class CUP_B_127x107_Ball_Green_Tracer: BulletBase { ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -1942,7 +1942,7 @@ class CfgAmmo class CUP_B_127x108_Ball_Green_Tracer: BulletBase { ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -1955,7 +1955,7 @@ class CfgAmmo class CUP_B_762x54_Ball_White_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1968,7 +1968,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Red_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1981,7 +1981,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Green_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1994,7 +1994,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -2007,7 +2007,7 @@ class CfgAmmo class CUP_B_9x39_SP5: BulletBase { ACE_caliber=0.009246; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2020,7 +2020,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Green: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2033,7 +2033,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Red: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2046,7 +2046,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Yellow: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2059,7 +2059,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_White: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2072,7 +2072,7 @@ class CfgAmmo class B_127x107_Ball: BulletBase { ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -2085,7 +2085,7 @@ class CfgAmmo class CUP_B_9x18_SD: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2098,7 +2098,7 @@ class CfgAmmo class CUP_B_765x17_Ball: BulletBase { ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -2111,7 +2111,7 @@ class CfgAmmo class CUP_B_145x115_AP_Green_Tracer: BulletBase { ACE_caliber=0.014884; - ACE_bulletLength=2.00; + ACE_bulletLength=0.0508; ACE_bulletMass=1010; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; @@ -2124,7 +2124,7 @@ class CfgAmmo class CUP_B_127x99_Ball_White_Tracer: BulletBase { ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -2137,7 +2137,7 @@ class CfgAmmo class CUP_B_86x70_Ball_noTracer: BulletBase { ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -2151,7 +2151,7 @@ class CfgAmmo class VTN_9x18_Ball_FMJ: B_9x21_Ball { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2164,7 +2164,7 @@ class CfgAmmo class VTN_9x18_Ball_SC: VTN_9x18_Ball_FMJ { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2177,7 +2177,7 @@ class CfgAmmo class VTN_9x18_Ball_TRC: VTN_9x18_Ball_FMJ { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2190,7 +2190,7 @@ class CfgAmmo class VTN_9x18_Ball_AP1: VTN_9x18_Ball_FMJ { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2203,7 +2203,7 @@ class CfgAmmo class VTN_9x18_Ball_AP2: VTN_9x18_Ball_FMJ { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2216,7 +2216,7 @@ class CfgAmmo class VTN_9x18_Ball_PRS: VTN_9x18_Ball_FMJ { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2229,7 +2229,7 @@ class CfgAmmo class VTN_9x19_Ball_SC: VTN_9x18_Ball_FMJ { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2242,7 +2242,7 @@ class CfgAmmo class VTN_9x19_Ball_TRC: VTN_9x19_Ball_SC { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2255,7 +2255,7 @@ class CfgAmmo class VTN_9x19_Ball_AP: VTN_9x19_Ball_SC { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2268,7 +2268,7 @@ class CfgAmmo class VTN_9x19_Ball_PRS: VTN_9x19_Ball_SC { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2281,7 +2281,7 @@ class CfgAmmo class VTN_9x39_Ball_SC: B_9x21_Ball { ACE_caliber=0.009246; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2294,7 +2294,7 @@ class CfgAmmo class VTN_9x39_Ball_AP: VTN_9x39_Ball_SC { ACE_caliber=0.009246; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2307,7 +2307,7 @@ class CfgAmmo class VTN_545x39_Ball_SC: B_556x45_Ball { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2320,7 +2320,7 @@ class CfgAmmo class VTN_545x39_Ball_TRC: VTN_545x39_Ball_SC { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2333,7 +2333,7 @@ class CfgAmmo class VTN_545x39_Ball_AP: VTN_545x39_Ball_TRC { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2346,7 +2346,7 @@ class CfgAmmo class VTN_545x39_Ball_AP2: VTN_545x39_Ball_AP { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2359,7 +2359,7 @@ class CfgAmmo class VTN_545x39_Ball_SS: VTN_545x39_Ball_SC { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.168}; @@ -2372,7 +2372,7 @@ class CfgAmmo class VTN_762x39_Ball_SC: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2385,7 +2385,7 @@ class CfgAmmo class VTN_762x39_Ball_TRC: VTN_762x39_Ball_SC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2398,7 +2398,7 @@ class CfgAmmo class VTN_762x39_Ball_AP: VTN_762x39_Ball_TRC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2411,7 +2411,7 @@ class CfgAmmo class VTN_762x39_Ball_INC: VTN_762x39_Ball_AP { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2424,7 +2424,7 @@ class CfgAmmo class VTN_762x39_Ball_API: VTN_762x39_Ball_INC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2437,7 +2437,7 @@ class CfgAmmo class VTN_762x39_Ball_SS: VTN_762x39_Ball_SC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2450,7 +2450,7 @@ class CfgAmmo class VTN_762x41_Ball_SS: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=0.53; + ACE_bulletLength=0.013462; ACE_bulletMass=143; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2463,7 +2463,7 @@ class CfgAmmo class VTN_762x54_Ball_SC: VTN_762x39_Ball_SC { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2476,7 +2476,7 @@ class CfgAmmo class VTN_762x54_Ball_TRC: VTN_762x54_Ball_SC { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -2489,7 +2489,7 @@ class CfgAmmo class VTN_762x54_Ball_AP: VTN_762x54_Ball_TRC { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2502,7 +2502,7 @@ class CfgAmmo class VTN_762x54_Ball_INC: VTN_762x54_Ball_AP { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2515,7 +2515,7 @@ class CfgAmmo class VTN_762x54_Ball_API: VTN_762x54_Ball_INC { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2528,7 +2528,7 @@ class CfgAmmo class VTN_145x114_Ball_APT: B_127x108_Ball { ACE_caliber=0.014884; - ACE_bulletLength=2.00; + ACE_bulletLength=0.0508; ACE_bulletMass=1010; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; @@ -2541,7 +2541,7 @@ class CfgAmmo class VTN_6mm_BB: B_65x39_Caseless { ACE_caliber=0.006096; - ACE_bulletLength=0.24; + ACE_bulletLength=0.006096; ACE_bulletMass=6; ACE_ammoTempMuzzleVelocityShifts[]={}; ACE_ballisticCoefficients[]={}; @@ -2554,7 +2554,7 @@ class CfgAmmo class VTN_9x19_Ball_FMJ: B_9x21_Ball { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2567,7 +2567,7 @@ class CfgAmmo class VTN_556x45_Ball_FMJ: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2580,7 +2580,7 @@ class CfgAmmo class VTN_556x45_Ball_TRC: VTN_556x45_Ball_FMJ { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2593,7 +2593,7 @@ class CfgAmmo class VTN_556x45_Ball_TRCN: VTN_556x45_Ball_TRC { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2606,7 +2606,7 @@ class CfgAmmo class VTN_556x45_Ball_SC: VTN_556x45_Ball_FMJ { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2619,7 +2619,7 @@ class CfgAmmo class VTN_556x45_Ball_AP: VTN_556x45_Ball_TRC { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2632,7 +2632,7 @@ class CfgAmmo class VTN_556x45_Ball_INC: VTN_556x45_Ball_AP { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2645,7 +2645,7 @@ class CfgAmmo class VTN_556x45_Ball_LR: VTN_556x45_Ball_FMJ { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -2658,7 +2658,7 @@ class CfgAmmo class VTN_556x45_Ball_SS: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.151}; @@ -2671,7 +2671,7 @@ class CfgAmmo class VTN_762x51_Ball_SC: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2684,7 +2684,7 @@ class CfgAmmo class VTN_762x51_Ball_TRC: VTN_762x51_Ball_SC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2697,7 +2697,7 @@ class CfgAmmo class VTN_762x51_Ball_TRCN: VTN_762x51_Ball_TRC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2710,7 +2710,7 @@ class CfgAmmo class VTN_762x51_Ball_AP: VTN_762x51_Ball_TRC { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2723,7 +2723,7 @@ class CfgAmmo class VTN_762x51_Ball_LR: VTN_762x51_Ball_SC { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -2736,7 +2736,7 @@ class CfgAmmo class VTN_1143x23_Ball_FMJ: B_408_Ball { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -2749,7 +2749,7 @@ class CfgAmmo class VTN_1143x23_Ball_HP: VTN_1143x23_Ball_FMJ { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -2762,7 +2762,7 @@ class CfgAmmo class VTN_1143x23_Ball_JHP: VTN_1143x23_Ball_FMJ { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -2775,7 +2775,7 @@ class CfgAmmo class VTN_762x39_Ball_FMJ: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2788,7 +2788,7 @@ class CfgAmmo class VTN_45_Pellet: B_762x51_Ball { ACE_caliber=0.005588; - ACE_bulletLength=0.23; + ACE_bulletLength=0.005842; ACE_bulletMass=3; ACE_ammoTempMuzzleVelocityShifts[]={}; ACE_ballisticCoefficients[]={}; diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index 32e52aef30..793d2d03fb 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -6,7 +6,7 @@ class CfgAmmo class CUP_B_545x39_Ball: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -19,7 +19,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -32,7 +32,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Red: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -45,7 +45,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_White: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -58,7 +58,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -71,7 +71,7 @@ class CfgAmmo class CUP_B_762x39_Ball: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -84,7 +84,7 @@ class CfgAmmo class CUP_B_762x39_Ball_Tracer_Green: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -97,7 +97,7 @@ class CfgAmmo class CUP_B_9x18_Ball: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -110,7 +110,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Green: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -123,7 +123,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Red: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -136,7 +136,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -149,7 +149,7 @@ class CfgAmmo class CUP_B_9x18_Ball_White_Tracer: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -162,7 +162,7 @@ class CfgAmmo class CUP_B_9x19_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -175,7 +175,7 @@ class CfgAmmo class CUP_B_762x51_noTracer: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -188,7 +188,7 @@ class CfgAmmo class CUP_B_303_Ball: BulletBase { ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -201,7 +201,7 @@ class CfgAmmo class CUP_B_127x107_Ball_Green_Tracer: BulletBase { ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -214,7 +214,7 @@ class CfgAmmo class CUP_B_127x108_Ball_Green_Tracer: BulletBase { ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -227,7 +227,7 @@ class CfgAmmo class CUP_B_762x54_Ball_White_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -240,7 +240,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Red_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -253,7 +253,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Green_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -266,7 +266,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -279,7 +279,7 @@ class CfgAmmo class CUP_B_9x39_SP5: BulletBase { ACE_caliber=0.009246; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=250; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -292,7 +292,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Green: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -305,7 +305,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Red: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -318,7 +318,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Yellow: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -331,7 +331,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_White: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -344,7 +344,7 @@ class CfgAmmo class B_127x107_Ball: BulletBase { ACE_caliber=0.012979; - ACE_bulletLength=2.520; + ACE_bulletLength=0.064008; ACE_bulletMass=745; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -357,7 +357,7 @@ class CfgAmmo class CUP_B_9x18_SD: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -370,7 +370,7 @@ class CfgAmmo class CUP_B_765x17_Ball: BulletBase { ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -383,7 +383,7 @@ class CfgAmmo class CUP_B_145x115_AP_Green_Tracer: BulletBase { ACE_caliber=0.014884; - ACE_bulletLength=2.00; + ACE_bulletLength=0.0508; ACE_bulletMass=1010; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; @@ -396,7 +396,7 @@ class CfgAmmo class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball { ACE_caliber=0.012954; - ACE_bulletLength=2.310; + ACE_bulletLength=0.058674; ACE_bulletMass=647; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -409,7 +409,7 @@ class CfgAmmo class CUP_B_86x70_Ball_noTracer: BulletBase { ACE_caliber=0.008585; - ACE_bulletLength=1.70; + ACE_bulletLength=0.04318; ACE_bulletMass=300; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index 6d0e36f0d3..9da1f56803 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -9,7 +9,7 @@ class CfgAmmo class HLC_556NATO_EPR: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -22,7 +22,7 @@ class CfgAmmo class HLC_556NATO_SOST: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -35,7 +35,7 @@ class CfgAmmo class HLC_556NATO_SPR: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -48,7 +48,7 @@ class CfgAmmo class HLC_300Blackout_Ball: B_556x45_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.118; + ACE_bulletLength=0.028397; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -61,7 +61,7 @@ class CfgAmmo class HLC_300Blackout_SMK: HLC_300Blackout_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -74,7 +74,7 @@ class CfgAmmo class HLC_762x39_Ball: HLC_300Blackout_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -87,7 +87,7 @@ class CfgAmmo class HLC_762x39_Tracer: HLC_762x39_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -100,7 +100,7 @@ class CfgAmmo class HLC_762x51_MK316_20in: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.243}; @@ -113,7 +113,7 @@ class CfgAmmo class HLC_762x51_BTSub: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.340; + ACE_bulletLength=0.034036; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -126,7 +126,7 @@ class CfgAmmo class HLC_762x54_ball: HLC_762x51_ball { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -139,7 +139,7 @@ class CfgAmmo class HLC_762x54_tracer: HLC_762x51_tracer { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -152,7 +152,7 @@ class CfgAmmo class HLC_303Brit_B: B_556x45_Ball { ACE_caliber=0.007899; - ACE_bulletLength=1.227; + ACE_bulletLength=0.031166; ACE_bulletMass=174; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -165,7 +165,7 @@ class CfgAmmo class HLC_792x57_Ball: HLC_303Brit_B { ACE_caliber=0.008077; - ACE_bulletLength=1.128; + ACE_bulletLength=0.028651; ACE_bulletMass=196; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.315}; @@ -184,7 +184,7 @@ class CfgAmmo class FH_545x39_Ball: B_556x45_Ball { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -204,7 +204,7 @@ class CfgAmmo class HLC_57x28mm_JHP: FH_545x39_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.495; + ACE_bulletLength=0.012573; ACE_bulletMass=28; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; @@ -217,7 +217,7 @@ class CfgAmmo class HLC_9x19_Ball: B_556x45_Ball { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -230,7 +230,7 @@ class CfgAmmo class HLC_9x19_M882_SMG: B_556x45_Ball { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -251,7 +251,7 @@ class CfgAmmo class HLC_10mm_FMJ: HLC_9x19_Ball { ACE_caliber=0.0127; - ACE_bulletLength=0.764; + ACE_bulletLength=0.019406; ACE_bulletMass=165; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -264,7 +264,7 @@ class CfgAmmo class HLC_45ACP_Ball: B_556x45_Ball { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -277,7 +277,7 @@ class CfgAmmo class FH_44Mag: HLC_45ACP_Ball { ACE_caliber=0.010897; - ACE_bulletLength=0.804; + ACE_bulletLength=0.020422; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; @@ -290,7 +290,7 @@ class CfgAmmo class FH_50BMG_SLAP: B_127x99_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.25; + ACE_bulletLength=0.03175; ACE_bulletMass=350; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.056}; @@ -303,7 +303,7 @@ class CfgAmmo class FH_50BMG_Raufoss: B_127x99_Ball { ACE_caliber=0.012954; - ACE_bulletLength=2.380; + ACE_bulletLength=0.060452; ACE_bulletMass=660; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index d57daad303..3204523bd8 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class RH_50_AE_Ball: BulletBase { ACE_caliber=0.0127; - ACE_bulletLength=1.110; + ACE_bulletLength=0.028194; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.228}; @@ -18,7 +18,7 @@ class CfgAmmo class RH_454_Casull: BulletBase { ACE_caliber=0.011481; - ACE_bulletLength=0.895; + ACE_bulletLength=0.022733; ACE_bulletMass=325; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.171}; @@ -31,7 +31,7 @@ class CfgAmmo class RH_32ACP: BulletBase { ACE_caliber=0.007938; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -44,7 +44,7 @@ class CfgAmmo class RH_45ACP: BulletBase { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -57,7 +57,7 @@ class CfgAmmo class RH_B_40SW: BulletBase { ACE_caliber=0.01016; - ACE_bulletLength=0.447; + ACE_bulletLength=0.011354; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.105, 0.115, 0.120, 0.105}; @@ -70,7 +70,7 @@ class CfgAmmo class RH_44mag_ball: BulletBase { ACE_caliber=0.010897; - ACE_bulletLength=0.804; + ACE_bulletLength=0.020422; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; @@ -83,7 +83,7 @@ class CfgAmmo class RH_357mag_ball: BulletBase { ACE_caliber=0.009068; - ACE_bulletLength=0.541; + ACE_bulletLength=0.013741; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.148}; @@ -96,7 +96,7 @@ class CfgAmmo class RH_762x25: BulletBase { ACE_caliber=0.007874; - ACE_bulletLength=0.5455; + ACE_bulletLength=0.013856; ACE_bulletMass=86; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -109,7 +109,7 @@ class CfgAmmo class RH_9x18_Ball: BulletBase { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -122,7 +122,7 @@ class CfgAmmo class RH_B_9x19_Ball: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -135,7 +135,7 @@ class CfgAmmo class RH_B_22LR_SD: BulletBase { ACE_caliber=0.005664; - ACE_bulletLength=0.45; + ACE_bulletLength=0.01143; ACE_bulletMass=38; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.111}; @@ -148,7 +148,7 @@ class CfgAmmo class RH_57x28mm: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.495; + ACE_bulletLength=0.012573; ACE_bulletMass=28; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index 44ed3493d0..9d7f4eec9f 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -11,7 +11,7 @@ class CfgAmmo { class RH_9x19_B_M822: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -24,7 +24,7 @@ class CfgAmmo { class RH_9x19_B_HP: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=124; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -37,7 +37,7 @@ class CfgAmmo { class RH_9x19_B_HPSB: BulletBase { ACE_caliber=0.009017; - ACE_bulletLength=0.603; + ACE_bulletLength=0.015316; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.212}; @@ -50,7 +50,7 @@ class CfgAmmo { class RH_556x45_B_M855A1: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -63,7 +63,7 @@ class CfgAmmo { class RH_556x45_B_Mk318: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -76,7 +76,7 @@ class CfgAmmo { class RH_556x45_B_Mk262: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -89,7 +89,7 @@ class CfgAmmo { class RH_68x43_B_FMJ: B_65x39_Caseless { ACE_caliber=0.007036; - ACE_bulletLength=0.959; + ACE_bulletLength=0.024359; ACE_bulletMass=115; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.162}; @@ -102,7 +102,7 @@ class CfgAmmo { class RH_68x43_B_Match: B_65x39_Caseless { ACE_caliber=0.007036; - ACE_bulletLength=1.250; + ACE_bulletLength=0.03175; ACE_bulletMass=135; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.253}; @@ -115,7 +115,7 @@ class CfgAmmo { class RH_762x35_B_FMJ: B_65x39_Caseless { ACE_caliber=0.007823; - ACE_bulletLength=1.118; + ACE_bulletLength=0.028397; ACE_bulletMass=147; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -128,7 +128,7 @@ class CfgAmmo { class RH_762x35_B_Match: B_65x39_Caseless { ACE_caliber=0.007823; - ACE_bulletLength=1.153; + ACE_bulletLength=0.029286; ACE_bulletMass=125; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -141,7 +141,7 @@ class CfgAmmo { class RH_762x35_B_MSB: B_65x39_Caseless { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -154,7 +154,7 @@ class CfgAmmo { class RH_762x51_B_M80A1: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -167,7 +167,7 @@ class CfgAmmo { class RH_762x51_B_Mk316LR: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.243}; @@ -180,7 +180,7 @@ class CfgAmmo { class RH_762x51_B_Mk319: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=130; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; @@ -193,7 +193,7 @@ class CfgAmmo { class RH_762x51_B_LFMJSB: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.340; + ACE_bulletLength=0.034036; ACE_bulletMass=200; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index 4aad0f4614..76850acf7b 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -3,7 +3,7 @@ class BulletBase; class RH_B_6x35: BulletBase { ACE_caliber=0.00569; - ACE_bulletLength=0.445; + ACE_bulletLength=0.011303; ACE_bulletMass=65; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.26}; diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 1eabe3969d..1d7fc6bdae 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -6,7 +6,7 @@ class CfgAmmo class rhs_B_545x39_Ball: B_556x45_Ball { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=52.9; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -19,7 +19,7 @@ class CfgAmmo class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball { ACE_caliber=0.005588; - ACE_bulletLength=0.85; + ACE_bulletLength=0.02159; ACE_bulletMass=49.8; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -33,7 +33,7 @@ class CfgAmmo class rhs_B_762x54_Ball: B_762x51_Ball { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -46,7 +46,7 @@ class CfgAmmo class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=149; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -59,7 +59,7 @@ class CfgAmmo class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball { ACE_caliber=0.007925; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=152; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -72,7 +72,7 @@ class CfgAmmo class rhs_B_762x39_Ball: B_762x51_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=123; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -85,7 +85,7 @@ class CfgAmmo class rhs_B_762x39_Tracer: rhs_B_762x39_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=117; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -99,7 +99,7 @@ class CfgAmmo class rhs_B_9x19_7N21: B_9x21_Ball { ACE_caliber=0.009017; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=80.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.14}; @@ -112,7 +112,7 @@ class CfgAmmo class rhs_B_9x18_57N181S: B_9x21_Ball { ACE_caliber=0.009271; - ACE_bulletLength=0.610; + ACE_bulletLength=0.015494; ACE_bulletMass=92.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index 9a81abd2c3..14c3157adf 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class rhsusf_B_300winmag: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.489; + ACE_bulletLength=0.037821; ACE_bulletMass=220; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -19,7 +19,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=62; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -32,7 +32,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball { ACE_caliber=0.00569; - ACE_bulletLength=0.906; + ACE_bulletLength=0.023012; ACE_bulletMass=77; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -45,7 +45,7 @@ class CfgAmmo class rhs_ammo_762x51_M80_Ball: BulletBase { ACE_caliber=0.007823; - ACE_bulletLength=1.14; + ACE_bulletLength=0.028956; ACE_bulletMass=146; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -58,7 +58,7 @@ class CfgAmmo class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=175; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -71,7 +71,7 @@ class CfgAmmo class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball { ACE_caliber=0.007823; - ACE_bulletLength=1.24; + ACE_bulletLength=0.031496; ACE_bulletMass=127; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.377}; @@ -84,7 +84,7 @@ class CfgAmmo class rhs_ammo_45ACP_MHP: BulletBase { ACE_caliber=0.011481; - ACE_bulletLength=0.68; + ACE_bulletLength=0.017272; ACE_bulletMass=230; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; From 27c8255987f3e8f82ac86191999cd325adb2cd23 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:33:17 +0200 Subject: [PATCH 348/478] Convert ACE_bulletMass to grams --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgAmmo.hpp | 92 ++-- addons/overheating/functions/fnc_overheat.sqf | 2 +- extras/CfgAmmoReference.hpp | 412 +++++++++--------- optionals/compat_cup/CfgAmmo.hpp | 64 +-- optionals/compat_hlcmods_core/CfgAmmo.hpp | 46 +- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- 11 files changed, 353 insertions(+), 353 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 941a4c8284..8f68ce6678 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -93,7 +93,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { _caliber = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); _bulletLength = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); -_bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); +_bulletMass = 15.432 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); _barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); _stabilityFactor = 1.5; diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 6486854f38..753c5ba8a1 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -27,7 +27,7 @@ class CfgAmmo { tracerEndTime = 1.579; //Time in seconds calculated with ballistics calculator ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -44,7 +44,7 @@ class CfgAmmo { typicalSpeed=836; ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -61,7 +61,7 @@ class CfgAmmo { typicalSpeed=886; ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -78,7 +78,7 @@ class CfgAmmo { typicalSpeed=886; ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=46; + ACE_bulletMass=2.9808; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -99,7 +99,7 @@ class CfgAmmo { typicalSpeed=880; ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -119,7 +119,7 @@ class CfgAmmo { tracerEndTime = 1.736; //Time in seconds calculated with ballistics calculator ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -133,7 +133,7 @@ class CfgAmmo { typicalSpeed=800; ACE_caliber=0.006706; ACE_bulletLength=0.032893; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.263}; ACE_velocityBoundaries[]={}; @@ -156,7 +156,7 @@ class CfgAmmo { caliber=0.9; ACE_caliber=0.006706; ACE_bulletLength=0.034646; - ACE_bulletMass=139; + ACE_bulletMass=9.0072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; ACE_velocityBoundaries[]={}; @@ -171,7 +171,7 @@ class CfgAmmo { caliber=1.1; ACE_caliber=0.006706; ACE_bulletLength=0.03622; - ACE_bulletMass=140; + ACE_bulletMass=9.072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.317}; ACE_velocityBoundaries[]={}; @@ -188,7 +188,7 @@ class CfgAmmo { tracerEndTime = 2.058; //Time in seconds calculated with ballistics calculator ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -208,7 +208,7 @@ class CfgAmmo { typicalSpeed=790; ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -224,7 +224,7 @@ class CfgAmmo { typicalSpeed=790; ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -240,7 +240,7 @@ class CfgAmmo { typicalSpeed=900; ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=130; + ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; ACE_velocityBoundaries[]={}; @@ -256,7 +256,7 @@ class CfgAmmo { typicalSpeed=930; ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=127; + ACE_bulletMass=8.2296; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.377}; ACE_velocityBoundaries[]={}; @@ -272,7 +272,7 @@ class CfgAmmo { typicalSpeed=320; ACE_caliber=0.007823; ACE_bulletLength=0.034036; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; ACE_velocityBoundaries[]={}; @@ -288,7 +288,7 @@ class CfgAmmo { hit=10; ACE_caliber=0.007823; ACE_bulletLength=0.030734; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.494}; ACE_velocityBoundaries[]={}; @@ -304,7 +304,7 @@ class CfgAmmo { hit=8; ACE_caliber=0.007214; ACE_bulletLength=0.038837; - ACE_bulletMass=180; + ACE_bulletMass=11.664; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.345}; ACE_velocityBoundaries[]={}; @@ -320,7 +320,7 @@ class CfgAmmo { hit=6; ACE_caliber=0.006172; ACE_bulletLength=0.032563; - ACE_bulletMass=180; + ACE_bulletMass=11.664; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.278}; ACE_velocityBoundaries[]={}; @@ -336,7 +336,7 @@ class CfgAmmo { typicalSpeed=900; ACE_caliber=0.007823; ACE_bulletLength=0.034366; - ACE_bulletMass=190; + ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.268}; ACE_velocityBoundaries[]={}; @@ -352,7 +352,7 @@ class CfgAmmo { typicalSpeed=867; ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.310}; ACE_velocityBoundaries[]={}; @@ -368,7 +368,7 @@ class CfgAmmo { typicalSpeed=853; ACE_caliber=0.007823; ACE_bulletLength=0.040691; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; ACE_velocityBoundaries[]={}; @@ -382,7 +382,7 @@ class CfgAmmo { typicalSpeed=820; ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -398,7 +398,7 @@ class CfgAmmo { typicalSpeed=820; ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -417,7 +417,7 @@ class CfgAmmo { tracerEndTime = 3; ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -433,7 +433,7 @@ class CfgAmmo { typicalSpeed=790; ACE_caliber=0.007823; ACE_bulletLength=0.029286; - ACE_bulletMass=125; + ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; ACE_velocityBoundaries[]={792, 610, 488}; @@ -449,7 +449,7 @@ class CfgAmmo { typicalSpeed=716; ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -467,7 +467,7 @@ class CfgAmmo { tracerEndTime = 2.082; //Time in seconds calculated with ballistics calculator ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -482,7 +482,7 @@ class CfgAmmo { hit=6; ACE_caliber=0.009042; ACE_bulletLength=0.015494; - ACE_bulletMass=115; + ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; ACE_velocityBoundaries[]={}; @@ -497,7 +497,7 @@ class CfgAmmo { typicalSpeed=298; ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -512,7 +512,7 @@ class CfgAmmo { hit=6; ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -527,7 +527,7 @@ class CfgAmmo { hit=7; ACE_caliber=0.0127; ACE_bulletLength=0.019406; - ACE_bulletMass=165; + ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; ACE_velocityBoundaries[]={}; @@ -542,7 +542,7 @@ class CfgAmmo { hit=7; ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -557,7 +557,7 @@ class CfgAmmo { caliber=2.0; ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -571,7 +571,7 @@ class CfgAmmo { typicalSpeed=880; ACE_caliber=0.009296; ACE_bulletLength=0.03429; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; ACE_velocityBoundaries[]={}; @@ -586,7 +586,7 @@ class CfgAmmo { typicalSpeed=910; ACE_caliber=0.010363; ACE_bulletLength=0.054; - ACE_bulletMass=410; + ACE_bulletMass=26.568; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.97}; @@ -600,7 +600,7 @@ class CfgAmmo { timeToLive=10; ACE_caliber=0.010566; ACE_bulletLength=0.053061; - ACE_bulletMass=398; + ACE_bulletMass=25.7904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.72}; ACE_velocityBoundaries[]={}; @@ -615,7 +615,7 @@ class CfgAmmo { typicalSpeed=915; ACE_caliber=0.008585; ACE_bulletLength=0.039573; - ACE_bulletMass=250; + ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.322}; ACE_velocityBoundaries[]={}; @@ -629,7 +629,7 @@ class CfgAmmo { typicalSpeed=820; ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; @@ -644,7 +644,7 @@ class CfgAmmo { typicalSpeed=826; ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; @@ -660,7 +660,7 @@ class CfgAmmo { typicalSpeed=826; ACE_caliber=0.008585; ACE_bulletLength=0.038989; - ACE_bulletMass=253; + ACE_bulletMass=16.3944; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; ACE_velocityBoundaries[]={}; @@ -674,7 +674,7 @@ class CfgAmmo { typicalSpeed=300; ACE_caliber=0.012954; ACE_bulletLength=0.064516; - ACE_bulletMass=750; + ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={1.050}; ACE_velocityBoundaries[]={}; @@ -689,7 +689,7 @@ class CfgAmmo { typicalSpeed=900; ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=647; + ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -706,7 +706,7 @@ class CfgAmmo { caliber=4.0; ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=648; + ACE_bulletMass=41.9904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -722,7 +722,7 @@ class CfgAmmo { caliber=3.0; ACE_caliber=0.012954; ACE_bulletLength=0.064516; - ACE_bulletMass=750; + ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.050}; ACE_velocityBoundaries[]={}; @@ -737,7 +737,7 @@ class CfgAmmo { typicalSpeed=820; ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -751,7 +751,7 @@ class CfgAmmo { typicalSpeed=250; ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; diff --git a/addons/overheating/functions/fnc_overheat.sqf b/addons/overheating/functions/fnc_overheat.sqf index 05e5bbba9c..0d52d9102f 100644 --- a/addons/overheating/functions/fnc_overheat.sqf +++ b/addons/overheating/functions/fnc_overheat.sqf @@ -41,7 +41,7 @@ if (_bulletMass == 0) then { // If the bullet mass is not configured, estimate it directly in grams _bulletMass = 3.4334 + 0.5171 * (getNumber (configFile >> "CfgAmmo" >> _ammo >> "hit") + getNumber (configFile >> "CfgAmmo" >> _ammo >> "caliber")); }; -_energyIncrement = 0.75 * 0.0005 * _bulletMass * (vectorMagnitudeSqr _velocity); +_energyIncrement = 0.75 * 0.0005 * 15.4323 * _bulletMass * (vectorMagnitudeSqr _velocity); _barrelMass = 0.50 * (getNumber (configFile >> "CfgWeapons" >> _weapon >> "WeaponSlotsInfo" >> "mass") / 22.0) max 1.0; // Calculate cooling diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index de8429036f..409109d25b 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -7,7 +7,7 @@ class CfgAmmo typicalSpeed=750; ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -24,7 +24,7 @@ class CfgAmmo typicalSpeed=836; ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -41,7 +41,7 @@ class CfgAmmo typicalSpeed=886; ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -62,7 +62,7 @@ class CfgAmmo typicalSpeed=880; ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -80,7 +80,7 @@ class CfgAmmo typicalSpeed=883; ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -94,7 +94,7 @@ class CfgAmmo typicalSpeed=800; ACE_caliber=0.006706; ACE_bulletLength=0.032893; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.263}; ACE_velocityBoundaries[]={}; @@ -117,7 +117,7 @@ class CfgAmmo typicalSpeed=820 ; ACE_caliber=0.006706; ACE_bulletLength=0.034646; - ACE_bulletMass=139; + ACE_bulletMass=9.0072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; ACE_velocityBoundaries[]={}; @@ -132,7 +132,7 @@ class CfgAmmo hit=9; ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -152,7 +152,7 @@ class CfgAmmo typicalSpeed=790; ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -168,7 +168,7 @@ class CfgAmmo typicalSpeed=890; ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=130; + ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; ACE_velocityBoundaries[]={}; @@ -184,7 +184,7 @@ class CfgAmmo typicalSpeed=790; ACE_caliber=0.007823; ACE_bulletLength=0.034036; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; ACE_velocityBoundaries[]={}; @@ -200,7 +200,7 @@ class CfgAmmo typicalSpeed=900; ACE_caliber=0.007823; ACE_bulletLength=0.034366; - ACE_bulletMass=190; + ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.268}; ACE_velocityBoundaries[]={}; @@ -216,7 +216,7 @@ class CfgAmmo typicalSpeed=867; ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; ACE_velocityBoundaries[]={}; @@ -232,7 +232,7 @@ class CfgAmmo typicalSpeed=853; ACE_caliber=0.007823; ACE_bulletLength=0.040691; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; ACE_velocityBoundaries[]={}; @@ -246,7 +246,7 @@ class CfgAmmo typicalSpeed=820; ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -262,7 +262,7 @@ class CfgAmmo typicalSpeed=820; ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -279,7 +279,7 @@ class CfgAmmo typicalSpeed=800; ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -295,7 +295,7 @@ class CfgAmmo typicalSpeed=790; ACE_caliber=0.007823; ACE_bulletLength=0.029286; - ACE_bulletMass=125; + ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; ACE_velocityBoundaries[]={792, 610, 488}; @@ -310,7 +310,7 @@ class CfgAmmo typicalSpeed=716; ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -325,7 +325,7 @@ class CfgAmmo typicalSpeed=716; ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -340,7 +340,7 @@ class CfgAmmo hit=6; ACE_caliber=0.009042; ACE_bulletLength=0.015494; - ACE_bulletMass=115; + ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; ACE_velocityBoundaries[]={}; @@ -355,7 +355,7 @@ class CfgAmmo typicalSpeed=298; ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -370,7 +370,7 @@ class CfgAmmo hit=6; ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -385,7 +385,7 @@ class CfgAmmo hit=7; ACE_caliber=0.0127; ACE_bulletLength=0.019406; - ACE_bulletMass=165; + ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; ACE_velocityBoundaries[]={}; @@ -400,7 +400,7 @@ class CfgAmmo hit=7; ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -414,7 +414,7 @@ class CfgAmmo typicalSpeed=761; ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -428,7 +428,7 @@ class CfgAmmo typicalSpeed=880; ACE_caliber=0.009296; ACE_bulletLength=0.03429; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -444,7 +444,7 @@ class CfgAmmo typicalSpeed=910; ACE_caliber=0.010363; ACE_bulletLength=0.054; - ACE_bulletMass=410; + ACE_bulletMass=26.568; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.97}; @@ -458,7 +458,7 @@ class CfgAmmo timeToLive=10; ACE_caliber=0.010566; ACE_bulletLength=0.053061; - ACE_bulletMass=398; + ACE_bulletMass=25.7904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.72}; ACE_velocityBoundaries[]={}; @@ -473,7 +473,7 @@ class CfgAmmo typicalSpeed=915; ACE_caliber=0.008585; ACE_bulletLength=0.039573; - ACE_bulletMass=250; + ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.322}; ACE_velocityBoundaries[]={}; @@ -487,7 +487,7 @@ class CfgAmmo typicalSpeed=820; ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; @@ -503,7 +503,7 @@ class CfgAmmo typicalSpeed=826; ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; @@ -519,7 +519,7 @@ class CfgAmmo typicalSpeed=826; ACE_caliber=0.008585; ACE_bulletLength=0.038989; - ACE_bulletMass=253; + ACE_bulletMass=16.3944; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; ACE_velocityBoundaries[]={}; @@ -533,7 +533,7 @@ class CfgAmmo typicalSpeed=300; ACE_caliber=0.012954; ACE_bulletLength=0.064516; - ACE_bulletMass=750; + ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={1.050}; ACE_velocityBoundaries[]={}; @@ -548,7 +548,7 @@ class CfgAmmo typicalSpeed=853; ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=647; + ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -563,7 +563,7 @@ class CfgAmmo typicalSpeed=860; ACE_caliber=0.012954; ACE_bulletLength=0.064516; - ACE_bulletMass=750; + ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.050}; ACE_velocityBoundaries[]={}; @@ -578,7 +578,7 @@ class CfgAmmo typicalSpeed=820; ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -592,7 +592,7 @@ class CfgAmmo typicalSpeed=250; ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -606,7 +606,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; ACE_velocityBoundaries[]={853, 549, 549, 549}; @@ -620,7 +620,7 @@ class CfgAmmo { ACE_caliber=0.0127; ACE_bulletLength=0.028194; - ACE_bulletMass=325; + ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.228}; ACE_velocityBoundaries[]={}; @@ -633,7 +633,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.022733; - ACE_bulletMass=325; + ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.171}; ACE_velocityBoundaries[]={}; @@ -646,7 +646,7 @@ class CfgAmmo { ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -659,7 +659,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -672,7 +672,7 @@ class CfgAmmo { ACE_caliber=0.01016; ACE_bulletLength=0.011354; - ACE_bulletMass=135; + ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.105, 0.115, 0.120, 0.105}; ACE_velocityBoundaries[]={365, 305, 259}; @@ -685,7 +685,7 @@ class CfgAmmo { ACE_caliber=0.010897; ACE_bulletLength=0.020422; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; ACE_velocityBoundaries[]={}; @@ -698,7 +698,7 @@ class CfgAmmo { ACE_caliber=0.009068; ACE_bulletLength=0.013741; - ACE_bulletMass=125; + ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.148}; ACE_velocityBoundaries[]={}; @@ -711,7 +711,7 @@ class CfgAmmo { ACE_caliber=0.007874; ACE_bulletLength=0.013856; - ACE_bulletMass=86; + ACE_bulletMass=5.5728; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; ACE_velocityBoundaries[]={}; @@ -724,7 +724,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -737,7 +737,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -750,7 +750,7 @@ class CfgAmmo { ACE_caliber=0.005664; ACE_bulletLength=0.01143; - ACE_bulletMass=38; + ACE_bulletMass=2.4624; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.111}; ACE_velocityBoundaries[]={}; @@ -763,7 +763,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.012573; - ACE_bulletMass=28; + ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; ACE_velocityBoundaries[]={}; @@ -777,7 +777,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -790,7 +790,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -803,7 +803,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015316; - ACE_bulletMass=147; + ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.212}; ACE_velocityBoundaries[]={}; @@ -816,7 +816,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.011303; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.26}; ACE_velocityBoundaries[]={}; @@ -829,7 +829,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.152}; ACE_velocityBoundaries[]={}; @@ -842,7 +842,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -855,7 +855,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -868,7 +868,7 @@ class CfgAmmo { ACE_caliber=0.007036; ACE_bulletLength=0.024359; - ACE_bulletMass=115; + ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.162}; ACE_velocityBoundaries[]={}; @@ -881,7 +881,7 @@ class CfgAmmo { ACE_caliber=0.007036; ACE_bulletLength=0.03175; - ACE_bulletMass=135; + ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.253}; ACE_velocityBoundaries[]={}; @@ -894,7 +894,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028397; - ACE_bulletMass=147; + ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; ACE_velocityBoundaries[]={}; @@ -907,7 +907,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.029286; - ACE_bulletMass=125; + ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; ACE_velocityBoundaries[]={792, 610, 488}; @@ -920,7 +920,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; ACE_velocityBoundaries[]={}; @@ -933,7 +933,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -946,7 +946,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -959,7 +959,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.02728; - ACE_bulletMass=130; + ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.277}; ACE_velocityBoundaries[]={}; @@ -972,7 +972,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.034036; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.252}; ACE_velocityBoundaries[]={}; @@ -986,7 +986,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -999,7 +999,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -1012,7 +1012,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.152}; ACE_velocityBoundaries[]={}; @@ -1025,7 +1025,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028397; - ACE_bulletMass=147; + ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; ACE_velocityBoundaries[]={}; @@ -1038,7 +1038,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; ACE_velocityBoundaries[]={}; @@ -1051,7 +1051,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.034036; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; ACE_velocityBoundaries[]={}; @@ -1064,7 +1064,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -1077,7 +1077,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -1090,7 +1090,7 @@ class CfgAmmo { ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -1103,7 +1103,7 @@ class CfgAmmo { ACE_caliber=0.008077; ACE_bulletLength=0.028651; - ACE_bulletMass=196; + ACE_bulletMass=12.7008; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.315}; ACE_velocityBoundaries[]={}; @@ -1116,7 +1116,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1127,7 +1127,7 @@ class CfgAmmo }; class FH_545x39_7u1: FH_545x39_Ball { - ACE_bulletMass=80; + ACE_bulletMass=5.184; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_muzzleVelocities[]={260, 303, 320}; ACE_barrelLengths[]={10, 16.3, 20}; @@ -1136,7 +1136,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1157,7 +1157,7 @@ class CfgAmmo { ACE_caliber=0.0127; ACE_bulletLength=0.019406; - ACE_bulletMass=165; + ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; ACE_velocityBoundaries[]={}; @@ -1170,7 +1170,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1184,7 +1184,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1197,7 +1197,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1210,7 +1210,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -1223,7 +1223,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -1236,7 +1236,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1249,7 +1249,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1262,7 +1262,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1275,7 +1275,7 @@ class CfgAmmo { ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -1288,7 +1288,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1301,7 +1301,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1314,7 +1314,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; ACE_velocityBoundaries[]={853, 549, 549, 549}; @@ -1327,7 +1327,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.034366; - ACE_bulletMass=190; + ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.268}; ACE_velocityBoundaries[]={}; @@ -1340,7 +1340,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; ACE_velocityBoundaries[]={}; @@ -1353,7 +1353,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.040691; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; ACE_velocityBoundaries[]={}; @@ -1366,7 +1366,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -1379,7 +1379,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -1392,7 +1392,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; ACE_velocityBoundaries[]={853, 549, 549, 549}; @@ -1405,7 +1405,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1419,7 +1419,7 @@ class CfgAmmo { ACE_caliber=0.004902; ACE_bulletLength=0.013005; - ACE_bulletMass=31; + ACE_bulletMass=2.0088; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.1455}; ACE_velocityBoundaries[]={}; @@ -1433,7 +1433,7 @@ class CfgAmmo { ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; @@ -1446,7 +1446,7 @@ class CfgAmmo { ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -1460,7 +1460,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -1473,7 +1473,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -1486,7 +1486,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1499,7 +1499,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1512,7 +1512,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1525,7 +1525,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -1538,7 +1538,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -1551,7 +1551,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -1564,7 +1564,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1577,7 +1577,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1590,7 +1590,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1603,7 +1603,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; ACE_velocityBoundaries[]={}; @@ -1617,7 +1617,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1630,7 +1630,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -1643,7 +1643,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1656,7 +1656,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; ACE_velocityBoundaries[]={853, 549, 549, 549}; @@ -1669,7 +1669,7 @@ class CfgAmmo { ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=647; + ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -1682,7 +1682,7 @@ class CfgAmmo { ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=647; + ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -1696,7 +1696,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1709,7 +1709,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1722,7 +1722,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1735,7 +1735,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1748,7 +1748,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -1761,7 +1761,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1774,7 +1774,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1787,7 +1787,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -1800,7 +1800,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -1813,7 +1813,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -1826,7 +1826,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -1839,7 +1839,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -1852,7 +1852,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -1865,7 +1865,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -1878,7 +1878,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1891,7 +1891,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1904,7 +1904,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -1917,7 +1917,7 @@ class CfgAmmo { ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -1930,7 +1930,7 @@ class CfgAmmo { ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -1943,7 +1943,7 @@ class CfgAmmo { ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -1956,7 +1956,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -1969,7 +1969,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -1982,7 +1982,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -1995,7 +1995,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -2008,7 +2008,7 @@ class CfgAmmo { ACE_caliber=0.009246; ACE_bulletLength=0.031496; - ACE_bulletMass=250; + ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2021,7 +2021,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2034,7 +2034,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2047,7 +2047,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2060,7 +2060,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2073,7 +2073,7 @@ class CfgAmmo { ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -2086,7 +2086,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2099,7 +2099,7 @@ class CfgAmmo { ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -2112,7 +2112,7 @@ class CfgAmmo { ACE_caliber=0.014884; ACE_bulletLength=0.0508; - ACE_bulletMass=1010; + ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; ACE_velocityBoundaries[]={}; @@ -2125,7 +2125,7 @@ class CfgAmmo { ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=647; + ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -2138,7 +2138,7 @@ class CfgAmmo { ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; @@ -2152,7 +2152,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2165,7 +2165,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2178,7 +2178,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2191,7 +2191,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2204,7 +2204,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2217,7 +2217,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -2230,7 +2230,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -2243,7 +2243,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -2256,7 +2256,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -2269,7 +2269,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -2282,7 +2282,7 @@ class CfgAmmo { ACE_caliber=0.009246; ACE_bulletLength=0.031496; - ACE_bulletMass=250; + ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2295,7 +2295,7 @@ class CfgAmmo { ACE_caliber=0.009246; ACE_bulletLength=0.031496; - ACE_bulletMass=250; + ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2308,7 +2308,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -2321,7 +2321,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -2334,7 +2334,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -2347,7 +2347,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -2360,7 +2360,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -2373,7 +2373,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2386,7 +2386,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2399,7 +2399,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2412,7 +2412,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2425,7 +2425,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2438,7 +2438,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2451,7 +2451,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.013462; - ACE_bulletMass=143; + ACE_bulletMass=9.2664; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2464,7 +2464,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -2477,7 +2477,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -2490,7 +2490,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -2503,7 +2503,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -2516,7 +2516,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -2529,7 +2529,7 @@ class CfgAmmo { ACE_caliber=0.014884; ACE_bulletLength=0.0508; - ACE_bulletMass=1010; + ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; ACE_velocityBoundaries[]={}; @@ -2542,7 +2542,7 @@ class CfgAmmo { ACE_caliber=0.006096; ACE_bulletLength=0.006096; - ACE_bulletMass=6; + ACE_bulletMass=0.3888; ACE_ammoTempMuzzleVelocityShifts[]={}; ACE_ballisticCoefficients[]={}; ACE_velocityBoundaries[]={}; @@ -2555,7 +2555,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -2568,7 +2568,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2581,7 +2581,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2594,7 +2594,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2607,7 +2607,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2620,7 +2620,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2633,7 +2633,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2646,7 +2646,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -2659,7 +2659,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -2672,7 +2672,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2685,7 +2685,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2698,7 +2698,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2711,7 +2711,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -2724,7 +2724,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -2737,7 +2737,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -2750,7 +2750,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -2763,7 +2763,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -2776,7 +2776,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -2789,7 +2789,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.005842; - ACE_bulletMass=3; + ACE_bulletMass=0.1944; ACE_ammoTempMuzzleVelocityShifts[]={}; ACE_ballisticCoefficients[]={}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index 793d2d03fb..00151cddb8 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -7,7 +7,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -20,7 +20,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -33,7 +33,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -46,7 +46,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -59,7 +59,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -72,7 +72,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -85,7 +85,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -98,7 +98,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -111,7 +111,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -124,7 +124,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -137,7 +137,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -150,7 +150,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -163,7 +163,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -176,7 +176,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -189,7 +189,7 @@ class CfgAmmo { ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -202,7 +202,7 @@ class CfgAmmo { ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -215,7 +215,7 @@ class CfgAmmo { ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -228,7 +228,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -241,7 +241,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -254,7 +254,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -267,7 +267,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -280,7 +280,7 @@ class CfgAmmo { ACE_caliber=0.009246; ACE_bulletLength=0.031496; - ACE_bulletMass=250; + ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -293,7 +293,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -306,7 +306,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -319,7 +319,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -332,7 +332,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -345,7 +345,7 @@ class CfgAmmo { ACE_caliber=0.012979; ACE_bulletLength=0.064008; - ACE_bulletMass=745; + ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; ACE_velocityBoundaries[]={}; @@ -358,7 +358,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -371,7 +371,7 @@ class CfgAmmo { ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -384,7 +384,7 @@ class CfgAmmo { ACE_caliber=0.014884; ACE_bulletLength=0.0508; - ACE_bulletMass=1010; + ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; ACE_velocityBoundaries[]={}; @@ -397,7 +397,7 @@ class CfgAmmo { ACE_caliber=0.012954; ACE_bulletLength=0.058674; - ACE_bulletMass=647; + ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; @@ -410,7 +410,7 @@ class CfgAmmo { ACE_caliber=0.008585; ACE_bulletLength=0.04318; - ACE_bulletMass=300; + ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index 9da1f56803..680afacfd6 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -10,7 +10,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -23,7 +23,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -36,7 +36,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -49,7 +49,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028397; - ACE_bulletMass=147; + ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; ACE_velocityBoundaries[]={}; @@ -62,7 +62,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; ACE_velocityBoundaries[]={}; @@ -75,7 +75,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -88,7 +88,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -101,7 +101,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -114,7 +114,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.034036; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; ACE_velocityBoundaries[]={}; @@ -127,7 +127,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -140,7 +140,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -153,7 +153,7 @@ class CfgAmmo { ACE_caliber=0.007899; ACE_bulletLength=0.031166; - ACE_bulletMass=174; + ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; ACE_velocityBoundaries[]={671, 549}; @@ -166,7 +166,7 @@ class CfgAmmo { ACE_caliber=0.008077; ACE_bulletLength=0.028651; - ACE_bulletMass=196; + ACE_bulletMass=12.7008; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.315}; ACE_velocityBoundaries[]={}; @@ -185,7 +185,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -196,7 +196,7 @@ class CfgAmmo }; class FH_545x39_7u1: FH_545x39_Ball { - ACE_bulletMass=80; + ACE_bulletMass=5.184; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_muzzleVelocities[]={260, 303, 320}; ACE_barrelLengths[]={10, 16.3, 20}; @@ -205,7 +205,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.012573; - ACE_bulletMass=28; + ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; ACE_velocityBoundaries[]={}; @@ -218,7 +218,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -231,7 +231,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -252,7 +252,7 @@ class CfgAmmo { ACE_caliber=0.0127; ACE_bulletLength=0.019406; - ACE_bulletMass=165; + ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; ACE_velocityBoundaries[]={}; @@ -265,7 +265,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -278,7 +278,7 @@ class CfgAmmo { ACE_caliber=0.010897; ACE_bulletLength=0.020422; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; ACE_velocityBoundaries[]={}; @@ -291,7 +291,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.03175; - ACE_bulletMass=350; + ACE_bulletMass=22.68; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.056}; ACE_velocityBoundaries[]={}; @@ -304,7 +304,7 @@ class CfgAmmo { ACE_caliber=0.012954; ACE_bulletLength=0.060452; - ACE_bulletMass=660; + ACE_bulletMass=42.768; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index 3204523bd8..10547b04fd 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -6,7 +6,7 @@ class CfgAmmo { ACE_caliber=0.0127; ACE_bulletLength=0.028194; - ACE_bulletMass=325; + ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.228}; ACE_velocityBoundaries[]={}; @@ -19,7 +19,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.022733; - ACE_bulletMass=325; + ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.171}; ACE_velocityBoundaries[]={}; @@ -32,7 +32,7 @@ class CfgAmmo { ACE_caliber=0.007938; ACE_bulletLength=0.015494; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; ACE_velocityBoundaries[]={}; @@ -45,7 +45,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; @@ -58,7 +58,7 @@ class CfgAmmo { ACE_caliber=0.01016; ACE_bulletLength=0.011354; - ACE_bulletMass=135; + ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.105, 0.115, 0.120, 0.105}; ACE_velocityBoundaries[]={365, 305, 259}; @@ -71,7 +71,7 @@ class CfgAmmo { ACE_caliber=0.010897; ACE_bulletLength=0.020422; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; ACE_velocityBoundaries[]={}; @@ -84,7 +84,7 @@ class CfgAmmo { ACE_caliber=0.009068; ACE_bulletLength=0.013741; - ACE_bulletMass=125; + ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.148}; ACE_velocityBoundaries[]={}; @@ -97,7 +97,7 @@ class CfgAmmo { ACE_caliber=0.007874; ACE_bulletLength=0.013856; - ACE_bulletMass=86; + ACE_bulletMass=5.5728; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; ACE_velocityBoundaries[]={}; @@ -110,7 +110,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; @@ -123,7 +123,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -136,7 +136,7 @@ class CfgAmmo { ACE_caliber=0.005664; ACE_bulletLength=0.01143; - ACE_bulletMass=38; + ACE_bulletMass=2.4624; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.111}; ACE_velocityBoundaries[]={}; @@ -149,7 +149,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.012573; - ACE_bulletMass=28; + ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index 9d7f4eec9f..8f8a5f3cf2 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -12,7 +12,7 @@ class CfgAmmo { { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -25,7 +25,7 @@ class CfgAmmo { { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=124; + ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; ACE_velocityBoundaries[]={}; @@ -38,7 +38,7 @@ class CfgAmmo { { ACE_caliber=0.009017; ACE_bulletLength=0.015316; - ACE_bulletMass=147; + ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.212}; ACE_velocityBoundaries[]={}; @@ -51,7 +51,7 @@ class CfgAmmo { { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; ACE_velocityBoundaries[]={}; @@ -64,7 +64,7 @@ class CfgAmmo { { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -77,7 +77,7 @@ class CfgAmmo { { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -90,7 +90,7 @@ class CfgAmmo { { ACE_caliber=0.007036; ACE_bulletLength=0.024359; - ACE_bulletMass=115; + ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.162}; ACE_velocityBoundaries[]={}; @@ -103,7 +103,7 @@ class CfgAmmo { { ACE_caliber=0.007036; ACE_bulletLength=0.03175; - ACE_bulletMass=135; + ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.253}; ACE_velocityBoundaries[]={}; @@ -116,7 +116,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.028397; - ACE_bulletMass=147; + ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; ACE_velocityBoundaries[]={}; @@ -129,7 +129,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.029286; - ACE_bulletMass=125; + ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; ACE_velocityBoundaries[]={792, 610, 488}; @@ -142,7 +142,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; ACE_velocityBoundaries[]={}; @@ -155,7 +155,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -168,7 +168,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -181,7 +181,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=130; + ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; ACE_velocityBoundaries[]={}; @@ -194,7 +194,7 @@ class CfgAmmo { { ACE_caliber=0.007823; ACE_bulletLength=0.034036; - ACE_bulletMass=200; + ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index 76850acf7b..e5877127c3 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -4,7 +4,7 @@ class RH_B_6x35: BulletBase { ACE_caliber=0.00569; ACE_bulletLength=0.011303; - ACE_bulletMass=65; + ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.26}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 1d7fc6bdae..914b2c7fef 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -7,7 +7,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=52.9; + ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -20,7 +20,7 @@ class CfgAmmo { ACE_caliber=0.005588; ACE_bulletLength=0.02159; - ACE_bulletMass=49.8; + ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; ACE_velocityBoundaries[]={}; @@ -34,7 +34,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -47,7 +47,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=149; + ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; ACE_velocityBoundaries[]={}; @@ -60,7 +60,7 @@ class CfgAmmo { ACE_caliber=0.007925; ACE_bulletLength=0.028956; - ACE_bulletMass=152; + ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; ACE_velocityBoundaries[]={}; @@ -73,7 +73,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=123; + ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -86,7 +86,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=117; + ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; ACE_velocityBoundaries[]={}; @@ -100,7 +100,7 @@ class CfgAmmo { ACE_caliber=0.009017; ACE_bulletLength=0.015494; - ACE_bulletMass=80.2; + ACE_bulletMass=5.19696; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.14}; ACE_velocityBoundaries[]={}; @@ -113,7 +113,7 @@ class CfgAmmo { ACE_caliber=0.009271; ACE_bulletLength=0.015494; - ACE_bulletMass=92.6; + ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; ACE_velocityBoundaries[]={}; diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index 14c3157adf..c6cb7c0097 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -6,7 +6,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.037821; - ACE_bulletMass=220; + ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; ACE_velocityBoundaries[]={}; @@ -20,7 +20,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=62; + ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; ACE_velocityBoundaries[]={}; @@ -33,7 +33,7 @@ class CfgAmmo { ACE_caliber=0.00569; ACE_bulletLength=0.023012; - ACE_bulletMass=77; + ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; ACE_velocityBoundaries[]={}; @@ -46,7 +46,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.028956; - ACE_bulletMass=146; + ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; ACE_velocityBoundaries[]={}; @@ -59,7 +59,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=175; + ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; ACE_velocityBoundaries[]={}; @@ -72,7 +72,7 @@ class CfgAmmo { ACE_caliber=0.007823; ACE_bulletLength=0.031496; - ACE_bulletMass=127; + ACE_bulletMass=8.2296; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.377}; ACE_velocityBoundaries[]={}; @@ -85,7 +85,7 @@ class CfgAmmo { ACE_caliber=0.011481; ACE_bulletLength=0.017272; - ACE_bulletMass=230; + ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; ACE_velocityBoundaries[]={}; From 68c912775304069c5cf7f7abe499ffe0b8e2157f Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:39:57 +0200 Subject: [PATCH 349/478] Convert ACE_barrelLengths to meters --- addons/ballistics/CfgAmmo.hpp | 92 ++--- extras/CfgAmmoReference.hpp | 412 +++++++++++----------- optionals/compat_cup/CfgAmmo.hpp | 64 ++-- optionals/compat_hlcmods_core/CfgAmmo.hpp | 46 +-- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- 9 files changed, 351 insertions(+), 351 deletions(-) diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 753c5ba8a1..8c47af9ac3 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -34,7 +34,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class ACE_556x45_Ball_Mk262 : B_556x45_Ball { airFriction=-0.001125; @@ -51,7 +51,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class ACE_556x45_Ball_Mk318 : B_556x45_Ball { airFriction=-0.001120; @@ -68,7 +68,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class ACE_556x45_Ball_M995_AP : B_556x45_Ball { airFriction=-0.001120; @@ -85,7 +85,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={950, 1030, 1040}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class B_556x45_Ball_Tracer_Red; class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red { @@ -106,7 +106,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_556x45_Ball_Tracer_Green; class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Green { @@ -126,7 +126,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_65x39_Caseless : BulletBase { airFriction=-0.000785; @@ -140,7 +140,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 788, 800, 810, 830}; - ACE_barrelLengths[]={10, 16, 20, 24, 26, 30}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604, 0.762}; }; class B_65x39_Case_yellow; class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { @@ -163,7 +163,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 790, 820, 830}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_65_Creedmor_Ball: B_65x39_Caseless { airFriction=-0.000651; @@ -178,7 +178,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 820, 840, 852, 860}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class B_762x51_Ball : BulletBase { airFriction=-0.001035; @@ -195,7 +195,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class B_762x51_Tracer_Yellow; class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow { @@ -215,7 +215,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x51_Ball_Mk316_Mod_0 : B_762x51_Ball { airFriction=-0.0008525; @@ -231,7 +231,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={775, 790, 805, 810}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball { airFriction=-0.00103; @@ -247,7 +247,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 910}; - ACE_barrelLengths[]={13, 16, 20}; + ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; }; class ACE_762x51_Ball_M993_AP : B_762x51_Ball { airFriction=-0.00103; @@ -263,7 +263,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={875, 910, 930}; - ACE_barrelLengths[]={13, 16, 20}; + ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; }; class ACE_762x51_Ball_Subsonic : B_762x51_Ball { airFriction=-0.000535; @@ -279,7 +279,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_30_06_M1_Ball : B_762x51_Ball { airFriction=-0.0009; @@ -295,7 +295,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 785, 800, 830, 840}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_7_Remington_Magnum_Ball : B_762x51_Ball { airFriction=-0.0008; @@ -311,7 +311,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={720, 780, 812, 822, 830}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_243_Winchester_Ball : B_762x51_Ball { airFriction=-0.00095; @@ -327,7 +327,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={830, 875, 900, 915, 920}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { airFriction=-0.000830; @@ -343,7 +343,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={865, 900, 924}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { airFriction=-0.000815; @@ -359,7 +359,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { airFriction=-0.00076; @@ -375,7 +375,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 853, 884}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; @@ -389,7 +389,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x54_Ball_7N14 : B_762x51_Ball { airFriction=-0.001023; @@ -405,7 +405,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class B_762x54_Tracer_Green; class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green { @@ -424,7 +424,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x35_Ball : B_762x51_Ball { airFriction=-0.000821; @@ -440,7 +440,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={620, 655, 675}; - ACE_barrelLengths[]={9, 16, 20}; + ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; }; class ACE_762x39_Ball : B_762x51_Ball { airFriction=-0.0015168; @@ -456,7 +456,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class ACE_762x39_Ball_57N231P : B_762x54_Tracer_Green { airFriction=-0.0015168; @@ -474,7 +474,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_9x21_Ball : BulletBase { airFriction=-0.00125; @@ -489,7 +489,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={440, 460, 480}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class ACE_9x18_Ball_57N181S : B_9x21_Ball { hit=5; @@ -504,7 +504,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class ACE_9x19_Ball : B_9x21_Ball { airFriction=-0.001234; @@ -519,7 +519,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class ACE_10x25_Ball : B_9x21_Ball { airFriction=-0.00168; @@ -534,7 +534,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={4, 4.61, 9}; + ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; }; class ACE_765x17_Ball: B_9x21_Ball { airFriction=-0.001213; @@ -549,7 +549,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class ACE_303_Ball : ACE_762x51_Ball_M118LR { airFriction=-0.00083; @@ -564,7 +564,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_93x64_Ball : BulletBase { airFriction=-0.00106; @@ -578,7 +578,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={850, 870, 880}; - ACE_barrelLengths[]={20, 24.41, 26}; + ACE_barrelLengths[]={0.508, 0.620014, 0.6604}; }; class B_408_Ball : BulletBase { timeToLive=10; @@ -594,7 +594,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={910}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; @@ -607,7 +607,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={960}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class B_338_Ball : BulletBase { timeToLive=10; @@ -622,7 +622,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={20, 26, 28}; + ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; }; class B_338_NM_Ball : BulletBase { airFriction=-0.000537; @@ -636,7 +636,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={790, 807, 820}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class ACE_338_Ball : B_338_Ball { timeToLive=10; @@ -651,7 +651,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 820, 826, 830}; - ACE_barrelLengths[]={20, 24, 26.5, 28}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6731, 0.7112}; }; class ACE_338_Ball_API526 : B_338_Ball { timeToLive=10; @@ -667,7 +667,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={20, 26, 28}; + ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; }; class B_127x54_Ball : BulletBase { airFriction=-0.00014; @@ -681,7 +681,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={300}; - ACE_barrelLengths[]={17.2}; + ACE_barrelLengths[]={0.43688}; }; class B_127x99_Ball : BulletBase { timeToLive=10; @@ -696,7 +696,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={900}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class ACE_127x99_API : BulletBase { timeToLive=10; @@ -713,7 +713,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={900}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class ACE_127x99_Ball_AMAX : B_127x99_Ball { timeToLive=10; @@ -729,7 +729,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={860}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class B_127x108_Ball : BulletBase { timeToLive=10; @@ -744,7 +744,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; @@ -758,6 +758,6 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; }; diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index 409109d25b..1d2d5b2700 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -14,7 +14,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class ACE_556x45_Ball_Mk262 : B_556x45_Ball { airFriction=-0.001125; @@ -31,7 +31,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class ACE_556x45_Ball_Mk318 : B_556x45_Ball { airFriction=-0.001120; @@ -48,7 +48,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class B_556x45_Ball_Tracer_Red; class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red { @@ -69,7 +69,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_556x45_Ball_Tracer_Yellow; class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Yellow { @@ -87,7 +87,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_65x39_Caseless : BulletBase { airFriction=-0.000785; @@ -101,7 +101,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 788, 800, 810, 830}; - ACE_barrelLengths[]={10, 16, 20, 24, 26, 30}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604, 0.762}; }; class B_65x39_Case_yellow; class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { @@ -124,7 +124,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 790, 820, 830}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class B_762x51_Ball : BulletBase { airFriction=-0.001035; @@ -139,7 +139,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class B_762x51_Tracer_Yellow; class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow { @@ -159,7 +159,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball { airFriction=-0.00103; @@ -175,7 +175,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 910}; - ACE_barrelLengths[]={13, 16, 20}; + ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; }; class ACE_762x51_Ball_Subsonic : B_762x51_Ball { airFriction=-0.000535; @@ -191,7 +191,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { airFriction=-0.000830; @@ -207,7 +207,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={865, 900, 924}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { airFriction=-0.000815; @@ -223,7 +223,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { airFriction=-0.00076; @@ -239,7 +239,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 853, 884}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; @@ -253,7 +253,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x54_Ball_7N14 : B_762x51_Ball { airFriction=-0.001023; @@ -269,7 +269,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class B_762x54_Tracer_Green; class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green { @@ -286,7 +286,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class ACE_762x35_Ball : B_762x51_Ball { airFriction=-0.000821; @@ -302,7 +302,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={620, 655, 675}; - ACE_barrelLengths[]={9, 16, 20}; + ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; }; class ACE_762x39_Ball : B_762x51_Ball { airFriction=-0.0015168; @@ -317,7 +317,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class ACE_762x39_Ball_57N231P : B_762x51_Tracer_Yellow { airFriction=-0.0015168; @@ -332,7 +332,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_9x21_Ball : BulletBase { airFriction=-0.00125; @@ -347,7 +347,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={440, 460, 480}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class ACE_9x18_Ball_57N181S : B_9x21_Ball { hit=5; @@ -362,7 +362,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class ACE_9x19_Ball : B_9x21_Ball { airFriction=-0.001234; @@ -377,7 +377,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class ACE_10x25_Ball : B_9x21_Ball { airFriction=-0.00168; @@ -392,7 +392,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={4, 4.61, 9}; + ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; }; class ACE_765x17_Ball: B_9x21_Ball { airFriction=-0.001213; @@ -407,7 +407,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class ACE_303_Ball : ACE_762x51_Ball_M118LR { airFriction=-0.00083; @@ -421,7 +421,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_93x64_Ball : BulletBase { airFriction=-0.00106; @@ -436,7 +436,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={850, 870, 880}; - ACE_barrelLengths[]={20, 24.41, 26}; + ACE_barrelLengths[]={0.508, 0.620014, 0.6604}; }; class B_408_Ball : BulletBase { timeToLive=10; @@ -452,7 +452,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={910}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; @@ -465,7 +465,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={960}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class B_338_Ball : BulletBase { timeToLive=10; @@ -480,7 +480,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={20, 26, 28}; + ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; }; class B_338_NM_Ball : BulletBase { airFriction=-0.000537; @@ -494,7 +494,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={790, 807, 820}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class ACE_338_Ball : B_338_Ball { timeToLive=10; @@ -510,7 +510,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 820, 826, 830}; - ACE_barrelLengths[]={20, 24, 26.5, 28}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6731, 0.7112}; }; class ACE_338_Ball_API526 : B_338_Ball { timeToLive=10; @@ -526,7 +526,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={20, 26, 28}; + ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; }; class B_127x54_Ball : BulletBase { airFriction=-0.00014; @@ -540,7 +540,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={300}; - ACE_barrelLengths[]={17.2}; + ACE_barrelLengths[]={0.43688}; }; class B_127x99_Ball : BulletBase { timeToLive=10; @@ -555,7 +555,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class ACE_127x99_Ball_AMAX : B_127x99_Ball { timeToLive=10; @@ -570,7 +570,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={860}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class B_127x108_Ball : BulletBase { timeToLive=10; @@ -585,7 +585,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; @@ -599,7 +599,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class TMR_B_762x51_M118LR : B_762x51_Ball @@ -613,7 +613,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class RH_50_AE_Ball: BulletBase @@ -627,7 +627,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 398, 420}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_454_Casull: BulletBase { @@ -640,7 +640,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={450, 490, 500}; - ACE_barrelLengths[]={4, 7.5, 9}; + ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; }; class RH_32ACP: BulletBase { @@ -653,7 +653,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_45ACP: BulletBase { @@ -666,7 +666,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_B_40SW: BulletBase { @@ -679,7 +679,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_44mag_ball: BulletBase { @@ -692,7 +692,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 390, 420}; - ACE_barrelLengths[]={4, 7.5, 9}; + ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; }; class RH_357mag_ball: BulletBase { @@ -705,7 +705,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={490, 510, 535}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_762x25: BulletBase { @@ -718,7 +718,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_9x18_Ball: BulletBase { @@ -731,7 +731,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class RH_B_9x19_Ball: BulletBase { @@ -744,7 +744,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_B_22LR_SD: BulletBase { @@ -757,7 +757,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={330, 340, 360}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_57x28mm: BulletBase { @@ -770,7 +770,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={550, 625, 720}; - ACE_barrelLengths[]={4, 6, 10.35}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.26289}; }; class RH_9x19_B_M822: BulletBase @@ -784,7 +784,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_9x19_B_HP: BulletBase { @@ -797,7 +797,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_9x19_B_HPSB: BulletBase { @@ -810,7 +810,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={295, 310, 330}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_B_6x35: BulletBase { @@ -823,7 +823,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={730, 750, 760}; - ACE_barrelLengths[]={8, 10, 12}; + ACE_barrelLengths[]={0.2032, 0.254, 0.3048}; }; class RH_556x45_B_M855A1 : B_556x45_Ball { @@ -836,7 +836,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class RH_556x45_B_Mk262 : B_556x45_Ball { @@ -849,7 +849,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class RH_556x45_B_Mk318 : B_556x45_Ball { @@ -862,7 +862,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class RH_68x43_B_FMJ: B_65x39_Caseless { @@ -875,7 +875,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={713, 785, 810, 850}; - ACE_barrelLengths[]={12, 16, 20, 24}; + ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; }; class RH_68x43_B_Match: B_65x39_Caseless { @@ -888,7 +888,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 732, 750, 780}; - ACE_barrelLengths[]={12, 16, 20, 24}; + ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; }; class RH_762x35_B_FMJ: B_65x39_Caseless { @@ -901,7 +901,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={6, 16, 20}; + ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; }; class RH_762x35_B_Match: B_65x39_Caseless { @@ -914,7 +914,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={590, 650, 665}; - ACE_barrelLengths[]={6, 16, 20}; + ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; }; class RH_762x35_B_MSB: B_65x39_Caseless { @@ -927,7 +927,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={9, 16, 20}; + ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; }; class RH_762x51_B_M80A1 : B_762x51_Ball { @@ -940,7 +940,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class RH_762x51_B_Mk316LR : B_762x51_Ball { @@ -953,7 +953,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class RH_762x51_B_Mk319 : B_762x51_Ball { @@ -966,7 +966,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 920}; - ACE_barrelLengths[]={13, 16, 20}; + ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; }; class RH_762x51_B_LFMJSB: B_762x51_Ball { @@ -979,7 +979,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_556NATO_SOST: BulletBase @@ -993,7 +993,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class HLC_556NATO_SPR: BulletBase { @@ -1006,7 +1006,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class HLC_556NATO_EPR: BulletBase { @@ -1019,7 +1019,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class HLC_300Blackout_Ball: BulletBase { @@ -1032,7 +1032,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={6, 16, 20}; + ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; }; class HLC_300Blackout_SMK: BulletBase { @@ -1045,7 +1045,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={9, 16, 20}; + ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; }; class HLC_762x51_BTSub: BulletBase { @@ -1058,7 +1058,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_762x54_ball: BulletBase { @@ -1071,7 +1071,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_762x54_tracer: BulletBase { @@ -1084,7 +1084,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_303Brit_B: BulletBase { @@ -1097,7 +1097,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class HLC_792x57_Ball: BulletBase { @@ -1110,7 +1110,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={785, 800, 815}; - ACE_barrelLengths[]={20, 23.62, 26}; + ACE_barrelLengths[]={0.508, 0.599948, 0.6604}; }; class FH_545x39_Ball: BulletBase { @@ -1123,14 +1123,14 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class FH_545x39_7u1: FH_545x39_Ball { ACE_bulletMass=5.184; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_muzzleVelocities[]={260, 303, 320}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class HLC_9x19_Ball: BulletBase { @@ -1143,7 +1143,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class HLC_9x19_GoldDot: HLC_9x19_Ball { @@ -1164,7 +1164,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={4, 4.61, 9}; + ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; }; class HLC_9x19_M882_SMG: HLC_9x19_Ball { @@ -1177,7 +1177,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class M_mas_545x39_Ball_7N6M : BulletBase @@ -1191,7 +1191,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class M_mas_545x39_Ball_7T3M : BulletBase { @@ -1204,7 +1204,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_mas_556x45_Ball_Mk262 : B_556x45_Ball { @@ -1217,7 +1217,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class B_mas_9x18_Ball_57N181S : BulletBase { @@ -1230,7 +1230,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class B_mas_9x21p_Ball: BulletBase { @@ -1243,7 +1243,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class B_mas_9x21_Ball: BulletBase { @@ -1256,7 +1256,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class B_mas_9x21d_Ball: BulletBase { @@ -1269,7 +1269,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={210, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class B_mas_765x17_Ball: BulletBase { @@ -1282,7 +1282,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class B_mas_762x39_Ball: BulletBase { @@ -1295,7 +1295,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_mas_762x39_Ball_T: BulletBase { @@ -1308,7 +1308,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_mas_762x51_Ball_M118LR : B_762x51_Ball { @@ -1321,7 +1321,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class B_mas_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { @@ -1334,7 +1334,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={865, 900, 924}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_mas_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { @@ -1347,7 +1347,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 867, 900}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_mas_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { @@ -1360,7 +1360,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 853, 884}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_mas_762x54_Ball : BulletBase { @@ -1373,7 +1373,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class B_mas_762x54_Ball_T : BulletBase { @@ -1386,7 +1386,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class BWA3_B_762x51_Ball_LR : BulletBase { @@ -1399,7 +1399,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class BWA3_B_762x51_Ball_SD : BulletBase { @@ -1412,7 +1412,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={300, 340}; - ACE_barrelLengths[]={16, 24}; + ACE_barrelLengths[]={0.4064, 0.6096}; }; class BWA3_B_46x30_Ball : BulletBase @@ -1426,7 +1426,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 720, 730, 740}; - ACE_barrelLengths[]={4, 7, 9, 12}; + ACE_barrelLengths[]={0.1016, 0.1778, 0.2286, 0.3048}; }; class Trixie_338_Ball : BulletBase @@ -1440,7 +1440,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 826, 830}; - ACE_barrelLengths[]={24, 26.5, 28}; + ACE_barrelLengths[]={0.6096, 0.6731, 0.7112}; }; class Trixie_303_Ball : BulletBase { @@ -1453,7 +1453,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class rhs_ammo_556x45_Mk318_Ball : BulletBase @@ -1467,7 +1467,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class rhs_ammo_556x45_Mk262_Ball : BulletBase { @@ -1480,7 +1480,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class rhsammo_762x51_Ball : BulletBase { @@ -1493,7 +1493,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_545x39_Ball : BulletBase { @@ -1506,7 +1506,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class rhs_B_545x39_Ball_Tracer_Green : BulletBase { @@ -1519,7 +1519,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class rhs_ammo_762x51_M118_Special_Ball : BulletBase { @@ -1532,7 +1532,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_762x54_Ball : BulletBase { @@ -1545,7 +1545,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_762x54_Ball_Tracer_Green : BulletBase { @@ -1558,7 +1558,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_762x39_Ball : BulletBase { @@ -1571,7 +1571,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class rhs_B_762x39_Tracer : BulletBase { @@ -1584,7 +1584,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class rhs_ammo_762x51_M80_Ball : BulletBase { @@ -1597,7 +1597,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class rhsusf_B_300winmag : BulletBase { @@ -1610,7 +1610,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class R3F_9x19_Ball: BulletBase @@ -1624,7 +1624,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class R3F_556x45_Ball: BulletBase { @@ -1637,7 +1637,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class R3F_762x51_Ball: BulletBase { @@ -1650,7 +1650,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class R3F_762x51_Ball2: BulletBase { @@ -1663,7 +1663,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class R3F_127x99_Ball: BulletBase { @@ -1676,7 +1676,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class R3F_127x99_Ball2: BulletBase { @@ -1689,7 +1689,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class CUP_B_545x39_Ball: BulletBase @@ -1703,7 +1703,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_Green: BulletBase { @@ -1716,7 +1716,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { @@ -1729,7 +1729,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { @@ -1742,7 +1742,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { @@ -1755,7 +1755,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_762x39_Ball: BulletBase { @@ -1768,7 +1768,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { @@ -1781,7 +1781,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_762x39mm_KLT: BulletBase { @@ -1794,7 +1794,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_9x18_Ball: BulletBase { @@ -1807,7 +1807,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { @@ -1820,7 +1820,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { @@ -1833,7 +1833,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { @@ -1846,7 +1846,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { @@ -1859,7 +1859,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x19_Ball: BulletBase { @@ -1872,7 +1872,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class CUP_B_762x51_noTracer: BulletBase { @@ -1885,7 +1885,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase { @@ -1898,7 +1898,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase { @@ -1911,7 +1911,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_303_Ball: BulletBase { @@ -1924,7 +1924,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { @@ -1937,7 +1937,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { @@ -1950,7 +1950,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { @@ -1963,7 +1963,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { @@ -1976,7 +1976,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { @@ -1989,7 +1989,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { @@ -2002,7 +2002,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_9x39_SP5: BulletBase { @@ -2015,7 +2015,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_762x51_Tracer_Green: BulletBase { @@ -2028,7 +2028,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Tracer_Red: BulletBase { @@ -2041,7 +2041,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Tracer_Yellow: BulletBase { @@ -2054,7 +2054,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Tracer_White: BulletBase { @@ -2067,7 +2067,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class B_127x107_Ball: BulletBase { @@ -2080,7 +2080,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class CUP_B_9x18_SD: BulletBase { @@ -2093,7 +2093,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 340}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_765x17_Ball: BulletBase { @@ -2106,7 +2106,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { @@ -2119,7 +2119,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1000}; - ACE_barrelLengths[]={53}; + ACE_barrelLengths[]={1.3462}; }; class CUP_B_127x99_Ball_White_Tracer: BulletBase { @@ -2132,7 +2132,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class CUP_B_86x70_Ball_noTracer: BulletBase { @@ -2145,7 +2145,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 826, 830}; - ACE_barrelLengths[]={24, 26.5, 28}; + ACE_barrelLengths[]={0.6096, 0.6731, 0.7112}; }; class VTN_9x18_Ball_FMJ: B_9x21_Ball @@ -2159,7 +2159,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class VTN_9x18_Ball_SC: VTN_9x18_Ball_FMJ { @@ -2172,7 +2172,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class VTN_9x18_Ball_TRC: VTN_9x18_Ball_FMJ { @@ -2185,7 +2185,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class VTN_9x18_Ball_AP1: VTN_9x18_Ball_FMJ { @@ -2198,7 +2198,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class VTN_9x18_Ball_AP2: VTN_9x18_Ball_FMJ { @@ -2211,7 +2211,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class VTN_9x18_Ball_PRS: VTN_9x18_Ball_FMJ { @@ -2224,7 +2224,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class VTN_9x19_Ball_SC: VTN_9x18_Ball_FMJ { @@ -2237,7 +2237,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_9x19_Ball_TRC: VTN_9x19_Ball_SC { @@ -2250,7 +2250,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_9x19_Ball_AP: VTN_9x19_Ball_SC { @@ -2263,7 +2263,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_9x19_Ball_PRS: VTN_9x19_Ball_SC { @@ -2276,7 +2276,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_9x39_Ball_SC: B_9x21_Ball { @@ -2289,7 +2289,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_9x39_Ball_AP: VTN_9x39_Ball_SC { @@ -2302,7 +2302,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_545x39_Ball_SC: B_556x45_Ball { @@ -2315,7 +2315,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_545x39_Ball_TRC: VTN_545x39_Ball_SC { @@ -2328,7 +2328,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_545x39_Ball_AP: VTN_545x39_Ball_TRC { @@ -2341,7 +2341,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_545x39_Ball_AP2: VTN_545x39_Ball_AP { @@ -2354,7 +2354,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_545x39_Ball_SS: VTN_545x39_Ball_SC { @@ -2367,7 +2367,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x39_Ball_SC: B_762x51_Ball { @@ -2380,7 +2380,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x39_Ball_TRC: VTN_762x39_Ball_SC { @@ -2393,7 +2393,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x39_Ball_AP: VTN_762x39_Ball_TRC { @@ -2406,7 +2406,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x39_Ball_INC: VTN_762x39_Ball_AP { @@ -2419,7 +2419,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x39_Ball_API: VTN_762x39_Ball_INC { @@ -2432,7 +2432,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x39_Ball_SS: VTN_762x39_Ball_SC { @@ -2445,7 +2445,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_762x41_Ball_SS: B_762x51_Ball { @@ -2458,7 +2458,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={200, 210, 220}; - ACE_barrelLengths[]={4, 6, 8}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2032}; }; class VTN_762x54_Ball_SC: VTN_762x39_Ball_SC { @@ -2471,7 +2471,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x54_Ball_TRC: VTN_762x54_Ball_SC { @@ -2484,7 +2484,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x54_Ball_AP: VTN_762x54_Ball_TRC { @@ -2497,7 +2497,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x54_Ball_INC: VTN_762x54_Ball_AP { @@ -2510,7 +2510,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x54_Ball_API: VTN_762x54_Ball_INC { @@ -2523,7 +2523,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_145x114_Ball_APT: B_127x108_Ball { @@ -2536,7 +2536,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1000}; - ACE_barrelLengths[]={53}; + ACE_barrelLengths[]={1.3462}; }; class VTN_6mm_BB: B_65x39_Caseless { @@ -2549,7 +2549,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={100}; - ACE_barrelLengths[]={15}; + ACE_barrelLengths[]={0.381}; }; class VTN_9x19_Ball_FMJ: B_9x21_Ball { @@ -2562,7 +2562,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_556x45_Ball_FMJ: B_556x45_Ball { @@ -2575,7 +2575,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class VTN_556x45_Ball_TRC: VTN_556x45_Ball_FMJ { @@ -2588,7 +2588,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class VTN_556x45_Ball_TRCN: VTN_556x45_Ball_TRC { @@ -2601,7 +2601,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class VTN_556x45_Ball_SC: VTN_556x45_Ball_FMJ { @@ -2614,7 +2614,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class VTN_556x45_Ball_AP: VTN_556x45_Ball_TRC { @@ -2627,7 +2627,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class VTN_556x45_Ball_INC: VTN_556x45_Ball_AP { @@ -2640,7 +2640,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class VTN_556x45_Ball_LR: VTN_556x45_Ball_FMJ { @@ -2653,7 +2653,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class VTN_556x45_Ball_SS: B_556x45_Ball { @@ -2666,7 +2666,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={10, 20.0, 24.0}; + ACE_barrelLengths[]={0.254, 0.508, 0.6096}; }; class VTN_762x51_Ball_SC: B_762x51_Ball { @@ -2679,7 +2679,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x51_Ball_TRC: VTN_762x51_Ball_SC { @@ -2692,7 +2692,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x51_Ball_TRCN: VTN_762x51_Ball_TRC { @@ -2705,7 +2705,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x51_Ball_AP: VTN_762x51_Ball_TRC { @@ -2718,7 +2718,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_762x51_Ball_LR: VTN_762x51_Ball_SC { @@ -2731,7 +2731,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class VTN_1143x23_Ball_FMJ: B_408_Ball { @@ -2744,7 +2744,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_1143x23_Ball_HP: VTN_1143x23_Ball_FMJ { @@ -2757,7 +2757,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_1143x23_Ball_JHP: VTN_1143x23_Ball_FMJ { @@ -2770,7 +2770,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class VTN_762x39_Ball_FMJ: B_762x51_Ball { @@ -2783,7 +2783,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class VTN_45_Pellet: B_762x51_Ball { @@ -2796,6 +2796,6 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={100, 138, 150}; - ACE_barrelLengths[]={5, 10, 16}; + ACE_barrelLengths[]={0.127, 0.254, 0.4064}; }; }; \ No newline at end of file diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index 00151cddb8..a03d38bf03 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -14,7 +14,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball { @@ -27,7 +27,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { @@ -40,7 +40,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { @@ -53,7 +53,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { @@ -66,7 +66,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_762x39_Ball: BulletBase { @@ -79,7 +79,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { @@ -92,7 +92,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_9x18_Ball: BulletBase { @@ -105,7 +105,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { @@ -118,7 +118,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { @@ -131,7 +131,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { @@ -144,7 +144,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { @@ -157,7 +157,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_9x19_Ball: BulletBase { @@ -170,7 +170,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class CUP_B_762x51_noTracer: B_762x51_Ball { @@ -183,7 +183,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_303_Ball: BulletBase { @@ -196,7 +196,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { @@ -209,7 +209,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { @@ -222,7 +222,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { @@ -235,7 +235,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { @@ -248,7 +248,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { @@ -261,7 +261,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { @@ -274,7 +274,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_9x39_SP5: BulletBase { @@ -287,7 +287,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class CUP_B_762x51_Tracer_Green: BulletBase { @@ -300,7 +300,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Tracer_Red: BulletBase { @@ -313,7 +313,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Tracer_Yellow: BulletBase { @@ -326,7 +326,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class CUP_B_762x51_Tracer_White: BulletBase { @@ -339,7 +339,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class B_127x107_Ball: BulletBase { @@ -352,7 +352,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={28.7}; + ACE_barrelLengths[]={0.72898}; }; class CUP_B_9x18_SD: BulletBase { @@ -365,7 +365,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 340}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class CUP_B_765x17_Ball: BulletBase { @@ -378,7 +378,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { @@ -391,7 +391,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1000}; - ACE_barrelLengths[]={53}; + ACE_barrelLengths[]={1.3462}; }; class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball { @@ -404,7 +404,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class CUP_B_86x70_Ball_noTracer: BulletBase { @@ -417,6 +417,6 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 826, 830}; - ACE_barrelLengths[]={24, 26.5, 28}; + ACE_barrelLengths[]={0.6096, 0.6731, 0.7112}; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index 680afacfd6..fdc4e538b7 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -17,7 +17,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class HLC_556NATO_SOST: B_556x45_Ball { @@ -30,7 +30,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class HLC_556NATO_SPR: B_556x45_Ball { @@ -43,7 +43,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class HLC_300Blackout_Ball: B_556x45_Ball { @@ -56,7 +56,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={6, 16, 20}; + ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; }; class HLC_300Blackout_SMK: HLC_300Blackout_Ball { @@ -69,7 +69,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={9, 16, 20}; + ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; }; class HLC_762x39_Ball: HLC_300Blackout_Ball { @@ -82,7 +82,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class HLC_762x39_Tracer: HLC_762x39_Ball { @@ -95,7 +95,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class HLC_762x51_MK316_20in: B_762x51_Ball { @@ -108,7 +108,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_762x51_BTSub: B_762x51_Ball { @@ -121,7 +121,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_762x54_ball: HLC_762x51_ball { @@ -134,7 +134,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_762x54_tracer: HLC_762x51_tracer { @@ -147,7 +147,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class HLC_303Brit_B: B_556x45_Ball { @@ -160,7 +160,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class HLC_792x57_Ball: HLC_303Brit_B { @@ -173,7 +173,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={785, 800, 815}; - ACE_barrelLengths[]={20, 23.62, 26}; + ACE_barrelLengths[]={0.508, 0.599948, 0.6604}; }; class HLC_542x42_ball: HLC_303Brit_B { @@ -192,14 +192,14 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class FH_545x39_7u1: FH_545x39_Ball { ACE_bulletMass=5.184; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_muzzleVelocities[]={260, 303, 320}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class HLC_57x28mm_JHP: FH_545x39_Ball { @@ -212,7 +212,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={550, 625, 720}; - ACE_barrelLengths[]={4, 6, 10.35}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.26289}; }; class HLC_9x19_Ball: B_556x45_Ball { @@ -225,7 +225,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class HLC_9x19_M882_SMG: B_556x45_Ball { @@ -238,7 +238,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class HLC_9x19_GoldDot: HLC_9x19_Ball { @@ -259,7 +259,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={4, 4.61, 9}; + ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; }; class HLC_45ACP_Ball: B_556x45_Ball { @@ -272,7 +272,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class FH_44Mag: HLC_45ACP_Ball { @@ -285,7 +285,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 390, 420}; - ACE_barrelLengths[]={4, 7.5, 9}; + ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; }; class FH_50BMG_SLAP: B_127x99_Ball { @@ -298,7 +298,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1204}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; class FH_50BMG_Raufoss: B_127x99_Ball { @@ -311,6 +311,6 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={817}; - ACE_barrelLengths[]={29}; + ACE_barrelLengths[]={0.7366}; }; }; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index 10547b04fd..cceef5ef4f 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -13,7 +13,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 398, 420}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_454_Casull: BulletBase { @@ -26,7 +26,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={450, 490, 500}; - ACE_barrelLengths[]={4, 7.5, 9}; + ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; }; class RH_32ACP: BulletBase { @@ -39,7 +39,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_45ACP: BulletBase { @@ -52,7 +52,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_B_40SW: BulletBase { @@ -65,7 +65,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_44mag_ball: BulletBase { @@ -78,7 +78,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 390, 420}; - ACE_barrelLengths[]={4, 7.5, 9}; + ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; }; class RH_357mag_ball: BulletBase { @@ -91,7 +91,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={490, 510, 535}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_762x25: BulletBase { @@ -104,7 +104,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_9x18_Ball: BulletBase { @@ -117,7 +117,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; class RH_B_9x19_Ball: BulletBase { @@ -130,7 +130,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_B_22LR_SD: BulletBase { @@ -143,7 +143,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={330, 340, 360}; - ACE_barrelLengths[]={4, 6, 9}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; }; class RH_57x28mm: BulletBase { @@ -156,6 +156,6 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={550, 625, 720}; - ACE_barrelLengths[]={4, 6, 10.35}; + ACE_barrelLengths[]={0.1016, 0.1524, 0.26289}; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index 8f8a5f3cf2..3138de15f0 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -19,7 +19,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_9x19_B_HP: BulletBase { @@ -32,7 +32,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_9x19_B_HPSB: BulletBase { @@ -45,7 +45,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={295, 310, 330}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class RH_556x45_B_M855A1: B_556x45_Ball { @@ -58,7 +58,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={8.3, 9.4, 10.6, 11.8, 13.0, 14.2, 15.4, 16.5, 17.7, 18.9, 20.0, 24.0}; + ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; }; class RH_556x45_B_Mk318: B_556x45_Ball { @@ -71,7 +71,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class RH_556x45_B_Mk262: B_556x45_Ball { @@ -84,7 +84,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class RH_68x43_B_FMJ: B_65x39_Caseless { @@ -97,7 +97,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={713, 785, 810, 850}; - ACE_barrelLengths[]={12, 16, 20, 24}; + ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; }; class RH_68x43_B_Match: B_65x39_Caseless { @@ -110,7 +110,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 732, 750, 780}; - ACE_barrelLengths[]={12, 16, 20, 24}; + ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; }; class RH_762x35_B_FMJ: B_65x39_Caseless { @@ -123,7 +123,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={6, 16, 20}; + ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; }; class RH_762x35_B_Match: B_65x39_Caseless { @@ -136,7 +136,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={572, 676, 700}; - ACE_barrelLengths[]={6, 16, 20}; + ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; }; class RH_762x35_B_MSB: B_65x39_Caseless { @@ -149,7 +149,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={9, 16, 20}; + ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; }; class RH_762x51_B_M80A1: B_762x51_Ball { @@ -162,7 +162,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class RH_762x51_B_Mk316LR: B_762x51_Ball { @@ -175,7 +175,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={775, 790, 805, 810}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class RH_762x51_B_Mk319: B_762x51_Ball { @@ -188,7 +188,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 910}; - ACE_barrelLengths[]={13, 16, 20}; + ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; }; class RH_762x51_B_LFMJSB: B_762x51_Ball { @@ -201,6 +201,6 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; }; diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index e5877127c3..dad1d093d4 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -11,5 +11,5 @@ class RH_B_6x35: BulletBase ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={730, 750, 760}; - ACE_barrelLengths[]={8, 10, 12}; + ACE_barrelLengths[]={0.2032, 0.254, 0.3048}; }; \ No newline at end of file diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 914b2c7fef..486fc265f6 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -14,7 +14,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball { @@ -27,7 +27,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_762x51_Ball; class rhs_B_762x54_Ball: B_762x51_Ball @@ -41,7 +41,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball { @@ -54,7 +54,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball { @@ -67,7 +67,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_B_762x39_Ball: B_762x51_Ball { @@ -80,7 +80,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class rhs_B_762x39_Tracer: rhs_B_762x39_Ball { @@ -93,7 +93,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={10, 16.3, 20}; + ACE_barrelLengths[]={0.254, 0.41402, 0.508}; }; class B_9x21_Ball; class rhs_B_9x19_7N21: B_9x21_Ball @@ -107,7 +107,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={445, 460, 480}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; class rhs_B_9x18_57N181S: B_9x21_Ball { @@ -120,6 +120,6 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={3.8, 5, 9}; + ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; }; }; \ No newline at end of file diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index c6cb7c0097..58b50b68cf 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -13,7 +13,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={20, 24, 26}; + ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; }; class B_556x45_Ball; class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball @@ -27,7 +27,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={10, 15.5, 20}; + ACE_barrelLengths[]={0.254, 0.3937, 0.508}; }; class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball { @@ -40,7 +40,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={7.5, 14.5, 18, 20}; + ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; }; class rhs_ammo_762x51_M80_Ball: BulletBase { @@ -53,7 +53,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={10, 16, 20, 24, 26}; + ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball { @@ -66,7 +66,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={16, 20, 24, 26}; + ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; }; class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball { @@ -79,7 +79,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={875, 910, 930}; - ACE_barrelLengths[]={13, 16, 20}; + ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; }; class rhs_ammo_45ACP_MHP: BulletBase { @@ -92,6 +92,6 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={4, 5, 9}; + ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; }; }; \ No newline at end of file From 3313582aece017c9b2a4a7028aa4af3a49356632 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:41:54 +0200 Subject: [PATCH 350/478] Convert ACE_barrelTwist to meters --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgWeapons.hpp | 82 +- extras/CfgWeaponsReference.hpp | 736 +++++++++--------- optionals/compat_hlc_ar15/CfgWeapons.hpp | 24 +- optionals/compat_hlc_wp_mp5/CfgWeapons.hpp | 22 +- optionals/compat_hlcmods_ak/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_aug/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_fal/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_g3/CfgWeapons.hpp | 16 +- optionals/compat_hlcmods_m14/CfgWeapons.hpp | 4 +- optionals/compat_hlcmods_m60e4/CfgWeapons.hpp | 4 +- optionals/compat_rh_de/CfgWeapons.hpp | 54 +- optionals/compat_rh_m4/CfgWeapons.hpp | 50 +- optionals/compat_rh_pdw/CfgWeapons.hpp | 2 +- optionals/compat_rhs_afrf3/CfgWeapons.hpp | 20 +- optionals/compat_rhs_usf3/CfgWeapons.hpp | 24 +- 16 files changed, 547 insertions(+), 547 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 8f68ce6678..23da76ad2c 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -94,7 +94,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { _caliber = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); _bulletLength = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); _bulletMass = 15.432 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); -_barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); +_barrelTwist = 39.37 * getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); _stabilityFactor = 1.5; if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 0f9dbcfbe4..dbc9293296 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -65,7 +65,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -1.0; - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16.0; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -92,7 +92,7 @@ class CfgWeapons { "ACE_30Rnd_65_Creedmor_mag" }; initSpeed = -1.018; - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=18; class Single: Single { dispersion = 0.00029; // radians. Equal to 1 MOA. @@ -137,7 +137,7 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_H"}; }; }; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; class manual: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. @@ -154,7 +154,7 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_B"}; }; }; - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18.1; class FullAuto: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. @@ -241,7 +241,7 @@ class CfgWeapons { class hgun_P07_F: Pistol_Base_F { initSpeed = -0.9778; - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -253,7 +253,7 @@ class CfgWeapons { class hgun_Rook40_F: Pistol_Base_F { initSpeed = -1.0; - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.4; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -265,7 +265,7 @@ class CfgWeapons { class hgun_ACPC2_F: Pistol_Base_F { initSpeed = -1.0; - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -276,7 +276,7 @@ class CfgWeapons { class hgun_Pistol_heavy_01_F: Pistol_Base_F { initSpeed = -0.96; - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -287,7 +287,7 @@ class CfgWeapons { class hgun_Pistol_heavy_02_F: Pistol_Base_F { initSpeed = -0.92; - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=3; /* class WeaponSlotsInfo: WeaponSlotsInfo { @@ -300,7 +300,7 @@ class CfgWeapons { }; class hgun_PDW2000_F: pdw2000_base_F { initSpeed = -1.157; - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=7; }; class arifle_Katiba_F: arifle_katiba_Base_F { @@ -310,7 +310,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.08; - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=28.7; }; class arifle_Katiba_C_F: arifle_katiba_Base_F { @@ -320,7 +320,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.07; - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=26.8; }; class arifle_Katiba_GL_F: arifle_katiba_Base_F { @@ -330,7 +330,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.08; - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=28.7; }; class arifle_MX_F: arifle_MX_Base_F { @@ -340,7 +340,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -0.99; - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=14.5; }; class arifle_MX_GL_F: arifle_MX_Base_F { @@ -350,12 +350,12 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -0.99; - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=14.5; }; /* class arifle_MX_SW_F: arifle_MX_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16.0; }; */ @@ -366,12 +366,12 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -0.965; - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=10.5; }; /* class arifle_MXM_F: arifle_MX_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=18; }; */ @@ -388,12 +388,12 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.989; - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=18; }; class SMG_02_F: SMG_02_base_F { initSpeed = -1.054; - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=7.7; }; class arifle_TRG20_F: Tavor_base_F { @@ -408,7 +408,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.95; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=15; }; class arifle_TRG21_F: Tavor_base_F { @@ -423,7 +423,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.989; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.1; }; class arifle_TRG21_GL_F: arifle_TRG21_F { @@ -438,12 +438,12 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.989; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.1; }; /* class LMG_Zafir_F: Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18.1; }; */ @@ -459,7 +459,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.98; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=17.4; }; class arifle_Mk20C_F: mk20_base_F { @@ -474,7 +474,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.956; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class arifle_Mk20_GL_F: mk20_base_F { @@ -489,12 +489,12 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.956; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class SMG_01_F: SMG_01_Base { initSpeed = -1.016; - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5.5; }; class srifle_DMR_01_F: DMR_01_base_F { @@ -503,7 +503,7 @@ class CfgWeapons { "ACE_10Rnd_762x54_Tracer_mag" }; initSpeed = -1.025; - ACE_barrelTwist=9.5; + ACE_barrelTwist=0.2413; ACE_barrelLength=24; }; class srifle_EBR_F: EBR_base_F { @@ -518,19 +518,19 @@ class CfgWeapons { "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9724; - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; /* class LMG_Mk200_F: Rifle_Long_Base_F { initSpeed = -1.0; - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; */ class srifle_LRR_F: LRR_base_F { initSpeed = -1.0; - ACE_barrelTwist=13; + ACE_barrelTwist=0.3302; ACE_barrelLength=29; }; class srifle_GM6_F: GM6_base_F { @@ -542,7 +542,7 @@ class CfgWeapons { "ACE_5Rnd_127x99_AMAX_Mag" }; initSpeed = -1.0; - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=36.6; }; class srifle_DMR_02_F: DMR_02_base_F { @@ -555,7 +555,7 @@ class CfgWeapons { "ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag" }; initSpeed = -0.962; - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=20; }; class srifle_DMR_03_F: DMR_03_base_F { @@ -570,17 +570,17 @@ class CfgWeapons { "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9843; - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=20; }; class srifle_DMR_04_F: DMR_04_base_F { initSpeed = -1.0; - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=17.72; }; class srifle_DMR_05_blk_F: DMR_05_base_F { initSpeed = -1.0; - ACE_barrelTwist=14.17; + ACE_barrelTwist=0.359918; ACE_barrelLength=24.41; }; class srifle_DMR_06_camo_F: DMR_06_base_F { @@ -595,17 +595,17 @@ class CfgWeapons { "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9916; - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class MMG_01_hex_F: MMG_01_base_F { initSpeed = -1.0; - ACE_barrelTwist=14.17; + ACE_barrelTwist=0.359918; ACE_barrelLength=21.65; }; class MMG_02_camo_F: MMG_02_base_F { initSpeed = -1.0; - ACE_barrelTwist=9.25; + ACE_barrelTwist=0.23495; ACE_barrelLength=24; }; @@ -615,7 +615,7 @@ class CfgWeapons { }; class HMG_M2: HMG_01 { initSpeed = -1.0; - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=45; }; diff --git a/extras/CfgWeaponsReference.hpp b/extras/CfgWeaponsReference.hpp index 4821d53813..4aae239073 100644 --- a/extras/CfgWeaponsReference.hpp +++ b/extras/CfgWeaponsReference.hpp @@ -27,1863 +27,1863 @@ class CfgWeapons class MMG_02_base_F; class hgun_P07_F : Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4; }; class hgun_Rook40_F : Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.4; }; class hgun_Pistol_heavy_01_F : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class hgun_Pistol_heavy_02_F : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=3; }; class hgun_ACPC2_F : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class hgun_PDW2000_F : PDW2000_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=7; }; class arifle_Katiba_F : arifle_Katiba_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=28.7; }; class arifle_Katiba_C_F : arifle_Katiba_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=26.8; }; class arifle_Katiba_GL_F : arifle_Katiba_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=28.7; }; class arifle_MX_F: arifle_MX_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=14.5; }; class arifle_MX_GL_F: arifle_MX_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=14.5; }; class arifle_MX_SW_F: arifle_MX_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16.0; }; class arifle_MXC_F: arifle_MX_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=10.5; }; class arifle_MXM_F: arifle_MX_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=18; }; class arifle_SDAR_F : SDAR_base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=18; }; class SMG_02_F : SMG_02_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=7.7; }; class arifle_TRG20_F : Tavor_base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=15; }; class arifle_TRG21_F : Tavor_base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.1; }; class LMG_Zafir_F : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18.1; }; class arifle_Mk20_F : Mk20_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=17.4; }; class arifle_Mk20C_F : Mk20_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class arifle_Mk20_GL_F : Mk20_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class SMG_01_F : SMG_01_Base { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5.5; }; class srifle_DMR_01_F : DMR_01_base_F { - ACE_barrelTwist=9.5; + ACE_barrelTwist=0.2413; ACE_barrelLength=24; }; class srifle_EBR_F : EBR_base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24; }; class LMG_Mk200_F : Rifle_Long_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class srifle_LRR_F : LRR_base_F { - ACE_barrelTwist=13; + ACE_barrelTwist=0.3302; ACE_barrelLength=29; }; class srifle_GM6_F : GM6_base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=43.3; }; class srifle_DMR_02_F: DMR_02_base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=26; }; class srifle_DMR_03_F: DMR_03_base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=20; }; class srifle_DMR_04_F: DMR_04_base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=17.72; }; class srifle_DMR_05_blk_F: DMR_05_base_F { - ACE_barrelTwist=14.17; + ACE_barrelTwist=0.359918; ACE_barrelLength=24.41; }; class srifle_DMR_06_camo_F: DMR_06_base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class MMG_01_hex_F: MMG_01_base_F { - ACE_barrelTwist=14.17; + ACE_barrelTwist=0.359918; ACE_barrelLength=21.65; }; class MMG_02_camo_F: MMG_02_base_F { - ACE_barrelTwist=9.25; + ACE_barrelTwist=0.23495; ACE_barrelLength=24; }; class HMG_M2 : HMG_127 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=45; }; class RH_deagle : Pistol_Base_F { - ACE_barrelTwist=19; + ACE_barrelTwist=0.4826; ACE_barrelLength=6; }; class RH_sw659 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=7.44; }; class RH_usp : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.41; }; class RH_uspm : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=6; }; class RH_mak : Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=3.68; }; class RH_m1911 : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class RH_kimber : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class RH_m9 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.9; }; class RH_vz61 : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class RH_tec9 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=5; }; class RH_muzi : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=5; }; class RH_g18 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.49; }; class RH_g17 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.49; }; class RH_tt33 : Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=4.6; }; class RH_mk2 : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4; }; class RH_p226 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.4; }; class RH_g19 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4; }; class RH_gsh18 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.1; }; class RH_mateba : Pistol_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=6; }; class RH_python : Pistol_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=6; }; class RH_bull : Pistol_Base_F { - ACE_barrelTwist=24; + ACE_barrelTwist=0.6096; ACE_barrelLength=6.5; }; class RH_ttracker : Pistol_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=4; }; class RH_mp412 : Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=6; }; class RH_fnp45 : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class RH_fn57 : Pistol_Base_F { - ACE_barrelTwist=9.1; + ACE_barrelTwist=0.23114; ACE_barrelLength=4.8; }; class RH_vp70 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.6; }; class RH_cz75 : Pistol_Base_F { - ACE_barrelTwist=9.7; + ACE_barrelTwist=0.24638; ACE_barrelLength=4.7; }; class RH_PDW : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10; }; class RH_hb : Rifle_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=6; }; class RH_sbr9 : Rifle_Base_F { - ACE_barrelTwist=9.7; + ACE_barrelTwist=0.24638; ACE_barrelLength=9; }; class RH_ar10 : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=20.8; }; class RH_m4 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class RH_M4m : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.5; }; class RH_M4sbr : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.5; }; class RH_M16a1 : Rifle_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=20; }; class RH_M16A2 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A3 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A4 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A6 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_hk416 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class RH_hk416c : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9; }; class RH_hk416s : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.4; }; class RH_m27iar : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.5; }; class RH_Mk12mod1 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class RH_SAMR : Rifle_Base_F { - ACE_barrelTwist=7.7; + ACE_barrelTwist=0.19558; ACE_barrelLength=20; }; class RH_m110 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=20; }; class RH_mk11 : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class RH_sr25ec : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=20; }; class hlc_rifle_ak74 : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class hlc_rifle_aks74u : Rifle_Base_F { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3; }; class hlc_rifle_ak47 : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=16.3; }; class hlc_rifle_akm : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class hlc_rifle_rpk : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=23.2; }; class hlc_rifle_aek971 : Rifle_Base_F { - ACE_barrelTwist=9.5; + ACE_barrelTwist=0.2413; ACE_barrelLength=17; }; class hlc_rifle_saiga12k : Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=16.9; }; class hlc_ar15_base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=11.5; }; class hlc_rifle_bcmjack : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class hlc_rifle_Bushmaster300 : Rifle_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=16; }; class hlc_rifle_SAMR : Rifle_Base_F { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16; }; class hlc_rifle_honeybase : Rifle_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=6; }; class hlc_rifle_SLRchopmod : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class hlc_rifle_LAR : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class hlc_rifle_c1A1 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21.7; }; class hlc_rifle_FAL5061 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; class hlc_rifle_STG58F : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class hlc_rifle_SLR : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21.7; }; class hlc_rifle_falosw : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=13; }; class hlc_rifle_psg1 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=25.6; }; class hlc_rifle_g3sg1 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.7; }; class hlc_rifle_hk51 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=8.31; }; class hlc_rifle_hk53 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=8.31; }; class hlc_rifle_g3a3 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.7; }; class hlc_M14_base : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class hlc_rifle_m14sopmod : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; class hlc_lmg_M60E4 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17; }; class hlc_lmg_m60 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class hlc_smg_mp5k_PDW : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.5; }; class hlc_smg_mp5a2 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class hlc_smg_mp5a4 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class hlc_smg_mp5n : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class hlc_smg_mp5sd5 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=5.7; }; class hlc_smg_mp5sd6 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=5.7; }; class hlc_smg_9mmar : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class hlc_smg_mp510 : Rifle_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=8.9; }; class hlc_smg_mp5a3 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class hgun_mas_usp_F: Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.41; }; class hgun_mas_m23_F: Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5.87; }; class hgun_mas_acp_F: Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5.03; }; class hgun_mas_m9_F: Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.9; }; class hgun_mas_bhp_F: Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.7; }; class hgun_mas_glock_F: Pistol_Base_F { - ACE_barrelTwist=9.84; + ACE_barrelTwist=0.249936; ACE_barrelLength=4.48; }; class hgun_mas_glocksf_F: Pistol_Base_F { - ACE_barrelTwist=15.75; + ACE_barrelTwist=0.40005; ACE_barrelLength=4.60; }; class hgun_mas_grach_F: Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.4; }; class hgun_mas_mak_F: Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=3.68; }; class hgun_mas_sa61_F: Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class hgun_mas_uzi_F: Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=5.28; }; class arifle_mas_mk16 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=13.8; }; class arifle_mas_mk16_l : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class arifle_mas_mk17 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=16; }; class srifle_mas_m110 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=20; }; class arifle_mas_ak_74m : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.34; }; class arifle_mas_ak_74m_gl : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.34; }; class srifle_mas_svd : Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class srifle_mas_m91 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=29; }; class srifle_mas_ksvk : Rifle_Base_F { - ACE_barrelTwist=18; + ACE_barrelTwist=0.4572; ACE_barrelLength=39.37; }; class LMG_mas_rpk_F : Rifle_Base_F { - ACE_barrelTwist=7.68; + ACE_barrelTwist=0.195072; ACE_barrelLength=23.2; }; class LMG_mas_pkm_F : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.4; }; class arifle_mas_aks74u : Rifle_Base_F { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3; }; class arifle_mas_bizon : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=9.1; }; class arifle_mas_saiga : Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=16.93; }; class arifle_mas_hk416 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class arifle_mas_hk416_gl : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class arifle_mas_hk416c : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9.0; }; class arifle_mas_hk416_m203c : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9.0; }; class arifle_mas_hk417c : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=13; }; class arifle_mas_m4 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class arifle_mas_m4c : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.3; }; class arifle_mas_l119 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class arifle_mas_l119_gl : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class arifle_mas_l119_m203 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16; }; class arifle_mas_m16 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class arifle_mas_m16_gl : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class srifle_mas_hk417 : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=16.5; }; class srifle_mas_sr25 : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class srifle_mas_ebr : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; class srifle_mas_m24 : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class arifle_mas_mp5 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class arifle_mas_mp5sd : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=5.7; }; class srifle_mas_m107 : Rifle_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class LMG_mas_M249_F : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.3; }; class LMG_mas_M249a_F : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class LMG_mas_mk48_F : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=19.75; }; class LMG_mas_m240_F : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class LMG_mas_mg3_F : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22.2; }; class arifle_mas_g3 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.7; }; class arifle_mas_g3_m203 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.7; }; class arifle_mas_fal : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class arifle_mas_fal_m203 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class arifle_mas_m1014 : Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=18.5; }; class BWA3_P8 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.25; }; class BWA3_MP7 : Pistol_Base_F { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=7.1; }; class BWA3_G36 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.9; }; class BWA3_G36K : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class BWA3_G28_Standard : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=16.5; }; class BWA3_G27 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=16; }; class BWA3_MG4 : Rifle_Long_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.9; }; class BWA3_MG5 : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21.6; }; class BWA3_G82 : Rifle_Long_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class Trixie_L131A1 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.5; }; class Trixie_XM8_Carbine : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class Trixie_XM8_Compact : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9; }; class Trixie_XM8_SAW : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class Trixie_XM8_SAW_NB : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class Trixie_XM8_DMR : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class Trixie_XM8_DMR_NB : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class L129A1_base : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=16; }; class Trixie_Enfield : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=25.2; }; class Trixie_CZ550_Rail : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=23.622; }; class Trixie_FNFAL_Rail : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class Trixie_M110 : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=20; }; class Trixie_MK12 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class Trixie_LM308MWS : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=16; }; class Trixie_M14DMR : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class Trixie_M14DMR_NG_Black_Short : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; class Trixie_M14DMR_NG_Short : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; class Trixie_M14 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class Trixie_M40A3 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24; }; class Trixie_CZ750 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=26; }; class Trixie_M24 : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class Trixie_AWM338 : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=27; }; class Trixie_M107 : Rifle_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class Trixie_AS50 : Rifle_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class L110A1_base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=13.7; }; class Trixie_L86A2_base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=25.4; }; class Trixie_l85a2_base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20.4; }; class L7A2_base : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class rhs_weap_pya : Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.4; }; class rhs_weap_pkp : Rifle_Long_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.9; }; class rhs_weap_pkm : Rifle_Long_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.4; }; class rhs_weap_rpk74m : Rifle_Long_Base_F { - ACE_barrelTwist=7.68; + ACE_barrelTwist=0.195072; ACE_barrelLength=23.2; }; class rhs_weap_rpk74 : Rifle_Long_Base_F { - ACE_barrelTwist=7.68; + ACE_barrelTwist=0.195072; ACE_barrelLength=23.2; }; class rhs_weap_ak74m : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class rhs_weap_aks74u : Rifle_Base_F { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3; }; class rhs_weap_akm : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class rhs_weap_svd : Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class rhs_weap_svds : Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=22.2; }; class rhs_weap_m4_Base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class rhs_weap_m16a4 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class rhs_weap_m16a4_carryhandle : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class rhs_weap_m16a4_grip : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class rhs_weap_m240B : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class rhs_weap_m249_pip : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.3; }; class rhs_weap_mk18 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.3; }; class rhs_weap_M590_5RD : Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=18.5; }; class rhs_weap_M590_8RD : Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=20; }; class rhs_weap_sr25 : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class rhs_weap_sr25_ec : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=20; }; class rhs_weap_XM2010_Base_F: Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=24; }; class R3F_PAMAS : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.9; }; class R3F_Famas_F1: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=19.2; }; class R3F_Famas_surb: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=15.9; }; class R3F_Minimi: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=13.7; }; class R3F_Minimi_762: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=19.8; }; class R3F_FRF2: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=25.59; }; class R3F_PGM_Hecate_II: Rifle_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=27.6; }; class R3F_HK417S_HG : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=12; }; class R3F_HK417M : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=16; }; class R3F_HK417L : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=20; }; class R3F_M107 : Rifle_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class R3F_HK416M : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14; }; class R3F_MP5SD : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=5.7; }; class CUP_hgun_Colt1911 : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class CUP_sgun_AA12 : Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=18; }; class CUP_arifle_AK_Base : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=16.3; }; class CUP_arifle_AK107_Base : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class CUP_arifle_AKS_Base : Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class CUP_arifle_AKS74U : Rifle_Base_F { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3; }; class CUP_arifle_RPK74 : Rifle_Long_Base_F { - ACE_barrelTwist=7.68; + ACE_barrelTwist=0.195072; ACE_barrelLength=23.2; }; class CUP_srifle_AS50 : Rifle_Long_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class CUP_srifle_AWM_Base : Rifle_Long_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=27; }; class CUP_smg_bizon : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=9.1; }; class CUP_hgun_Compact : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=3.74; }; class CUP_srifle_CZ750 : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=26; }; class CUP_arifle_CZ805_Base : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=14; }; class CUP_arifle_CZ805_A1 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=14; }; class CUP_arifle_CZ805_A2 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=10.9; }; class CUP_srifle_DMR : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class CUP_hgun_Duty : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=3.74; }; class CUP_arifle_FNFAL : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class CUP_arifle_G36A : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.9; }; class CUP_arifle_G36K : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class CUP_arifle_G36C : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9; }; class CUP_arifle_MG36 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18.9; }; class CUP_hgun_Glock17 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.49; }; class CUP_srifle_CZ550 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=23.622; }; class CUP_srifle_ksvk : Rifle_Long_Base_F { - ACE_barrelTwist=18; + ACE_barrelTwist=0.4572; ACE_barrelLength=39.37; }; class CUP_lmg_L7A2 : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class CUP_arifle_L85A2_Base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20.4; }; class CUP_lmg_L110A1 : Rifle_Long_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=13.7; }; class CUP_srifle_LeeEnfield : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=25.2; }; class CUP_hgun_M9 : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.9; }; class CUP_srifle_M14 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class CUP_arifle_M16_Base : Rifle_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=20; }; class CUP_arifle_M4_Base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class CUP_srifle_Mk12SPR : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class CUP_srifle_M24_des : Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class CUP_lmg_M60A4 : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17; }; class CUP_srifle_M107_Base : Rifle_Long_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=29; }; class CUP_srifle_M110 : Rifle_Base_F { - ACE_barrelTwist=11; + ACE_barrelTwist=0.2794; ACE_barrelLength=20; }; class CUP_lmg_M240 : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class CUP_lmg_M249_para : Rifle_Long_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.3; }; class CUP_lmg_M249 : Rifle_Long_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class CUP_sgun_M1014 : Rifle_Base_F { ACE_twistDirection=0; - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_barrelLength=18.5; }; class CUP_hgun_Makarov : Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=3.68; }; class CUP_hgun_MicroUzi : Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=5; }; class CUP_lmg_Mk48_Base : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=19.75; }; class CUP_smg_MP5SD6 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=5.7; }; class CUP_smg_MP5A5 : Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=8.9; }; class CUP_hgun_PB6P9 : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=4.1; }; class CUP_hgun_Phantom : Rifle_Base_F { - ACE_barrelTwist=9.7; + ACE_barrelTwist=0.24638; ACE_barrelLength=4.7; }; class CUP_lmg_PKM : Rifle_Long_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.4; }; class CUP_lmg_Pecheneg : Rifle_Long_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.9; }; class CUP_hgun_TaurusTracker455 : Pistol_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=4; }; class CUP_arifle_Sa58P : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=15.4; }; class CUP_arifle_Sa58V : Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=15.4; }; class CUP_hgun_SA61 : Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class CUP_sgun_Saiga12K: Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=16.9; } class CUP_arifle_Mk16_CQC : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10; }; class CUP_arifle_Mk16_STD : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14; }; class CUP_arifle_Mk16_SV : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class CUP_arifle_Mk17_CQC : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=13; }; class CUP_arifle_Mk17_STD : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=16; }; class CUP_arifle_Mk20 : Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=20; }; class CUP_srifle_SVD : Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class CUP_lmg_UK59 : Rifle_Long_Base_F { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=21.7; }; class CUP_DSHKM_W : MGun { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=42.1; }; class CUP_KPVT_W : MGun { - ACE_barrelTwist=17.91; + ACE_barrelTwist=0.454914; ACE_barrelLength=53; }; class CUP_KPVB_W : MGun { - ACE_barrelTwist=17.91; + ACE_barrelTwist=0.454914; ACE_barrelLength=53; }; class CUP_M134 : MGunCore { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class CUP_M240_veh_W : Rifle_Long_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class CUP_PKT_W : MGun { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=28.43; }; class CUP_srifle_VSSVintorez : Rifle_Base_F { - ACE_barrelTwist=8.3; + ACE_barrelTwist=0.21082; ACE_barrelLength=7.9; }; class CUP_arifle_XM8_Base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class CUP_arifle_XM8_Carbine : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class CUP_arifle_xm8_sharpshooter : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class CUP_arifle_xm8_SAW : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class CUP_arifle_XM8_Compact : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9; }; class CUP_arifle_XM8_Railed_Base : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class CUP_arifle_XM8_Carbine_FG : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=12.5; }; class VTN_AK_BASE: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AK74M: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AK74M_GP25: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AK74M_GP30M: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AKS74: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AKS74N: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AKS74N_76: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AK74_76: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AKMS_aa: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=10.3; }; class VTN_AKS74U_BASE: Rifle_Base_F { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3; }; class VTN_AKM_BASE: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AKMS: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AKMS_T_P: Rifle_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class VTN_AK103_BASE: Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=16.3; }; class VTN_AK104_BASE: Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=12.4; }; class VTN_AK105_BASE: Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=12.4; }; class VTN_AK105_P_BASE: Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=12.4; }; class VTN_SVD_BASE: Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class VTN_SVD_63: Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class VTN_SVD_86: Rifle_Base_F { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class VTN_SV98_BASE: Rifle_Base_F { - ACE_barrelTwist=12.6; + ACE_barrelTwist=0.32004; ACE_barrelLength=25.59; }; class VTN_PKM_BAS: Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.4; }; class VTN_PKP: Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.9; }; class VTN_PYA: Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.4; }; class VTN_PM: Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=3.68; }; class VTN_PB: Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=4.1; }; class VTN_GSH18: Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.1; }; class VTN_PSS: Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=1.4; }; class VTN_PKT: Rifle_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=28.43; }; class VTN_KORD: Rifle_Base_F { - ACE_barrelTwist=17.91; + ACE_barrelTwist=0.454914; ACE_barrelLength=53; }; class VTN_KPVT: Rifle_Base_F { - ACE_barrelTwist=17.91; + ACE_barrelTwist=0.454914; ACE_barrelLength=53; }; class VTN_C_M4A1 : Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class VTN_MK18MOD0: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.3; }; class VTN_M16_BASE: Rifle_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=20; }; class VTN_FN_SAMR_BASE: Rifle_Base_F { - ACE_barrelTwist=7.7; + ACE_barrelTwist=0.19558; ACE_barrelLength=20; }; class VTN_M249_SAW_BASE: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class VTN_M249_PARA: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.3; }; class VTN_M240G_BASE: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class VTN_M9: Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.9; }; class VTN_M45A1: Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class VTN_M24: Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class VTN_M240: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class VTN_KO44: Rifle_Base_F { - ACE_barrelTwist=9.5; + ACE_barrelTwist=0.2413; ACE_barrelLength=20.2; }; class VTN_SAIGA_MK03: Rifle_Base_F diff --git a/optionals/compat_hlc_ar15/CfgWeapons.hpp b/optionals/compat_hlc_ar15/CfgWeapons.hpp index d57de932e6..d203ee90d0 100644 --- a/optionals/compat_hlc_ar15/CfgWeapons.hpp +++ b/optionals/compat_hlc_ar15/CfgWeapons.hpp @@ -4,62 +4,62 @@ class CfgWeapons class Rifle_Base_F; class hlc_ar15_base: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=11.5; }; class hlc_rifle_RU556: hlc_ar15_base { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.3; }; class hlc_rifle_RU5562: hlc_rifle_RU556 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.3; }; class hlc_rifle_CQBR: hlc_rifle_RU556 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10; }; class hlc_rifle_M4: hlc_rifle_RU556 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class hlc_rifle_bcmjack: hlc_ar15_base { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class hlc_rifle_Colt727: hlc_ar15_base { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class hlc_rifle_Colt727_GL: hlc_rifle_Colt727 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class hlc_rifle_Bushmaster300: hlc_rifle_Colt727 { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=14.5; }; class hlc_rifle_vendimus: hlc_rifle_Bushmaster300 { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=16; }; class hlc_rifle_SAMR: hlc_rifle_RU556 { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16; }; class hlc_rifle_honeybase: hlc_rifle_RU556 { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=6; }; }; \ No newline at end of file diff --git a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp index bb2762d1bc..3957b837d9 100644 --- a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp +++ b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp @@ -4,57 +4,57 @@ class CfgWeapons class Rifle_Base_F; class hlc_MP5_base: Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_mp5k_PDW: hlc_MP5_base { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.5; }; class hlc_smg_mp5k: hlc_smg_mp5k_PDW { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.5; }; class hlc_smg_mp5a2: hlc_MP5_base { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_MP5N: hlc_MP5_base { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_9mmar: hlc_smg_MP5N { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_mp5a4: hlc_MP5_base { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_mp510: hlc_smg_MP5N { - ACE_barrelTwist=15; + ACE_barrelTwist=0.381; ACE_barrelLength=9; }; class hlc_smg_mp5sd5: hlc_MP5_base { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_mp5a3: hlc_smg_mp5a2 { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; class hlc_smg_mp5sd6: hlc_smg_mp5sd5 { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=9; }; }; diff --git a/optionals/compat_hlcmods_ak/CfgWeapons.hpp b/optionals/compat_hlcmods_ak/CfgWeapons.hpp index 390d3e6177..5cc8ebfd67 100644 --- a/optionals/compat_hlcmods_ak/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_ak/CfgWeapons.hpp @@ -6,12 +6,12 @@ class CfgWeapons class InventoryOpticsItem_Base_F; class hlc_rifle_ak74: hlc_ak_base { - ACE_barrelTwist=7.8699999; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.299999; }; class hlc_rifle_aku12: hlc_rifle_ak12 { - ACE_barrelTwist=6.3000002; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3000002; }; class hlc_rifle_RPK12: hlc_rifle_ak12 @@ -20,37 +20,37 @@ class CfgWeapons }; class hlc_rifle_aks74u: hlc_rifle_ak74 { - ACE_barrelTwist=6.3000002; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3000002; }; class hlc_rifle_ak47: hlc_rifle_ak74 { - ACE_barrelTwist=9.4499998; + ACE_barrelTwist=0.24003; ACE_barrelLength=16.299999; }; class hlc_rifle_akm: hlc_rifle_ak47 { - ACE_barrelTwist=7.8699999; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.299999; }; class hlc_rifle_rpk: hlc_rifle_ak47 { - ACE_barrelTwist=9.4499998; + ACE_barrelTwist=0.24003; ACE_barrelLength=23.200001; }; class hlc_rifle_rpk74n: hlc_rifle_rpk { - ACE_barrelTwist=9.4499998; + ACE_barrelTwist=0.24003; ACE_barrelLength=23.200001; }; class hlc_rifle_aek971: hlc_rifle_ak74 { - ACE_barrelTwist=9.5; + ACE_barrelTwist=0.2413; ACE_barrelLength=17; }; class hlc_rifle_saiga12k: hlc_rifle_ak47 { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=16.9; }; diff --git a/optionals/compat_hlcmods_aug/CfgWeapons.hpp b/optionals/compat_hlcmods_aug/CfgWeapons.hpp index b46cf485e1..6f96f5bfc0 100644 --- a/optionals/compat_hlcmods_aug/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_aug/CfgWeapons.hpp @@ -5,47 +5,47 @@ class CfgWeapons class hlc_aug_base; class hlc_rifle_aug: hlc_aug_base { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=20; }; class hlc_rifle_auga1carb: hlc_rifle_aug { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16; }; class hlc_rifle_aughbar: hlc_rifle_aug { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=24; }; class hlc_rifle_augpara: hlc_rifle_aug { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16.5; }; class hlc_rifle_auga2: hlc_rifle_aug { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=20; }; class hlc_rifle_auga2para: hlc_rifle_auga2 { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=16.5; }; class hlc_rifle_auga2carb: hlc_rifle_auga2 { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=18; }; class hlc_rifle_auga2lsw: hlc_rifle_aughbar { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=24; }; class hlc_rifle_auga3: hlc_rifle_aug { - ACE_barrelTwist=9; + ACE_barrelTwist=0.2286; ACE_barrelLength=18; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_fal/CfgWeapons.hpp b/optionals/compat_hlcmods_fal/CfgWeapons.hpp index 05a17d8eb4..af79bf2a38 100644 --- a/optionals/compat_hlcmods_fal/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_fal/CfgWeapons.hpp @@ -4,47 +4,47 @@ class CfgWeapons class hlc_fal_base; class hlc_rifle_falosw: hlc_fal_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=13; }; class hlc_rifle_osw_GL: hlc_rifle_falosw { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=13; }; class hlc_rifle_SLR: hlc_fal_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21.700001; }; class hlc_rifle_STG58F: hlc_fal_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class hlc_rifle_FAL5061: hlc_fal_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; class hlc_rifle_L1A1SLR: hlc_rifle_SLR { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21.700001; }; class hlc_rifle_c1A1: hlc_rifle_SLR { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21.700001; }; class hlc_rifle_LAR: hlc_rifle_FAL5061 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=21; }; class hlc_rifle_SLRchopmod: hlc_rifle_FAL5061 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_g3/CfgWeapons.hpp b/optionals/compat_hlcmods_g3/CfgWeapons.hpp index e45fe34048..8cb407d88b 100644 --- a/optionals/compat_hlcmods_g3/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_g3/CfgWeapons.hpp @@ -4,42 +4,42 @@ class CfgWeapons class hlc_g3_base; class hlc_rifle_g3sg1: hlc_g3_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.700001; }; class hlc_rifle_psg1: hlc_rifle_g3sg1 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=25.6; }; class hlc_rifle_g3a3: hlc_rifle_g3sg1 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.700001; }; class hlc_rifle_g3a3ris: hlc_rifle_g3a3 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17.700001; }; class hlc_rifle_g3ka4: hlc_rifle_g3a3 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=12.4; }; class HLC_Rifle_g3ka4_GL: hlc_rifle_g3ka4 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=12.4; }; class hlc_rifle_hk51: hlc_rifle_g3sg1 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=8.3100004; }; class hlc_rifle_hk53: hlc_rifle_g3sg1 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=8.3100004; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_m14/CfgWeapons.hpp b/optionals/compat_hlcmods_m14/CfgWeapons.hpp index 01a67ff063..867a2caed8 100644 --- a/optionals/compat_hlcmods_m14/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m14/CfgWeapons.hpp @@ -5,12 +5,12 @@ class CfgWeapons class hlc_rifle_M14; class hlc_M14_base: Rifle_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class hlc_rifle_m14sopmod: hlc_rifle_M14 { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=18; }; }; diff --git a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp index 9532c1968d..90108a8d68 100644 --- a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp @@ -4,12 +4,12 @@ class CfgWeapons class hlc_M60e4_base; class hlc_lmg_M60E4: hlc_M60e4_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=17; }; class hlc_lmg_m60: hlc_M60e4_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; }; diff --git a/optionals/compat_rh_de/CfgWeapons.hpp b/optionals/compat_rh_de/CfgWeapons.hpp index 8fdff293c9..1a70e3ef26 100644 --- a/optionals/compat_rh_de/CfgWeapons.hpp +++ b/optionals/compat_rh_de/CfgWeapons.hpp @@ -4,137 +4,137 @@ class CfgWeapons class RH_Pistol_Base_F; class RH_deagle: RH_Pistol_Base_F { - ACE_barrelTwist=19; + ACE_barrelTwist=0.4826; ACE_barrelLength=6; }; class RH_mateba: Pistol_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=6; }; class RH_mp412: Pistol_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=6; }; class RH_python: Pistol_Base_F { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=6; }; class RH_bull: RH_python { - ACE_barrelTwist=24; + ACE_barrelTwist=0.6096; ACE_barrelLength=6.5; }; class RH_ttracker: Pistol_Base_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=4; }; class RH_cz75: RH_Pistol_Base_F { - ACE_barrelTwist=9.7; + ACE_barrelTwist=0.24638; ACE_barrelLength=4.7; }; class RH_p226: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.4; }; class RH_sw659: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=7.44; }; class RH_usp: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.41; }; class RH_uspm: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=6; }; class RH_kimber: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class RH_m1911: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; class RH_tt33: RH_Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=4.6; }; class RH_mak: RH_Pistol_Base_F { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=3.68; }; class RH_mk2: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4; }; class RH_m9: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.9; }; class RH_g18: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.49; }; class RH_g17: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.49; }; class RH_g19: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4; }; class RH_gsh18: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.1; }; class RH_fnp45: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class RH_fn57: RH_fnp45 { - ACE_barrelTwist=9.1; + ACE_barrelTwist=0.23114; ACE_barrelLength=4.8; }; class RH_vp70: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=4.6; }; class RH_vz61: RH_Pistol_Base_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=4.5; }; class RH_tec9: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=5; }; class RH_muzi: RH_Pistol_Base_F { - ACE_barrelTwist=9.8; + ACE_barrelTwist=0.24892; ACE_barrelLength=5; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_m4/CfgWeapons.hpp b/optionals/compat_rh_m4/CfgWeapons.hpp index 69536e9302..94f69a3562 100644 --- a/optionals/compat_rh_m4/CfgWeapons.hpp +++ b/optionals/compat_rh_m4/CfgWeapons.hpp @@ -4,127 +4,127 @@ class CfgWeapons class Rifle_Base_F; class RH_ar10: Rifle_Base_F { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=20.8; }; class RH_m110: Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=20; }; class RH_Mk11: RH_m110 { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class RH_SR25EC: RH_m110 { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=20; }; class RH_m4: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class RH_M4_ris: RH_m4 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class RH_M4A1_ris: RH_M4_ris { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class RH_M4m: RH_M4A1_ris { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.5; }; class RH_M4sbr: RH_M4A1_ris { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.5; }; class RH_hb: Rifle_Base_F { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=6; }; class RH_hb_b: RH_hb { - ACE_barrelTwist=8; + ACE_barrelTwist=0.2032; ACE_barrelLength=6; }; class RH_sbr9: Rifle_Base_F { - ACE_barrelTwist=9.7; + ACE_barrelTwist=0.24638; ACE_barrelLength=9; }; class RH_M4A6: RH_M4A1_ris { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=14.5; }; class RH_M16a1: RH_m4 { - ACE_barrelTwist=14; + ACE_barrelTwist=0.3556; ACE_barrelLength=20; }; class RH_M16A2: RH_m4 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A4 : RH_M4_ris { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A3: RH_M16A4 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A4_m: RH_M16A4 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_M16A6: RH_M16A4 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class RH_Mk12mod1: RH_M16A4 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=18; }; class RH_SAMR: RH_Mk12mod1 { - ACE_barrelTwist=7.7; + ACE_barrelTwist=0.19558; ACE_barrelLength=20; }; class RH_Hk416: RH_M4A1_ris { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class RH_Hk416s: RH_M4sbr { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.4; }; class RH_Hk416c: RH_M4sbr { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=9; }; class RH_M27IAR: RH_Mk12mod1 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.5; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_pdw/CfgWeapons.hpp b/optionals/compat_rh_pdw/CfgWeapons.hpp index b009a202ce..27a5a23493 100644 --- a/optionals/compat_rh_pdw/CfgWeapons.hpp +++ b/optionals/compat_rh_pdw/CfgWeapons.hpp @@ -4,7 +4,7 @@ class CfgWeapons class Rifle_Base_F; class RH_PDW: Rifle_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10; }; }; diff --git a/optionals/compat_rhs_afrf3/CfgWeapons.hpp b/optionals/compat_rhs_afrf3/CfgWeapons.hpp index 49573b164a..b8bd997a58 100644 --- a/optionals/compat_rhs_afrf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_afrf3/CfgWeapons.hpp @@ -4,57 +4,57 @@ class CfgWeapons class hgun_Rook40_F; class rhs_weap_pya: hgun_Rook40_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=4.4; }; class Pistol_Base_F; class rhs_weap_makarov_pmm: rhs_weap_pya { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=3.68; }; class rhs_weap_ak74m_Base_F; class rhs_weap_ak74m: rhs_weap_ak74m_Base_F { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class rhs_weap_akm: rhs_weap_ak74m { - ACE_barrelTwist=7.87; + ACE_barrelTwist=0.199898; ACE_barrelLength=16.3; }; class rhs_weap_aks74; class rhs_weap_aks74u: rhs_weap_aks74 { - ACE_barrelTwist=6.3; + ACE_barrelTwist=0.16002; ACE_barrelLength=8.3; }; class rhs_weap_svd: rhs_weap_ak74m { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=24.4; }; class rhs_weap_svdp; class rhs_weap_svds: rhs_weap_svdp { - ACE_barrelTwist=9.4; + ACE_barrelTwist=0.23876; ACE_barrelLength=22.2; }; class rhs_pkp_base; class rhs_weap_pkp: rhs_pkp_base { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.9; }; class rhs_weap_pkm: rhs_weap_pkp { - ACE_barrelTwist=9.45; + ACE_barrelTwist=0.24003; ACE_barrelLength=25.4; }; class rhs_weap_rpk74m: rhs_weap_pkp { - ACE_barrelTwist=7.68; + ACE_barrelTwist=0.195072; ACE_barrelLength=23.2; }; diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index a9791cd6b8..e394762bfe 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -6,69 +6,69 @@ class CfgWeapons class srifle_EBR_F; class rhs_weap_XM2010_Base_F: Rifle_Base_F { - ACE_barrelTwist=10; + ACE_barrelTwist=0.254; ACE_barrelLength=24; }; class arifle_MX_Base_F; class rhs_weap_m4_Base: arifle_MX_Base_F { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=14.5; }; class rhs_weap_m4a1; class rhs_weap_mk18: rhs_weap_m4a1 { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=10.3; }; class rhs_weap_m16a4: rhs_weap_m4_Base { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=20; }; class rhs_M249_base; class rhs_weap_m249_pip: rhs_M249_base { - ACE_barrelTwist=7; + ACE_barrelTwist=0.1778; ACE_barrelLength=16.3; }; class weap_m240_base; class rhs_weap_m240B: weap_m240_base { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=24.8; }; class rhs_weap_m14ebrri: srifle_EBR_F { - ACE_barrelTwist=12; + ACE_barrelTwist=0.3048; ACE_barrelLength=22; }; class rhs_weap_sr25: rhs_weap_m14ebrri { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=24; }; class rhs_weap_sr25_ec: rhs_weap_sr25 { - ACE_barrelTwist=11.25; + ACE_barrelTwist=0.28575; ACE_barrelLength=20; }; class rhs_weap_M590_5RD: Rifle_Base_F { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=18.5; }; class rhs_weap_M590_8RD: rhs_weap_M590_5RD { - ACE_barrelTwist=0; + ACE_barrelTwist=0.0; ACE_twistDirection=0; ACE_barrelLength=20; }; class hgun_ACPC2_F; class rhsusf_weap_m1911a1: hgun_ACPC2_F { - ACE_barrelTwist=16; + ACE_barrelTwist=0.4064; ACE_barrelLength=5; }; From 4b3a11168114ce199caf22e9a6001c7695f707b5 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:44:01 +0200 Subject: [PATCH 351/478] Convert ACE_barrelLength to meters --- addons/ballistics/CfgWeapons.hpp | 82 +- extras/CfgWeaponsReference.hpp | 738 +++++++++--------- optionals/compat_hlc_ar15/CfgWeapons.hpp | 24 +- optionals/compat_hlc_wp_mp5/CfgWeapons.hpp | 22 +- optionals/compat_hlcmods_ak/CfgWeapons.hpp | 20 +- optionals/compat_hlcmods_aug/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_fal/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_g3/CfgWeapons.hpp | 16 +- optionals/compat_hlcmods_m14/CfgWeapons.hpp | 4 +- optionals/compat_hlcmods_m60e4/CfgWeapons.hpp | 4 +- optionals/compat_rh_de/CfgWeapons.hpp | 54 +- optionals/compat_rh_m4/CfgWeapons.hpp | 50 +- optionals/compat_rh_pdw/CfgWeapons.hpp | 2 +- optionals/compat_rhs_afrf3/CfgWeapons.hpp | 20 +- optionals/compat_rhs_usf3/CfgWeapons.hpp | 24 +- 15 files changed, 548 insertions(+), 548 deletions(-) diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index dbc9293296..59589f73be 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -66,7 +66,7 @@ class CfgWeapons { }; initSpeed = -1.0; ACE_barrelTwist=0.2286; - ACE_barrelLength=16.0; + ACE_barrelLength=0.4064; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { // Shit is broken again @@ -93,7 +93,7 @@ class CfgWeapons { }; initSpeed = -1.018; ACE_barrelTwist=0.2286; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; class Single: Single { dispersion = 0.00029; // radians. Equal to 1 MOA. // 6.5mm is easily capable of this in a half-tuned rifle. @@ -138,7 +138,7 @@ class CfgWeapons { }; }; ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; class manual: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. }; @@ -155,7 +155,7 @@ class CfgWeapons { }; }; ACE_barrelTwist=0.3048; - ACE_barrelLength=18.1; + ACE_barrelLength=0.45974; class FullAuto: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. }; @@ -242,7 +242,7 @@ class CfgWeapons { class hgun_P07_F: Pistol_Base_F { initSpeed = -0.9778; ACE_barrelTwist=0.254; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; @@ -254,7 +254,7 @@ class CfgWeapons { class hgun_Rook40_F: Pistol_Base_F { initSpeed = -1.0; ACE_barrelTwist=0.254; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; @@ -266,7 +266,7 @@ class CfgWeapons { class hgun_ACPC2_F: Pistol_Base_F { initSpeed = -1.0; ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; @@ -277,7 +277,7 @@ class CfgWeapons { class hgun_Pistol_heavy_01_F: Pistol_Base_F { initSpeed = -0.96; ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; @@ -288,7 +288,7 @@ class CfgWeapons { class hgun_Pistol_heavy_02_F: Pistol_Base_F { initSpeed = -0.92; ACE_barrelTwist=0.4064; - ACE_barrelLength=3; + ACE_barrelLength=0.0762; /* class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot { @@ -301,7 +301,7 @@ class CfgWeapons { class hgun_PDW2000_F: pdw2000_base_F { initSpeed = -1.157; ACE_barrelTwist=0.2286; - ACE_barrelLength=7; + ACE_barrelLength=0.1778; }; class arifle_Katiba_F: arifle_katiba_Base_F { magazines[] = { @@ -311,7 +311,7 @@ class CfgWeapons { }; initSpeed = -1.08; ACE_barrelTwist=0.2032; - ACE_barrelLength=28.7; + ACE_barrelLength=0.72898; }; class arifle_Katiba_C_F: arifle_katiba_Base_F { magazines[] = { @@ -321,7 +321,7 @@ class CfgWeapons { }; initSpeed = -1.07; ACE_barrelTwist=0.2032; - ACE_barrelLength=26.8; + ACE_barrelLength=0.68072; }; class arifle_Katiba_GL_F: arifle_katiba_Base_F { magazines[] = { @@ -331,7 +331,7 @@ class CfgWeapons { }; initSpeed = -1.08; ACE_barrelTwist=0.2032; - ACE_barrelLength=28.7; + ACE_barrelLength=0.72898; }; class arifle_MX_F: arifle_MX_Base_F { magazines[] = { @@ -341,7 +341,7 @@ class CfgWeapons { }; initSpeed = -0.99; ACE_barrelTwist=0.2286; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class arifle_MX_GL_F: arifle_MX_Base_F { magazines[] = { @@ -351,12 +351,12 @@ class CfgWeapons { }; initSpeed = -0.99; ACE_barrelTwist=0.2286; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; /* class arifle_MX_SW_F: arifle_MX_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=16.0; + ACE_barrelLength=0.4064; }; */ class arifle_MXC_F: arifle_MX_Base_F { @@ -367,12 +367,12 @@ class CfgWeapons { }; initSpeed = -0.965; ACE_barrelTwist=0.2032; - ACE_barrelLength=10.5; + ACE_barrelLength=0.2667; }; /* class arifle_MXM_F: arifle_MX_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; */ class arifle_SDAR_F: SDAR_base_F { @@ -389,12 +389,12 @@ class CfgWeapons { }; initSpeed = -0.989; ACE_barrelTwist=0.28575; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class SMG_02_F: SMG_02_base_F { initSpeed = -1.054; ACE_barrelTwist=0.254; - ACE_barrelLength=7.7; + ACE_barrelLength=0.19558; }; class arifle_TRG20_F: Tavor_base_F { magazines[] = { @@ -409,7 +409,7 @@ class CfgWeapons { }; initSpeed = -0.95; ACE_barrelTwist=0.1778; - ACE_barrelLength=15; + ACE_barrelLength=0.381; }; class arifle_TRG21_F: Tavor_base_F { magazines[] = { @@ -424,7 +424,7 @@ class CfgWeapons { }; initSpeed = -0.989; ACE_barrelTwist=0.1778; - ACE_barrelLength=18.1; + ACE_barrelLength=0.45974; }; class arifle_TRG21_GL_F: arifle_TRG21_F { magazines[] = { @@ -439,12 +439,12 @@ class CfgWeapons { }; initSpeed = -0.989; ACE_barrelTwist=0.1778; - ACE_barrelLength=18.1; + ACE_barrelLength=0.45974; }; /* class LMG_Zafir_F: Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18.1; + ACE_barrelLength=0.45974; }; */ class arifle_Mk20_F: mk20_base_F { @@ -460,7 +460,7 @@ class CfgWeapons { }; initSpeed = -0.98; ACE_barrelTwist=0.1778; - ACE_barrelLength=17.4; + ACE_barrelLength=0.44196; }; class arifle_Mk20C_F: mk20_base_F { magazines[] = { @@ -475,7 +475,7 @@ class CfgWeapons { }; initSpeed = -0.956; ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class arifle_Mk20_GL_F: mk20_base_F { magazines[] = { @@ -490,12 +490,12 @@ class CfgWeapons { }; initSpeed = -0.956; ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class SMG_01_F: SMG_01_Base { initSpeed = -1.016; ACE_barrelTwist=0.4064; - ACE_barrelLength=5.5; + ACE_barrelLength=0.1397; }; class srifle_DMR_01_F: DMR_01_base_F { magazines[] = { @@ -504,7 +504,7 @@ class CfgWeapons { }; initSpeed = -1.025; ACE_barrelTwist=0.2413; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class srifle_EBR_F: EBR_base_F { magazines[] = { @@ -519,19 +519,19 @@ class CfgWeapons { }; initSpeed = -0.9724; ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; /* class LMG_Mk200_F: Rifle_Long_Base_F { initSpeed = -1.0; ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; */ class srifle_LRR_F: LRR_base_F { initSpeed = -1.0; ACE_barrelTwist=0.3302; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class srifle_GM6_F: GM6_base_F { magazines[] = { @@ -543,7 +543,7 @@ class CfgWeapons { }; initSpeed = -1.0; ACE_barrelTwist=0.381; - ACE_barrelLength=36.6; + ACE_barrelLength=0.92964; }; class srifle_DMR_02_F: DMR_02_base_F { magazines[] = { @@ -556,7 +556,7 @@ class CfgWeapons { }; initSpeed = -0.962; ACE_barrelTwist=0.254; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class srifle_DMR_03_F: DMR_03_base_F { magazines[] = { @@ -571,17 +571,17 @@ class CfgWeapons { }; initSpeed = -0.9843; ACE_barrelTwist=0.254; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class srifle_DMR_04_F: DMR_04_base_F { initSpeed = -1.0; ACE_barrelTwist=0.2032; - ACE_barrelLength=17.72; + ACE_barrelLength=0.450088; }; class srifle_DMR_05_blk_F: DMR_05_base_F { initSpeed = -1.0; ACE_barrelTwist=0.359918; - ACE_barrelLength=24.41; + ACE_barrelLength=0.620014; }; class srifle_DMR_06_camo_F: DMR_06_base_F { magazines[] = { @@ -596,17 +596,17 @@ class CfgWeapons { }; initSpeed = -0.9916; ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class MMG_01_hex_F: MMG_01_base_F { initSpeed = -1.0; ACE_barrelTwist=0.359918; - ACE_barrelLength=21.65; + ACE_barrelLength=0.54991; }; class MMG_02_camo_F: MMG_02_base_F { initSpeed = -1.0; ACE_barrelTwist=0.23495; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class HMG_127 : LMG_RCWS { @@ -616,7 +616,7 @@ class CfgWeapons { class HMG_M2: HMG_01 { initSpeed = -1.0; ACE_barrelTwist=0.3048; - ACE_barrelLength=45; + ACE_barrelLength=1.143; }; /* Silencers */ diff --git a/extras/CfgWeaponsReference.hpp b/extras/CfgWeaponsReference.hpp index 4aae239073..3aecdb325c 100644 --- a/extras/CfgWeaponsReference.hpp +++ b/extras/CfgWeaponsReference.hpp @@ -28,1867 +28,1867 @@ class CfgWeapons class hgun_P07_F : Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class hgun_Rook40_F : Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class hgun_Pistol_heavy_01_F : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class hgun_Pistol_heavy_02_F : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=3; + ACE_barrelLength=0.0762; }; class hgun_ACPC2_F : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class hgun_PDW2000_F : PDW2000_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=7; + ACE_barrelLength=0.1778; }; class arifle_Katiba_F : arifle_Katiba_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=28.7; + ACE_barrelLength=0.72898; }; class arifle_Katiba_C_F : arifle_Katiba_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=26.8; + ACE_barrelLength=0.68072; }; class arifle_Katiba_GL_F : arifle_Katiba_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=28.7; + ACE_barrelLength=0.72898; }; class arifle_MX_F: arifle_MX_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class arifle_MX_GL_F: arifle_MX_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class arifle_MX_SW_F: arifle_MX_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=16.0; + ACE_barrelLength=0.4064; }; class arifle_MXC_F: arifle_MX_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=10.5; + ACE_barrelLength=0.2667; }; class arifle_MXM_F: arifle_MX_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class arifle_SDAR_F : SDAR_base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class SMG_02_F : SMG_02_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=7.7; + ACE_barrelLength=0.19558; }; class arifle_TRG20_F : Tavor_base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=15; + ACE_barrelLength=0.381; }; class arifle_TRG21_F : Tavor_base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18.1; + ACE_barrelLength=0.45974; }; class LMG_Zafir_F : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18.1; + ACE_barrelLength=0.45974; }; class arifle_Mk20_F : Mk20_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=17.4; + ACE_barrelLength=0.44196; }; class arifle_Mk20C_F : Mk20_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class arifle_Mk20_GL_F : Mk20_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class SMG_01_F : SMG_01_Base { ACE_barrelTwist=0.4064; - ACE_barrelLength=5.5; + ACE_barrelLength=0.1397; }; class srifle_DMR_01_F : DMR_01_base_F { ACE_barrelTwist=0.2413; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class srifle_EBR_F : EBR_base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class LMG_Mk200_F : Rifle_Long_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class srifle_LRR_F : LRR_base_F { ACE_barrelTwist=0.3302; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class srifle_GM6_F : GM6_base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=43.3; + ACE_barrelLength=1.09982; }; class srifle_DMR_02_F: DMR_02_base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=26; + ACE_barrelLength=0.6604; }; class srifle_DMR_03_F: DMR_03_base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class srifle_DMR_04_F: DMR_04_base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=17.72; + ACE_barrelLength=0.450088; }; class srifle_DMR_05_blk_F: DMR_05_base_F { ACE_barrelTwist=0.359918; - ACE_barrelLength=24.41; + ACE_barrelLength=0.620014; }; class srifle_DMR_06_camo_F: DMR_06_base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class MMG_01_hex_F: MMG_01_base_F { ACE_barrelTwist=0.359918; - ACE_barrelLength=21.65; + ACE_barrelLength=0.54991; }; class MMG_02_camo_F: MMG_02_base_F { ACE_barrelTwist=0.23495; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class HMG_M2 : HMG_127 { ACE_barrelTwist=0.3048; - ACE_barrelLength=45; + ACE_barrelLength=1.143; }; class RH_deagle : Pistol_Base_F { ACE_barrelTwist=0.4826; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_sw659 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=7.44; + ACE_barrelLength=0.188976; }; class RH_usp : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.41; + ACE_barrelLength=0.112014; }; class RH_uspm : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_mak : Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=3.68; + ACE_barrelLength=0.093472; }; class RH_m1911 : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_kimber : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_m9 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.9; + ACE_barrelLength=0.12446; }; class RH_vz61 : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class RH_tec9 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_muzi : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_g18 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.49; + ACE_barrelLength=0.114046; }; class RH_g17 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.49; + ACE_barrelLength=0.114046; }; class RH_tt33 : Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=4.6; + ACE_barrelLength=0.11684; }; class RH_mk2 : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class RH_p226 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class RH_g19 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class RH_gsh18 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.1; + ACE_barrelLength=0.10414; }; class RH_mateba : Pistol_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_python : Pistol_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_bull : Pistol_Base_F { ACE_barrelTwist=0.6096; - ACE_barrelLength=6.5; + ACE_barrelLength=0.1651; }; class RH_ttracker : Pistol_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class RH_mp412 : Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_fnp45 : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class RH_fn57 : Pistol_Base_F { ACE_barrelTwist=0.23114; - ACE_barrelLength=4.8; + ACE_barrelLength=0.12192; }; class RH_vp70 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.6; + ACE_barrelLength=0.11684; }; class RH_cz75 : Pistol_Base_F { ACE_barrelTwist=0.24638; - ACE_barrelLength=4.7; + ACE_barrelLength=0.11938; }; class RH_PDW : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10; + ACE_barrelLength=0.254; }; class RH_hb : Rifle_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_sbr9 : Rifle_Base_F { ACE_barrelTwist=0.24638; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class RH_ar10 : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=20.8; + ACE_barrelLength=0.52832; }; class RH_m4 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_M4m : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.5; + ACE_barrelLength=0.2667; }; class RH_M4sbr : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.5; + ACE_barrelLength=0.2667; }; class RH_M16a1 : Rifle_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A2 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A3 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A4 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A6 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_hk416 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_hk416c : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class RH_hk416s : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.4; + ACE_barrelLength=0.26416; }; class RH_m27iar : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.5; + ACE_barrelLength=0.4191; }; class RH_Mk12mod1 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class RH_SAMR : Rifle_Base_F { ACE_barrelTwist=0.19558; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_m110 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_mk11 : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class RH_sr25ec : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class hlc_rifle_ak74 : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class hlc_rifle_aks74u : Rifle_Base_F { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3; + ACE_barrelLength=0.21082; }; class hlc_rifle_ak47 : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class hlc_rifle_akm : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class hlc_rifle_rpk : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=23.2; + ACE_barrelLength=0.58928; }; class hlc_rifle_aek971 : Rifle_Base_F { ACE_barrelTwist=0.2413; - ACE_barrelLength=17; + ACE_barrelLength=0.4318; }; class hlc_rifle_saiga12k : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=16.9; + ACE_barrelLength=0.42926; }; class hlc_ar15_base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=11.5; + ACE_barrelLength=0.2921; }; class hlc_rifle_bcmjack : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class hlc_rifle_Bushmaster300 : Rifle_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class hlc_rifle_SAMR : Rifle_Base_F { ACE_barrelTwist=0.2286; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class hlc_rifle_honeybase : Rifle_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class hlc_rifle_SLRchopmod : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class hlc_rifle_LAR : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class hlc_rifle_c1A1 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21.7; + ACE_barrelLength=0.55118; }; class hlc_rifle_FAL5061 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class hlc_rifle_STG58F : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class hlc_rifle_SLR : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21.7; + ACE_barrelLength=0.55118; }; class hlc_rifle_falosw : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=13; + ACE_barrelLength=0.3302; }; class hlc_rifle_psg1 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=25.6; + ACE_barrelLength=0.65024; }; class hlc_rifle_g3sg1 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.7; + ACE_barrelLength=0.44958; }; class hlc_rifle_hk51 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=8.31; + ACE_barrelLength=0.211074; }; class hlc_rifle_hk53 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=8.31; + ACE_barrelLength=0.211074; }; class hlc_rifle_g3a3 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.7; + ACE_barrelLength=0.44958; }; class hlc_M14_base : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class hlc_rifle_m14sopmod : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class hlc_lmg_M60E4 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=17; + ACE_barrelLength=0.4318; }; class hlc_lmg_m60 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class hlc_smg_mp5k_PDW : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class hlc_smg_mp5a2 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class hlc_smg_mp5a4 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class hlc_smg_mp5n : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class hlc_smg_mp5sd5 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=5.7; + ACE_barrelLength=0.14478; }; class hlc_smg_mp5sd6 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=5.7; + ACE_barrelLength=0.14478; }; class hlc_smg_9mmar : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class hlc_smg_mp510 : Rifle_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class hlc_smg_mp5a3 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class hgun_mas_usp_F: Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.41; + ACE_barrelLength=0.112014; }; class hgun_mas_m23_F: Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5.87; + ACE_barrelLength=0.149098; }; class hgun_mas_acp_F: Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5.03; + ACE_barrelLength=0.127762; }; class hgun_mas_m9_F: Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.9; + ACE_barrelLength=0.12446; }; class hgun_mas_bhp_F: Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.7; + ACE_barrelLength=0.11938; }; class hgun_mas_glock_F: Pistol_Base_F { ACE_barrelTwist=0.249936; - ACE_barrelLength=4.48; + ACE_barrelLength=0.113792; }; class hgun_mas_glocksf_F: Pistol_Base_F { ACE_barrelTwist=0.40005; - ACE_barrelLength=4.60; + ACE_barrelLength=0.11684; }; class hgun_mas_grach_F: Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class hgun_mas_mak_F: Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=3.68; + ACE_barrelLength=0.093472; }; class hgun_mas_sa61_F: Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class hgun_mas_uzi_F: Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=5.28; + ACE_barrelLength=0.134112; }; class arifle_mas_mk16 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=13.8; + ACE_barrelLength=0.35052; }; class arifle_mas_mk16_l : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class arifle_mas_mk17 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class srifle_mas_m110 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class arifle_mas_ak_74m : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.34; + ACE_barrelLength=0.415036; }; class arifle_mas_ak_74m_gl : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.34; + ACE_barrelLength=0.415036; }; class srifle_mas_svd : Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class srifle_mas_m91 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class srifle_mas_ksvk : Rifle_Base_F { ACE_barrelTwist=0.4572; - ACE_barrelLength=39.37; + ACE_barrelLength=0.999998; }; class LMG_mas_rpk_F : Rifle_Base_F { ACE_barrelTwist=0.195072; - ACE_barrelLength=23.2; + ACE_barrelLength=0.58928; }; class LMG_mas_pkm_F : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.4; + ACE_barrelLength=0.64516; }; class arifle_mas_aks74u : Rifle_Base_F { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3; + ACE_barrelLength=0.21082; }; class arifle_mas_bizon : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=9.1; + ACE_barrelLength=0.23114; }; class arifle_mas_saiga : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=16.93; + ACE_barrelLength=0.430022; }; class arifle_mas_hk416 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class arifle_mas_hk416_gl : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class arifle_mas_hk416c : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=9.0; + ACE_barrelLength=0.2286; }; class arifle_mas_hk416_m203c : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=9.0; + ACE_barrelLength=0.2286; }; class arifle_mas_hk417c : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=13; + ACE_barrelLength=0.3302; }; class arifle_mas_m4 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class arifle_mas_m4c : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class arifle_mas_l119 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class arifle_mas_l119_gl : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class arifle_mas_l119_m203 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class arifle_mas_m16 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class arifle_mas_m16_gl : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class srifle_mas_hk417 : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=16.5; + ACE_barrelLength=0.4191; }; class srifle_mas_sr25 : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class srifle_mas_ebr : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class srifle_mas_m24 : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class arifle_mas_mp5 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class arifle_mas_mp5sd : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=5.7; + ACE_barrelLength=0.14478; }; class srifle_mas_m107 : Rifle_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class LMG_mas_M249_F : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class LMG_mas_M249a_F : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class LMG_mas_mk48_F : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=19.75; + ACE_barrelLength=0.50165; }; class LMG_mas_m240_F : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class LMG_mas_mg3_F : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22.2; + ACE_barrelLength=0.56388; }; class arifle_mas_g3 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.7; + ACE_barrelLength=0.44958; }; class arifle_mas_g3_m203 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.7; + ACE_barrelLength=0.44958; }; class arifle_mas_fal : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class arifle_mas_fal_m203 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class arifle_mas_m1014 : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=18.5; + ACE_barrelLength=0.4699; }; class BWA3_P8 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.25; + ACE_barrelLength=0.10795; }; class BWA3_MP7 : Pistol_Base_F { ACE_barrelTwist=0.16002; - ACE_barrelLength=7.1; + ACE_barrelLength=0.18034; }; class BWA3_G36 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18.9; + ACE_barrelLength=0.48006; }; class BWA3_G36K : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class BWA3_G28_Standard : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=16.5; + ACE_barrelLength=0.4191; }; class BWA3_G27 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class BWA3_MG4 : Rifle_Long_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18.9; + ACE_barrelLength=0.48006; }; class BWA3_MG5 : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21.6; + ACE_barrelLength=0.54864; }; class BWA3_G82 : Rifle_Long_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class Trixie_L131A1 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class Trixie_XM8_Carbine : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class Trixie_XM8_Compact : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class Trixie_XM8_SAW : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class Trixie_XM8_SAW_NB : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class Trixie_XM8_DMR : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class Trixie_XM8_DMR_NB : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class L129A1_base : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class Trixie_Enfield : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=25.2; + ACE_barrelLength=0.64008; }; class Trixie_CZ550_Rail : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=23.622; + ACE_barrelLength=0.599999; }; class Trixie_FNFAL_Rail : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class Trixie_M110 : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class Trixie_MK12 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class Trixie_LM308MWS : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class Trixie_M14DMR : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class Trixie_M14DMR_NG_Black_Short : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class Trixie_M14DMR_NG_Short : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class Trixie_M14 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class Trixie_M40A3 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class Trixie_CZ750 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=26; + ACE_barrelLength=0.6604; }; class Trixie_M24 : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class Trixie_AWM338 : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=27; + ACE_barrelLength=0.6858; }; class Trixie_M107 : Rifle_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class Trixie_AS50 : Rifle_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class L110A1_base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=13.7; + ACE_barrelLength=0.34798; }; class Trixie_L86A2_base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=25.4; + ACE_barrelLength=0.64516; }; class Trixie_l85a2_base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20.4; + ACE_barrelLength=0.51816; }; class L7A2_base : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class rhs_weap_pya : Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class rhs_weap_pkp : Rifle_Long_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.9; + ACE_barrelLength=0.65786; }; class rhs_weap_pkm : Rifle_Long_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.4; + ACE_barrelLength=0.64516; }; class rhs_weap_rpk74m : Rifle_Long_Base_F { ACE_barrelTwist=0.195072; - ACE_barrelLength=23.2; + ACE_barrelLength=0.58928; }; class rhs_weap_rpk74 : Rifle_Long_Base_F { ACE_barrelTwist=0.195072; - ACE_barrelLength=23.2; + ACE_barrelLength=0.58928; }; class rhs_weap_ak74m : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class rhs_weap_aks74u : Rifle_Base_F { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3; + ACE_barrelLength=0.21082; }; class rhs_weap_akm : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class rhs_weap_svd : Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class rhs_weap_svds : Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=22.2; + ACE_barrelLength=0.56388; }; class rhs_weap_m4_Base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class rhs_weap_m16a4 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_weap_m16a4_carryhandle : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_weap_m16a4_grip : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_weap_m240B : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class rhs_weap_m249_pip : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class rhs_weap_mk18 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class rhs_weap_M590_5RD : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=18.5; + ACE_barrelLength=0.4699; }; class rhs_weap_M590_8RD : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_weap_sr25 : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class rhs_weap_sr25_ec : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_weap_XM2010_Base_F: Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class R3F_PAMAS : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.9; + ACE_barrelLength=0.12446; }; class R3F_Famas_F1: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=19.2; + ACE_barrelLength=0.48768; }; class R3F_Famas_surb: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=15.9; + ACE_barrelLength=0.40386; }; class R3F_Minimi: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=13.7; + ACE_barrelLength=0.34798; }; class R3F_Minimi_762: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=19.8; + ACE_barrelLength=0.50292; }; class R3F_FRF2: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=25.59; + ACE_barrelLength=0.649986; }; class R3F_PGM_Hecate_II: Rifle_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=27.6; + ACE_barrelLength=0.70104; }; class R3F_HK417S_HG : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=12; + ACE_barrelLength=0.3048; }; class R3F_HK417M : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class R3F_HK417L : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class R3F_M107 : Rifle_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class R3F_HK416M : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14; + ACE_barrelLength=0.3556; }; class R3F_MP5SD : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=5.7; + ACE_barrelLength=0.14478; }; class CUP_hgun_Colt1911 : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class CUP_sgun_AA12 : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class CUP_arifle_AK_Base : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class CUP_arifle_AK107_Base : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class CUP_arifle_AKS_Base : Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class CUP_arifle_AKS74U : Rifle_Base_F { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3; + ACE_barrelLength=0.21082; }; class CUP_arifle_RPK74 : Rifle_Long_Base_F { ACE_barrelTwist=0.195072; - ACE_barrelLength=23.2; + ACE_barrelLength=0.58928; }; class CUP_srifle_AS50 : Rifle_Long_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class CUP_srifle_AWM_Base : Rifle_Long_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=27; + ACE_barrelLength=0.6858; }; class CUP_smg_bizon : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=9.1; + ACE_barrelLength=0.23114; }; class CUP_hgun_Compact : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=3.74; + ACE_barrelLength=0.094996; }; class CUP_srifle_CZ750 : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=26; + ACE_barrelLength=0.6604; }; class CUP_arifle_CZ805_Base : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=14; + ACE_barrelLength=0.3556; }; class CUP_arifle_CZ805_A1 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=14; + ACE_barrelLength=0.3556; }; class CUP_arifle_CZ805_A2 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=10.9; + ACE_barrelLength=0.27686; }; class CUP_srifle_DMR : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class CUP_hgun_Duty : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=3.74; + ACE_barrelLength=0.094996; }; class CUP_arifle_FNFAL : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class CUP_arifle_G36A : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18.9; + ACE_barrelLength=0.48006; }; class CUP_arifle_G36K : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class CUP_arifle_G36C : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class CUP_arifle_MG36 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18.9; + ACE_barrelLength=0.48006; }; class CUP_hgun_Glock17 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.49; + ACE_barrelLength=0.114046; }; class CUP_srifle_CZ550 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=23.622; + ACE_barrelLength=0.599999; }; class CUP_srifle_ksvk : Rifle_Long_Base_F { ACE_barrelTwist=0.4572; - ACE_barrelLength=39.37; + ACE_barrelLength=0.999998; }; class CUP_lmg_L7A2 : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class CUP_arifle_L85A2_Base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20.4; + ACE_barrelLength=0.51816; }; class CUP_lmg_L110A1 : Rifle_Long_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=13.7; + ACE_barrelLength=0.34798; }; class CUP_srifle_LeeEnfield : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=25.2; + ACE_barrelLength=0.64008; }; class CUP_hgun_M9 : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.9; + ACE_barrelLength=0.12446; }; class CUP_srifle_M14 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class CUP_arifle_M16_Base : Rifle_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class CUP_arifle_M4_Base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class CUP_srifle_Mk12SPR : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class CUP_srifle_M24_des : Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class CUP_lmg_M60A4 : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=17; + ACE_barrelLength=0.4318; }; class CUP_srifle_M107_Base : Rifle_Long_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=29; + ACE_barrelLength=0.7366; }; class CUP_srifle_M110 : Rifle_Base_F { ACE_barrelTwist=0.2794; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class CUP_lmg_M240 : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class CUP_lmg_M249_para : Rifle_Long_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class CUP_lmg_M249 : Rifle_Long_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class CUP_sgun_M1014 : Rifle_Base_F { ACE_twistDirection=0; ACE_barrelTwist=0.0; - ACE_barrelLength=18.5; + ACE_barrelLength=0.4699; }; class CUP_hgun_Makarov : Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=3.68; + ACE_barrelLength=0.093472; }; class CUP_hgun_MicroUzi : Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class CUP_lmg_Mk48_Base : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=19.75; + ACE_barrelLength=0.50165; }; class CUP_smg_MP5SD6 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=5.7; + ACE_barrelLength=0.14478; }; class CUP_smg_MP5A5 : Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=8.9; + ACE_barrelLength=0.22606; }; class CUP_hgun_PB6P9 : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=4.1; + ACE_barrelLength=0.10414; }; class CUP_hgun_Phantom : Rifle_Base_F { ACE_barrelTwist=0.24638; - ACE_barrelLength=4.7; + ACE_barrelLength=0.11938; }; class CUP_lmg_PKM : Rifle_Long_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.4; + ACE_barrelLength=0.64516; }; class CUP_lmg_Pecheneg : Rifle_Long_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.9; + ACE_barrelLength=0.65786; }; class CUP_hgun_TaurusTracker455 : Pistol_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class CUP_arifle_Sa58P : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=15.4; + ACE_barrelLength=0.39116; }; class CUP_arifle_Sa58V : Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=15.4; + ACE_barrelLength=0.39116; }; class CUP_hgun_SA61 : Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class CUP_sgun_Saiga12K: Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=16.9; + ACE_barrelLength=0.42926; } class CUP_arifle_Mk16_CQC : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10; + ACE_barrelLength=0.254; }; class CUP_arifle_Mk16_STD : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14; + ACE_barrelLength=0.3556; }; class CUP_arifle_Mk16_SV : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class CUP_arifle_Mk17_CQC : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=13; + ACE_barrelLength=0.3302; }; class CUP_arifle_Mk17_STD : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class CUP_arifle_Mk20 : Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class CUP_srifle_SVD : Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class CUP_lmg_UK59 : Rifle_Long_Base_F { ACE_barrelTwist=0.381; - ACE_barrelLength=21.7; + ACE_barrelLength=0.55118; }; class CUP_DSHKM_W : MGun { ACE_barrelTwist=0.381; - ACE_barrelLength=42.1; + ACE_barrelLength=1.06934; }; class CUP_KPVT_W : MGun { ACE_barrelTwist=0.454914; - ACE_barrelLength=53; + ACE_barrelLength=1.3462; }; class CUP_KPVB_W : MGun { ACE_barrelTwist=0.454914; - ACE_barrelLength=53; + ACE_barrelLength=1.3462; }; class CUP_M134 : MGunCore { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class CUP_M240_veh_W : Rifle_Long_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class CUP_PKT_W : MGun { ACE_barrelTwist=0.24003; - ACE_barrelLength=28.43; + ACE_barrelLength=0.722122; }; class CUP_srifle_VSSVintorez : Rifle_Base_F { ACE_barrelTwist=0.21082; - ACE_barrelLength=7.9; + ACE_barrelLength=0.20066; }; class CUP_arifle_XM8_Base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class CUP_arifle_XM8_Carbine : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class CUP_arifle_xm8_sharpshooter : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class CUP_arifle_xm8_SAW : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class CUP_arifle_XM8_Compact : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class CUP_arifle_XM8_Railed_Base : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class CUP_arifle_XM8_Carbine_FG : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=12.5; + ACE_barrelLength=0.3175; }; class VTN_AK_BASE: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AK74M: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AK74M_GP25: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AK74M_GP30M: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AKS74: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AKS74N: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AKS74N_76: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AK74_76: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AKMS_aa: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class VTN_AKS74U_BASE: Rifle_Base_F { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3; + ACE_barrelLength=0.21082; }; class VTN_AKM_BASE: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AKMS: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AKMS_T_P: Rifle_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AK103_BASE: Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_AK104_BASE: Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=12.4; + ACE_barrelLength=0.31496; }; class VTN_AK105_BASE: Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=12.4; + ACE_barrelLength=0.31496; }; class VTN_AK105_P_BASE: Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=12.4; + ACE_barrelLength=0.31496; }; class VTN_SVD_BASE: Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class VTN_SVD_63: Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class VTN_SVD_86: Rifle_Base_F { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class VTN_SV98_BASE: Rifle_Base_F { ACE_barrelTwist=0.32004; - ACE_barrelLength=25.59; + ACE_barrelLength=0.649986; }; class VTN_PKM_BAS: Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.4; + ACE_barrelLength=0.64516; }; class VTN_PKP: Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.9; + ACE_barrelLength=0.65786; }; class VTN_PYA: Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class VTN_PM: Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=3.68; + ACE_barrelLength=0.093472; }; class VTN_PB: Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=4.1; + ACE_barrelLength=0.10414; }; class VTN_GSH18: Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.1; + ACE_barrelLength=0.10414; }; class VTN_PSS: Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=1.4; + ACE_barrelLength=0.03556; }; class VTN_PKT: Rifle_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=28.43; + ACE_barrelLength=0.722122; }; class VTN_KORD: Rifle_Base_F { ACE_barrelTwist=0.454914; - ACE_barrelLength=53; + ACE_barrelLength=1.3462; }; class VTN_KPVT: Rifle_Base_F { ACE_barrelTwist=0.454914; - ACE_barrelLength=53; + ACE_barrelLength=1.3462; }; class VTN_C_M4A1 : Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class VTN_MK18MOD0: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class VTN_M16_BASE: Rifle_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class VTN_FN_SAMR_BASE: Rifle_Base_F { ACE_barrelTwist=0.19558; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class VTN_M249_SAW_BASE: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class VTN_M249_PARA: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class VTN_M240G_BASE: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class VTN_M9: Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.9; + ACE_barrelLength=0.12446; }; class VTN_M45A1: Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class VTN_M24: Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class VTN_M240: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class VTN_KO44: Rifle_Base_F { ACE_barrelTwist=0.2413; - ACE_barrelLength=20.2; + ACE_barrelLength=0.51308; }; class VTN_SAIGA_MK03: Rifle_Base_F { ACE_twistDirection=9.45; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; }; \ No newline at end of file diff --git a/optionals/compat_hlc_ar15/CfgWeapons.hpp b/optionals/compat_hlc_ar15/CfgWeapons.hpp index d203ee90d0..31caabbe78 100644 --- a/optionals/compat_hlc_ar15/CfgWeapons.hpp +++ b/optionals/compat_hlc_ar15/CfgWeapons.hpp @@ -5,61 +5,61 @@ class CfgWeapons class hlc_ar15_base: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=11.5; + ACE_barrelLength=0.2921; }; class hlc_rifle_RU556: hlc_ar15_base { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class hlc_rifle_RU5562: hlc_rifle_RU556 { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class hlc_rifle_CQBR: hlc_rifle_RU556 { ACE_barrelTwist=0.1778; - ACE_barrelLength=10; + ACE_barrelLength=0.254; }; class hlc_rifle_M4: hlc_rifle_RU556 { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class hlc_rifle_bcmjack: hlc_ar15_base { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class hlc_rifle_Colt727: hlc_ar15_base { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class hlc_rifle_Colt727_GL: hlc_rifle_Colt727 { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class hlc_rifle_Bushmaster300: hlc_rifle_Colt727 { ACE_barrelTwist=0.2032; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class hlc_rifle_vendimus: hlc_rifle_Bushmaster300 { ACE_barrelTwist=0.2032; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class hlc_rifle_SAMR: hlc_rifle_RU556 { ACE_barrelTwist=0.2286; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class hlc_rifle_honeybase: hlc_rifle_RU556 { ACE_barrelTwist=0.2032; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; }; \ No newline at end of file diff --git a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp index 3957b837d9..e100d90a78 100644 --- a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp +++ b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp @@ -5,56 +5,56 @@ class CfgWeapons class hlc_MP5_base: Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_mp5k_PDW: hlc_MP5_base { ACE_barrelTwist=0.254; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class hlc_smg_mp5k: hlc_smg_mp5k_PDW { ACE_barrelTwist=0.254; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class hlc_smg_mp5a2: hlc_MP5_base { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_MP5N: hlc_MP5_base { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_9mmar: hlc_smg_MP5N { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_mp5a4: hlc_MP5_base { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_mp510: hlc_smg_MP5N { ACE_barrelTwist=0.381; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_mp5sd5: hlc_MP5_base { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_mp5a3: hlc_smg_mp5a2 { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class hlc_smg_mp5sd6: hlc_smg_mp5sd5 { ACE_barrelTwist=0.254; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; }; diff --git a/optionals/compat_hlcmods_ak/CfgWeapons.hpp b/optionals/compat_hlcmods_ak/CfgWeapons.hpp index 5cc8ebfd67..2655b1f182 100644 --- a/optionals/compat_hlcmods_ak/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_ak/CfgWeapons.hpp @@ -7,52 +7,52 @@ class CfgWeapons class hlc_rifle_ak74: hlc_ak_base { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.299999; + ACE_barrelLength=0.41402; }; class hlc_rifle_aku12: hlc_rifle_ak12 { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3000002; + ACE_barrelLength=0.21082; }; class hlc_rifle_RPK12: hlc_rifle_ak12 { - ACE_barrelLength=23.200001; + ACE_barrelLength=0.58928; }; class hlc_rifle_aks74u: hlc_rifle_ak74 { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3000002; + ACE_barrelLength=0.21082; }; class hlc_rifle_ak47: hlc_rifle_ak74 { ACE_barrelTwist=0.24003; - ACE_barrelLength=16.299999; + ACE_barrelLength=0.41402; }; class hlc_rifle_akm: hlc_rifle_ak47 { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.299999; + ACE_barrelLength=0.41402; }; class hlc_rifle_rpk: hlc_rifle_ak47 { ACE_barrelTwist=0.24003; - ACE_barrelLength=23.200001; + ACE_barrelLength=0.58928; }; class hlc_rifle_rpk74n: hlc_rifle_rpk { ACE_barrelTwist=0.24003; - ACE_barrelLength=23.200001; + ACE_barrelLength=0.58928; }; class hlc_rifle_aek971: hlc_rifle_ak74 { ACE_barrelTwist=0.2413; - ACE_barrelLength=17; + ACE_barrelLength=0.4318; }; class hlc_rifle_saiga12k: hlc_rifle_ak47 { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=16.9; + ACE_barrelLength=0.42926; }; class HLC_Optic_PSO1 : optic_dms { diff --git a/optionals/compat_hlcmods_aug/CfgWeapons.hpp b/optionals/compat_hlcmods_aug/CfgWeapons.hpp index 6f96f5bfc0..ebb5d17675 100644 --- a/optionals/compat_hlcmods_aug/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_aug/CfgWeapons.hpp @@ -6,46 +6,46 @@ class CfgWeapons class hlc_rifle_aug: hlc_aug_base { ACE_barrelTwist=0.2286; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class hlc_rifle_auga1carb: hlc_rifle_aug { ACE_barrelTwist=0.2286; - ACE_barrelLength=16; + ACE_barrelLength=0.4064; }; class hlc_rifle_aughbar: hlc_rifle_aug { ACE_barrelTwist=0.2286; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class hlc_rifle_augpara: hlc_rifle_aug { ACE_barrelTwist=0.2286; - ACE_barrelLength=16.5; + ACE_barrelLength=0.4191; }; class hlc_rifle_auga2: hlc_rifle_aug { ACE_barrelTwist=0.2286; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class hlc_rifle_auga2para: hlc_rifle_auga2 { ACE_barrelTwist=0.2286; - ACE_barrelLength=16.5; + ACE_barrelLength=0.4191; }; class hlc_rifle_auga2carb: hlc_rifle_auga2 { ACE_barrelTwist=0.2286; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class hlc_rifle_auga2lsw: hlc_rifle_aughbar { ACE_barrelTwist=0.2286; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class hlc_rifle_auga3: hlc_rifle_aug { ACE_barrelTwist=0.2286; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_fal/CfgWeapons.hpp b/optionals/compat_hlcmods_fal/CfgWeapons.hpp index af79bf2a38..6be462773b 100644 --- a/optionals/compat_hlcmods_fal/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_fal/CfgWeapons.hpp @@ -5,46 +5,46 @@ class CfgWeapons class hlc_rifle_falosw: hlc_fal_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=13; + ACE_barrelLength=0.3302; }; class hlc_rifle_osw_GL: hlc_rifle_falosw { ACE_barrelTwist=0.3048; - ACE_barrelLength=13; + ACE_barrelLength=0.3302; }; class hlc_rifle_SLR: hlc_fal_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=21.700001; + ACE_barrelLength=0.55118; }; class hlc_rifle_STG58F: hlc_fal_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class hlc_rifle_FAL5061: hlc_fal_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class hlc_rifle_L1A1SLR: hlc_rifle_SLR { ACE_barrelTwist=0.3048; - ACE_barrelLength=21.700001; + ACE_barrelLength=0.55118; }; class hlc_rifle_c1A1: hlc_rifle_SLR { ACE_barrelTwist=0.3048; - ACE_barrelLength=21.700001; + ACE_barrelLength=0.55118; }; class hlc_rifle_LAR: hlc_rifle_FAL5061 { ACE_barrelTwist=0.3048; - ACE_barrelLength=21; + ACE_barrelLength=0.5334; }; class hlc_rifle_SLRchopmod: hlc_rifle_FAL5061 { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_g3/CfgWeapons.hpp b/optionals/compat_hlcmods_g3/CfgWeapons.hpp index 8cb407d88b..9c5b5585ad 100644 --- a/optionals/compat_hlcmods_g3/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_g3/CfgWeapons.hpp @@ -5,41 +5,41 @@ class CfgWeapons class hlc_rifle_g3sg1: hlc_g3_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.700001; + ACE_barrelLength=0.44958; }; class hlc_rifle_psg1: hlc_rifle_g3sg1 { ACE_barrelTwist=0.3048; - ACE_barrelLength=25.6; + ACE_barrelLength=0.65024; }; class hlc_rifle_g3a3: hlc_rifle_g3sg1 { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.700001; + ACE_barrelLength=0.44958; }; class hlc_rifle_g3a3ris: hlc_rifle_g3a3 { ACE_barrelTwist=0.3048; - ACE_barrelLength=17.700001; + ACE_barrelLength=0.44958; }; class hlc_rifle_g3ka4: hlc_rifle_g3a3 { ACE_barrelTwist=0.3048; - ACE_barrelLength=12.4; + ACE_barrelLength=0.31496; }; class HLC_Rifle_g3ka4_GL: hlc_rifle_g3ka4 { ACE_barrelTwist=0.3048; - ACE_barrelLength=12.4; + ACE_barrelLength=0.31496; }; class hlc_rifle_hk51: hlc_rifle_g3sg1 { ACE_barrelTwist=0.3048; - ACE_barrelLength=8.3100004; + ACE_barrelLength=0.211074; }; class hlc_rifle_hk53: hlc_rifle_g3sg1 { ACE_barrelTwist=0.1778; - ACE_barrelLength=8.3100004; + ACE_barrelLength=0.211074; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_m14/CfgWeapons.hpp b/optionals/compat_hlcmods_m14/CfgWeapons.hpp index 867a2caed8..8082678f9f 100644 --- a/optionals/compat_hlcmods_m14/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m14/CfgWeapons.hpp @@ -6,11 +6,11 @@ class CfgWeapons class hlc_M14_base: Rifle_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class hlc_rifle_m14sopmod: hlc_rifle_M14 { ACE_barrelTwist=0.3048; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; }; diff --git a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp index 90108a8d68..ea93b263c5 100644 --- a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp @@ -5,11 +5,11 @@ class CfgWeapons class hlc_lmg_M60E4: hlc_M60e4_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=17; + ACE_barrelLength=0.4318; }; class hlc_lmg_m60: hlc_M60e4_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; }; diff --git a/optionals/compat_rh_de/CfgWeapons.hpp b/optionals/compat_rh_de/CfgWeapons.hpp index 1a70e3ef26..17f3bd2191 100644 --- a/optionals/compat_rh_de/CfgWeapons.hpp +++ b/optionals/compat_rh_de/CfgWeapons.hpp @@ -5,136 +5,136 @@ class CfgWeapons class RH_deagle: RH_Pistol_Base_F { ACE_barrelTwist=0.4826; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_mateba: Pistol_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_mp412: Pistol_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_python: Pistol_Base_F { ACE_barrelTwist=0.3556; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_bull: RH_python { ACE_barrelTwist=0.6096; - ACE_barrelLength=6.5; + ACE_barrelLength=0.1651; }; class RH_ttracker: Pistol_Base_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class RH_cz75: RH_Pistol_Base_F { ACE_barrelTwist=0.24638; - ACE_barrelLength=4.7; + ACE_barrelLength=0.11938; }; class RH_p226: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class RH_sw659: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=7.44; + ACE_barrelLength=0.188976; }; class RH_usp: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.41; + ACE_barrelLength=0.112014; }; class RH_uspm: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_kimber: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_m1911: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_tt33: RH_Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=4.6; + ACE_barrelLength=0.11684; }; class RH_mak: RH_Pistol_Base_F { ACE_barrelTwist=0.24003; - ACE_barrelLength=3.68; + ACE_barrelLength=0.093472; }; class RH_mk2: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class RH_m9: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.9; + ACE_barrelLength=0.12446; }; class RH_g18: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.49; + ACE_barrelLength=0.114046; }; class RH_g17: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.49; + ACE_barrelLength=0.114046; }; class RH_g19: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4; + ACE_barrelLength=0.1016; }; class RH_gsh18: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.1; + ACE_barrelLength=0.10414; }; class RH_fnp45: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class RH_fn57: RH_fnp45 { ACE_barrelTwist=0.23114; - ACE_barrelLength=4.8; + ACE_barrelLength=0.12192; }; class RH_vp70: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=4.6; + ACE_barrelLength=0.11684; }; class RH_vz61: RH_Pistol_Base_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=4.5; + ACE_barrelLength=0.1143; }; class RH_tec9: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class RH_muzi: RH_Pistol_Base_F { ACE_barrelTwist=0.24892; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_m4/CfgWeapons.hpp b/optionals/compat_rh_m4/CfgWeapons.hpp index 94f69a3562..6b703ed2b4 100644 --- a/optionals/compat_rh_m4/CfgWeapons.hpp +++ b/optionals/compat_rh_m4/CfgWeapons.hpp @@ -5,126 +5,126 @@ class CfgWeapons class RH_ar10: Rifle_Base_F { ACE_barrelTwist=0.28575; - ACE_barrelLength=20.8; + ACE_barrelLength=0.52832; }; class RH_m110: Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_Mk11: RH_m110 { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class RH_SR25EC: RH_m110 { ACE_barrelTwist=0.28575; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_m4: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_M4_ris: RH_m4 { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_M4A1_ris: RH_M4_ris { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_M4m: RH_M4A1_ris { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.5; + ACE_barrelLength=0.2667; }; class RH_M4sbr: RH_M4A1_ris { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.5; + ACE_barrelLength=0.2667; }; class RH_hb: Rifle_Base_F { ACE_barrelTwist=0.2032; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_hb_b: RH_hb { ACE_barrelTwist=0.2032; - ACE_barrelLength=6; + ACE_barrelLength=0.1524; }; class RH_sbr9: Rifle_Base_F { ACE_barrelTwist=0.24638; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class RH_M4A6: RH_M4A1_ris { ACE_barrelTwist=0.254; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_M16a1: RH_m4 { ACE_barrelTwist=0.3556; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A2: RH_m4 { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A4 : RH_M4_ris { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A3: RH_M16A4 { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A4_m: RH_M16A4 { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_M16A6: RH_M16A4 { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_Mk12mod1: RH_M16A4 { ACE_barrelTwist=0.1778; - ACE_barrelLength=18; + ACE_barrelLength=0.4572; }; class RH_SAMR: RH_Mk12mod1 { ACE_barrelTwist=0.19558; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class RH_Hk416: RH_M4A1_ris { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class RH_Hk416s: RH_M4sbr { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.4; + ACE_barrelLength=0.26416; }; class RH_Hk416c: RH_M4sbr { ACE_barrelTwist=0.1778; - ACE_barrelLength=9; + ACE_barrelLength=0.2286; }; class RH_M27IAR: RH_Mk12mod1 { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.5; + ACE_barrelLength=0.4191; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_pdw/CfgWeapons.hpp b/optionals/compat_rh_pdw/CfgWeapons.hpp index 27a5a23493..c9921f3ace 100644 --- a/optionals/compat_rh_pdw/CfgWeapons.hpp +++ b/optionals/compat_rh_pdw/CfgWeapons.hpp @@ -5,6 +5,6 @@ class CfgWeapons class RH_PDW: Rifle_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=10; + ACE_barrelLength=0.254; }; }; diff --git a/optionals/compat_rhs_afrf3/CfgWeapons.hpp b/optionals/compat_rhs_afrf3/CfgWeapons.hpp index b8bd997a58..a6c9416f1e 100644 --- a/optionals/compat_rhs_afrf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_afrf3/CfgWeapons.hpp @@ -5,57 +5,57 @@ class CfgWeapons class rhs_weap_pya: hgun_Rook40_F { ACE_barrelTwist=0.254; - ACE_barrelLength=4.4; + ACE_barrelLength=0.11176; }; class Pistol_Base_F; class rhs_weap_makarov_pmm: rhs_weap_pya { ACE_barrelTwist=0.24003; - ACE_barrelLength=3.68; + ACE_barrelLength=0.093472; }; class rhs_weap_ak74m_Base_F; class rhs_weap_ak74m: rhs_weap_ak74m_Base_F { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class rhs_weap_akm: rhs_weap_ak74m { ACE_barrelTwist=0.199898; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class rhs_weap_aks74; class rhs_weap_aks74u: rhs_weap_aks74 { ACE_barrelTwist=0.16002; - ACE_barrelLength=8.3; + ACE_barrelLength=0.21082; }; class rhs_weap_svd: rhs_weap_ak74m { ACE_barrelTwist=0.23876; - ACE_barrelLength=24.4; + ACE_barrelLength=0.61976; }; class rhs_weap_svdp; class rhs_weap_svds: rhs_weap_svdp { ACE_barrelTwist=0.23876; - ACE_barrelLength=22.2; + ACE_barrelLength=0.56388; }; class rhs_pkp_base; class rhs_weap_pkp: rhs_pkp_base { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.9; + ACE_barrelLength=0.65786; }; class rhs_weap_pkm: rhs_weap_pkp { ACE_barrelTwist=0.24003; - ACE_barrelLength=25.4; + ACE_barrelLength=0.64516; }; class rhs_weap_rpk74m: rhs_weap_pkp { ACE_barrelTwist=0.195072; - ACE_barrelLength=23.2; + ACE_barrelLength=0.58928; }; class rhs_acc_sniper_base; diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index e394762bfe..e531676a24 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -7,69 +7,69 @@ class CfgWeapons class rhs_weap_XM2010_Base_F: Rifle_Base_F { ACE_barrelTwist=0.254; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class arifle_MX_Base_F; class rhs_weap_m4_Base: arifle_MX_Base_F { ACE_barrelTwist=0.1778; - ACE_barrelLength=14.5; + ACE_barrelLength=0.3683; }; class rhs_weap_m4a1; class rhs_weap_mk18: rhs_weap_m4a1 { ACE_barrelTwist=0.1778; - ACE_barrelLength=10.3; + ACE_barrelLength=0.26162; }; class rhs_weap_m16a4: rhs_weap_m4_Base { ACE_barrelTwist=0.1778; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_M249_base; class rhs_weap_m249_pip: rhs_M249_base { ACE_barrelTwist=0.1778; - ACE_barrelLength=16.3; + ACE_barrelLength=0.41402; }; class weap_m240_base; class rhs_weap_m240B: weap_m240_base { ACE_barrelTwist=0.3048; - ACE_barrelLength=24.8; + ACE_barrelLength=0.62992; }; class rhs_weap_m14ebrri: srifle_EBR_F { ACE_barrelTwist=0.3048; - ACE_barrelLength=22; + ACE_barrelLength=0.5588; }; class rhs_weap_sr25: rhs_weap_m14ebrri { ACE_barrelTwist=0.28575; - ACE_barrelLength=24; + ACE_barrelLength=0.6096; }; class rhs_weap_sr25_ec: rhs_weap_sr25 { ACE_barrelTwist=0.28575; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class rhs_weap_M590_5RD: Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=18.5; + ACE_barrelLength=0.4699; }; class rhs_weap_M590_8RD: rhs_weap_M590_5RD { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=20; + ACE_barrelLength=0.508; }; class hgun_ACPC2_F; class rhsusf_weap_m1911a1: hgun_ACPC2_F { ACE_barrelTwist=0.4064; - ACE_barrelLength=5; + ACE_barrelLength=0.127; }; class rhsusf_acc_sniper_base; From db07de31afdefddbcd6d3a8e7e85afa3654e02e8 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:49:40 +0200 Subject: [PATCH 352/478] Whoops; back to the roots. --- addons/overheating/functions/fnc_overheat.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/overheating/functions/fnc_overheat.sqf b/addons/overheating/functions/fnc_overheat.sqf index 0d52d9102f..8b51ea9f6d 100644 --- a/addons/overheating/functions/fnc_overheat.sqf +++ b/addons/overheating/functions/fnc_overheat.sqf @@ -36,12 +36,12 @@ _time = _overheat select 1; // Get physical parameters // Bullet mass is read from config in grains and converted to grams -_bulletMass = (getNumber (configFile >> "CfgAmmo" >> _ammo >> "ACE_BulletMass")) * 0.06480; +_bulletMass = getNumber (configFile >> "CfgAmmo" >> _ammo >> "ACE_BulletMass"); if (_bulletMass == 0) then { // If the bullet mass is not configured, estimate it directly in grams _bulletMass = 3.4334 + 0.5171 * (getNumber (configFile >> "CfgAmmo" >> _ammo >> "hit") + getNumber (configFile >> "CfgAmmo" >> _ammo >> "caliber")); }; -_energyIncrement = 0.75 * 0.0005 * 15.4323 * _bulletMass * (vectorMagnitudeSqr _velocity); +_energyIncrement = 0.75 * 0.0005 * _bulletMass * (vectorMagnitudeSqr _velocity); _barrelMass = 0.50 * (getNumber (configFile >> "CfgWeapons" >> _weapon >> "WeaponSlotsInfo" >> "mass") / 22.0) max 1.0; // Calculate cooling From a8c4068b56f355e4bd3a5d1282d53a6de4238b61 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Thu, 7 May 2015 18:51:18 +0200 Subject: [PATCH 353/478] Remove unnecessary comment --- addons/overheating/functions/fnc_overheat.sqf | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/overheating/functions/fnc_overheat.sqf b/addons/overheating/functions/fnc_overheat.sqf index 8b51ea9f6d..75ba1e1306 100644 --- a/addons/overheating/functions/fnc_overheat.sqf +++ b/addons/overheating/functions/fnc_overheat.sqf @@ -35,7 +35,6 @@ _temperature = _overheat select 0; _time = _overheat select 1; // Get physical parameters -// Bullet mass is read from config in grains and converted to grams _bulletMass = getNumber (configFile >> "CfgAmmo" >> _ammo >> "ACE_BulletMass"); if (_bulletMass == 0) then { // If the bullet mass is not configured, estimate it directly in grams From 8e3e38f91d4864f7b49fb732b4aea72d6cdef603 Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 7 May 2015 12:28:33 -0700 Subject: [PATCH 354/478] Nobin added to server build. Fixes #1043 --- optionals/server/$NOBIN$ | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 optionals/server/$NOBIN$ diff --git a/optionals/server/$NOBIN$ b/optionals/server/$NOBIN$ new file mode 100644 index 0000000000..e69de29bb2 From 518dfb437317f505f7628a449a87d2e72348c4da Mon Sep 17 00:00:00 2001 From: Glowbal Date: Thu, 7 May 2015 21:51:03 +0200 Subject: [PATCH 355/478] Added missing privates --- addons/common/functions/fnc_loadSettingsOnServer.sqf | 2 ++ addons/common/functions/fnc_setSetting.sqf | 2 +- addons/common/functions/fnc_setSettingFromConfig.sqf | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/common/functions/fnc_loadSettingsOnServer.sqf b/addons/common/functions/fnc_loadSettingsOnServer.sqf index 9255d047b3..61431ff220 100644 --- a/addons/common/functions/fnc_loadSettingsOnServer.sqf +++ b/addons/common/functions/fnc_loadSettingsOnServer.sqf @@ -13,6 +13,8 @@ */ #include "script_component.hpp" +private ["_parseConfigForSettings"]; + GVAR(settings) = []; _parseConfigForSettings = { diff --git a/addons/common/functions/fnc_setSetting.sqf b/addons/common/functions/fnc_setSetting.sqf index 67068c6ad1..84ba255758 100644 --- a/addons/common/functions/fnc_setSetting.sqf +++ b/addons/common/functions/fnc_setSetting.sqf @@ -17,7 +17,7 @@ */ #include "script_component.hpp" -private ["_name","_value"]; +private ["_name","_value", "_force", "_settingData","_failed"]; _name = _this select 0; _value = _this select 1; diff --git a/addons/common/functions/fnc_setSettingFromConfig.sqf b/addons/common/functions/fnc_setSettingFromConfig.sqf index 3a1b6fd055..0b5d4ab767 100644 --- a/addons/common/functions/fnc_setSettingFromConfig.sqf +++ b/addons/common/functions/fnc_setSettingFromConfig.sqf @@ -14,6 +14,8 @@ EXPLODE_1_PVT(_this,_optionEntry); +private ["_fnc_getValueWithType", "_value","_name", "_typeName", "_settingData"]; + _fnc_getValueWithType = { EXPLODE_2_PVT(_this,_optionEntry,_typeName); From 027a3dd4ac1c89d8fb56c177a84d57c3f55ae785 Mon Sep 17 00:00:00 2001 From: jaynus Date: Thu, 7 May 2015 12:52:19 -0700 Subject: [PATCH 356/478] AB map tweaking. Just a bit of optimization and crash checking. --- .../advanced_ballistics/AdvancedBallistics.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index 6e964f8921..554c21b601 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -2,7 +2,7 @@ #include #include -#include +#include #include #define M_PI 3.14159265358979323846f @@ -57,7 +57,7 @@ struct Map { }; std::vector bulletDatabase; -std::map mapDatabase; +std::unordered_map mapDatabase; std::string worldName = ""; Map* map = &mapDatabase[""]; @@ -339,10 +339,8 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) tickTime = strtod(strtok_s(NULL, ":", &next_token), NULL); tickTime += strtod(strtok_s(NULL, ":", &next_token), NULL); - while (index >= bulletDatabase.size()) { - Bullet bullet; - bulletDatabase.push_back(bullet); - } + if (index >= bulletDatabase.size()) + bulletDatabase.resize(index); bulletDatabase[index].airFriction = airFriction; bulletDatabase[index].ballisticCoefficients = ballisticCoefficients; @@ -611,8 +609,12 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) mapGrids = (int)ceil((double)mapSize / 50.0) + 1; gridCells = mapGrids * mapGrids; + + auto map_iter = mapDatabase.find(worldName); + if (map_iter == mapDatabase.end()) + return; + map = &map_iter->second; - map = &mapDatabase[worldName]; if (map->gridHeights.size() == gridCells) { int n = sprintf_s(output, outputSize, "%s", "Terrain already initialized"); return; From fa071103114cf1566448bc2144082cb0ce11488a Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 10:46:59 +0200 Subject: [PATCH 357/478] The stability factor calculation is all metric now --- .../fnc_calculateStabilityFactor.sqf | 22 +++++++++---------- .../functions/fnc_handleFired.sqf | 8 +++---- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf b/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf index 81b71aeb3b..9b205c3ec2 100644 --- a/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf +++ b/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf @@ -4,10 +4,10 @@ * Calculates the stability factor of a bullet * * Arguments: - * 0: caliber - inches - * 1: bullet length - inches - * 2: bullet mass - grains - * 3: barrel twist - inches + * 0: caliber - mm + * 1: bullet length - mm + * 2: bullet mass - grams + * 3: barrel twist - mm * 4: muzzle velocity shift - m/s * 5: temperature - degrees celcius * 6: barometric Pressure - hPA @@ -17,7 +17,8 @@ * * Public: No */ - +#include "script_component.hpp" + private ["_caliber", "_bulletLength", "_bulletMass", "_barrelTwist", "_muzzleVelocity", "_temperature", "_barometricPressure", "_l", "_t", "_stabilityFactor"]; _caliber = _this select 0; _bulletLength = _this select 1; @@ -31,15 +32,14 @@ _barometricPressure = _this select 6; _t = _barrelTwist / _caliber; _l = _bulletLength / _caliber; -_stabilityFactor = 30 * _bulletMass / (_t^2 * _caliber^3 * _l * (1 + _l^2)); +_stabilityFactor = 7587000 * _bulletMass / (_t^2 * _caliber^3 * _l * (1 + _l^2)); -_muzzleVelocity = _muzzleVelocity * 3.2808399; -if (_muzzleVelocity > 1120) then { - _stabilityFactor = _stabilityFactor * (_muzzleVelocity / 2800) ^ (1/3); +if (_muzzleVelocity > 341.376) then { + _stabilityFactor = _stabilityFactor * (_muzzleVelocity / 853.44) ^ (1/3); } else { - _stabilityFactor = _stabilityFactor * (_muzzleVelocity / 1120) ^ (1/3); + _stabilityFactor = _stabilityFactor * (_muzzleVelocity / 341.376) ^ (1/3); }; -_stabilityFactor = _stabilityFactor * (_temperature + 273) / (15 + 273) * 1013.25 / _barometricPressure; +_stabilityFactor = _stabilityFactor * KELVIN(_temperature) / KELVIN(15) * 1013.25 / _barometricPressure; _stabilityFactor diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 23da76ad2c..2e2b0076d1 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -91,10 +91,10 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { }; }; -_caliber = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); -_bulletLength = 39.37 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); -_bulletMass = 15.432 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); -_barrelTwist = 39.37 * getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); +_caliber = 1000 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); +_bulletLength = 1000 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); +_bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); +_barrelTwist = 1000 * getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); _stabilityFactor = 1.5; if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { From ce8e192a01a23940281cfb4b545c052690d483ca Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 12:44:06 +0200 Subject: [PATCH 358/478] Convert ACE_caliber to millimeters --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgAmmo.hpp | 92 ++-- extras/CfgAmmoReference.hpp | 410 +++++++++--------- optionals/compat_cup/CfgAmmo.hpp | 64 +-- optionals/compat_hlcmods_core/CfgAmmo.hpp | 44 +- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- 10 files changed, 350 insertions(+), 350 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 2e2b0076d1..d54caf6f03 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -91,7 +91,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { }; }; -_caliber = 1000 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); +_caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); _bulletLength = 1000 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); _bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); _barrelTwist = 1000 * getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 8c47af9ac3..d693a1f44c 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -25,7 +25,7 @@ class CfgAmmo { typicalSpeed=750; tracerStartTime = 0.073; //M856 tracer burns out to 800m tracerEndTime = 1.579; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -42,7 +42,7 @@ class CfgAmmo { deflecting=18; hit=11; typicalSpeed=836; - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -59,7 +59,7 @@ class CfgAmmo { deflecting=18; hit=9; typicalSpeed=886; - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -76,7 +76,7 @@ class CfgAmmo { deflecting=18; hit=6; typicalSpeed=886; - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=2.9808; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -97,7 +97,7 @@ class CfgAmmo { deflecting=18; hit=7; typicalSpeed=880; - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -117,7 +117,7 @@ class CfgAmmo { typicalSpeed=883; tracerStartTime = 0.073; //7T3M tracer burns out to 850m tracerEndTime = 1.736; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -131,7 +131,7 @@ class CfgAmmo { class B_65x39_Caseless : BulletBase { airFriction=-0.000785; typicalSpeed=800; - ACE_caliber=0.006706; + ACE_caliber=6.706; ACE_bulletLength=0.032893; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -154,7 +154,7 @@ class CfgAmmo { airFriction=-0.00078; typicalSpeed=820 ; caliber=0.9; - ACE_caliber=0.006706; + ACE_caliber=6.706; ACE_bulletLength=0.034646; ACE_bulletMass=9.0072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -169,7 +169,7 @@ class CfgAmmo { airFriction=-0.000651; typicalSpeed=860 ; caliber=1.1; - ACE_caliber=0.006706; + ACE_caliber=6.706; ACE_bulletLength=0.03622; ACE_bulletMass=9.072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -186,7 +186,7 @@ class CfgAmmo { hit=9; tracerStartTime = 0.073; //Based on the British L5A1 which burns out to 1000m tracerEndTime = 2.058; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -206,7 +206,7 @@ class CfgAmmo { caliber=1.8; hit=16; typicalSpeed=790; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -222,7 +222,7 @@ class CfgAmmo { caliber=1.8; hit=16; typicalSpeed=790; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -238,7 +238,7 @@ class CfgAmmo { caliber=1.5; hit=14; typicalSpeed=900; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -254,7 +254,7 @@ class CfgAmmo { caliber=2.2; hit=11; typicalSpeed=930; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=8.2296; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -270,7 +270,7 @@ class CfgAmmo { caliber=1; hit=6; typicalSpeed=320; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -286,7 +286,7 @@ class CfgAmmo { typicalSpeed=800; caliber=2.0; hit=10; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.030734; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -302,7 +302,7 @@ class CfgAmmo { typicalSpeed=820; caliber=2.1; hit=8; - ACE_caliber=0.007214; + ACE_caliber=7.214; ACE_bulletLength=0.038837; ACE_bulletMass=11.664; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -318,7 +318,7 @@ class CfgAmmo { typicalSpeed=915; caliber=2.3; hit=6; - ACE_caliber=0.006172; + ACE_caliber=6.172; ACE_bulletLength=0.032563; ACE_bulletMass=11.664; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -334,7 +334,7 @@ class CfgAmmo { caliber=1.8; hit=17; typicalSpeed=900; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034366; ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -350,7 +350,7 @@ class CfgAmmo { caliber=1.9; hit=18; typicalSpeed=867; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -366,7 +366,7 @@ class CfgAmmo { caliber=2.0; hit=19; typicalSpeed=853; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.040691; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -380,7 +380,7 @@ class CfgAmmo { class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; typicalSpeed=820; - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -396,7 +396,7 @@ class CfgAmmo { caliber=1.5; hit=15; typicalSpeed=820; - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -415,7 +415,7 @@ class CfgAmmo { typicalSpeed=800; tracerStartTime = 0.073; //Based on the 7T2 which burns three seconds tracerEndTime = 3; - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -431,7 +431,7 @@ class CfgAmmo { caliber=1.5; hit=11; typicalSpeed=790; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.029286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -447,7 +447,7 @@ class CfgAmmo { hit=12; caliber=1.5; typicalSpeed=716; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -465,7 +465,7 @@ class CfgAmmo { typicalSpeed=716; tracerStartTime = 0.073; //57N231P tracer burns out to 800m tracerEndTime = 2.082; //Time in seconds calculated with ballistics calculator - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -480,7 +480,7 @@ class CfgAmmo { airFriction=-0.00125; typicalSpeed=390; hit=6; - ACE_caliber=0.009042; + ACE_caliber=9.042; ACE_bulletLength=0.015494; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -495,7 +495,7 @@ class CfgAmmo { hit=5; airFriction=-0.001234; typicalSpeed=298; - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -510,7 +510,7 @@ class CfgAmmo { airFriction=-0.001234; typicalSpeed=370; hit=6; - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -525,7 +525,7 @@ class CfgAmmo { airFriction=-0.00168; typicalSpeed=425; hit=7; - ACE_caliber=0.0127; + ACE_caliber=12.7; ACE_bulletLength=0.019406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -540,7 +540,7 @@ class CfgAmmo { airFriction=-0.001213; typicalSpeed=282; hit=7; - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -555,7 +555,7 @@ class CfgAmmo { airFriction=-0.00083; typicalSpeed=761; caliber=2.0; - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -569,7 +569,7 @@ class CfgAmmo { class B_93x64_Ball : BulletBase { airFriction=-0.00106; typicalSpeed=880; - ACE_caliber=0.009296; + ACE_caliber=9.296; ACE_bulletLength=0.03429; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -584,7 +584,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000395; typicalSpeed=910; - ACE_caliber=0.010363; + ACE_caliber=10.363; ACE_bulletLength=0.054; ACE_bulletMass=26.568; ACE_transonicStabilityCoef=1; @@ -598,7 +598,7 @@ class CfgAmmo { }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; - ACE_caliber=0.010566; + ACE_caliber=10.566; ACE_bulletLength=0.053061; ACE_bulletMass=25.7904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -613,7 +613,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000606; typicalSpeed=915; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.039573; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -627,7 +627,7 @@ class CfgAmmo { class B_338_NM_Ball : BulletBase { airFriction=-0.000537; typicalSpeed=820; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -642,7 +642,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000535; typicalSpeed=826; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -658,7 +658,7 @@ class CfgAmmo { airFriction=-0.000673; caliber=2.8; typicalSpeed=826; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.038989; ACE_bulletMass=16.3944; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -672,7 +672,7 @@ class CfgAmmo { class B_127x54_Ball : BulletBase { airFriction=-0.00014; typicalSpeed=300; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.064516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -687,7 +687,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.0006; typicalSpeed=900; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -704,7 +704,7 @@ class CfgAmmo { typicalSpeed=900; hit=25; caliber=4.0; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -720,7 +720,7 @@ class CfgAmmo { airFriction=-0.000374; typicalSpeed=860; caliber=3.0; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.064516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -735,7 +735,7 @@ class CfgAmmo { timeToLive=10; airFriction=-0.00064; typicalSpeed=820; - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -749,7 +749,7 @@ class CfgAmmo { class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; typicalSpeed=250; - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index 1d2d5b2700..ab90e6bbd0 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -5,7 +5,7 @@ class CfgAmmo airFriction=-0.001265; hit=8; typicalSpeed=750; - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -22,7 +22,7 @@ class CfgAmmo deflecting=18; hit=11; typicalSpeed=836; - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -39,7 +39,7 @@ class CfgAmmo deflecting=18; hit=9; typicalSpeed=886; - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -60,7 +60,7 @@ class CfgAmmo deflecting=18; hit=7; typicalSpeed=880; - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -78,7 +78,7 @@ class CfgAmmo deflecting=18; hit=7; typicalSpeed=883; - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -92,7 +92,7 @@ class CfgAmmo class B_65x39_Caseless : BulletBase { airFriction=-0.000785; typicalSpeed=800; - ACE_caliber=0.006706; + ACE_caliber=6.706; ACE_bulletLength=0.032893; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -115,7 +115,7 @@ class CfgAmmo { airFriction=-0.00078; typicalSpeed=820 ; - ACE_caliber=0.006706; + ACE_caliber=6.706; ACE_bulletLength=0.034646; ACE_bulletMass=9.0072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -130,7 +130,7 @@ class CfgAmmo airFriction=-0.001035; typicalSpeed=833; hit=9; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -150,7 +150,7 @@ class CfgAmmo caliber=1.05; hit=16; typicalSpeed=790; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -166,7 +166,7 @@ class CfgAmmo caliber=0.85; hit=14; typicalSpeed=890; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -182,7 +182,7 @@ class CfgAmmo caliber=0.5; hit=6; typicalSpeed=790; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -198,7 +198,7 @@ class CfgAmmo caliber=1.08; hit=17; typicalSpeed=900; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034366; ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -214,7 +214,7 @@ class CfgAmmo caliber=1.12; hit=18; typicalSpeed=867; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -230,7 +230,7 @@ class CfgAmmo caliber=1.15; hit=19; typicalSpeed=853; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.040691; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -244,7 +244,7 @@ class CfgAmmo class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; typicalSpeed=820; - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -260,7 +260,7 @@ class CfgAmmo caliber=0.95; hit=15; typicalSpeed=820; - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -277,7 +277,7 @@ class CfgAmmo caliber=0.9; hit=15; typicalSpeed=800; - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -293,7 +293,7 @@ class CfgAmmo caliber=0.9; hit=11; typicalSpeed=790; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.029286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -308,7 +308,7 @@ class CfgAmmo airFriction=-0.0015168; hit=12; typicalSpeed=716; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -323,7 +323,7 @@ class CfgAmmo airFriction=-0.0015168; hit=12; typicalSpeed=716; - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -338,7 +338,7 @@ class CfgAmmo airFriction=-0.00125; typicalSpeed=390; hit=6; - ACE_caliber=0.009042; + ACE_caliber=9.042; ACE_bulletLength=0.015494; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -353,7 +353,7 @@ class CfgAmmo hit=5; airFriction=-0.001234; typicalSpeed=298; - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -368,7 +368,7 @@ class CfgAmmo airFriction=-0.001234; typicalSpeed=370; hit=6; - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -383,7 +383,7 @@ class CfgAmmo airFriction=-0.00168; typicalSpeed=425; hit=7; - ACE_caliber=0.0127; + ACE_caliber=12.7; ACE_bulletLength=0.019406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -398,7 +398,7 @@ class CfgAmmo airFriction=-0.001213; typicalSpeed=282; hit=7; - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -412,7 +412,7 @@ class CfgAmmo class ACE_303_Ball : ACE_762x51_Ball_M118LR { airFriction=-0.00083; typicalSpeed=761; - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -426,7 +426,7 @@ class CfgAmmo class B_93x64_Ball : BulletBase { airFriction=-0.00106; typicalSpeed=880; - ACE_caliber=0.009296; + ACE_caliber=9.296; ACE_bulletLength=0.03429; ACE_bulletMass=14.904; ACE_transonicStabilityCoef=1; @@ -442,7 +442,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.000395; typicalSpeed=910; - ACE_caliber=0.010363; + ACE_caliber=10.363; ACE_bulletLength=0.054; ACE_bulletMass=26.568; ACE_transonicStabilityCoef=1; @@ -456,7 +456,7 @@ class CfgAmmo }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; - ACE_caliber=0.010566; + ACE_caliber=10.566; ACE_bulletLength=0.053061; ACE_bulletMass=25.7904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -471,7 +471,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.000606; typicalSpeed=915; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.039573; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -485,7 +485,7 @@ class CfgAmmo class B_338_NM_Ball : BulletBase { airFriction=-0.000537; typicalSpeed=820; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -501,7 +501,7 @@ class CfgAmmo airFriction=-0.000535; caliber=1.55; typicalSpeed=826; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -517,7 +517,7 @@ class CfgAmmo airFriction=-0.000673; caliber=2.4; typicalSpeed=826; - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.038989; ACE_bulletMass=16.3944; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -531,7 +531,7 @@ class CfgAmmo class B_127x54_Ball : BulletBase { airFriction=-0.00014; typicalSpeed=300; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.064516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -546,7 +546,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.0006; typicalSpeed=853; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -561,7 +561,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.000374; typicalSpeed=860; - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.064516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -576,7 +576,7 @@ class CfgAmmo timeToLive=10; airFriction=-0.00064; typicalSpeed=820; - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -590,7 +590,7 @@ class CfgAmmo class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; typicalSpeed=250; - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -604,7 +604,7 @@ class CfgAmmo class TMR_B_762x51_M118LR : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -618,7 +618,7 @@ class CfgAmmo class RH_50_AE_Ball: BulletBase { - ACE_caliber=0.0127; + ACE_caliber=12.7; ACE_bulletLength=0.028194; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -631,7 +631,7 @@ class CfgAmmo }; class RH_454_Casull: BulletBase { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.022733; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -644,7 +644,7 @@ class CfgAmmo }; class RH_32ACP: BulletBase { - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -657,7 +657,7 @@ class CfgAmmo }; class RH_45ACP: BulletBase { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -670,7 +670,7 @@ class CfgAmmo }; class RH_B_40SW: BulletBase { - ACE_caliber=0.01016; + ACE_caliber=10.16; ACE_bulletLength=0.011354; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -683,7 +683,7 @@ class CfgAmmo }; class RH_44mag_ball: BulletBase { - ACE_caliber=0.010897; + ACE_caliber=10.897; ACE_bulletLength=0.020422; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -696,7 +696,7 @@ class CfgAmmo }; class RH_357mag_ball: BulletBase { - ACE_caliber=0.009068; + ACE_caliber=9.068; ACE_bulletLength=0.013741; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -709,7 +709,7 @@ class CfgAmmo }; class RH_762x25: BulletBase { - ACE_caliber=0.007874; + ACE_caliber=7.874; ACE_bulletLength=0.013856; ACE_bulletMass=5.5728; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -722,7 +722,7 @@ class CfgAmmo }; class RH_9x18_Ball: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -735,7 +735,7 @@ class CfgAmmo }; class RH_B_9x19_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -748,7 +748,7 @@ class CfgAmmo }; class RH_B_22LR_SD: BulletBase { - ACE_caliber=0.005664; + ACE_caliber=5.664; ACE_bulletLength=0.01143; ACE_bulletMass=2.4624; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -761,7 +761,7 @@ class CfgAmmo }; class RH_57x28mm: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.012573; ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -775,7 +775,7 @@ class CfgAmmo class RH_9x19_B_M822: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -788,7 +788,7 @@ class CfgAmmo }; class RH_9x19_B_HP: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -801,7 +801,7 @@ class CfgAmmo }; class RH_9x19_B_HPSB: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015316; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -814,7 +814,7 @@ class CfgAmmo }; class RH_B_6x35: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.011303; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -827,7 +827,7 @@ class CfgAmmo }; class RH_556x45_B_M855A1 : B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -840,7 +840,7 @@ class CfgAmmo }; class RH_556x45_B_Mk262 : B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -853,7 +853,7 @@ class CfgAmmo }; class RH_556x45_B_Mk318 : B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -866,7 +866,7 @@ class CfgAmmo }; class RH_68x43_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.007036; + ACE_caliber=7.036; ACE_bulletLength=0.024359; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -879,7 +879,7 @@ class CfgAmmo }; class RH_68x43_B_Match: B_65x39_Caseless { - ACE_caliber=0.007036; + ACE_caliber=7.036; ACE_bulletLength=0.03175; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -892,7 +892,7 @@ class CfgAmmo }; class RH_762x35_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -905,7 +905,7 @@ class CfgAmmo }; class RH_762x35_B_Match: B_65x39_Caseless { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.029286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -918,7 +918,7 @@ class CfgAmmo }; class RH_762x35_B_MSB: B_65x39_Caseless { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -931,7 +931,7 @@ class CfgAmmo }; class RH_762x51_B_M80A1 : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -944,7 +944,7 @@ class CfgAmmo }; class RH_762x51_B_Mk316LR : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -957,7 +957,7 @@ class CfgAmmo }; class RH_762x51_B_Mk319 : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.02728; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -970,7 +970,7 @@ class CfgAmmo }; class RH_762x51_B_LFMJSB: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -984,7 +984,7 @@ class CfgAmmo class HLC_556NATO_SOST: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -997,7 +997,7 @@ class CfgAmmo }; class HLC_556NATO_SPR: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1010,7 +1010,7 @@ class CfgAmmo }; class HLC_556NATO_EPR: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -1023,7 +1023,7 @@ class CfgAmmo }; class HLC_300Blackout_Ball: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1036,7 +1036,7 @@ class CfgAmmo }; class HLC_300Blackout_SMK: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1049,7 +1049,7 @@ class CfgAmmo }; class HLC_762x51_BTSub: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1062,7 +1062,7 @@ class CfgAmmo }; class HLC_762x54_ball: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1075,7 +1075,7 @@ class CfgAmmo }; class HLC_762x54_tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1088,7 +1088,7 @@ class CfgAmmo }; class HLC_303Brit_B: BulletBase { - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1101,7 +1101,7 @@ class CfgAmmo }; class HLC_792x57_Ball: BulletBase { - ACE_caliber=0.008077; + ACE_caliber=8.077; ACE_bulletLength=0.028651; ACE_bulletMass=12.7008; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1114,7 +1114,7 @@ class CfgAmmo }; class FH_545x39_Ball: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1134,7 +1134,7 @@ class CfgAmmo }; class HLC_9x19_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1155,7 +1155,7 @@ class CfgAmmo }; class HLC_10mm_FMJ: HLC_9x19_Ball { - ACE_caliber=0.0127; + ACE_caliber=12.7; ACE_bulletLength=0.019406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1168,7 +1168,7 @@ class CfgAmmo }; class HLC_9x19_M882_SMG: HLC_9x19_Ball { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1182,7 +1182,7 @@ class CfgAmmo class M_mas_545x39_Ball_7N6M : BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1195,7 +1195,7 @@ class CfgAmmo }; class M_mas_545x39_Ball_7T3M : BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1208,7 +1208,7 @@ class CfgAmmo }; class B_mas_556x45_Ball_Mk262 : B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1221,7 +1221,7 @@ class CfgAmmo }; class B_mas_9x18_Ball_57N181S : BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1234,7 +1234,7 @@ class CfgAmmo }; class B_mas_9x21p_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1247,7 +1247,7 @@ class CfgAmmo }; class B_mas_9x21_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1260,7 +1260,7 @@ class CfgAmmo }; class B_mas_9x21d_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1273,7 +1273,7 @@ class CfgAmmo }; class B_mas_765x17_Ball: BulletBase { - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1286,7 +1286,7 @@ class CfgAmmo }; class B_mas_762x39_Ball: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1299,7 +1299,7 @@ class CfgAmmo }; class B_mas_762x39_Ball_T: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1312,7 +1312,7 @@ class CfgAmmo }; class B_mas_762x51_Ball_M118LR : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1325,7 +1325,7 @@ class CfgAmmo }; class B_mas_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034366; ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1338,7 +1338,7 @@ class CfgAmmo }; class B_mas_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1351,7 +1351,7 @@ class CfgAmmo }; class B_mas_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.040691; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1364,7 +1364,7 @@ class CfgAmmo }; class B_mas_762x54_Ball : BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1377,7 +1377,7 @@ class CfgAmmo }; class B_mas_762x54_Ball_T : BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1390,7 +1390,7 @@ class CfgAmmo }; class BWA3_B_762x51_Ball_LR : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1403,7 +1403,7 @@ class CfgAmmo }; class BWA3_B_762x51_Ball_SD : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1417,7 +1417,7 @@ class CfgAmmo class BWA3_B_46x30_Ball : BulletBase { - ACE_caliber=0.004902; + ACE_caliber=4.902; ACE_bulletLength=0.013005; ACE_bulletMass=2.0088; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1431,7 +1431,7 @@ class CfgAmmo class Trixie_338_Ball : BulletBase { - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1444,7 +1444,7 @@ class CfgAmmo }; class Trixie_303_Ball : BulletBase { - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1458,7 +1458,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk318_Ball : BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1471,7 +1471,7 @@ class CfgAmmo }; class rhs_ammo_556x45_Mk262_Ball : BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1484,7 +1484,7 @@ class CfgAmmo }; class rhsammo_762x51_Ball : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1497,7 +1497,7 @@ class CfgAmmo }; class rhs_B_545x39_Ball : BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1510,7 +1510,7 @@ class CfgAmmo }; class rhs_B_545x39_Ball_Tracer_Green : BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1523,7 +1523,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M118_Special_Ball : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1536,7 +1536,7 @@ class CfgAmmo }; class rhs_B_762x54_Ball : BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1549,7 +1549,7 @@ class CfgAmmo }; class rhs_B_762x54_Ball_Tracer_Green : BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1562,7 +1562,7 @@ class CfgAmmo }; class rhs_B_762x39_Ball : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1575,7 +1575,7 @@ class CfgAmmo }; class rhs_B_762x39_Tracer : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1588,7 +1588,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M80_Ball : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1601,7 +1601,7 @@ class CfgAmmo }; class rhsusf_B_300winmag : BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1615,7 +1615,7 @@ class CfgAmmo class R3F_9x19_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1628,7 +1628,7 @@ class CfgAmmo }; class R3F_556x45_Ball: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -1641,7 +1641,7 @@ class CfgAmmo }; class R3F_762x51_Ball: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1654,7 +1654,7 @@ class CfgAmmo }; class R3F_762x51_Ball2: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1667,7 +1667,7 @@ class CfgAmmo }; class R3F_127x99_Ball: BulletBase { - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1680,7 +1680,7 @@ class CfgAmmo }; class R3F_127x99_Ball2: BulletBase { - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1694,7 +1694,7 @@ class CfgAmmo class CUP_B_545x39_Ball: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1707,7 +1707,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1720,7 +1720,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1733,7 +1733,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1746,7 +1746,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1759,7 +1759,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1772,7 +1772,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1785,7 +1785,7 @@ class CfgAmmo }; class B_762x39mm_KLT: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1798,7 +1798,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1811,7 +1811,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1824,7 +1824,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1837,7 +1837,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1850,7 +1850,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1863,7 +1863,7 @@ class CfgAmmo }; class CUP_B_9x19_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -1876,7 +1876,7 @@ class CfgAmmo }; class CUP_B_762x51_noTracer: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1889,7 +1889,7 @@ class CfgAmmo }; class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1902,7 +1902,7 @@ class CfgAmmo }; class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1915,7 +1915,7 @@ class CfgAmmo }; class CUP_B_303_Ball: BulletBase { - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1928,7 +1928,7 @@ class CfgAmmo }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1941,7 +1941,7 @@ class CfgAmmo }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1954,7 +1954,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1967,7 +1967,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1980,7 +1980,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -1993,7 +1993,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2006,7 +2006,7 @@ class CfgAmmo }; class CUP_B_9x39_SP5: BulletBase { - ACE_caliber=0.009246; + ACE_caliber=9.246; ACE_bulletLength=0.031496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2019,7 +2019,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Green: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2032,7 +2032,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Red: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2045,7 +2045,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Yellow: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2058,7 +2058,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_White: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2071,7 +2071,7 @@ class CfgAmmo }; class B_127x107_Ball: BulletBase { - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2084,7 +2084,7 @@ class CfgAmmo }; class CUP_B_9x18_SD: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2097,7 +2097,7 @@ class CfgAmmo }; class CUP_B_765x17_Ball: BulletBase { - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2110,7 +2110,7 @@ class CfgAmmo }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { - ACE_caliber=0.014884; + ACE_caliber=14.884; ACE_bulletLength=0.0508; ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2123,7 +2123,7 @@ class CfgAmmo }; class CUP_B_127x99_Ball_White_Tracer: BulletBase { - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2136,7 +2136,7 @@ class CfgAmmo }; class CUP_B_86x70_Ball_noTracer: BulletBase { - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2150,7 +2150,7 @@ class CfgAmmo class VTN_9x18_Ball_FMJ: B_9x21_Ball { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2163,7 +2163,7 @@ class CfgAmmo }; class VTN_9x18_Ball_SC: VTN_9x18_Ball_FMJ { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2176,7 +2176,7 @@ class CfgAmmo }; class VTN_9x18_Ball_TRC: VTN_9x18_Ball_FMJ { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2189,7 +2189,7 @@ class CfgAmmo }; class VTN_9x18_Ball_AP1: VTN_9x18_Ball_FMJ { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2202,7 +2202,7 @@ class CfgAmmo }; class VTN_9x18_Ball_AP2: VTN_9x18_Ball_FMJ { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2215,7 +2215,7 @@ class CfgAmmo }; class VTN_9x18_Ball_PRS: VTN_9x18_Ball_FMJ { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2228,7 +2228,7 @@ class CfgAmmo }; class VTN_9x19_Ball_SC: VTN_9x18_Ball_FMJ { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2241,7 +2241,7 @@ class CfgAmmo }; class VTN_9x19_Ball_TRC: VTN_9x19_Ball_SC { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2254,7 +2254,7 @@ class CfgAmmo }; class VTN_9x19_Ball_AP: VTN_9x19_Ball_SC { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2267,7 +2267,7 @@ class CfgAmmo }; class VTN_9x19_Ball_PRS: VTN_9x19_Ball_SC { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2280,7 +2280,7 @@ class CfgAmmo }; class VTN_9x39_Ball_SC: B_9x21_Ball { - ACE_caliber=0.009246; + ACE_caliber=9.246; ACE_bulletLength=0.031496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2293,7 +2293,7 @@ class CfgAmmo }; class VTN_9x39_Ball_AP: VTN_9x39_Ball_SC { - ACE_caliber=0.009246; + ACE_caliber=9.246; ACE_bulletLength=0.031496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2306,7 +2306,7 @@ class CfgAmmo }; class VTN_545x39_Ball_SC: B_556x45_Ball { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2319,7 +2319,7 @@ class CfgAmmo }; class VTN_545x39_Ball_TRC: VTN_545x39_Ball_SC { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2332,7 +2332,7 @@ class CfgAmmo }; class VTN_545x39_Ball_AP: VTN_545x39_Ball_TRC { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2345,7 +2345,7 @@ class CfgAmmo }; class VTN_545x39_Ball_AP2: VTN_545x39_Ball_AP { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2358,7 +2358,7 @@ class CfgAmmo }; class VTN_545x39_Ball_SS: VTN_545x39_Ball_SC { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2371,7 +2371,7 @@ class CfgAmmo }; class VTN_762x39_Ball_SC: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2384,7 +2384,7 @@ class CfgAmmo }; class VTN_762x39_Ball_TRC: VTN_762x39_Ball_SC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2397,7 +2397,7 @@ class CfgAmmo }; class VTN_762x39_Ball_AP: VTN_762x39_Ball_TRC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2410,7 +2410,7 @@ class CfgAmmo }; class VTN_762x39_Ball_INC: VTN_762x39_Ball_AP { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2423,7 +2423,7 @@ class CfgAmmo }; class VTN_762x39_Ball_API: VTN_762x39_Ball_INC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2436,7 +2436,7 @@ class CfgAmmo }; class VTN_762x39_Ball_SS: VTN_762x39_Ball_SC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2449,7 +2449,7 @@ class CfgAmmo }; class VTN_762x41_Ball_SS: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.013462; ACE_bulletMass=9.2664; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2462,7 +2462,7 @@ class CfgAmmo }; class VTN_762x54_Ball_SC: VTN_762x39_Ball_SC { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2475,7 +2475,7 @@ class CfgAmmo }; class VTN_762x54_Ball_TRC: VTN_762x54_Ball_SC { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2488,7 +2488,7 @@ class CfgAmmo }; class VTN_762x54_Ball_AP: VTN_762x54_Ball_TRC { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2501,7 +2501,7 @@ class CfgAmmo }; class VTN_762x54_Ball_INC: VTN_762x54_Ball_AP { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2514,7 +2514,7 @@ class CfgAmmo }; class VTN_762x54_Ball_API: VTN_762x54_Ball_INC { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2527,7 +2527,7 @@ class CfgAmmo }; class VTN_145x114_Ball_APT: B_127x108_Ball { - ACE_caliber=0.014884; + ACE_caliber=14.884; ACE_bulletLength=0.0508; ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2540,7 +2540,7 @@ class CfgAmmo }; class VTN_6mm_BB: B_65x39_Caseless { - ACE_caliber=0.006096; + ACE_caliber=6.096; ACE_bulletLength=0.006096; ACE_bulletMass=0.3888; ACE_ammoTempMuzzleVelocityShifts[]={}; @@ -2553,7 +2553,7 @@ class CfgAmmo }; class VTN_9x19_Ball_FMJ: B_9x21_Ball { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2566,7 +2566,7 @@ class CfgAmmo }; class VTN_556x45_Ball_FMJ: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2579,7 +2579,7 @@ class CfgAmmo }; class VTN_556x45_Ball_TRC: VTN_556x45_Ball_FMJ { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2592,7 +2592,7 @@ class CfgAmmo }; class VTN_556x45_Ball_TRCN: VTN_556x45_Ball_TRC { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2605,7 +2605,7 @@ class CfgAmmo }; class VTN_556x45_Ball_SC: VTN_556x45_Ball_FMJ { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2618,7 +2618,7 @@ class CfgAmmo }; class VTN_556x45_Ball_AP: VTN_556x45_Ball_TRC { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2631,7 +2631,7 @@ class CfgAmmo }; class VTN_556x45_Ball_INC: VTN_556x45_Ball_AP { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -2644,7 +2644,7 @@ class CfgAmmo }; class VTN_556x45_Ball_LR: VTN_556x45_Ball_FMJ { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2657,7 +2657,7 @@ class CfgAmmo }; class VTN_556x45_Ball_SS: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2670,7 +2670,7 @@ class CfgAmmo }; class VTN_762x51_Ball_SC: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2683,7 +2683,7 @@ class CfgAmmo }; class VTN_762x51_Ball_TRC: VTN_762x51_Ball_SC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2696,7 +2696,7 @@ class CfgAmmo }; class VTN_762x51_Ball_TRCN: VTN_762x51_Ball_TRC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2709,7 +2709,7 @@ class CfgAmmo }; class VTN_762x51_Ball_AP: VTN_762x51_Ball_TRC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2722,7 +2722,7 @@ class CfgAmmo }; class VTN_762x51_Ball_LR: VTN_762x51_Ball_SC { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2735,7 +2735,7 @@ class CfgAmmo }; class VTN_1143x23_Ball_FMJ: B_408_Ball { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2748,7 +2748,7 @@ class CfgAmmo }; class VTN_1143x23_Ball_HP: VTN_1143x23_Ball_FMJ { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2761,7 +2761,7 @@ class CfgAmmo }; class VTN_1143x23_Ball_JHP: VTN_1143x23_Ball_FMJ { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -2774,7 +2774,7 @@ class CfgAmmo }; class VTN_762x39_Ball_FMJ: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -2787,7 +2787,7 @@ class CfgAmmo }; class VTN_45_Pellet: B_762x51_Ball { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.005842; ACE_bulletMass=0.1944; ACE_ammoTempMuzzleVelocityShifts[]={}; diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index a03d38bf03..b8c8faa30b 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class B_127x99_Ball; class CUP_B_545x39_Ball: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -18,7 +18,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -31,7 +31,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -44,7 +44,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -57,7 +57,7 @@ class CfgAmmo }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -70,7 +70,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -83,7 +83,7 @@ class CfgAmmo }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -96,7 +96,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -109,7 +109,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -122,7 +122,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -135,7 +135,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -148,7 +148,7 @@ class CfgAmmo }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -161,7 +161,7 @@ class CfgAmmo }; class CUP_B_9x19_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -174,7 +174,7 @@ class CfgAmmo }; class CUP_B_762x51_noTracer: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -187,7 +187,7 @@ class CfgAmmo }; class CUP_B_303_Ball: BulletBase { - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -200,7 +200,7 @@ class CfgAmmo }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -213,7 +213,7 @@ class CfgAmmo }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -226,7 +226,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -239,7 +239,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -252,7 +252,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -265,7 +265,7 @@ class CfgAmmo }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -278,7 +278,7 @@ class CfgAmmo }; class CUP_B_9x39_SP5: BulletBase { - ACE_caliber=0.009246; + ACE_caliber=9.246; ACE_bulletLength=0.031496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -291,7 +291,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Green: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -304,7 +304,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Red: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -317,7 +317,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_Yellow: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -330,7 +330,7 @@ class CfgAmmo }; class CUP_B_762x51_Tracer_White: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -343,7 +343,7 @@ class CfgAmmo }; class B_127x107_Ball: BulletBase { - ACE_caliber=0.012979; + ACE_caliber=12.979; ACE_bulletLength=0.064008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -356,7 +356,7 @@ class CfgAmmo }; class CUP_B_9x18_SD: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -369,7 +369,7 @@ class CfgAmmo }; class CUP_B_765x17_Ball: BulletBase { - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -382,7 +382,7 @@ class CfgAmmo }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { - ACE_caliber=0.014884; + ACE_caliber=14.884; ACE_bulletLength=0.0508; ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -395,7 +395,7 @@ class CfgAmmo }; class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball { - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.058674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -408,7 +408,7 @@ class CfgAmmo }; class CUP_B_86x70_Ball_noTracer: BulletBase { - ACE_caliber=0.008585; + ACE_caliber=8.585; ACE_bulletLength=0.04318; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index fdc4e538b7..d2127d5d82 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -8,7 +8,7 @@ class CfgAmmo class HLC_762x51_ball; class HLC_556NATO_EPR: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -21,7 +21,7 @@ class CfgAmmo }; class HLC_556NATO_SOST: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -34,7 +34,7 @@ class CfgAmmo }; class HLC_556NATO_SPR: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -47,7 +47,7 @@ class CfgAmmo }; class HLC_300Blackout_Ball: B_556x45_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -60,7 +60,7 @@ class CfgAmmo }; class HLC_300Blackout_SMK: HLC_300Blackout_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -73,7 +73,7 @@ class CfgAmmo }; class HLC_762x39_Ball: HLC_300Blackout_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -86,7 +86,7 @@ class CfgAmmo }; class HLC_762x39_Tracer: HLC_762x39_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -99,7 +99,7 @@ class CfgAmmo }; class HLC_762x51_MK316_20in: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -112,7 +112,7 @@ class CfgAmmo }; class HLC_762x51_BTSub: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -125,7 +125,7 @@ class CfgAmmo }; class HLC_762x54_ball: HLC_762x51_ball { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -138,7 +138,7 @@ class CfgAmmo }; class HLC_762x54_tracer: HLC_762x51_tracer { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -151,7 +151,7 @@ class CfgAmmo }; class HLC_303Brit_B: B_556x45_Ball { - ACE_caliber=0.007899; + ACE_caliber=7.899; ACE_bulletLength=0.031166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -164,7 +164,7 @@ class CfgAmmo }; class HLC_792x57_Ball: HLC_303Brit_B { - ACE_caliber=0.008077; + ACE_caliber=8.077; ACE_bulletLength=0.028651; ACE_bulletMass=12.7008; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -183,7 +183,7 @@ class CfgAmmo }; class FH_545x39_Ball: B_556x45_Ball { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -203,7 +203,7 @@ class CfgAmmo }; class HLC_57x28mm_JHP: FH_545x39_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.012573; ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -216,7 +216,7 @@ class CfgAmmo }; class HLC_9x19_Ball: B_556x45_Ball { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -229,7 +229,7 @@ class CfgAmmo }; class HLC_9x19_M882_SMG: B_556x45_Ball { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -250,7 +250,7 @@ class CfgAmmo }; class HLC_10mm_FMJ: HLC_9x19_Ball { - ACE_caliber=0.0127; + ACE_caliber=12.7; ACE_bulletLength=0.019406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -263,7 +263,7 @@ class CfgAmmo }; class HLC_45ACP_Ball: B_556x45_Ball { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -276,7 +276,7 @@ class CfgAmmo }; class FH_44Mag: HLC_45ACP_Ball { - ACE_caliber=0.010897; + ACE_caliber=10.897; ACE_bulletLength=0.020422; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -289,7 +289,7 @@ class CfgAmmo }; class FH_50BMG_SLAP: B_127x99_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.03175; ACE_bulletMass=22.68; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -302,7 +302,7 @@ class CfgAmmo }; class FH_50BMG_Raufoss: B_127x99_Ball { - ACE_caliber=0.012954; + ACE_caliber=12.954; ACE_bulletLength=0.060452; ACE_bulletMass=42.768; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index cceef5ef4f..e95bcdcad0 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -4,7 +4,7 @@ class CfgAmmo class BulletBase; class RH_50_AE_Ball: BulletBase { - ACE_caliber=0.0127; + ACE_caliber=12.7; ACE_bulletLength=0.028194; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -17,7 +17,7 @@ class CfgAmmo }; class RH_454_Casull: BulletBase { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.022733; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -30,7 +30,7 @@ class CfgAmmo }; class RH_32ACP: BulletBase { - ACE_caliber=0.007938; + ACE_caliber=7.938; ACE_bulletLength=0.015494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -43,7 +43,7 @@ class CfgAmmo }; class RH_45ACP: BulletBase { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -56,7 +56,7 @@ class CfgAmmo }; class RH_B_40SW: BulletBase { - ACE_caliber=0.01016; + ACE_caliber=10.16; ACE_bulletLength=0.011354; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -69,7 +69,7 @@ class CfgAmmo }; class RH_44mag_ball: BulletBase { - ACE_caliber=0.010897; + ACE_caliber=10.897; ACE_bulletLength=0.020422; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -82,7 +82,7 @@ class CfgAmmo }; class RH_357mag_ball: BulletBase { - ACE_caliber=0.009068; + ACE_caliber=9.068; ACE_bulletLength=0.013741; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -95,7 +95,7 @@ class CfgAmmo }; class RH_762x25: BulletBase { - ACE_caliber=0.007874; + ACE_caliber=7.874; ACE_bulletLength=0.013856; ACE_bulletMass=5.5728; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -108,7 +108,7 @@ class CfgAmmo }; class RH_9x18_Ball: BulletBase { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -121,7 +121,7 @@ class CfgAmmo }; class RH_B_9x19_Ball: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -134,7 +134,7 @@ class CfgAmmo }; class RH_B_22LR_SD: BulletBase { - ACE_caliber=0.005664; + ACE_caliber=5.664; ACE_bulletLength=0.01143; ACE_bulletMass=2.4624; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -147,7 +147,7 @@ class CfgAmmo }; class RH_57x28mm: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.012573; ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index 3138de15f0..38c58bb7d4 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -10,7 +10,7 @@ class CfgAmmo { class RH_9x19_B_M822: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -23,7 +23,7 @@ class CfgAmmo { }; class RH_9x19_B_HP: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -36,7 +36,7 @@ class CfgAmmo { }; class RH_9x19_B_HPSB: BulletBase { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015316; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -49,7 +49,7 @@ class CfgAmmo { }; class RH_556x45_B_M855A1: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; @@ -62,7 +62,7 @@ class CfgAmmo { }; class RH_556x45_B_Mk318: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -75,7 +75,7 @@ class CfgAmmo { }; class RH_556x45_B_Mk262: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -88,7 +88,7 @@ class CfgAmmo { }; class RH_68x43_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.007036; + ACE_caliber=7.036; ACE_bulletLength=0.024359; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -101,7 +101,7 @@ class CfgAmmo { }; class RH_68x43_B_Match: B_65x39_Caseless { - ACE_caliber=0.007036; + ACE_caliber=7.036; ACE_bulletLength=0.03175; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -114,7 +114,7 @@ class CfgAmmo { }; class RH_762x35_B_FMJ: B_65x39_Caseless { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -127,7 +127,7 @@ class CfgAmmo { }; class RH_762x35_B_Match: B_65x39_Caseless { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.029286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -140,7 +140,7 @@ class CfgAmmo { }; class RH_762x35_B_MSB: B_65x39_Caseless { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -153,7 +153,7 @@ class CfgAmmo { }; class RH_762x51_B_M80A1: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -166,7 +166,7 @@ class CfgAmmo { }; class RH_762x51_B_Mk316LR: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; @@ -179,7 +179,7 @@ class CfgAmmo { }; class RH_762x51_B_Mk319: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -192,7 +192,7 @@ class CfgAmmo { }; class RH_762x51_B_LFMJSB: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.034036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index dad1d093d4..f003c9599e 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -2,7 +2,7 @@ class BulletBase; class RH_B_6x35: BulletBase { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.011303; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 486fc265f6..15161e1fff 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class B_556x45_Ball; class rhs_B_545x39_Ball: B_556x45_Ball { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -18,7 +18,7 @@ class CfgAmmo }; class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball { - ACE_caliber=0.005588; + ACE_caliber=5.588; ACE_bulletLength=0.02159; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -32,7 +32,7 @@ class CfgAmmo class B_762x51_Ball; class rhs_B_762x54_Ball: B_762x51_Ball { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -45,7 +45,7 @@ class CfgAmmo }; class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -58,7 +58,7 @@ class CfgAmmo }; class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball { - ACE_caliber=0.007925; + ACE_caliber=7.925; ACE_bulletLength=0.028956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -71,7 +71,7 @@ class CfgAmmo }; class rhs_B_762x39_Ball: B_762x51_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -84,7 +84,7 @@ class CfgAmmo }; class rhs_B_762x39_Tracer: rhs_B_762x39_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -98,7 +98,7 @@ class CfgAmmo class B_9x21_Ball; class rhs_B_9x19_7N21: B_9x21_Ball { - ACE_caliber=0.009017; + ACE_caliber=9.017; ACE_bulletLength=0.015494; ACE_bulletMass=5.19696; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; @@ -111,7 +111,7 @@ class CfgAmmo }; class rhs_B_9x18_57N181S: B_9x21_Ball { - ACE_caliber=0.009271; + ACE_caliber=9.271; ACE_bulletLength=0.015494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index 58b50b68cf..35c03f09ae 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -4,7 +4,7 @@ class CfgAmmo class BulletBase; class rhsusf_B_300winmag: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.037821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -18,7 +18,7 @@ class CfgAmmo class B_556x45_Ball; class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -31,7 +31,7 @@ class CfgAmmo }; class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball { - ACE_caliber=0.00569; + ACE_caliber=5.69; ACE_bulletLength=0.023012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -44,7 +44,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M80_Ball: BulletBase { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.028956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -57,7 +57,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -70,7 +70,7 @@ class CfgAmmo }; class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball { - ACE_caliber=0.007823; + ACE_caliber=7.823; ACE_bulletLength=0.031496; ACE_bulletMass=8.2296; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -83,7 +83,7 @@ class CfgAmmo }; class rhs_ammo_45ACP_MHP: BulletBase { - ACE_caliber=0.011481; + ACE_caliber=11.481; ACE_bulletLength=0.017272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; From adc758cd1451e03ba1c3d3db13480800c3e81038 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 12:45:17 +0200 Subject: [PATCH 359/478] Convert ACE_bulletLength to millimeters --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgAmmo.hpp | 92 ++-- extras/CfgAmmoReference.hpp | 410 +++++++++--------- optionals/compat_cup/CfgAmmo.hpp | 64 +-- optionals/compat_hlcmods_core/CfgAmmo.hpp | 44 +- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- 10 files changed, 350 insertions(+), 350 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index d54caf6f03..a8528cfec5 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -92,7 +92,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { }; _caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); -_bulletLength = 1000 * getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); +_bulletLength = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); _bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); _barrelTwist = 1000 * getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); _stabilityFactor = 1.5; diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index d693a1f44c..f4e954017a 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -26,7 +26,7 @@ class CfgAmmo { tracerStartTime = 0.073; //M856 tracer burns out to 800m tracerEndTime = 1.579; //Time in seconds calculated with ballistics calculator ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -43,7 +43,7 @@ class CfgAmmo { hit=11; typicalSpeed=836; ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -60,7 +60,7 @@ class CfgAmmo { hit=9; typicalSpeed=886; ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -77,7 +77,7 @@ class CfgAmmo { hit=6; typicalSpeed=886; ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=2.9808; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.151}; @@ -98,7 +98,7 @@ class CfgAmmo { hit=7; typicalSpeed=880; ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -118,7 +118,7 @@ class CfgAmmo { tracerStartTime = 0.073; //7T3M tracer burns out to 850m tracerEndTime = 1.736; //Time in seconds calculated with ballistics calculator ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -132,7 +132,7 @@ class CfgAmmo { airFriction=-0.000785; typicalSpeed=800; ACE_caliber=6.706; - ACE_bulletLength=0.032893; + ACE_bulletLength=32.893; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.263}; @@ -155,7 +155,7 @@ class CfgAmmo { typicalSpeed=820 ; caliber=0.9; ACE_caliber=6.706; - ACE_bulletLength=0.034646; + ACE_bulletLength=34.646; ACE_bulletMass=9.0072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -170,7 +170,7 @@ class CfgAmmo { typicalSpeed=860 ; caliber=1.1; ACE_caliber=6.706; - ACE_bulletLength=0.03622; + ACE_bulletLength=36.22; ACE_bulletMass=9.072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.317}; @@ -187,7 +187,7 @@ class CfgAmmo { tracerStartTime = 0.073; //Based on the British L5A1 which burns out to 1000m tracerEndTime = 2.058; //Time in seconds calculated with ballistics calculator ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -207,7 +207,7 @@ class CfgAmmo { hit=16; typicalSpeed=790; ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -223,7 +223,7 @@ class CfgAmmo { hit=16; typicalSpeed=790; ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.243}; @@ -239,7 +239,7 @@ class CfgAmmo { hit=14; typicalSpeed=900; ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; @@ -255,7 +255,7 @@ class CfgAmmo { hit=11; typicalSpeed=930; ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=8.2296; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.377}; @@ -271,7 +271,7 @@ class CfgAmmo { hit=6; typicalSpeed=320; ACE_caliber=7.823; - ACE_bulletLength=0.034036; + ACE_bulletLength=34.036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -287,7 +287,7 @@ class CfgAmmo { caliber=2.0; hit=10; ACE_caliber=7.823; - ACE_bulletLength=0.030734; + ACE_bulletLength=30.734; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.494}; @@ -303,7 +303,7 @@ class CfgAmmo { caliber=2.1; hit=8; ACE_caliber=7.214; - ACE_bulletLength=0.038837; + ACE_bulletLength=38.837; ACE_bulletMass=11.664; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.345}; @@ -319,7 +319,7 @@ class CfgAmmo { caliber=2.3; hit=6; ACE_caliber=6.172; - ACE_bulletLength=0.032563; + ACE_bulletLength=32.563; ACE_bulletMass=11.664; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.278}; @@ -335,7 +335,7 @@ class CfgAmmo { hit=17; typicalSpeed=900; ACE_caliber=7.823; - ACE_bulletLength=0.034366; + ACE_bulletLength=34.366; ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.268}; @@ -351,7 +351,7 @@ class CfgAmmo { hit=18; typicalSpeed=867; ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.310}; @@ -367,7 +367,7 @@ class CfgAmmo { hit=19; typicalSpeed=853; ACE_caliber=7.823; - ACE_bulletLength=0.040691; + ACE_bulletLength=40.691; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -381,7 +381,7 @@ class CfgAmmo { airFriction=-0.001023; typicalSpeed=820; ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -397,7 +397,7 @@ class CfgAmmo { hit=15; typicalSpeed=820; ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -416,7 +416,7 @@ class CfgAmmo { tracerStartTime = 0.073; //Based on the 7T2 which burns three seconds tracerEndTime = 3; ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -432,7 +432,7 @@ class CfgAmmo { hit=11; typicalSpeed=790; ACE_caliber=7.823; - ACE_bulletLength=0.029286; + ACE_bulletLength=29.286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -448,7 +448,7 @@ class CfgAmmo { caliber=1.5; typicalSpeed=716; ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -466,7 +466,7 @@ class CfgAmmo { tracerStartTime = 0.073; //57N231P tracer burns out to 800m tracerEndTime = 2.082; //Time in seconds calculated with ballistics calculator ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -481,7 +481,7 @@ class CfgAmmo { typicalSpeed=390; hit=6; ACE_caliber=9.042; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -496,7 +496,7 @@ class CfgAmmo { airFriction=-0.001234; typicalSpeed=298; ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -511,7 +511,7 @@ class CfgAmmo { typicalSpeed=370; hit=6; ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -526,7 +526,7 @@ class CfgAmmo { typicalSpeed=425; hit=7; ACE_caliber=12.7; - ACE_bulletLength=0.019406; + ACE_bulletLength=19.406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -541,7 +541,7 @@ class CfgAmmo { typicalSpeed=282; hit=7; ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -556,7 +556,7 @@ class CfgAmmo { typicalSpeed=761; caliber=2.0; ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -570,7 +570,7 @@ class CfgAmmo { airFriction=-0.00106; typicalSpeed=880; ACE_caliber=9.296; - ACE_bulletLength=0.03429; + ACE_bulletLength=34.29; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -585,7 +585,7 @@ class CfgAmmo { airFriction=-0.000395; typicalSpeed=910; ACE_caliber=10.363; - ACE_bulletLength=0.054; + ACE_bulletLength=54.0; ACE_bulletMass=26.568; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -599,7 +599,7 @@ class CfgAmmo { class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; ACE_caliber=10.566; - ACE_bulletLength=0.053061; + ACE_bulletLength=53.061; ACE_bulletMass=25.7904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.72}; @@ -614,7 +614,7 @@ class CfgAmmo { airFriction=-0.000606; typicalSpeed=915; ACE_caliber=8.585; - ACE_bulletLength=0.039573; + ACE_bulletLength=39.573; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.322}; @@ -628,7 +628,7 @@ class CfgAmmo { airFriction=-0.000537; typicalSpeed=820; ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -643,7 +643,7 @@ class CfgAmmo { airFriction=-0.000535; typicalSpeed=826; ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -659,7 +659,7 @@ class CfgAmmo { caliber=2.8; typicalSpeed=826; ACE_caliber=8.585; - ACE_bulletLength=0.038989; + ACE_bulletLength=38.989; ACE_bulletMass=16.3944; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -673,7 +673,7 @@ class CfgAmmo { airFriction=-0.00014; typicalSpeed=300; ACE_caliber=12.954; - ACE_bulletLength=0.064516; + ACE_bulletLength=64.516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={1.050}; @@ -688,7 +688,7 @@ class CfgAmmo { airFriction=-0.0006; typicalSpeed=900; ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -705,7 +705,7 @@ class CfgAmmo { hit=25; caliber=4.0; ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -721,7 +721,7 @@ class CfgAmmo { typicalSpeed=860; caliber=3.0; ACE_caliber=12.954; - ACE_bulletLength=0.064516; + ACE_bulletLength=64.516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.050}; @@ -736,7 +736,7 @@ class CfgAmmo { airFriction=-0.00064; typicalSpeed=820; ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -750,7 +750,7 @@ class CfgAmmo { airFriction=-0.0007182; typicalSpeed=250; ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index ab90e6bbd0..3072d1d196 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -6,7 +6,7 @@ class CfgAmmo hit=8; typicalSpeed=750; ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -23,7 +23,7 @@ class CfgAmmo hit=11; typicalSpeed=836; ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -40,7 +40,7 @@ class CfgAmmo hit=9; typicalSpeed=886; ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -61,7 +61,7 @@ class CfgAmmo hit=7; typicalSpeed=880; ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -79,7 +79,7 @@ class CfgAmmo hit=7; typicalSpeed=883; ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -93,7 +93,7 @@ class CfgAmmo airFriction=-0.000785; typicalSpeed=800; ACE_caliber=6.706; - ACE_bulletLength=0.032893; + ACE_bulletLength=32.893; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.263}; @@ -116,7 +116,7 @@ class CfgAmmo airFriction=-0.00078; typicalSpeed=820 ; ACE_caliber=6.706; - ACE_bulletLength=0.034646; + ACE_bulletLength=34.646; ACE_bulletMass=9.0072; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -131,7 +131,7 @@ class CfgAmmo typicalSpeed=833; hit=9; ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -151,7 +151,7 @@ class CfgAmmo hit=16; typicalSpeed=790; ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -167,7 +167,7 @@ class CfgAmmo hit=14; typicalSpeed=890; ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; @@ -183,7 +183,7 @@ class CfgAmmo hit=6; typicalSpeed=790; ACE_caliber=7.823; - ACE_bulletLength=0.034036; + ACE_bulletLength=34.036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -199,7 +199,7 @@ class CfgAmmo hit=17; typicalSpeed=900; ACE_caliber=7.823; - ACE_bulletLength=0.034366; + ACE_bulletLength=34.366; ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.268}; @@ -215,7 +215,7 @@ class CfgAmmo hit=18; typicalSpeed=867; ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -231,7 +231,7 @@ class CfgAmmo hit=19; typicalSpeed=853; ACE_caliber=7.823; - ACE_bulletLength=0.040691; + ACE_bulletLength=40.691; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -245,7 +245,7 @@ class CfgAmmo airFriction=-0.001023; typicalSpeed=820; ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -261,7 +261,7 @@ class CfgAmmo hit=15; typicalSpeed=820; ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -278,7 +278,7 @@ class CfgAmmo hit=15; typicalSpeed=800; ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -294,7 +294,7 @@ class CfgAmmo hit=11; typicalSpeed=790; ACE_caliber=7.823; - ACE_bulletLength=0.029286; + ACE_bulletLength=29.286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -309,7 +309,7 @@ class CfgAmmo hit=12; typicalSpeed=716; ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -324,7 +324,7 @@ class CfgAmmo hit=12; typicalSpeed=716; ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -339,7 +339,7 @@ class CfgAmmo typicalSpeed=390; hit=6; ACE_caliber=9.042; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -354,7 +354,7 @@ class CfgAmmo airFriction=-0.001234; typicalSpeed=298; ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -369,7 +369,7 @@ class CfgAmmo typicalSpeed=370; hit=6; ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -384,7 +384,7 @@ class CfgAmmo typicalSpeed=425; hit=7; ACE_caliber=12.7; - ACE_bulletLength=0.019406; + ACE_bulletLength=19.406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -399,7 +399,7 @@ class CfgAmmo typicalSpeed=282; hit=7; ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -413,7 +413,7 @@ class CfgAmmo airFriction=-0.00083; typicalSpeed=761; ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -427,7 +427,7 @@ class CfgAmmo airFriction=-0.00106; typicalSpeed=880; ACE_caliber=9.296; - ACE_bulletLength=0.03429; + ACE_bulletLength=34.29; ACE_bulletMass=14.904; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -443,7 +443,7 @@ class CfgAmmo airFriction=-0.000395; typicalSpeed=910; ACE_caliber=10.363; - ACE_bulletLength=0.054; + ACE_bulletLength=54.0; ACE_bulletMass=26.568; ACE_transonicStabilityCoef=1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; @@ -457,7 +457,7 @@ class CfgAmmo class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; ACE_caliber=10.566; - ACE_bulletLength=0.053061; + ACE_bulletLength=53.061; ACE_bulletMass=25.7904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.72}; @@ -472,7 +472,7 @@ class CfgAmmo airFriction=-0.000606; typicalSpeed=915; ACE_caliber=8.585; - ACE_bulletLength=0.039573; + ACE_bulletLength=39.573; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.322}; @@ -486,7 +486,7 @@ class CfgAmmo airFriction=-0.000537; typicalSpeed=820; ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -502,7 +502,7 @@ class CfgAmmo caliber=1.55; typicalSpeed=826; ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -518,7 +518,7 @@ class CfgAmmo caliber=2.4; typicalSpeed=826; ACE_caliber=8.585; - ACE_bulletLength=0.038989; + ACE_bulletLength=38.989; ACE_bulletMass=16.3944; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.290}; @@ -532,7 +532,7 @@ class CfgAmmo airFriction=-0.00014; typicalSpeed=300; ACE_caliber=12.954; - ACE_bulletLength=0.064516; + ACE_bulletLength=64.516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={1.050}; @@ -547,7 +547,7 @@ class CfgAmmo airFriction=-0.0006; typicalSpeed=853; ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -562,7 +562,7 @@ class CfgAmmo airFriction=-0.000374; typicalSpeed=860; ACE_caliber=12.954; - ACE_bulletLength=0.064516; + ACE_bulletLength=64.516; ACE_bulletMass=48.6; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.050}; @@ -577,7 +577,7 @@ class CfgAmmo airFriction=-0.00064; typicalSpeed=820; ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -591,7 +591,7 @@ class CfgAmmo airFriction=-0.0007182; typicalSpeed=250; ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -605,7 +605,7 @@ class CfgAmmo class TMR_B_762x51_M118LR : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -619,7 +619,7 @@ class CfgAmmo class RH_50_AE_Ball: BulletBase { ACE_caliber=12.7; - ACE_bulletLength=0.028194; + ACE_bulletLength=28.194; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.228}; @@ -632,7 +632,7 @@ class CfgAmmo class RH_454_Casull: BulletBase { ACE_caliber=11.481; - ACE_bulletLength=0.022733; + ACE_bulletLength=22.733; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.171}; @@ -645,7 +645,7 @@ class CfgAmmo class RH_32ACP: BulletBase { ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -658,7 +658,7 @@ class CfgAmmo class RH_45ACP: BulletBase { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -671,7 +671,7 @@ class CfgAmmo class RH_B_40SW: BulletBase { ACE_caliber=10.16; - ACE_bulletLength=0.011354; + ACE_bulletLength=11.354; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.105, 0.115, 0.120, 0.105}; @@ -684,7 +684,7 @@ class CfgAmmo class RH_44mag_ball: BulletBase { ACE_caliber=10.897; - ACE_bulletLength=0.020422; + ACE_bulletLength=20.422; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; @@ -697,7 +697,7 @@ class CfgAmmo class RH_357mag_ball: BulletBase { ACE_caliber=9.068; - ACE_bulletLength=0.013741; + ACE_bulletLength=13.741; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.148}; @@ -710,7 +710,7 @@ class CfgAmmo class RH_762x25: BulletBase { ACE_caliber=7.874; - ACE_bulletLength=0.013856; + ACE_bulletLength=13.856; ACE_bulletMass=5.5728; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -723,7 +723,7 @@ class CfgAmmo class RH_9x18_Ball: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -736,7 +736,7 @@ class CfgAmmo class RH_B_9x19_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -749,7 +749,7 @@ class CfgAmmo class RH_B_22LR_SD: BulletBase { ACE_caliber=5.664; - ACE_bulletLength=0.01143; + ACE_bulletLength=11.43; ACE_bulletMass=2.4624; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.111}; @@ -762,7 +762,7 @@ class CfgAmmo class RH_57x28mm: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.012573; + ACE_bulletLength=12.573; ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; @@ -776,7 +776,7 @@ class CfgAmmo class RH_9x19_B_M822: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -789,7 +789,7 @@ class CfgAmmo class RH_9x19_B_HP: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -802,7 +802,7 @@ class CfgAmmo class RH_9x19_B_HPSB: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015316; + ACE_bulletLength=15.316; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.212}; @@ -815,7 +815,7 @@ class CfgAmmo class RH_B_6x35: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.011303; + ACE_bulletLength=11.303; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.26}; @@ -828,7 +828,7 @@ class CfgAmmo class RH_556x45_B_M855A1 : B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.152}; @@ -841,7 +841,7 @@ class CfgAmmo class RH_556x45_B_Mk262 : B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -854,7 +854,7 @@ class CfgAmmo class RH_556x45_B_Mk318 : B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -867,7 +867,7 @@ class CfgAmmo class RH_68x43_B_FMJ: B_65x39_Caseless { ACE_caliber=7.036; - ACE_bulletLength=0.024359; + ACE_bulletLength=24.359; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.162}; @@ -880,7 +880,7 @@ class CfgAmmo class RH_68x43_B_Match: B_65x39_Caseless { ACE_caliber=7.036; - ACE_bulletLength=0.03175; + ACE_bulletLength=31.75; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.253}; @@ -893,7 +893,7 @@ class CfgAmmo class RH_762x35_B_FMJ: B_65x39_Caseless { ACE_caliber=7.823; - ACE_bulletLength=0.028397; + ACE_bulletLength=28.397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -906,7 +906,7 @@ class CfgAmmo class RH_762x35_B_Match: B_65x39_Caseless { ACE_caliber=7.823; - ACE_bulletLength=0.029286; + ACE_bulletLength=29.286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -919,7 +919,7 @@ class CfgAmmo class RH_762x35_B_MSB: B_65x39_Caseless { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -932,7 +932,7 @@ class CfgAmmo class RH_762x51_B_M80A1 : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -945,7 +945,7 @@ class CfgAmmo class RH_762x51_B_Mk316LR : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.243}; @@ -958,7 +958,7 @@ class CfgAmmo class RH_762x51_B_Mk319 : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.02728; + ACE_bulletLength=27.28; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.277}; @@ -971,7 +971,7 @@ class CfgAmmo class RH_762x51_B_LFMJSB: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.034036; + ACE_bulletLength=34.036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.252}; @@ -985,7 +985,7 @@ class CfgAmmo class HLC_556NATO_SOST: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -998,7 +998,7 @@ class CfgAmmo class HLC_556NATO_SPR: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -1011,7 +1011,7 @@ class CfgAmmo class HLC_556NATO_EPR: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.152}; @@ -1024,7 +1024,7 @@ class CfgAmmo class HLC_300Blackout_Ball: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028397; + ACE_bulletLength=28.397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -1037,7 +1037,7 @@ class CfgAmmo class HLC_300Blackout_SMK: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -1050,7 +1050,7 @@ class CfgAmmo class HLC_762x51_BTSub: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.034036; + ACE_bulletLength=34.036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -1063,7 +1063,7 @@ class CfgAmmo class HLC_762x54_ball: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -1076,7 +1076,7 @@ class CfgAmmo class HLC_762x54_tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1089,7 +1089,7 @@ class CfgAmmo class HLC_303Brit_B: BulletBase { ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -1102,7 +1102,7 @@ class CfgAmmo class HLC_792x57_Ball: BulletBase { ACE_caliber=8.077; - ACE_bulletLength=0.028651; + ACE_bulletLength=28.651; ACE_bulletMass=12.7008; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.315}; @@ -1115,7 +1115,7 @@ class CfgAmmo class FH_545x39_Ball: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1135,7 +1135,7 @@ class CfgAmmo class HLC_9x19_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1156,7 +1156,7 @@ class CfgAmmo class HLC_10mm_FMJ: HLC_9x19_Ball { ACE_caliber=12.7; - ACE_bulletLength=0.019406; + ACE_bulletLength=19.406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -1169,7 +1169,7 @@ class CfgAmmo class HLC_9x19_M882_SMG: HLC_9x19_Ball { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1183,7 +1183,7 @@ class CfgAmmo class M_mas_545x39_Ball_7N6M : BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1196,7 +1196,7 @@ class CfgAmmo class M_mas_545x39_Ball_7T3M : BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1209,7 +1209,7 @@ class CfgAmmo class B_mas_556x45_Ball_Mk262 : B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -1222,7 +1222,7 @@ class CfgAmmo class B_mas_9x18_Ball_57N181S : BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1235,7 +1235,7 @@ class CfgAmmo class B_mas_9x21p_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1248,7 +1248,7 @@ class CfgAmmo class B_mas_9x21_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1261,7 +1261,7 @@ class CfgAmmo class B_mas_9x21d_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1274,7 +1274,7 @@ class CfgAmmo class B_mas_765x17_Ball: BulletBase { ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -1287,7 +1287,7 @@ class CfgAmmo class B_mas_762x39_Ball: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1300,7 +1300,7 @@ class CfgAmmo class B_mas_762x39_Ball_T: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1313,7 +1313,7 @@ class CfgAmmo class B_mas_762x51_Ball_M118LR : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -1326,7 +1326,7 @@ class CfgAmmo class B_mas_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.034366; + ACE_bulletLength=34.366; ACE_bulletMass=12.312; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.268}; @@ -1339,7 +1339,7 @@ class CfgAmmo class B_mas_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -1352,7 +1352,7 @@ class CfgAmmo class B_mas_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.040691; + ACE_bulletLength=40.691; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.368}; @@ -1365,7 +1365,7 @@ class CfgAmmo class B_mas_762x54_Ball : BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -1378,7 +1378,7 @@ class CfgAmmo class B_mas_762x54_Ball_T : BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1391,7 +1391,7 @@ class CfgAmmo class BWA3_B_762x51_Ball_LR : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -1404,7 +1404,7 @@ class CfgAmmo class BWA3_B_762x51_Ball_SD : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.2}; @@ -1418,7 +1418,7 @@ class CfgAmmo class BWA3_B_46x30_Ball : BulletBase { ACE_caliber=4.902; - ACE_bulletLength=0.013005; + ACE_bulletLength=13.005; ACE_bulletMass=2.0088; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.1455}; @@ -1432,7 +1432,7 @@ class CfgAmmo class Trixie_338_Ball : BulletBase { ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -1445,7 +1445,7 @@ class CfgAmmo class Trixie_303_Ball : BulletBase { ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -1459,7 +1459,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk318_Ball : BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -1472,7 +1472,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk262_Ball : BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -1485,7 +1485,7 @@ class CfgAmmo class rhsammo_762x51_Ball : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1498,7 +1498,7 @@ class CfgAmmo class rhs_B_545x39_Ball : BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1511,7 +1511,7 @@ class CfgAmmo class rhs_B_545x39_Ball_Tracer_Green : BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1524,7 +1524,7 @@ class CfgAmmo class rhs_ammo_762x51_M118_Special_Ball : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -1537,7 +1537,7 @@ class CfgAmmo class rhs_B_762x54_Ball : BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -1550,7 +1550,7 @@ class CfgAmmo class rhs_B_762x54_Ball_Tracer_Green : BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1563,7 +1563,7 @@ class CfgAmmo class rhs_B_762x39_Ball : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1576,7 +1576,7 @@ class CfgAmmo class rhs_B_762x39_Tracer : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1589,7 +1589,7 @@ class CfgAmmo class rhs_ammo_762x51_M80_Ball : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1602,7 +1602,7 @@ class CfgAmmo class rhsusf_B_300winmag : BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -1616,7 +1616,7 @@ class CfgAmmo class R3F_9x19_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1629,7 +1629,7 @@ class CfgAmmo class R3F_556x45_Ball: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -1642,7 +1642,7 @@ class CfgAmmo class R3F_762x51_Ball: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1655,7 +1655,7 @@ class CfgAmmo class R3F_762x51_Ball2: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.505, 0.496, 0.485, 0.485, 0.485}; @@ -1668,7 +1668,7 @@ class CfgAmmo class R3F_127x99_Ball: BulletBase { ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -1681,7 +1681,7 @@ class CfgAmmo class R3F_127x99_Ball2: BulletBase { ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -1695,7 +1695,7 @@ class CfgAmmo class CUP_B_545x39_Ball: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1708,7 +1708,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Green: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1721,7 +1721,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Red: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1734,7 +1734,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_White: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1747,7 +1747,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -1760,7 +1760,7 @@ class CfgAmmo class CUP_B_762x39_Ball: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1773,7 +1773,7 @@ class CfgAmmo class CUP_B_762x39_Ball_Tracer_Green: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1786,7 +1786,7 @@ class CfgAmmo class B_762x39mm_KLT: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -1799,7 +1799,7 @@ class CfgAmmo class CUP_B_9x18_Ball: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1812,7 +1812,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Green: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1825,7 +1825,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Red: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1838,7 +1838,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1851,7 +1851,7 @@ class CfgAmmo class CUP_B_9x18_Ball_White_Tracer: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -1864,7 +1864,7 @@ class CfgAmmo class CUP_B_9x19_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -1877,7 +1877,7 @@ class CfgAmmo class CUP_B_762x51_noTracer: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1890,7 +1890,7 @@ class CfgAmmo class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1903,7 +1903,7 @@ class CfgAmmo class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -1916,7 +1916,7 @@ class CfgAmmo class CUP_B_303_Ball: BulletBase { ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -1929,7 +1929,7 @@ class CfgAmmo class CUP_B_127x107_Ball_Green_Tracer: BulletBase { ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -1942,7 +1942,7 @@ class CfgAmmo class CUP_B_127x108_Ball_Green_Tracer: BulletBase { ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -1955,7 +1955,7 @@ class CfgAmmo class CUP_B_762x54_Ball_White_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1968,7 +1968,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Red_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1981,7 +1981,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Green_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -1994,7 +1994,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -2007,7 +2007,7 @@ class CfgAmmo class CUP_B_9x39_SP5: BulletBase { ACE_caliber=9.246; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2020,7 +2020,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Green: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2033,7 +2033,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Red: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2046,7 +2046,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Yellow: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2059,7 +2059,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_White: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2072,7 +2072,7 @@ class CfgAmmo class B_127x107_Ball: BulletBase { ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -2085,7 +2085,7 @@ class CfgAmmo class CUP_B_9x18_SD: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2098,7 +2098,7 @@ class CfgAmmo class CUP_B_765x17_Ball: BulletBase { ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -2111,7 +2111,7 @@ class CfgAmmo class CUP_B_145x115_AP_Green_Tracer: BulletBase { ACE_caliber=14.884; - ACE_bulletLength=0.0508; + ACE_bulletLength=50.8; ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; @@ -2124,7 +2124,7 @@ class CfgAmmo class CUP_B_127x99_Ball_White_Tracer: BulletBase { ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -2137,7 +2137,7 @@ class CfgAmmo class CUP_B_86x70_Ball_noTracer: BulletBase { ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; @@ -2151,7 +2151,7 @@ class CfgAmmo class VTN_9x18_Ball_FMJ: B_9x21_Ball { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2164,7 +2164,7 @@ class CfgAmmo class VTN_9x18_Ball_SC: VTN_9x18_Ball_FMJ { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2177,7 +2177,7 @@ class CfgAmmo class VTN_9x18_Ball_TRC: VTN_9x18_Ball_FMJ { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2190,7 +2190,7 @@ class CfgAmmo class VTN_9x18_Ball_AP1: VTN_9x18_Ball_FMJ { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2203,7 +2203,7 @@ class CfgAmmo class VTN_9x18_Ball_AP2: VTN_9x18_Ball_FMJ { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2216,7 +2216,7 @@ class CfgAmmo class VTN_9x18_Ball_PRS: VTN_9x18_Ball_FMJ { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -2229,7 +2229,7 @@ class CfgAmmo class VTN_9x19_Ball_SC: VTN_9x18_Ball_FMJ { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2242,7 +2242,7 @@ class CfgAmmo class VTN_9x19_Ball_TRC: VTN_9x19_Ball_SC { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2255,7 +2255,7 @@ class CfgAmmo class VTN_9x19_Ball_AP: VTN_9x19_Ball_SC { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2268,7 +2268,7 @@ class CfgAmmo class VTN_9x19_Ball_PRS: VTN_9x19_Ball_SC { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2281,7 +2281,7 @@ class CfgAmmo class VTN_9x39_Ball_SC: B_9x21_Ball { ACE_caliber=9.246; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2294,7 +2294,7 @@ class CfgAmmo class VTN_9x39_Ball_AP: VTN_9x39_Ball_SC { ACE_caliber=9.246; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2307,7 +2307,7 @@ class CfgAmmo class VTN_545x39_Ball_SC: B_556x45_Ball { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2320,7 +2320,7 @@ class CfgAmmo class VTN_545x39_Ball_TRC: VTN_545x39_Ball_SC { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2333,7 +2333,7 @@ class CfgAmmo class VTN_545x39_Ball_AP: VTN_545x39_Ball_TRC { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2346,7 +2346,7 @@ class CfgAmmo class VTN_545x39_Ball_AP2: VTN_545x39_Ball_AP { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -2359,7 +2359,7 @@ class CfgAmmo class VTN_545x39_Ball_SS: VTN_545x39_Ball_SC { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.168}; @@ -2372,7 +2372,7 @@ class CfgAmmo class VTN_762x39_Ball_SC: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2385,7 +2385,7 @@ class CfgAmmo class VTN_762x39_Ball_TRC: VTN_762x39_Ball_SC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2398,7 +2398,7 @@ class CfgAmmo class VTN_762x39_Ball_AP: VTN_762x39_Ball_TRC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2411,7 +2411,7 @@ class CfgAmmo class VTN_762x39_Ball_INC: VTN_762x39_Ball_AP { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2424,7 +2424,7 @@ class CfgAmmo class VTN_762x39_Ball_API: VTN_762x39_Ball_INC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2437,7 +2437,7 @@ class CfgAmmo class VTN_762x39_Ball_SS: VTN_762x39_Ball_SC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2450,7 +2450,7 @@ class CfgAmmo class VTN_762x41_Ball_SS: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.013462; + ACE_bulletLength=13.462; ACE_bulletMass=9.2664; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -2463,7 +2463,7 @@ class CfgAmmo class VTN_762x54_Ball_SC: VTN_762x39_Ball_SC { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2476,7 +2476,7 @@ class CfgAmmo class VTN_762x54_Ball_TRC: VTN_762x54_Ball_SC { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -2489,7 +2489,7 @@ class CfgAmmo class VTN_762x54_Ball_AP: VTN_762x54_Ball_TRC { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2502,7 +2502,7 @@ class CfgAmmo class VTN_762x54_Ball_INC: VTN_762x54_Ball_AP { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2515,7 +2515,7 @@ class CfgAmmo class VTN_762x54_Ball_API: VTN_762x54_Ball_INC { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -2528,7 +2528,7 @@ class CfgAmmo class VTN_145x114_Ball_APT: B_127x108_Ball { ACE_caliber=14.884; - ACE_bulletLength=0.0508; + ACE_bulletLength=50.8; ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; @@ -2541,7 +2541,7 @@ class CfgAmmo class VTN_6mm_BB: B_65x39_Caseless { ACE_caliber=6.096; - ACE_bulletLength=0.006096; + ACE_bulletLength=6.096; ACE_bulletMass=0.3888; ACE_ammoTempMuzzleVelocityShifts[]={}; ACE_ballisticCoefficients[]={}; @@ -2554,7 +2554,7 @@ class CfgAmmo class VTN_9x19_Ball_FMJ: B_9x21_Ball { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -2567,7 +2567,7 @@ class CfgAmmo class VTN_556x45_Ball_FMJ: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2580,7 +2580,7 @@ class CfgAmmo class VTN_556x45_Ball_TRC: VTN_556x45_Ball_FMJ { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2593,7 +2593,7 @@ class CfgAmmo class VTN_556x45_Ball_TRCN: VTN_556x45_Ball_TRC { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2606,7 +2606,7 @@ class CfgAmmo class VTN_556x45_Ball_SC: VTN_556x45_Ball_FMJ { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2619,7 +2619,7 @@ class CfgAmmo class VTN_556x45_Ball_AP: VTN_556x45_Ball_TRC { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2632,7 +2632,7 @@ class CfgAmmo class VTN_556x45_Ball_INC: VTN_556x45_Ball_AP { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -2645,7 +2645,7 @@ class CfgAmmo class VTN_556x45_Ball_LR: VTN_556x45_Ball_FMJ { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -2658,7 +2658,7 @@ class CfgAmmo class VTN_556x45_Ball_SS: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.151}; @@ -2671,7 +2671,7 @@ class CfgAmmo class VTN_762x51_Ball_SC: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2684,7 +2684,7 @@ class CfgAmmo class VTN_762x51_Ball_TRC: VTN_762x51_Ball_SC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2697,7 +2697,7 @@ class CfgAmmo class VTN_762x51_Ball_TRCN: VTN_762x51_Ball_TRC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2710,7 +2710,7 @@ class CfgAmmo class VTN_762x51_Ball_AP: VTN_762x51_Ball_TRC { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -2723,7 +2723,7 @@ class CfgAmmo class VTN_762x51_Ball_LR: VTN_762x51_Ball_SC { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -2736,7 +2736,7 @@ class CfgAmmo class VTN_1143x23_Ball_FMJ: B_408_Ball { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -2749,7 +2749,7 @@ class CfgAmmo class VTN_1143x23_Ball_HP: VTN_1143x23_Ball_FMJ { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -2762,7 +2762,7 @@ class CfgAmmo class VTN_1143x23_Ball_JHP: VTN_1143x23_Ball_FMJ { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -2775,7 +2775,7 @@ class CfgAmmo class VTN_762x39_Ball_FMJ: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -2788,7 +2788,7 @@ class CfgAmmo class VTN_45_Pellet: B_762x51_Ball { ACE_caliber=5.588; - ACE_bulletLength=0.005842; + ACE_bulletLength=5.842; ACE_bulletMass=0.1944; ACE_ammoTempMuzzleVelocityShifts[]={}; ACE_ballisticCoefficients[]={}; diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index b8c8faa30b..e58561ec1f 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -6,7 +6,7 @@ class CfgAmmo class CUP_B_545x39_Ball: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -19,7 +19,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -32,7 +32,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Red: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -45,7 +45,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_White: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -58,7 +58,7 @@ class CfgAmmo class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -71,7 +71,7 @@ class CfgAmmo class CUP_B_762x39_Ball: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -84,7 +84,7 @@ class CfgAmmo class CUP_B_762x39_Ball_Tracer_Green: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -97,7 +97,7 @@ class CfgAmmo class CUP_B_9x18_Ball: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -110,7 +110,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Green: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -123,7 +123,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Red: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -136,7 +136,7 @@ class CfgAmmo class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -149,7 +149,7 @@ class CfgAmmo class CUP_B_9x18_Ball_White_Tracer: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -162,7 +162,7 @@ class CfgAmmo class CUP_B_9x19_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -175,7 +175,7 @@ class CfgAmmo class CUP_B_762x51_noTracer: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -188,7 +188,7 @@ class CfgAmmo class CUP_B_303_Ball: BulletBase { ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -201,7 +201,7 @@ class CfgAmmo class CUP_B_127x107_Ball_Green_Tracer: BulletBase { ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -214,7 +214,7 @@ class CfgAmmo class CUP_B_127x108_Ball_Green_Tracer: BulletBase { ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -227,7 +227,7 @@ class CfgAmmo class CUP_B_762x54_Ball_White_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -240,7 +240,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Red_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -253,7 +253,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Green_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -266,7 +266,7 @@ class CfgAmmo class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -279,7 +279,7 @@ class CfgAmmo class CUP_B_9x39_SP5: BulletBase { ACE_caliber=9.246; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=16.2; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.275}; @@ -292,7 +292,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Green: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -305,7 +305,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Red: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -318,7 +318,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_Yellow: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -331,7 +331,7 @@ class CfgAmmo class CUP_B_762x51_Tracer_White: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -344,7 +344,7 @@ class CfgAmmo class B_127x107_Ball: BulletBase { ACE_caliber=12.979; - ACE_bulletLength=0.064008; + ACE_bulletLength=64.008; ACE_bulletMass=48.276; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.63}; @@ -357,7 +357,7 @@ class CfgAmmo class CUP_B_9x18_SD: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -370,7 +370,7 @@ class CfgAmmo class CUP_B_765x17_Ball: BulletBase { ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -383,7 +383,7 @@ class CfgAmmo class CUP_B_145x115_AP_Green_Tracer: BulletBase { ACE_caliber=14.884; - ACE_bulletLength=0.0508; + ACE_bulletLength=50.8; ACE_bulletMass=65.448; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.620}; @@ -396,7 +396,7 @@ class CfgAmmo class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball { ACE_caliber=12.954; - ACE_bulletLength=0.058674; + ACE_bulletLength=58.674; ACE_bulletMass=41.9256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; @@ -409,7 +409,7 @@ class CfgAmmo class CUP_B_86x70_Ball_noTracer: BulletBase { ACE_caliber=8.585; - ACE_bulletLength=0.04318; + ACE_bulletLength=43.18; ACE_bulletMass=19.44; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.381}; diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index d2127d5d82..c9446ff29e 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -9,7 +9,7 @@ class CfgAmmo class HLC_556NATO_EPR: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -22,7 +22,7 @@ class CfgAmmo class HLC_556NATO_SOST: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -35,7 +35,7 @@ class CfgAmmo class HLC_556NATO_SPR: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -48,7 +48,7 @@ class CfgAmmo class HLC_300Blackout_Ball: B_556x45_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028397; + ACE_bulletLength=28.397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -61,7 +61,7 @@ class CfgAmmo class HLC_300Blackout_SMK: HLC_300Blackout_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -74,7 +74,7 @@ class CfgAmmo class HLC_762x39_Ball: HLC_300Blackout_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -87,7 +87,7 @@ class CfgAmmo class HLC_762x39_Tracer: HLC_762x39_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -100,7 +100,7 @@ class CfgAmmo class HLC_762x51_MK316_20in: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.243}; @@ -113,7 +113,7 @@ class CfgAmmo class HLC_762x51_BTSub: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.034036; + ACE_bulletLength=34.036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; @@ -126,7 +126,7 @@ class CfgAmmo class HLC_762x54_ball: HLC_762x51_ball { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -139,7 +139,7 @@ class CfgAmmo class HLC_762x54_tracer: HLC_762x51_tracer { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -152,7 +152,7 @@ class CfgAmmo class HLC_303Brit_B: B_556x45_Ball { ACE_caliber=7.899; - ACE_bulletLength=0.031166; + ACE_bulletLength=31.166; ACE_bulletMass=11.2752; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.499, 0.493, 0.48}; @@ -165,7 +165,7 @@ class CfgAmmo class HLC_792x57_Ball: HLC_303Brit_B { ACE_caliber=8.077; - ACE_bulletLength=0.028651; + ACE_bulletLength=28.651; ACE_bulletMass=12.7008; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.315}; @@ -184,7 +184,7 @@ class CfgAmmo class FH_545x39_Ball: B_556x45_Ball { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -204,7 +204,7 @@ class CfgAmmo class HLC_57x28mm_JHP: FH_545x39_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.012573; + ACE_bulletLength=12.573; ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; @@ -217,7 +217,7 @@ class CfgAmmo class HLC_9x19_Ball: B_556x45_Ball { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -230,7 +230,7 @@ class CfgAmmo class HLC_9x19_M882_SMG: B_556x45_Ball { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -251,7 +251,7 @@ class CfgAmmo class HLC_10mm_FMJ: HLC_9x19_Ball { ACE_caliber=12.7; - ACE_bulletLength=0.019406; + ACE_bulletLength=19.406; ACE_bulletMass=10.692; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.189}; @@ -264,7 +264,7 @@ class CfgAmmo class HLC_45ACP_Ball: B_556x45_Ball { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -277,7 +277,7 @@ class CfgAmmo class FH_44Mag: HLC_45ACP_Ball { ACE_caliber=10.897; - ACE_bulletLength=0.020422; + ACE_bulletLength=20.422; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; @@ -290,7 +290,7 @@ class CfgAmmo class FH_50BMG_SLAP: B_127x99_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.03175; + ACE_bulletLength=31.75; ACE_bulletMass=22.68; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={1.056}; @@ -303,7 +303,7 @@ class CfgAmmo class FH_50BMG_Raufoss: B_127x99_Ball { ACE_caliber=12.954; - ACE_bulletLength=0.060452; + ACE_bulletLength=60.452; ACE_bulletMass=42.768; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.670}; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index e95bcdcad0..8d3e230e1c 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class RH_50_AE_Ball: BulletBase { ACE_caliber=12.7; - ACE_bulletLength=0.028194; + ACE_bulletLength=28.194; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.228}; @@ -18,7 +18,7 @@ class CfgAmmo class RH_454_Casull: BulletBase { ACE_caliber=11.481; - ACE_bulletLength=0.022733; + ACE_bulletLength=22.733; ACE_bulletMass=21.06; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.171}; @@ -31,7 +31,7 @@ class CfgAmmo class RH_32ACP: BulletBase { ACE_caliber=7.938; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.118}; @@ -44,7 +44,7 @@ class CfgAmmo class RH_45ACP: BulletBase { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; @@ -57,7 +57,7 @@ class CfgAmmo class RH_B_40SW: BulletBase { ACE_caliber=10.16; - ACE_bulletLength=0.011354; + ACE_bulletLength=11.354; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.105, 0.115, 0.120, 0.105}; @@ -70,7 +70,7 @@ class CfgAmmo class RH_44mag_ball: BulletBase { ACE_caliber=10.897; - ACE_bulletLength=0.020422; + ACE_bulletLength=20.422; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.172}; @@ -83,7 +83,7 @@ class CfgAmmo class RH_357mag_ball: BulletBase { ACE_caliber=9.068; - ACE_bulletLength=0.013741; + ACE_bulletLength=13.741; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.148}; @@ -96,7 +96,7 @@ class CfgAmmo class RH_762x25: BulletBase { ACE_caliber=7.874; - ACE_bulletLength=0.013856; + ACE_bulletLength=13.856; ACE_bulletMass=5.5728; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.17}; @@ -109,7 +109,7 @@ class CfgAmmo class RH_9x18_Ball: BulletBase { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; @@ -122,7 +122,7 @@ class CfgAmmo class RH_B_9x19_Ball: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -135,7 +135,7 @@ class CfgAmmo class RH_B_22LR_SD: BulletBase { ACE_caliber=5.664; - ACE_bulletLength=0.01143; + ACE_bulletLength=11.43; ACE_bulletMass=2.4624; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.111}; @@ -148,7 +148,7 @@ class CfgAmmo class RH_57x28mm: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.012573; + ACE_bulletLength=12.573; ACE_bulletMass=1.8144; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.144}; diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index 38c58bb7d4..fa4cc2ba07 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -11,7 +11,7 @@ class CfgAmmo { class RH_9x19_B_M822: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -24,7 +24,7 @@ class CfgAmmo { class RH_9x19_B_HP: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=8.0352; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.165}; @@ -37,7 +37,7 @@ class CfgAmmo { class RH_9x19_B_HPSB: BulletBase { ACE_caliber=9.017; - ACE_bulletLength=0.015316; + ACE_bulletLength=15.316; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.212}; @@ -50,7 +50,7 @@ class CfgAmmo { class RH_556x45_B_M855A1: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75}; ACE_ballisticCoefficients[]={0.151}; @@ -63,7 +63,7 @@ class CfgAmmo { class RH_556x45_B_Mk318: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -76,7 +76,7 @@ class CfgAmmo { class RH_556x45_B_Mk262: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -89,7 +89,7 @@ class CfgAmmo { class RH_68x43_B_FMJ: B_65x39_Caseless { ACE_caliber=7.036; - ACE_bulletLength=0.024359; + ACE_bulletLength=24.359; ACE_bulletMass=7.452; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.162}; @@ -102,7 +102,7 @@ class CfgAmmo { class RH_68x43_B_Match: B_65x39_Caseless { ACE_caliber=7.036; - ACE_bulletLength=0.03175; + ACE_bulletLength=31.75; ACE_bulletMass=8.748; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.253}; @@ -115,7 +115,7 @@ class CfgAmmo { class RH_762x35_B_FMJ: B_65x39_Caseless { ACE_caliber=7.823; - ACE_bulletLength=0.028397; + ACE_bulletLength=28.397; ACE_bulletMass=9.5256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.398}; @@ -128,7 +128,7 @@ class CfgAmmo { class RH_762x35_B_Match: B_65x39_Caseless { ACE_caliber=7.823; - ACE_bulletLength=0.029286; + ACE_bulletLength=29.286; ACE_bulletMass=8.1; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.349, 0.338, 0.330, 0.310}; @@ -141,7 +141,7 @@ class CfgAmmo { class RH_762x35_B_MSB: B_65x39_Caseless { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.608}; @@ -154,7 +154,7 @@ class CfgAmmo { class RH_762x51_B_M80A1: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -167,7 +167,7 @@ class CfgAmmo { class RH_762x51_B_Mk316LR: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-5.3, -5.1, -4.6, -4.2, -3.4, -2.6, -1.4, -0.3, 1.4, 3.0, 5.2}; ACE_ballisticCoefficients[]={0.243}; @@ -180,7 +180,7 @@ class CfgAmmo { class RH_762x51_B_Mk319: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=8.424; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.377}; @@ -193,7 +193,7 @@ class CfgAmmo { class RH_762x51_B_LFMJSB: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.034036; + ACE_bulletLength=34.036; ACE_bulletMass=12.96; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.235}; diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index f003c9599e..a1503f2284 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -3,7 +3,7 @@ class BulletBase; class RH_B_6x35: BulletBase { ACE_caliber=5.69; - ACE_bulletLength=0.011303; + ACE_bulletLength=11.303; ACE_bulletMass=4.212; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.26}; diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 15161e1fff..4cf181b9fc 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -6,7 +6,7 @@ class CfgAmmo class rhs_B_545x39_Ball: B_556x45_Ball { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.42792; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -19,7 +19,7 @@ class CfgAmmo class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball { ACE_caliber=5.588; - ACE_bulletLength=0.02159; + ACE_bulletLength=21.59; ACE_bulletMass=3.22704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.168}; @@ -33,7 +33,7 @@ class CfgAmmo class rhs_B_762x54_Ball: B_762x51_Ball { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -46,7 +46,7 @@ class CfgAmmo class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.6552; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.395}; @@ -59,7 +59,7 @@ class CfgAmmo class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball { ACE_caliber=7.925; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.8496; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.4}; @@ -72,7 +72,7 @@ class CfgAmmo class rhs_B_762x39_Ball: B_762x51_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.9704; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -85,7 +85,7 @@ class CfgAmmo class rhs_B_762x39_Tracer: rhs_B_762x39_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=7.5816; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.275}; @@ -99,7 +99,7 @@ class CfgAmmo class rhs_B_9x19_7N21: B_9x21_Ball { ACE_caliber=9.017; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=5.19696; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.14}; @@ -112,7 +112,7 @@ class CfgAmmo class rhs_B_9x18_57N181S: B_9x21_Ball { ACE_caliber=9.271; - ACE_bulletLength=0.015494; + ACE_bulletLength=15.494; ACE_bulletMass=6.00048; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.125}; diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index 35c03f09ae..b46f155b17 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -5,7 +5,7 @@ class CfgAmmo class rhsusf_B_300winmag: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.037821; + ACE_bulletLength=37.821; ACE_bulletMass=14.256; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.310}; @@ -19,7 +19,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.0176; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.307}; @@ -32,7 +32,7 @@ class CfgAmmo class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball { ACE_caliber=5.69; - ACE_bulletLength=0.023012; + ACE_bulletLength=23.012; ACE_bulletMass=4.9896; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.361}; @@ -45,7 +45,7 @@ class CfgAmmo class rhs_ammo_762x51_M80_Ball: BulletBase { ACE_caliber=7.823; - ACE_bulletLength=0.028956; + ACE_bulletLength=28.956; ACE_bulletMass=9.4608; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.2}; @@ -58,7 +58,7 @@ class CfgAmmo class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=11.34; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.243}; @@ -71,7 +71,7 @@ class CfgAmmo class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball { ACE_caliber=7.823; - ACE_bulletLength=0.031496; + ACE_bulletLength=31.496; ACE_bulletMass=8.2296; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ballisticCoefficients[]={0.377}; @@ -84,7 +84,7 @@ class CfgAmmo class rhs_ammo_45ACP_MHP: BulletBase { ACE_caliber=11.481; - ACE_bulletLength=0.017272; + ACE_bulletLength=17.272; ACE_bulletMass=14.904; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_ballisticCoefficients[]={0.195}; From aa9561f287bc59f4def0376e5665a7910a4196f4 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 12:46:44 +0200 Subject: [PATCH 360/478] Convert ACE_barrelTwist to millimeters --- .../functions/fnc_handleFired.sqf | 2 +- addons/ballistics/CfgWeapons.hpp | 82 +- extras/CfgWeaponsReference.hpp | 720 +++++++++--------- optionals/compat_hlc_ar15/CfgWeapons.hpp | 24 +- optionals/compat_hlc_wp_mp5/CfgWeapons.hpp | 22 +- optionals/compat_hlcmods_ak/CfgWeapons.hpp | 16 +- optionals/compat_hlcmods_aug/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_fal/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_g3/CfgWeapons.hpp | 16 +- optionals/compat_hlcmods_m14/CfgWeapons.hpp | 4 +- optionals/compat_hlcmods_m60e4/CfgWeapons.hpp | 4 +- optionals/compat_rh_de/CfgWeapons.hpp | 54 +- optionals/compat_rh_m4/CfgWeapons.hpp | 50 +- optionals/compat_rh_pdw/CfgWeapons.hpp | 2 +- optionals/compat_rhs_afrf3/CfgWeapons.hpp | 20 +- optionals/compat_rhs_usf3/CfgWeapons.hpp | 20 +- 16 files changed, 536 insertions(+), 536 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index a8528cfec5..e63b1d7dfc 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -94,7 +94,7 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { _caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); _bulletLength = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); _bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); -_barrelTwist = 1000 * getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); +_barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); _stabilityFactor = 1.5; if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 59589f73be..7394cda002 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -65,7 +65,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -1.0; - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4064; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -92,7 +92,7 @@ class CfgWeapons { "ACE_30Rnd_65_Creedmor_mag" }; initSpeed = -1.018; - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4572; class Single: Single { dispersion = 0.00029; // radians. Equal to 1 MOA. @@ -137,7 +137,7 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_H"}; }; }; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; class manual: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. @@ -154,7 +154,7 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_B"}; }; }; - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.45974; class FullAuto: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. @@ -241,7 +241,7 @@ class CfgWeapons { class hgun_P07_F: Pistol_Base_F { initSpeed = -0.9778; - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1016; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -253,7 +253,7 @@ class CfgWeapons { class hgun_Rook40_F: Pistol_Base_F { initSpeed = -1.0; - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11176; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -265,7 +265,7 @@ class CfgWeapons { class hgun_ACPC2_F: Pistol_Base_F { initSpeed = -1.0; - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -276,7 +276,7 @@ class CfgWeapons { class hgun_Pistol_heavy_01_F: Pistol_Base_F { initSpeed = -0.96; - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { @@ -287,7 +287,7 @@ class CfgWeapons { class hgun_Pistol_heavy_02_F: Pistol_Base_F { initSpeed = -0.92; - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.0762; /* class WeaponSlotsInfo: WeaponSlotsInfo { @@ -300,7 +300,7 @@ class CfgWeapons { }; class hgun_PDW2000_F: pdw2000_base_F { initSpeed = -1.157; - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.1778; }; class arifle_Katiba_F: arifle_katiba_Base_F { @@ -310,7 +310,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.08; - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.72898; }; class arifle_Katiba_C_F: arifle_katiba_Base_F { @@ -320,7 +320,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.07; - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.68072; }; class arifle_Katiba_GL_F: arifle_katiba_Base_F { @@ -330,7 +330,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim" }; initSpeed = -1.08; - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.72898; }; class arifle_MX_F: arifle_MX_Base_F { @@ -340,7 +340,7 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -0.99; - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.3683; }; class arifle_MX_GL_F: arifle_MX_Base_F { @@ -350,12 +350,12 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -0.99; - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.3683; }; /* class arifle_MX_SW_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4064; }; */ @@ -366,12 +366,12 @@ class CfgWeapons { "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim" }; initSpeed = -0.965; - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.2667; }; /* class arifle_MXM_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4572; }; */ @@ -388,12 +388,12 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.989; - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.4572; }; class SMG_02_F: SMG_02_base_F { initSpeed = -1.054; - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.19558; }; class arifle_TRG20_F: Tavor_base_F { @@ -408,7 +408,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.95; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.381; }; class arifle_TRG21_F: Tavor_base_F { @@ -423,7 +423,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.989; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.45974; }; class arifle_TRG21_GL_F: arifle_TRG21_F { @@ -438,12 +438,12 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.989; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.45974; }; /* class LMG_Zafir_F: Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.45974; }; */ @@ -459,7 +459,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.98; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.44196; }; class arifle_Mk20C_F: mk20_base_F { @@ -474,7 +474,7 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.956; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class arifle_Mk20_GL_F: mk20_base_F { @@ -489,12 +489,12 @@ class CfgWeapons { "ACE_30Rnd_556x45_Stanag_Tracer_Dim" }; initSpeed = -0.956; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class SMG_01_F: SMG_01_Base { initSpeed = -1.016; - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1397; }; class srifle_DMR_01_F: DMR_01_base_F { @@ -503,7 +503,7 @@ class CfgWeapons { "ACE_10Rnd_762x54_Tracer_mag" }; initSpeed = -1.025; - ACE_barrelTwist=0.2413; + ACE_barrelTwist=241.3; ACE_barrelLength=0.6096; }; class srifle_EBR_F: EBR_base_F { @@ -518,19 +518,19 @@ class CfgWeapons { "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9724; - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; /* class LMG_Mk200_F: Rifle_Long_Base_F { initSpeed = -1.0; - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; */ class srifle_LRR_F: LRR_base_F { initSpeed = -1.0; - ACE_barrelTwist=0.3302; + ACE_barrelTwist=330.2; ACE_barrelLength=0.7366; }; class srifle_GM6_F: GM6_base_F { @@ -542,7 +542,7 @@ class CfgWeapons { "ACE_5Rnd_127x99_AMAX_Mag" }; initSpeed = -1.0; - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.92964; }; class srifle_DMR_02_F: DMR_02_base_F { @@ -555,7 +555,7 @@ class CfgWeapons { "ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag" }; initSpeed = -0.962; - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.508; }; class srifle_DMR_03_F: DMR_03_base_F { @@ -570,17 +570,17 @@ class CfgWeapons { "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9843; - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.508; }; class srifle_DMR_04_F: DMR_04_base_F { initSpeed = -1.0; - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.450088; }; class srifle_DMR_05_blk_F: DMR_05_base_F { initSpeed = -1.0; - ACE_barrelTwist=0.359918; + ACE_barrelTwist=359.918; ACE_barrelLength=0.620014; }; class srifle_DMR_06_camo_F: DMR_06_base_F { @@ -595,17 +595,17 @@ class CfgWeapons { "ACE_20Rnd_762x51_Mag_SD" }; initSpeed = -0.9916; - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class MMG_01_hex_F: MMG_01_base_F { initSpeed = -1.0; - ACE_barrelTwist=0.359918; + ACE_barrelTwist=359.918; ACE_barrelLength=0.54991; }; class MMG_02_camo_F: MMG_02_base_F { initSpeed = -1.0; - ACE_barrelTwist=0.23495; + ACE_barrelTwist=234.95; ACE_barrelLength=0.6096; }; @@ -615,7 +615,7 @@ class CfgWeapons { }; class HMG_M2: HMG_01 { initSpeed = -1.0; - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=1.143; }; diff --git a/extras/CfgWeaponsReference.hpp b/extras/CfgWeaponsReference.hpp index 3aecdb325c..d46f8c7033 100644 --- a/extras/CfgWeaponsReference.hpp +++ b/extras/CfgWeaponsReference.hpp @@ -27,456 +27,456 @@ class CfgWeapons class MMG_02_base_F; class hgun_P07_F : Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1016; }; class hgun_Rook40_F : Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11176; }; class hgun_Pistol_heavy_01_F : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class hgun_Pistol_heavy_02_F : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.0762; }; class hgun_ACPC2_F : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class hgun_PDW2000_F : PDW2000_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.1778; }; class arifle_Katiba_F : arifle_Katiba_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.72898; }; class arifle_Katiba_C_F : arifle_Katiba_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.68072; }; class arifle_Katiba_GL_F : arifle_Katiba_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.72898; }; class arifle_MX_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.3683; }; class arifle_MX_GL_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.3683; }; class arifle_MX_SW_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4064; }; class arifle_MXC_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.2667; }; class arifle_MXM_F: arifle_MX_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4572; }; class arifle_SDAR_F : SDAR_base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.4572; }; class SMG_02_F : SMG_02_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.19558; }; class arifle_TRG20_F : Tavor_base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.381; }; class arifle_TRG21_F : Tavor_base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.45974; }; class LMG_Zafir_F : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.45974; }; class arifle_Mk20_F : Mk20_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.44196; }; class arifle_Mk20C_F : Mk20_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class arifle_Mk20_GL_F : Mk20_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class SMG_01_F : SMG_01_Base { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1397; }; class srifle_DMR_01_F : DMR_01_base_F { - ACE_barrelTwist=0.2413; + ACE_barrelTwist=241.3; ACE_barrelLength=0.6096; }; class srifle_EBR_F : EBR_base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.6096; }; class LMG_Mk200_F : Rifle_Long_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class srifle_LRR_F : LRR_base_F { - ACE_barrelTwist=0.3302; + ACE_barrelTwist=330.2; ACE_barrelLength=0.7366; }; class srifle_GM6_F : GM6_base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=1.09982; }; class srifle_DMR_02_F: DMR_02_base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.6604; }; class srifle_DMR_03_F: DMR_03_base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.508; }; class srifle_DMR_04_F: DMR_04_base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.450088; }; class srifle_DMR_05_blk_F: DMR_05_base_F { - ACE_barrelTwist=0.359918; + ACE_barrelTwist=359.918; ACE_barrelLength=0.620014; }; class srifle_DMR_06_camo_F: DMR_06_base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class MMG_01_hex_F: MMG_01_base_F { - ACE_barrelTwist=0.359918; + ACE_barrelTwist=359.918; ACE_barrelLength=0.54991; }; class MMG_02_camo_F: MMG_02_base_F { - ACE_barrelTwist=0.23495; + ACE_barrelTwist=234.95; ACE_barrelLength=0.6096; }; class HMG_M2 : HMG_127 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=1.143; }; class RH_deagle : Pistol_Base_F { - ACE_barrelTwist=0.4826; + ACE_barrelTwist=482.6; ACE_barrelLength=0.1524; }; class RH_sw659 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.188976; }; class RH_usp : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.112014; }; class RH_uspm : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1524; }; class RH_mak : Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.093472; }; class RH_m1911 : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class RH_kimber : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class RH_m9 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.12446; }; class RH_vz61 : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class RH_tec9 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.127; }; class RH_muzi : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.127; }; class RH_g18 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.114046; }; class RH_g17 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.114046; }; class RH_tt33 : Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.11684; }; class RH_mk2 : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1016; }; class RH_p226 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.11176; }; class RH_g19 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.1016; }; class RH_gsh18 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.10414; }; class RH_mateba : Pistol_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.1524; }; class RH_python : Pistol_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.1524; }; class RH_bull : Pistol_Base_F { - ACE_barrelTwist=0.6096; + ACE_barrelTwist=609.6; ACE_barrelLength=0.1651; }; class RH_ttracker : Pistol_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.1016; }; class RH_mp412 : Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1524; }; class RH_fnp45 : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class RH_fn57 : Pistol_Base_F { - ACE_barrelTwist=0.23114; + ACE_barrelTwist=231.14; ACE_barrelLength=0.12192; }; class RH_vp70 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.11684; }; class RH_cz75 : Pistol_Base_F { - ACE_barrelTwist=0.24638; + ACE_barrelTwist=246.38; ACE_barrelLength=0.11938; }; class RH_PDW : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.254; }; class RH_hb : Rifle_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.1524; }; class RH_sbr9 : Rifle_Base_F { - ACE_barrelTwist=0.24638; + ACE_barrelTwist=246.38; ACE_barrelLength=0.2286; }; class RH_ar10 : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.52832; }; class RH_m4 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class RH_M4m : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2667; }; class RH_M4sbr : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2667; }; class RH_M16a1 : Rifle_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.508; }; class RH_M16A2 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A3 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A4 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A6 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_hk416 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class RH_hk416c : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class RH_hk416s : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26416; }; class RH_m27iar : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4191; }; class RH_Mk12mod1 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class RH_SAMR : Rifle_Base_F { - ACE_barrelTwist=0.19558; + ACE_barrelTwist=195.58; ACE_barrelLength=0.508; }; class RH_m110 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.508; }; class RH_mk11 : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class RH_sr25ec : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.508; }; class hlc_rifle_ak74 : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class hlc_rifle_aks74u : Rifle_Base_F { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class hlc_rifle_ak47 : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.41402; }; class hlc_rifle_akm : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class hlc_rifle_rpk : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.58928; }; class hlc_rifle_aek971 : Rifle_Base_F { - ACE_barrelTwist=0.2413; + ACE_barrelTwist=241.3; ACE_barrelLength=0.4318; }; class hlc_rifle_saiga12k : Rifle_Base_F @@ -487,274 +487,274 @@ class CfgWeapons }; class hlc_ar15_base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2921; }; class hlc_rifle_bcmjack : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class hlc_rifle_Bushmaster300 : Rifle_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.4064; }; class hlc_rifle_SAMR : Rifle_Base_F { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4064; }; class hlc_rifle_honeybase : Rifle_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.1524; }; class hlc_rifle_SLRchopmod : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class hlc_rifle_LAR : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class hlc_rifle_c1A1 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.55118; }; class hlc_rifle_FAL5061 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; class hlc_rifle_STG58F : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class hlc_rifle_SLR : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.55118; }; class hlc_rifle_falosw : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.3302; }; class hlc_rifle_psg1 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.65024; }; class hlc_rifle_g3sg1 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class hlc_rifle_hk51 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.211074; }; class hlc_rifle_hk53 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.211074; }; class hlc_rifle_g3a3 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class hlc_M14_base : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class hlc_rifle_m14sopmod : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; class hlc_lmg_M60E4 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4318; }; class hlc_lmg_m60 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class hlc_smg_mp5k_PDW : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1143; }; class hlc_smg_mp5a2 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class hlc_smg_mp5a4 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class hlc_smg_mp5n : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class hlc_smg_mp5sd5 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.14478; }; class hlc_smg_mp5sd6 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.14478; }; class hlc_smg_9mmar : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class hlc_smg_mp510 : Rifle_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.22606; }; class hlc_smg_mp5a3 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class hgun_mas_usp_F: Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.112014; }; class hgun_mas_m23_F: Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.149098; }; class hgun_mas_acp_F: Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127762; }; class hgun_mas_m9_F: Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.12446; }; class hgun_mas_bhp_F: Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11938; }; class hgun_mas_glock_F: Pistol_Base_F { - ACE_barrelTwist=0.249936; + ACE_barrelTwist=249.936; ACE_barrelLength=0.113792; }; class hgun_mas_glocksf_F: Pistol_Base_F { - ACE_barrelTwist=0.40005; + ACE_barrelTwist=400.05; ACE_barrelLength=0.11684; }; class hgun_mas_grach_F: Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11176; }; class hgun_mas_mak_F: Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.093472; }; class hgun_mas_sa61_F: Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class hgun_mas_uzi_F: Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.134112; }; class arifle_mas_mk16 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.35052; }; class arifle_mas_mk16_l : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class arifle_mas_mk17 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4064; }; class srifle_mas_m110 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.508; }; class arifle_mas_ak_74m : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.415036; }; class arifle_mas_ak_74m_gl : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.415036; }; class srifle_mas_svd : Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class srifle_mas_m91 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.7366; }; class srifle_mas_ksvk : Rifle_Base_F { - ACE_barrelTwist=0.4572; + ACE_barrelTwist=457.2; ACE_barrelLength=0.999998; }; class LMG_mas_rpk_F : Rifle_Base_F { - ACE_barrelTwist=0.195072; + ACE_barrelTwist=195.072; ACE_barrelLength=0.58928; }; class LMG_mas_pkm_F : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.64516; }; class arifle_mas_aks74u : Rifle_Base_F { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class arifle_mas_bizon : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.23114; }; class arifle_mas_saiga : Rifle_Base_F @@ -765,142 +765,142 @@ class CfgWeapons }; class arifle_mas_hk416 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class arifle_mas_hk416_gl : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class arifle_mas_hk416c : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class arifle_mas_hk416_m203c : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class arifle_mas_hk417c : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.3302; }; class arifle_mas_m4 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class arifle_mas_m4c : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26162; }; class arifle_mas_l119 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class arifle_mas_l119_gl : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class arifle_mas_l119_m203 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4064; }; class arifle_mas_m16 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class arifle_mas_m16_gl : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class srifle_mas_hk417 : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.4191; }; class srifle_mas_sr25 : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class srifle_mas_ebr : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; class srifle_mas_m24 : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class arifle_mas_mp5 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class arifle_mas_mp5sd : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.14478; }; class srifle_mas_m107 : Rifle_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class LMG_mas_M249_F : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.41402; }; class LMG_mas_M249a_F : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class LMG_mas_mk48_F : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.50165; }; class LMG_mas_m240_F : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class LMG_mas_mg3_F : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.56388; }; class arifle_mas_g3 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class arifle_mas_g3_m203 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class arifle_mas_fal : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class arifle_mas_fal_m203 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class arifle_mas_m1014 : Rifle_Base_F @@ -912,275 +912,275 @@ class CfgWeapons class BWA3_P8 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.10795; }; class BWA3_MP7 : Pistol_Base_F { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.18034; }; class BWA3_G36 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.48006; }; class BWA3_G36K : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class BWA3_G28_Standard : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4191; }; class BWA3_G27 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4064; }; class BWA3_MG4 : Rifle_Long_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.48006; }; class BWA3_MG5 : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.54864; }; class BWA3_G82 : Rifle_Long_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class Trixie_L131A1 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.1143; }; class Trixie_XM8_Carbine : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class Trixie_XM8_Compact : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class Trixie_XM8_SAW : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class Trixie_XM8_SAW_NB : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class Trixie_XM8_DMR : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class Trixie_XM8_DMR_NB : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class L129A1_base : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.4064; }; class Trixie_Enfield : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.64008; }; class Trixie_CZ550_Rail : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.599999; }; class Trixie_FNFAL_Rail : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class Trixie_M110 : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.508; }; class Trixie_MK12 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class Trixie_LM308MWS : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.4064; }; class Trixie_M14DMR : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class Trixie_M14DMR_NG_Black_Short : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; class Trixie_M14DMR_NG_Short : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; class Trixie_M14 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class Trixie_M40A3 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.6096; }; class Trixie_CZ750 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.6604; }; class Trixie_M24 : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class Trixie_AWM338 : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.6858; }; class Trixie_M107 : Rifle_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class Trixie_AS50 : Rifle_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class L110A1_base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.34798; }; class Trixie_L86A2_base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.64516; }; class Trixie_l85a2_base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.51816; }; class L7A2_base : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class rhs_weap_pya : Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11176; }; class rhs_weap_pkp : Rifle_Long_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.65786; }; class rhs_weap_pkm : Rifle_Long_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.64516; }; class rhs_weap_rpk74m : Rifle_Long_Base_F { - ACE_barrelTwist=0.195072; + ACE_barrelTwist=195.072; ACE_barrelLength=0.58928; }; class rhs_weap_rpk74 : Rifle_Long_Base_F { - ACE_barrelTwist=0.195072; + ACE_barrelTwist=195.072; ACE_barrelLength=0.58928; }; class rhs_weap_ak74m : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class rhs_weap_aks74u : Rifle_Base_F { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class rhs_weap_akm : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class rhs_weap_svd : Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class rhs_weap_svds : Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.56388; }; class rhs_weap_m4_Base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class rhs_weap_m16a4 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class rhs_weap_m16a4_carryhandle : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class rhs_weap_m16a4_grip : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class rhs_weap_m240B : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class rhs_weap_m249_pip : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.41402; }; class rhs_weap_mk18 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26162; }; class rhs_weap_M590_5RD : Rifle_Base_F @@ -1197,89 +1197,89 @@ class CfgWeapons }; class rhs_weap_sr25 : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class rhs_weap_sr25_ec : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.508; }; class rhs_weap_XM2010_Base_F: Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.6096; }; class R3F_PAMAS : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.12446; }; class R3F_Famas_F1: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.48768; }; class R3F_Famas_surb: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.40386; }; class R3F_Minimi: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.34798; }; class R3F_Minimi_762: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.50292; }; class R3F_FRF2: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.649986; }; class R3F_PGM_Hecate_II: Rifle_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.70104; }; class R3F_HK417S_HG : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.3048; }; class R3F_HK417M : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.4064; }; class R3F_HK417L : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.508; }; class R3F_M107 : Rifle_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class R3F_HK416M : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3556; }; class R3F_MP5SD : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.14478; }; class CUP_hgun_Colt1911 : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class CUP_sgun_AA12 : Rifle_Base_F @@ -1290,197 +1290,197 @@ class CfgWeapons }; class CUP_arifle_AK_Base : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.41402; }; class CUP_arifle_AK107_Base : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class CUP_arifle_AKS_Base : Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class CUP_arifle_AKS74U : Rifle_Base_F { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class CUP_arifle_RPK74 : Rifle_Long_Base_F { - ACE_barrelTwist=0.195072; + ACE_barrelTwist=195.072; ACE_barrelLength=0.58928; }; class CUP_srifle_AS50 : Rifle_Long_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class CUP_srifle_AWM_Base : Rifle_Long_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.6858; }; class CUP_smg_bizon : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.23114; }; class CUP_hgun_Compact : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.094996; }; class CUP_srifle_CZ750 : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.6604; }; class CUP_arifle_CZ805_Base : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.3556; }; class CUP_arifle_CZ805_A1 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.3556; }; class CUP_arifle_CZ805_A2 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.27686; }; class CUP_srifle_DMR : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class CUP_hgun_Duty : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.094996; }; class CUP_arifle_FNFAL : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class CUP_arifle_G36A : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.48006; }; class CUP_arifle_G36K : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class CUP_arifle_G36C : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class CUP_arifle_MG36 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.48006; }; class CUP_hgun_Glock17 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.114046; }; class CUP_srifle_CZ550 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.599999; }; class CUP_srifle_ksvk : Rifle_Long_Base_F { - ACE_barrelTwist=0.4572; + ACE_barrelTwist=457.2; ACE_barrelLength=0.999998; }; class CUP_lmg_L7A2 : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class CUP_arifle_L85A2_Base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.51816; }; class CUP_lmg_L110A1 : Rifle_Long_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.34798; }; class CUP_srifle_LeeEnfield : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.64008; }; class CUP_hgun_M9 : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.12446; }; class CUP_srifle_M14 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class CUP_arifle_M16_Base : Rifle_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.508; }; class CUP_arifle_M4_Base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class CUP_srifle_Mk12SPR : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class CUP_srifle_M24_des : Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class CUP_lmg_M60A4 : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4318; }; class CUP_srifle_M107_Base : Rifle_Long_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.7366; }; class CUP_srifle_M110 : Rifle_Base_F { - ACE_barrelTwist=0.2794; + ACE_barrelTwist=279.4; ACE_barrelLength=0.508; }; class CUP_lmg_M240 : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class CUP_lmg_M249_para : Rifle_Long_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.41402; }; class CUP_lmg_M249 : Rifle_Long_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class CUP_sgun_M1014 : Rifle_Base_F @@ -1491,67 +1491,67 @@ class CfgWeapons }; class CUP_hgun_Makarov : Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.093472; }; class CUP_hgun_MicroUzi : Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.127; }; class CUP_lmg_Mk48_Base : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.50165; }; class CUP_smg_MP5SD6 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.14478; }; class CUP_smg_MP5A5 : Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.22606; }; class CUP_hgun_PB6P9 : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.10414; }; class CUP_hgun_Phantom : Rifle_Base_F { - ACE_barrelTwist=0.24638; + ACE_barrelTwist=246.38; ACE_barrelLength=0.11938; }; class CUP_lmg_PKM : Rifle_Long_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.64516; }; class CUP_lmg_Pecheneg : Rifle_Long_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.65786; }; class CUP_hgun_TaurusTracker455 : Pistol_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.1016; }; class CUP_arifle_Sa58P : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.39116; }; class CUP_arifle_Sa58V : Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.39116; }; class CUP_hgun_SA61 : Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class CUP_sgun_Saiga12K: Rifle_Base_F @@ -1562,328 +1562,328 @@ class CfgWeapons } class CUP_arifle_Mk16_CQC : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.254; }; class CUP_arifle_Mk16_STD : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3556; }; class CUP_arifle_Mk16_SV : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class CUP_arifle_Mk17_CQC : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.3302; }; class CUP_arifle_Mk17_STD : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4064; }; class CUP_arifle_Mk20 : Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.508; }; class CUP_srifle_SVD : Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class CUP_lmg_UK59 : Rifle_Long_Base_F { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.55118; }; class CUP_DSHKM_W : MGun { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=1.06934; }; class CUP_KPVT_W : MGun { - ACE_barrelTwist=0.454914; + ACE_barrelTwist=454.914; ACE_barrelLength=1.3462; }; class CUP_KPVB_W : MGun { - ACE_barrelTwist=0.454914; + ACE_barrelTwist=454.914; ACE_barrelLength=1.3462; }; class CUP_M134 : MGunCore { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class CUP_M240_veh_W : Rifle_Long_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class CUP_PKT_W : MGun { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.722122; }; class CUP_srifle_VSSVintorez : Rifle_Base_F { - ACE_barrelTwist=0.21082; + ACE_barrelTwist=210.82; ACE_barrelLength=0.20066; }; class CUP_arifle_XM8_Base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class CUP_arifle_XM8_Carbine : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class CUP_arifle_xm8_sharpshooter : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class CUP_arifle_xm8_SAW : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class CUP_arifle_XM8_Compact : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class CUP_arifle_XM8_Railed_Base : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class CUP_arifle_XM8_Carbine_FG : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3175; }; class VTN_AK_BASE: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AK74M: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AK74M_GP25: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AK74M_GP30M: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AKS74: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AKS74N: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AKS74N_76: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AK74_76: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AKMS_aa: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.26162; }; class VTN_AKS74U_BASE: Rifle_Base_F { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class VTN_AKM_BASE: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AKMS: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AKMS_T_P: Rifle_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class VTN_AK103_BASE: Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.41402; }; class VTN_AK104_BASE: Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.31496; }; class VTN_AK105_BASE: Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.31496; }; class VTN_AK105_P_BASE: Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.31496; }; class VTN_SVD_BASE: Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class VTN_SVD_63: Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class VTN_SVD_86: Rifle_Base_F { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class VTN_SV98_BASE: Rifle_Base_F { - ACE_barrelTwist=0.32004; + ACE_barrelTwist=320.04; ACE_barrelLength=0.649986; }; class VTN_PKM_BAS: Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.64516; }; class VTN_PKP: Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.65786; }; class VTN_PYA: Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11176; }; class VTN_PM: Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.093472; }; class VTN_PB: Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.10414; }; class VTN_GSH18: Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.10414; }; class VTN_PSS: Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.03556; }; class VTN_PKT: Rifle_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.722122; }; class VTN_KORD: Rifle_Base_F { - ACE_barrelTwist=0.454914; + ACE_barrelTwist=454.914; ACE_barrelLength=1.3462; }; class VTN_KPVT: Rifle_Base_F { - ACE_barrelTwist=0.454914; + ACE_barrelTwist=454.914; ACE_barrelLength=1.3462; }; class VTN_C_M4A1 : Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class VTN_MK18MOD0: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26162; }; class VTN_M16_BASE: Rifle_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.508; }; class VTN_FN_SAMR_BASE: Rifle_Base_F { - ACE_barrelTwist=0.19558; + ACE_barrelTwist=195.58; ACE_barrelLength=0.508; }; class VTN_M249_SAW_BASE: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class VTN_M249_PARA: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.41402; }; class VTN_M240G_BASE: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class VTN_M9: Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.12446; }; class VTN_M45A1: Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class VTN_M24: Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class VTN_M240: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class VTN_KO44: Rifle_Base_F { - ACE_barrelTwist=0.2413; + ACE_barrelTwist=241.3; ACE_barrelLength=0.51308; }; class VTN_SAIGA_MK03: Rifle_Base_F diff --git a/optionals/compat_hlc_ar15/CfgWeapons.hpp b/optionals/compat_hlc_ar15/CfgWeapons.hpp index 31caabbe78..4f3fb2328c 100644 --- a/optionals/compat_hlc_ar15/CfgWeapons.hpp +++ b/optionals/compat_hlc_ar15/CfgWeapons.hpp @@ -4,62 +4,62 @@ class CfgWeapons class Rifle_Base_F; class hlc_ar15_base: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2921; }; class hlc_rifle_RU556: hlc_ar15_base { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26162; }; class hlc_rifle_RU5562: hlc_rifle_RU556 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26162; }; class hlc_rifle_CQBR: hlc_rifle_RU556 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.254; }; class hlc_rifle_M4: hlc_rifle_RU556 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class hlc_rifle_bcmjack: hlc_ar15_base { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class hlc_rifle_Colt727: hlc_ar15_base { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class hlc_rifle_Colt727_GL: hlc_rifle_Colt727 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class hlc_rifle_Bushmaster300: hlc_rifle_Colt727 { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.3683; }; class hlc_rifle_vendimus: hlc_rifle_Bushmaster300 { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.4064; }; class hlc_rifle_SAMR: hlc_rifle_RU556 { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4064; }; class hlc_rifle_honeybase: hlc_rifle_RU556 { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.1524; }; }; \ No newline at end of file diff --git a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp index e100d90a78..1c67a19815 100644 --- a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp +++ b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp @@ -4,57 +4,57 @@ class CfgWeapons class Rifle_Base_F; class hlc_MP5_base: Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_mp5k_PDW: hlc_MP5_base { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1143; }; class hlc_smg_mp5k: hlc_smg_mp5k_PDW { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1143; }; class hlc_smg_mp5a2: hlc_MP5_base { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_MP5N: hlc_MP5_base { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_9mmar: hlc_smg_MP5N { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_mp5a4: hlc_MP5_base { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_mp510: hlc_smg_MP5N { - ACE_barrelTwist=0.381; + ACE_barrelTwist=381.0; ACE_barrelLength=0.2286; }; class hlc_smg_mp5sd5: hlc_MP5_base { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_mp5a3: hlc_smg_mp5a2 { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; class hlc_smg_mp5sd6: hlc_smg_mp5sd5 { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.2286; }; }; diff --git a/optionals/compat_hlcmods_ak/CfgWeapons.hpp b/optionals/compat_hlcmods_ak/CfgWeapons.hpp index 2655b1f182..a69f1b192e 100644 --- a/optionals/compat_hlcmods_ak/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_ak/CfgWeapons.hpp @@ -6,12 +6,12 @@ class CfgWeapons class InventoryOpticsItem_Base_F; class hlc_rifle_ak74: hlc_ak_base { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class hlc_rifle_aku12: hlc_rifle_ak12 { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class hlc_rifle_RPK12: hlc_rifle_ak12 @@ -20,32 +20,32 @@ class CfgWeapons }; class hlc_rifle_aks74u: hlc_rifle_ak74 { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class hlc_rifle_ak47: hlc_rifle_ak74 { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.41402; }; class hlc_rifle_akm: hlc_rifle_ak47 { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class hlc_rifle_rpk: hlc_rifle_ak47 { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.58928; }; class hlc_rifle_rpk74n: hlc_rifle_rpk { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.58928; }; class hlc_rifle_aek971: hlc_rifle_ak74 { - ACE_barrelTwist=0.2413; + ACE_barrelTwist=241.3; ACE_barrelLength=0.4318; }; class hlc_rifle_saiga12k: hlc_rifle_ak47 diff --git a/optionals/compat_hlcmods_aug/CfgWeapons.hpp b/optionals/compat_hlcmods_aug/CfgWeapons.hpp index ebb5d17675..9e34e45f2f 100644 --- a/optionals/compat_hlcmods_aug/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_aug/CfgWeapons.hpp @@ -5,47 +5,47 @@ class CfgWeapons class hlc_aug_base; class hlc_rifle_aug: hlc_aug_base { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.508; }; class hlc_rifle_auga1carb: hlc_rifle_aug { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4064; }; class hlc_rifle_aughbar: hlc_rifle_aug { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.6096; }; class hlc_rifle_augpara: hlc_rifle_aug { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4191; }; class hlc_rifle_auga2: hlc_rifle_aug { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.508; }; class hlc_rifle_auga2para: hlc_rifle_auga2 { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4191; }; class hlc_rifle_auga2carb: hlc_rifle_auga2 { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4572; }; class hlc_rifle_auga2lsw: hlc_rifle_aughbar { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.6096; }; class hlc_rifle_auga3: hlc_rifle_aug { - ACE_barrelTwist=0.2286; + ACE_barrelTwist=228.6; ACE_barrelLength=0.4572; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_fal/CfgWeapons.hpp b/optionals/compat_hlcmods_fal/CfgWeapons.hpp index 6be462773b..5e4a18caf1 100644 --- a/optionals/compat_hlcmods_fal/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_fal/CfgWeapons.hpp @@ -4,47 +4,47 @@ class CfgWeapons class hlc_fal_base; class hlc_rifle_falosw: hlc_fal_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.3302; }; class hlc_rifle_osw_GL: hlc_rifle_falosw { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.3302; }; class hlc_rifle_SLR: hlc_fal_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.55118; }; class hlc_rifle_STG58F: hlc_fal_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class hlc_rifle_FAL5061: hlc_fal_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; class hlc_rifle_L1A1SLR: hlc_rifle_SLR { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.55118; }; class hlc_rifle_c1A1: hlc_rifle_SLR { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.55118; }; class hlc_rifle_LAR: hlc_rifle_FAL5061 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5334; }; class hlc_rifle_SLRchopmod: hlc_rifle_FAL5061 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_g3/CfgWeapons.hpp b/optionals/compat_hlcmods_g3/CfgWeapons.hpp index 9c5b5585ad..f6b7a9c133 100644 --- a/optionals/compat_hlcmods_g3/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_g3/CfgWeapons.hpp @@ -4,42 +4,42 @@ class CfgWeapons class hlc_g3_base; class hlc_rifle_g3sg1: hlc_g3_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class hlc_rifle_psg1: hlc_rifle_g3sg1 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.65024; }; class hlc_rifle_g3a3: hlc_rifle_g3sg1 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class hlc_rifle_g3a3ris: hlc_rifle_g3a3 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.44958; }; class hlc_rifle_g3ka4: hlc_rifle_g3a3 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.31496; }; class HLC_Rifle_g3ka4_GL: hlc_rifle_g3ka4 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.31496; }; class hlc_rifle_hk51: hlc_rifle_g3sg1 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.211074; }; class hlc_rifle_hk53: hlc_rifle_g3sg1 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.211074; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_m14/CfgWeapons.hpp b/optionals/compat_hlcmods_m14/CfgWeapons.hpp index 8082678f9f..e2f081c547 100644 --- a/optionals/compat_hlcmods_m14/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m14/CfgWeapons.hpp @@ -5,12 +5,12 @@ class CfgWeapons class hlc_rifle_M14; class hlc_M14_base: Rifle_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class hlc_rifle_m14sopmod: hlc_rifle_M14 { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4572; }; }; diff --git a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp index ea93b263c5..682e2cd5fa 100644 --- a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp @@ -4,12 +4,12 @@ class CfgWeapons class hlc_M60e4_base; class hlc_lmg_M60E4: hlc_M60e4_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.4318; }; class hlc_lmg_m60: hlc_M60e4_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; }; diff --git a/optionals/compat_rh_de/CfgWeapons.hpp b/optionals/compat_rh_de/CfgWeapons.hpp index 17f3bd2191..bfb45732e5 100644 --- a/optionals/compat_rh_de/CfgWeapons.hpp +++ b/optionals/compat_rh_de/CfgWeapons.hpp @@ -4,137 +4,137 @@ class CfgWeapons class RH_Pistol_Base_F; class RH_deagle: RH_Pistol_Base_F { - ACE_barrelTwist=0.4826; + ACE_barrelTwist=482.6; ACE_barrelLength=0.1524; }; class RH_mateba: Pistol_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.1524; }; class RH_mp412: Pistol_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.1524; }; class RH_python: Pistol_Base_F { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.1524; }; class RH_bull: RH_python { - ACE_barrelTwist=0.6096; + ACE_barrelTwist=609.6; ACE_barrelLength=0.1651; }; class RH_ttracker: Pistol_Base_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.1016; }; class RH_cz75: RH_Pistol_Base_F { - ACE_barrelTwist=0.24638; + ACE_barrelTwist=246.38; ACE_barrelLength=0.11938; }; class RH_p226: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.11176; }; class RH_sw659: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.188976; }; class RH_usp: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.112014; }; class RH_uspm: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1524; }; class RH_kimber: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class RH_m1911: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; class RH_tt33: RH_Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.11684; }; class RH_mak: RH_Pistol_Base_F { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.093472; }; class RH_mk2: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1016; }; class RH_m9: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.12446; }; class RH_g18: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.114046; }; class RH_g17: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.114046; }; class RH_g19: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.1016; }; class RH_gsh18: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.10414; }; class RH_fnp45: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class RH_fn57: RH_fnp45 { - ACE_barrelTwist=0.23114; + ACE_barrelTwist=231.14; ACE_barrelLength=0.12192; }; class RH_vp70: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.11684; }; class RH_vz61: RH_Pistol_Base_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.1143; }; class RH_tec9: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.127; }; class RH_muzi: RH_Pistol_Base_F { - ACE_barrelTwist=0.24892; + ACE_barrelTwist=248.92; ACE_barrelLength=0.127; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_m4/CfgWeapons.hpp b/optionals/compat_rh_m4/CfgWeapons.hpp index 6b703ed2b4..0cebd83fa6 100644 --- a/optionals/compat_rh_m4/CfgWeapons.hpp +++ b/optionals/compat_rh_m4/CfgWeapons.hpp @@ -4,127 +4,127 @@ class CfgWeapons class Rifle_Base_F; class RH_ar10: Rifle_Base_F { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.52832; }; class RH_m110: Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.508; }; class RH_Mk11: RH_m110 { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class RH_SR25EC: RH_m110 { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.508; }; class RH_m4: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class RH_M4_ris: RH_m4 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class RH_M4A1_ris: RH_M4_ris { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class RH_M4m: RH_M4A1_ris { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2667; }; class RH_M4sbr: RH_M4A1_ris { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2667; }; class RH_hb: Rifle_Base_F { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.1524; }; class RH_hb_b: RH_hb { - ACE_barrelTwist=0.2032; + ACE_barrelTwist=203.2; ACE_barrelLength=0.1524; }; class RH_sbr9: Rifle_Base_F { - ACE_barrelTwist=0.24638; + ACE_barrelTwist=246.38; ACE_barrelLength=0.2286; }; class RH_M4A6: RH_M4A1_ris { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.3683; }; class RH_M16a1: RH_m4 { - ACE_barrelTwist=0.3556; + ACE_barrelTwist=355.6; ACE_barrelLength=0.508; }; class RH_M16A2: RH_m4 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A4 : RH_M4_ris { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A3: RH_M16A4 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A4_m: RH_M16A4 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_M16A6: RH_M16A4 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class RH_Mk12mod1: RH_M16A4 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4572; }; class RH_SAMR: RH_Mk12mod1 { - ACE_barrelTwist=0.19558; + ACE_barrelTwist=195.58; ACE_barrelLength=0.508; }; class RH_Hk416: RH_M4A1_ris { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class RH_Hk416s: RH_M4sbr { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26416; }; class RH_Hk416c: RH_M4sbr { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.2286; }; class RH_M27IAR: RH_Mk12mod1 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.4191; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_pdw/CfgWeapons.hpp b/optionals/compat_rh_pdw/CfgWeapons.hpp index c9921f3ace..7f86318c55 100644 --- a/optionals/compat_rh_pdw/CfgWeapons.hpp +++ b/optionals/compat_rh_pdw/CfgWeapons.hpp @@ -4,7 +4,7 @@ class CfgWeapons class Rifle_Base_F; class RH_PDW: Rifle_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.254; }; }; diff --git a/optionals/compat_rhs_afrf3/CfgWeapons.hpp b/optionals/compat_rhs_afrf3/CfgWeapons.hpp index a6c9416f1e..d557111b6f 100644 --- a/optionals/compat_rhs_afrf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_afrf3/CfgWeapons.hpp @@ -4,57 +4,57 @@ class CfgWeapons class hgun_Rook40_F; class rhs_weap_pya: hgun_Rook40_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.11176; }; class Pistol_Base_F; class rhs_weap_makarov_pmm: rhs_weap_pya { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.093472; }; class rhs_weap_ak74m_Base_F; class rhs_weap_ak74m: rhs_weap_ak74m_Base_F { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class rhs_weap_akm: rhs_weap_ak74m { - ACE_barrelTwist=0.199898; + ACE_barrelTwist=199.898; ACE_barrelLength=0.41402; }; class rhs_weap_aks74; class rhs_weap_aks74u: rhs_weap_aks74 { - ACE_barrelTwist=0.16002; + ACE_barrelTwist=160.02; ACE_barrelLength=0.21082; }; class rhs_weap_svd: rhs_weap_ak74m { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.61976; }; class rhs_weap_svdp; class rhs_weap_svds: rhs_weap_svdp { - ACE_barrelTwist=0.23876; + ACE_barrelTwist=238.76; ACE_barrelLength=0.56388; }; class rhs_pkp_base; class rhs_weap_pkp: rhs_pkp_base { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.65786; }; class rhs_weap_pkm: rhs_weap_pkp { - ACE_barrelTwist=0.24003; + ACE_barrelTwist=240.03; ACE_barrelLength=0.64516; }; class rhs_weap_rpk74m: rhs_weap_pkp { - ACE_barrelTwist=0.195072; + ACE_barrelTwist=195.072; ACE_barrelLength=0.58928; }; diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index e531676a24..36968ce6c7 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -6,51 +6,51 @@ class CfgWeapons class srifle_EBR_F; class rhs_weap_XM2010_Base_F: Rifle_Base_F { - ACE_barrelTwist=0.254; + ACE_barrelTwist=254.0; ACE_barrelLength=0.6096; }; class arifle_MX_Base_F; class rhs_weap_m4_Base: arifle_MX_Base_F { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.3683; }; class rhs_weap_m4a1; class rhs_weap_mk18: rhs_weap_m4a1 { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.26162; }; class rhs_weap_m16a4: rhs_weap_m4_Base { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.508; }; class rhs_M249_base; class rhs_weap_m249_pip: rhs_M249_base { - ACE_barrelTwist=0.1778; + ACE_barrelTwist=177.8; ACE_barrelLength=0.41402; }; class weap_m240_base; class rhs_weap_m240B: weap_m240_base { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.62992; }; class rhs_weap_m14ebrri: srifle_EBR_F { - ACE_barrelTwist=0.3048; + ACE_barrelTwist=304.8; ACE_barrelLength=0.5588; }; class rhs_weap_sr25: rhs_weap_m14ebrri { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.6096; }; class rhs_weap_sr25_ec: rhs_weap_sr25 { - ACE_barrelTwist=0.28575; + ACE_barrelTwist=285.75; ACE_barrelLength=0.508; }; class rhs_weap_M590_5RD: Rifle_Base_F @@ -68,7 +68,7 @@ class CfgWeapons class hgun_ACPC2_F; class rhsusf_weap_m1911a1: hgun_ACPC2_F { - ACE_barrelTwist=0.4064; + ACE_barrelTwist=406.4; ACE_barrelLength=0.127; }; From 5e33176b5203d181ebe8847db55dc9b5f1821ba9 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 12:47:45 +0200 Subject: [PATCH 361/478] Convert ACE_barrelLength(s) to millimeters --- addons/ballistics/CfgAmmo.hpp | 92 +-- addons/ballistics/CfgWeapons.hpp | 82 +- extras/CfgAmmoReference.hpp | 412 +++++----- extras/CfgWeaponsReference.hpp | 738 +++++++++--------- optionals/compat_cup/CfgAmmo.hpp | 64 +- optionals/compat_hlc_ar15/CfgWeapons.hpp | 24 +- optionals/compat_hlc_wp_mp5/CfgWeapons.hpp | 22 +- optionals/compat_hlcmods_ak/CfgWeapons.hpp | 20 +- optionals/compat_hlcmods_aug/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_core/CfgAmmo.hpp | 46 +- optionals/compat_hlcmods_fal/CfgWeapons.hpp | 18 +- optionals/compat_hlcmods_g3/CfgWeapons.hpp | 16 +- optionals/compat_hlcmods_m14/CfgWeapons.hpp | 4 +- optionals/compat_hlcmods_m60e4/CfgWeapons.hpp | 4 +- optionals/compat_rh_de/CfgAmmo.hpp | 24 +- optionals/compat_rh_de/CfgWeapons.hpp | 54 +- optionals/compat_rh_m4/CfgAmmo.hpp | 30 +- optionals/compat_rh_m4/CfgWeapons.hpp | 50 +- optionals/compat_rh_pdw/CfgAmmo.hpp | 2 +- optionals/compat_rh_pdw/CfgWeapons.hpp | 2 +- optionals/compat_rhs_afrf3/CfgAmmo.hpp | 18 +- optionals/compat_rhs_afrf3/CfgWeapons.hpp | 20 +- optionals/compat_rhs_usf3/CfgAmmo.hpp | 14 +- optionals/compat_rhs_usf3/CfgWeapons.hpp | 24 +- 24 files changed, 899 insertions(+), 899 deletions(-) diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index f4e954017a..59fa7cf621 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -34,7 +34,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class ACE_556x45_Ball_Mk262 : B_556x45_Ball { airFriction=-0.001125; @@ -51,7 +51,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class ACE_556x45_Ball_Mk318 : B_556x45_Ball { airFriction=-0.001120; @@ -68,7 +68,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class ACE_556x45_Ball_M995_AP : B_556x45_Ball { airFriction=-0.001120; @@ -85,7 +85,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={950, 1030, 1040}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class B_556x45_Ball_Tracer_Red; class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red { @@ -106,7 +106,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_556x45_Ball_Tracer_Green; class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Green { @@ -126,7 +126,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_65x39_Caseless : BulletBase { airFriction=-0.000785; @@ -140,7 +140,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 788, 800, 810, 830}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604, 0.762}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4, 762.0}; }; class B_65x39_Case_yellow; class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { @@ -163,7 +163,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 790, 820, 830}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class ACE_65_Creedmor_Ball: B_65x39_Caseless { airFriction=-0.000651; @@ -178,7 +178,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 820, 840, 852, 860}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class B_762x51_Ball : BulletBase { airFriction=-0.001035; @@ -195,7 +195,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class B_762x51_Tracer_Yellow; class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow { @@ -215,7 +215,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x51_Ball_Mk316_Mod_0 : B_762x51_Ball { airFriction=-0.0008525; @@ -231,7 +231,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={775, 790, 805, 810}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball { airFriction=-0.00103; @@ -247,7 +247,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 910}; - ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; + ACE_barrelLengths[]={330.2, 406.4, 508.0}; }; class ACE_762x51_Ball_M993_AP : B_762x51_Ball { airFriction=-0.00103; @@ -263,7 +263,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={875, 910, 930}; - ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; + ACE_barrelLengths[]={330.2, 406.4, 508.0}; }; class ACE_762x51_Ball_Subsonic : B_762x51_Ball { airFriction=-0.000535; @@ -279,7 +279,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_30_06_M1_Ball : B_762x51_Ball { airFriction=-0.0009; @@ -295,7 +295,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 785, 800, 830, 840}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class ACE_7_Remington_Magnum_Ball : B_762x51_Ball { airFriction=-0.0008; @@ -311,7 +311,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={720, 780, 812, 822, 830}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class ACE_243_Winchester_Ball : B_762x51_Ball { airFriction=-0.00095; @@ -327,7 +327,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={830, 875, 900, 915, 920}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { airFriction=-0.000830; @@ -343,7 +343,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={865, 900, 924}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { airFriction=-0.000815; @@ -359,7 +359,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { airFriction=-0.00076; @@ -375,7 +375,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 853, 884}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; @@ -389,7 +389,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x54_Ball_7N14 : B_762x51_Ball { airFriction=-0.001023; @@ -405,7 +405,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class B_762x54_Tracer_Green; class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green { @@ -424,7 +424,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x35_Ball : B_762x51_Ball { airFriction=-0.000821; @@ -440,7 +440,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={620, 655, 675}; - ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; + ACE_barrelLengths[]={228.6, 406.4, 508.0}; }; class ACE_762x39_Ball : B_762x51_Ball { airFriction=-0.0015168; @@ -456,7 +456,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class ACE_762x39_Ball_57N231P : B_762x54_Tracer_Green { airFriction=-0.0015168; @@ -474,7 +474,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_9x21_Ball : BulletBase { airFriction=-0.00125; @@ -489,7 +489,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={440, 460, 480}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class ACE_9x18_Ball_57N181S : B_9x21_Ball { hit=5; @@ -504,7 +504,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class ACE_9x19_Ball : B_9x21_Ball { airFriction=-0.001234; @@ -519,7 +519,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class ACE_10x25_Ball : B_9x21_Ball { airFriction=-0.00168; @@ -534,7 +534,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; + ACE_barrelLengths[]={101.6, 117.094, 228.6}; }; class ACE_765x17_Ball: B_9x21_Ball { airFriction=-0.001213; @@ -549,7 +549,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class ACE_303_Ball : ACE_762x51_Ball_M118LR { airFriction=-0.00083; @@ -564,7 +564,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_93x64_Ball : BulletBase { airFriction=-0.00106; @@ -578,7 +578,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={850, 870, 880}; - ACE_barrelLengths[]={0.508, 0.620014, 0.6604}; + ACE_barrelLengths[]={508.0, 620.014, 660.4}; }; class B_408_Ball : BulletBase { timeToLive=10; @@ -594,7 +594,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={910}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; @@ -607,7 +607,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={960}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class B_338_Ball : BulletBase { timeToLive=10; @@ -622,7 +622,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; + ACE_barrelLengths[]={508.0, 660.4, 711.2}; }; class B_338_NM_Ball : BulletBase { airFriction=-0.000537; @@ -636,7 +636,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={790, 807, 820}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class ACE_338_Ball : B_338_Ball { timeToLive=10; @@ -651,7 +651,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 820, 826, 830}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6731, 0.7112}; + ACE_barrelLengths[]={508.0, 609.6, 673.1, 711.2}; }; class ACE_338_Ball_API526 : B_338_Ball { timeToLive=10; @@ -667,7 +667,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; + ACE_barrelLengths[]={508.0, 660.4, 711.2}; }; class B_127x54_Ball : BulletBase { airFriction=-0.00014; @@ -681,7 +681,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={300}; - ACE_barrelLengths[]={0.43688}; + ACE_barrelLengths[]={436.88}; }; class B_127x99_Ball : BulletBase { timeToLive=10; @@ -696,7 +696,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={900}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class ACE_127x99_API : BulletBase { timeToLive=10; @@ -713,7 +713,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={900}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class ACE_127x99_Ball_AMAX : B_127x99_Ball { timeToLive=10; @@ -729,7 +729,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={860}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class B_127x108_Ball : BulletBase { timeToLive=10; @@ -744,7 +744,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; @@ -758,6 +758,6 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; }; diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 7394cda002..34c18a90dd 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -66,7 +66,7 @@ class CfgWeapons { }; initSpeed = -1.0; ACE_barrelTwist=228.6; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { // Shit is broken again @@ -93,7 +93,7 @@ class CfgWeapons { }; initSpeed = -1.018; ACE_barrelTwist=228.6; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; class Single: Single { dispersion = 0.00029; // radians. Equal to 1 MOA. // 6.5mm is easily capable of this in a half-tuned rifle. @@ -138,7 +138,7 @@ class CfgWeapons { }; }; ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; class manual: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. }; @@ -155,7 +155,7 @@ class CfgWeapons { }; }; ACE_barrelTwist=304.8; - ACE_barrelLength=0.45974; + ACE_barrelLength=459.74; class FullAuto: Mode_FullAuto { dispersion = 0.00175; // radians. Equal to 6 MOA. }; @@ -242,7 +242,7 @@ class CfgWeapons { class hgun_P07_F: Pistol_Base_F { initSpeed = -0.9778; ACE_barrelTwist=254.0; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; @@ -254,7 +254,7 @@ class CfgWeapons { class hgun_Rook40_F: Pistol_Base_F { initSpeed = -1.0; ACE_barrelTwist=254.0; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE"; @@ -266,7 +266,7 @@ class CfgWeapons { class hgun_ACPC2_F: Pistol_Base_F { initSpeed = -1.0; ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; @@ -277,7 +277,7 @@ class CfgWeapons { class hgun_Pistol_heavy_01_F: Pistol_Base_F { initSpeed = -0.96; ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { compatibleItems[] += {"ACE_muzzle_mzls_smg_01"}; @@ -288,7 +288,7 @@ class CfgWeapons { class hgun_Pistol_heavy_02_F: Pistol_Base_F { initSpeed = -0.92; ACE_barrelTwist=406.4; - ACE_barrelLength=0.0762; + ACE_barrelLength=76.2; /* class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot { @@ -301,7 +301,7 @@ class CfgWeapons { class hgun_PDW2000_F: pdw2000_base_F { initSpeed = -1.157; ACE_barrelTwist=228.6; - ACE_barrelLength=0.1778; + ACE_barrelLength=177.8; }; class arifle_Katiba_F: arifle_katiba_Base_F { magazines[] = { @@ -311,7 +311,7 @@ class CfgWeapons { }; initSpeed = -1.08; ACE_barrelTwist=203.2; - ACE_barrelLength=0.72898; + ACE_barrelLength=728.98; }; class arifle_Katiba_C_F: arifle_katiba_Base_F { magazines[] = { @@ -321,7 +321,7 @@ class CfgWeapons { }; initSpeed = -1.07; ACE_barrelTwist=203.2; - ACE_barrelLength=0.68072; + ACE_barrelLength=680.72; }; class arifle_Katiba_GL_F: arifle_katiba_Base_F { magazines[] = { @@ -331,7 +331,7 @@ class CfgWeapons { }; initSpeed = -1.08; ACE_barrelTwist=203.2; - ACE_barrelLength=0.72898; + ACE_barrelLength=728.98; }; class arifle_MX_F: arifle_MX_Base_F { magazines[] = { @@ -341,7 +341,7 @@ class CfgWeapons { }; initSpeed = -0.99; ACE_barrelTwist=228.6; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class arifle_MX_GL_F: arifle_MX_Base_F { magazines[] = { @@ -351,12 +351,12 @@ class CfgWeapons { }; initSpeed = -0.99; ACE_barrelTwist=228.6; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; /* class arifle_MX_SW_F: arifle_MX_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; */ class arifle_MXC_F: arifle_MX_Base_F { @@ -367,12 +367,12 @@ class CfgWeapons { }; initSpeed = -0.965; ACE_barrelTwist=203.2; - ACE_barrelLength=0.2667; + ACE_barrelLength=266.7; }; /* class arifle_MXM_F: arifle_MX_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; */ class arifle_SDAR_F: SDAR_base_F { @@ -389,12 +389,12 @@ class CfgWeapons { }; initSpeed = -0.989; ACE_barrelTwist=285.75; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class SMG_02_F: SMG_02_base_F { initSpeed = -1.054; ACE_barrelTwist=254.0; - ACE_barrelLength=0.19558; + ACE_barrelLength=195.58; }; class arifle_TRG20_F: Tavor_base_F { magazines[] = { @@ -409,7 +409,7 @@ class CfgWeapons { }; initSpeed = -0.95; ACE_barrelTwist=177.8; - ACE_barrelLength=0.381; + ACE_barrelLength=381.0; }; class arifle_TRG21_F: Tavor_base_F { magazines[] = { @@ -424,7 +424,7 @@ class CfgWeapons { }; initSpeed = -0.989; ACE_barrelTwist=177.8; - ACE_barrelLength=0.45974; + ACE_barrelLength=459.74; }; class arifle_TRG21_GL_F: arifle_TRG21_F { magazines[] = { @@ -439,12 +439,12 @@ class CfgWeapons { }; initSpeed = -0.989; ACE_barrelTwist=177.8; - ACE_barrelLength=0.45974; + ACE_barrelLength=459.74; }; /* class LMG_Zafir_F: Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.45974; + ACE_barrelLength=459.74; }; */ class arifle_Mk20_F: mk20_base_F { @@ -460,7 +460,7 @@ class CfgWeapons { }; initSpeed = -0.98; ACE_barrelTwist=177.8; - ACE_barrelLength=0.44196; + ACE_barrelLength=441.96; }; class arifle_Mk20C_F: mk20_base_F { magazines[] = { @@ -475,7 +475,7 @@ class CfgWeapons { }; initSpeed = -0.956; ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class arifle_Mk20_GL_F: mk20_base_F { magazines[] = { @@ -490,12 +490,12 @@ class CfgWeapons { }; initSpeed = -0.956; ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class SMG_01_F: SMG_01_Base { initSpeed = -1.016; ACE_barrelTwist=406.4; - ACE_barrelLength=0.1397; + ACE_barrelLength=139.7; }; class srifle_DMR_01_F: DMR_01_base_F { magazines[] = { @@ -504,7 +504,7 @@ class CfgWeapons { }; initSpeed = -1.025; ACE_barrelTwist=241.3; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class srifle_EBR_F: EBR_base_F { magazines[] = { @@ -519,19 +519,19 @@ class CfgWeapons { }; initSpeed = -0.9724; ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; /* class LMG_Mk200_F: Rifle_Long_Base_F { initSpeed = -1.0; ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; */ class srifle_LRR_F: LRR_base_F { initSpeed = -1.0; ACE_barrelTwist=330.2; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class srifle_GM6_F: GM6_base_F { magazines[] = { @@ -543,7 +543,7 @@ class CfgWeapons { }; initSpeed = -1.0; ACE_barrelTwist=381.0; - ACE_barrelLength=0.92964; + ACE_barrelLength=929.64; }; class srifle_DMR_02_F: DMR_02_base_F { magazines[] = { @@ -556,7 +556,7 @@ class CfgWeapons { }; initSpeed = -0.962; ACE_barrelTwist=254.0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class srifle_DMR_03_F: DMR_03_base_F { magazines[] = { @@ -571,17 +571,17 @@ class CfgWeapons { }; initSpeed = -0.9843; ACE_barrelTwist=254.0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class srifle_DMR_04_F: DMR_04_base_F { initSpeed = -1.0; ACE_barrelTwist=203.2; - ACE_barrelLength=0.450088; + ACE_barrelLength=450.088; }; class srifle_DMR_05_blk_F: DMR_05_base_F { initSpeed = -1.0; ACE_barrelTwist=359.918; - ACE_barrelLength=0.620014; + ACE_barrelLength=620.014; }; class srifle_DMR_06_camo_F: DMR_06_base_F { magazines[] = { @@ -596,17 +596,17 @@ class CfgWeapons { }; initSpeed = -0.9916; ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class MMG_01_hex_F: MMG_01_base_F { initSpeed = -1.0; ACE_barrelTwist=359.918; - ACE_barrelLength=0.54991; + ACE_barrelLength=549.91; }; class MMG_02_camo_F: MMG_02_base_F { initSpeed = -1.0; ACE_barrelTwist=234.95; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class HMG_127 : LMG_RCWS { @@ -616,7 +616,7 @@ class CfgWeapons { class HMG_M2: HMG_01 { initSpeed = -1.0; ACE_barrelTwist=304.8; - ACE_barrelLength=1.143; + ACE_barrelLength=1143.0; }; /* Silencers */ diff --git a/extras/CfgAmmoReference.hpp b/extras/CfgAmmoReference.hpp index 3072d1d196..5c0ef9e3f2 100644 --- a/extras/CfgAmmoReference.hpp +++ b/extras/CfgAmmoReference.hpp @@ -14,7 +14,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class ACE_556x45_Ball_Mk262 : B_556x45_Ball { airFriction=-0.001125; @@ -31,7 +31,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class ACE_556x45_Ball_Mk318 : B_556x45_Ball { airFriction=-0.001120; @@ -48,7 +48,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class B_556x45_Ball_Tracer_Red; class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red { @@ -69,7 +69,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_556x45_Ball_Tracer_Yellow; class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Yellow { @@ -87,7 +87,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_65x39_Caseless : BulletBase { airFriction=-0.000785; @@ -101,7 +101,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 788, 800, 810, 830}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604, 0.762}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4, 762.0}; }; class B_65x39_Case_yellow; class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { @@ -124,7 +124,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={730, 760, 790, 820, 830}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class B_762x51_Ball : BulletBase { airFriction=-0.001035; @@ -139,7 +139,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class B_762x51_Tracer_Yellow; class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow { @@ -159,7 +159,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x51_Ball_Mk319_Mod_0 : B_762x51_Ball { airFriction=-0.00103; @@ -175,7 +175,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 910}; - ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; + ACE_barrelLengths[]={330.2, 406.4, 508.0}; }; class ACE_762x51_Ball_Subsonic : B_762x51_Ball { airFriction=-0.000535; @@ -191,7 +191,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { airFriction=-0.000830; @@ -207,7 +207,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={865, 900, 924}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { airFriction=-0.000815; @@ -223,7 +223,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { airFriction=-0.00076; @@ -239,7 +239,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 853, 884}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_762x54_Ball: B_762x51_Ball { airFriction=-0.001023; @@ -253,7 +253,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x54_Ball_7N14 : B_762x51_Ball { airFriction=-0.001023; @@ -269,7 +269,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class B_762x54_Tracer_Green; class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green { @@ -286,7 +286,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class ACE_762x35_Ball : B_762x51_Ball { airFriction=-0.000821; @@ -302,7 +302,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={620, 655, 675}; - ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; + ACE_barrelLengths[]={228.6, 406.4, 508.0}; }; class ACE_762x39_Ball : B_762x51_Ball { airFriction=-0.0015168; @@ -317,7 +317,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class ACE_762x39_Ball_57N231P : B_762x51_Tracer_Yellow { airFriction=-0.0015168; @@ -332,7 +332,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_9x21_Ball : BulletBase { airFriction=-0.00125; @@ -347,7 +347,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={440, 460, 480}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class ACE_9x18_Ball_57N181S : B_9x21_Ball { hit=5; @@ -362,7 +362,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class ACE_9x19_Ball : B_9x21_Ball { airFriction=-0.001234; @@ -377,7 +377,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class ACE_10x25_Ball : B_9x21_Ball { airFriction=-0.00168; @@ -392,7 +392,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; + ACE_barrelLengths[]={101.6, 117.094, 228.6}; }; class ACE_765x17_Ball: B_9x21_Ball { airFriction=-0.001213; @@ -407,7 +407,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class ACE_303_Ball : ACE_762x51_Ball_M118LR { airFriction=-0.00083; @@ -421,7 +421,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_93x64_Ball : BulletBase { airFriction=-0.00106; @@ -436,7 +436,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={850, 870, 880}; - ACE_barrelLengths[]={0.508, 0.620014, 0.6604}; + ACE_barrelLengths[]={508.0, 620.014, 660.4}; }; class B_408_Ball : BulletBase { timeToLive=10; @@ -452,7 +452,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={910}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class ACE_106x83mm_Ball : B_408_Ball { timeToLive=10; @@ -465,7 +465,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={960}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class B_338_Ball : BulletBase { timeToLive=10; @@ -480,7 +480,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; + ACE_barrelLengths[]={508.0, 660.4, 711.2}; }; class B_338_NM_Ball : BulletBase { airFriction=-0.000537; @@ -494,7 +494,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={790, 807, 820}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class ACE_338_Ball : B_338_Ball { timeToLive=10; @@ -510,7 +510,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 820, 826, 830}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6731, 0.7112}; + ACE_barrelLengths[]={508.0, 609.6, 673.1, 711.2}; }; class ACE_338_Ball_API526 : B_338_Ball { timeToLive=10; @@ -526,7 +526,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={880, 915, 925}; - ACE_barrelLengths[]={0.508, 0.6604, 0.7112}; + ACE_barrelLengths[]={508.0, 660.4, 711.2}; }; class B_127x54_Ball : BulletBase { airFriction=-0.00014; @@ -540,7 +540,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={300}; - ACE_barrelLengths[]={0.43688}; + ACE_barrelLengths[]={436.88}; }; class B_127x99_Ball : BulletBase { timeToLive=10; @@ -555,7 +555,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class ACE_127x99_Ball_AMAX : B_127x99_Ball { timeToLive=10; @@ -570,7 +570,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={860}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class B_127x108_Ball : BulletBase { timeToLive=10; @@ -585,7 +585,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class B_45ACP_Ball : BulletBase { airFriction=-0.0007182; @@ -599,7 +599,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class TMR_B_762x51_M118LR : B_762x51_Ball @@ -613,7 +613,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class RH_50_AE_Ball: BulletBase @@ -627,7 +627,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 398, 420}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_454_Casull: BulletBase { @@ -640,7 +640,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={450, 490, 500}; - ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; + ACE_barrelLengths[]={101.6, 190.5, 228.6}; }; class RH_32ACP: BulletBase { @@ -653,7 +653,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_45ACP: BulletBase { @@ -666,7 +666,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_B_40SW: BulletBase { @@ -679,7 +679,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_44mag_ball: BulletBase { @@ -692,7 +692,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 390, 420}; - ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; + ACE_barrelLengths[]={101.6, 190.5, 228.6}; }; class RH_357mag_ball: BulletBase { @@ -705,7 +705,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={490, 510, 535}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_762x25: BulletBase { @@ -718,7 +718,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_9x18_Ball: BulletBase { @@ -731,7 +731,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class RH_B_9x19_Ball: BulletBase { @@ -744,7 +744,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_B_22LR_SD: BulletBase { @@ -757,7 +757,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={330, 340, 360}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_57x28mm: BulletBase { @@ -770,7 +770,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={550, 625, 720}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.26289}; + ACE_barrelLengths[]={101.6, 152.4, 262.89}; }; class RH_9x19_B_M822: BulletBase @@ -784,7 +784,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_9x19_B_HP: BulletBase { @@ -797,7 +797,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_9x19_B_HPSB: BulletBase { @@ -810,7 +810,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={295, 310, 330}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_B_6x35: BulletBase { @@ -823,7 +823,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={730, 750, 760}; - ACE_barrelLengths[]={0.2032, 0.254, 0.3048}; + ACE_barrelLengths[]={203.2, 254.0, 304.8}; }; class RH_556x45_B_M855A1 : B_556x45_Ball { @@ -836,7 +836,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class RH_556x45_B_Mk262 : B_556x45_Ball { @@ -849,7 +849,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class RH_556x45_B_Mk318 : B_556x45_Ball { @@ -862,7 +862,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class RH_68x43_B_FMJ: B_65x39_Caseless { @@ -875,7 +875,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={713, 785, 810, 850}; - ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; + ACE_barrelLengths[]={304.8, 406.4, 508.0, 609.6}; }; class RH_68x43_B_Match: B_65x39_Caseless { @@ -888,7 +888,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 732, 750, 780}; - ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; + ACE_barrelLengths[]={304.8, 406.4, 508.0, 609.6}; }; class RH_762x35_B_FMJ: B_65x39_Caseless { @@ -901,7 +901,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; + ACE_barrelLengths[]={152.4, 406.4, 508.0}; }; class RH_762x35_B_Match: B_65x39_Caseless { @@ -914,7 +914,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={590, 650, 665}; - ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; + ACE_barrelLengths[]={152.4, 406.4, 508.0}; }; class RH_762x35_B_MSB: B_65x39_Caseless { @@ -927,7 +927,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; + ACE_barrelLengths[]={228.6, 406.4, 508.0}; }; class RH_762x51_B_M80A1 : B_762x51_Ball { @@ -940,7 +940,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class RH_762x51_B_Mk316LR : B_762x51_Ball { @@ -953,7 +953,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class RH_762x51_B_Mk319 : B_762x51_Ball { @@ -966,7 +966,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 920}; - ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; + ACE_barrelLengths[]={330.2, 406.4, 508.0}; }; class RH_762x51_B_LFMJSB: B_762x51_Ball { @@ -979,7 +979,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_556NATO_SOST: BulletBase @@ -993,7 +993,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class HLC_556NATO_SPR: BulletBase { @@ -1006,7 +1006,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class HLC_556NATO_EPR: BulletBase { @@ -1019,7 +1019,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class HLC_300Blackout_Ball: BulletBase { @@ -1032,7 +1032,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; + ACE_barrelLengths[]={152.4, 406.4, 508.0}; }; class HLC_300Blackout_SMK: BulletBase { @@ -1045,7 +1045,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; + ACE_barrelLengths[]={228.6, 406.4, 508.0}; }; class HLC_762x51_BTSub: BulletBase { @@ -1058,7 +1058,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_762x54_ball: BulletBase { @@ -1071,7 +1071,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_762x54_tracer: BulletBase { @@ -1084,7 +1084,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_303Brit_B: BulletBase { @@ -1097,7 +1097,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class HLC_792x57_Ball: BulletBase { @@ -1110,7 +1110,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={785, 800, 815}; - ACE_barrelLengths[]={0.508, 0.599948, 0.6604}; + ACE_barrelLengths[]={508.0, 599.948, 660.4}; }; class FH_545x39_Ball: BulletBase { @@ -1123,14 +1123,14 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class FH_545x39_7u1: FH_545x39_Ball { ACE_bulletMass=5.184; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_muzzleVelocities[]={260, 303, 320}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class HLC_9x19_Ball: BulletBase { @@ -1143,7 +1143,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class HLC_9x19_GoldDot: HLC_9x19_Ball { @@ -1164,7 +1164,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; + ACE_barrelLengths[]={101.6, 117.094, 228.6}; }; class HLC_9x19_M882_SMG: HLC_9x19_Ball { @@ -1177,7 +1177,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class M_mas_545x39_Ball_7N6M : BulletBase @@ -1191,7 +1191,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class M_mas_545x39_Ball_7T3M : BulletBase { @@ -1204,7 +1204,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_mas_556x45_Ball_Mk262 : B_556x45_Ball { @@ -1217,7 +1217,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class B_mas_9x18_Ball_57N181S : BulletBase { @@ -1230,7 +1230,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class B_mas_9x21p_Ball: BulletBase { @@ -1243,7 +1243,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class B_mas_9x21_Ball: BulletBase { @@ -1256,7 +1256,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class B_mas_9x21d_Ball: BulletBase { @@ -1269,7 +1269,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={210, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class B_mas_765x17_Ball: BulletBase { @@ -1282,7 +1282,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class B_mas_762x39_Ball: BulletBase { @@ -1295,7 +1295,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_mas_762x39_Ball_T: BulletBase { @@ -1308,7 +1308,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_mas_762x51_Ball_M118LR : B_762x51_Ball { @@ -1321,7 +1321,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class B_mas_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball { @@ -1334,7 +1334,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={865, 900, 924}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_mas_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball { @@ -1347,7 +1347,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 867, 900}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_mas_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball { @@ -1360,7 +1360,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={800, 853, 884}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_mas_762x54_Ball : BulletBase { @@ -1373,7 +1373,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class B_mas_762x54_Ball_T : BulletBase { @@ -1386,7 +1386,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class BWA3_B_762x51_Ball_LR : BulletBase { @@ -1399,7 +1399,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class BWA3_B_762x51_Ball_SD : BulletBase { @@ -1412,7 +1412,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={300, 340}; - ACE_barrelLengths[]={0.4064, 0.6096}; + ACE_barrelLengths[]={406.4, 609.6}; }; class BWA3_B_46x30_Ball : BulletBase @@ -1426,7 +1426,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 720, 730, 740}; - ACE_barrelLengths[]={0.1016, 0.1778, 0.2286, 0.3048}; + ACE_barrelLengths[]={101.6, 177.8, 228.6, 304.8}; }; class Trixie_338_Ball : BulletBase @@ -1440,7 +1440,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 826, 830}; - ACE_barrelLengths[]={0.6096, 0.6731, 0.7112}; + ACE_barrelLengths[]={609.6, 673.1, 711.2}; }; class Trixie_303_Ball : BulletBase { @@ -1453,7 +1453,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class rhs_ammo_556x45_Mk318_Ball : BulletBase @@ -1467,7 +1467,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class rhs_ammo_556x45_Mk262_Ball : BulletBase { @@ -1480,7 +1480,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class rhsammo_762x51_Ball : BulletBase { @@ -1493,7 +1493,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class rhs_B_545x39_Ball : BulletBase { @@ -1506,7 +1506,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class rhs_B_545x39_Ball_Tracer_Green : BulletBase { @@ -1519,7 +1519,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class rhs_ammo_762x51_M118_Special_Ball : BulletBase { @@ -1532,7 +1532,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_B_762x54_Ball : BulletBase { @@ -1545,7 +1545,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_B_762x54_Ball_Tracer_Green : BulletBase { @@ -1558,7 +1558,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_B_762x39_Ball : BulletBase { @@ -1571,7 +1571,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class rhs_B_762x39_Tracer : BulletBase { @@ -1584,7 +1584,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class rhs_ammo_762x51_M80_Ball : BulletBase { @@ -1597,7 +1597,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class rhsusf_B_300winmag : BulletBase { @@ -1610,7 +1610,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class R3F_9x19_Ball: BulletBase @@ -1624,7 +1624,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class R3F_556x45_Ball: BulletBase { @@ -1637,7 +1637,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class R3F_762x51_Ball: BulletBase { @@ -1650,7 +1650,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class R3F_762x51_Ball2: BulletBase { @@ -1663,7 +1663,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class R3F_127x99_Ball: BulletBase { @@ -1676,7 +1676,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class R3F_127x99_Ball2: BulletBase { @@ -1689,7 +1689,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class CUP_B_545x39_Ball: BulletBase @@ -1703,7 +1703,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_Green: BulletBase { @@ -1716,7 +1716,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { @@ -1729,7 +1729,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { @@ -1742,7 +1742,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { @@ -1755,7 +1755,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_762x39_Ball: BulletBase { @@ -1768,7 +1768,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { @@ -1781,7 +1781,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_762x39mm_KLT: BulletBase { @@ -1794,7 +1794,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_9x18_Ball: BulletBase { @@ -1807,7 +1807,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { @@ -1820,7 +1820,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { @@ -1833,7 +1833,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { @@ -1846,7 +1846,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { @@ -1859,7 +1859,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x19_Ball: BulletBase { @@ -1872,7 +1872,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class CUP_B_762x51_noTracer: BulletBase { @@ -1885,7 +1885,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Red_Tracer_3RndBurst: BulletBase { @@ -1898,7 +1898,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_White_Tracer_3RndBurst: BulletBase { @@ -1911,7 +1911,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_303_Ball: BulletBase { @@ -1924,7 +1924,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { @@ -1937,7 +1937,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { @@ -1950,7 +1950,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { @@ -1963,7 +1963,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { @@ -1976,7 +1976,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { @@ -1989,7 +1989,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { @@ -2002,7 +2002,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_9x39_SP5: BulletBase { @@ -2015,7 +2015,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_762x51_Tracer_Green: BulletBase { @@ -2028,7 +2028,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Tracer_Red: BulletBase { @@ -2041,7 +2041,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Tracer_Yellow: BulletBase { @@ -2054,7 +2054,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Tracer_White: BulletBase { @@ -2067,7 +2067,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class B_127x107_Ball: BulletBase { @@ -2080,7 +2080,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class CUP_B_9x18_SD: BulletBase { @@ -2093,7 +2093,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 340}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_765x17_Ball: BulletBase { @@ -2106,7 +2106,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { @@ -2119,7 +2119,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1000}; - ACE_barrelLengths[]={1.3462}; + ACE_barrelLengths[]={1346.2}; }; class CUP_B_127x99_Ball_White_Tracer: BulletBase { @@ -2132,7 +2132,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class CUP_B_86x70_Ball_noTracer: BulletBase { @@ -2145,7 +2145,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 826, 830}; - ACE_barrelLengths[]={0.6096, 0.6731, 0.7112}; + ACE_barrelLengths[]={609.6, 673.1, 711.2}; }; class VTN_9x18_Ball_FMJ: B_9x21_Ball @@ -2159,7 +2159,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class VTN_9x18_Ball_SC: VTN_9x18_Ball_FMJ { @@ -2172,7 +2172,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class VTN_9x18_Ball_TRC: VTN_9x18_Ball_FMJ { @@ -2185,7 +2185,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class VTN_9x18_Ball_AP1: VTN_9x18_Ball_FMJ { @@ -2198,7 +2198,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class VTN_9x18_Ball_AP2: VTN_9x18_Ball_FMJ { @@ -2211,7 +2211,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class VTN_9x18_Ball_PRS: VTN_9x18_Ball_FMJ { @@ -2224,7 +2224,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class VTN_9x19_Ball_SC: VTN_9x18_Ball_FMJ { @@ -2237,7 +2237,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_9x19_Ball_TRC: VTN_9x19_Ball_SC { @@ -2250,7 +2250,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_9x19_Ball_AP: VTN_9x19_Ball_SC { @@ -2263,7 +2263,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_9x19_Ball_PRS: VTN_9x19_Ball_SC { @@ -2276,7 +2276,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_9x39_Ball_SC: B_9x21_Ball { @@ -2289,7 +2289,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_9x39_Ball_AP: VTN_9x39_Ball_SC { @@ -2302,7 +2302,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_545x39_Ball_SC: B_556x45_Ball { @@ -2315,7 +2315,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_545x39_Ball_TRC: VTN_545x39_Ball_SC { @@ -2328,7 +2328,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_545x39_Ball_AP: VTN_545x39_Ball_TRC { @@ -2341,7 +2341,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_545x39_Ball_AP2: VTN_545x39_Ball_AP { @@ -2354,7 +2354,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_545x39_Ball_SS: VTN_545x39_Ball_SC { @@ -2367,7 +2367,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x39_Ball_SC: B_762x51_Ball { @@ -2380,7 +2380,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x39_Ball_TRC: VTN_762x39_Ball_SC { @@ -2393,7 +2393,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x39_Ball_AP: VTN_762x39_Ball_TRC { @@ -2406,7 +2406,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x39_Ball_INC: VTN_762x39_Ball_AP { @@ -2419,7 +2419,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x39_Ball_API: VTN_762x39_Ball_INC { @@ -2432,7 +2432,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x39_Ball_SS: VTN_762x39_Ball_SC { @@ -2445,7 +2445,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_762x41_Ball_SS: B_762x51_Ball { @@ -2458,7 +2458,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={200, 210, 220}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2032}; + ACE_barrelLengths[]={101.6, 152.4, 203.2}; }; class VTN_762x54_Ball_SC: VTN_762x39_Ball_SC { @@ -2471,7 +2471,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class VTN_762x54_Ball_TRC: VTN_762x54_Ball_SC { @@ -2484,7 +2484,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class VTN_762x54_Ball_AP: VTN_762x54_Ball_TRC { @@ -2497,7 +2497,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class VTN_762x54_Ball_INC: VTN_762x54_Ball_AP { @@ -2510,7 +2510,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class VTN_762x54_Ball_API: VTN_762x54_Ball_INC { @@ -2523,7 +2523,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class VTN_145x114_Ball_APT: B_127x108_Ball { @@ -2536,7 +2536,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1000}; - ACE_barrelLengths[]={1.3462}; + ACE_barrelLengths[]={1346.2}; }; class VTN_6mm_BB: B_65x39_Caseless { @@ -2549,7 +2549,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={100}; - ACE_barrelLengths[]={0.381}; + ACE_barrelLengths[]={381.0}; }; class VTN_9x19_Ball_FMJ: B_9x21_Ball { @@ -2562,7 +2562,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_556x45_Ball_FMJ: B_556x45_Ball { @@ -2575,7 +2575,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class VTN_556x45_Ball_TRC: VTN_556x45_Ball_FMJ { @@ -2588,7 +2588,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class VTN_556x45_Ball_TRCN: VTN_556x45_Ball_TRC { @@ -2601,7 +2601,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class VTN_556x45_Ball_SC: VTN_556x45_Ball_FMJ { @@ -2614,7 +2614,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class VTN_556x45_Ball_AP: VTN_556x45_Ball_TRC { @@ -2627,7 +2627,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class VTN_556x45_Ball_INC: VTN_556x45_Ball_AP { @@ -2640,7 +2640,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class VTN_556x45_Ball_LR: VTN_556x45_Ball_FMJ { @@ -2653,7 +2653,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class VTN_556x45_Ball_SS: B_556x45_Ball { @@ -2666,7 +2666,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.254, 0.508, 0.6096}; + ACE_barrelLengths[]={254.0, 508.0, 609.6}; }; class VTN_762x51_Ball_SC: B_762x51_Ball { @@ -2679,7 +2679,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class VTN_762x51_Ball_TRC: VTN_762x51_Ball_SC { @@ -2692,7 +2692,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class VTN_762x51_Ball_TRCN: VTN_762x51_Ball_TRC { @@ -2705,7 +2705,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class VTN_762x51_Ball_AP: VTN_762x51_Ball_TRC { @@ -2718,7 +2718,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class VTN_762x51_Ball_LR: VTN_762x51_Ball_SC { @@ -2731,7 +2731,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class VTN_1143x23_Ball_FMJ: B_408_Ball { @@ -2744,7 +2744,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_1143x23_Ball_HP: VTN_1143x23_Ball_FMJ { @@ -2757,7 +2757,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_1143x23_Ball_JHP: VTN_1143x23_Ball_FMJ { @@ -2770,7 +2770,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class VTN_762x39_Ball_FMJ: B_762x51_Ball { @@ -2783,7 +2783,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class VTN_45_Pellet: B_762x51_Ball { @@ -2796,6 +2796,6 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={100, 138, 150}; - ACE_barrelLengths[]={0.127, 0.254, 0.4064}; + ACE_barrelLengths[]={127.0, 254.0, 406.4}; }; }; \ No newline at end of file diff --git a/extras/CfgWeaponsReference.hpp b/extras/CfgWeaponsReference.hpp index d46f8c7033..15df01e306 100644 --- a/extras/CfgWeaponsReference.hpp +++ b/extras/CfgWeaponsReference.hpp @@ -28,1867 +28,1867 @@ class CfgWeapons class hgun_P07_F : Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class hgun_Rook40_F : Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class hgun_Pistol_heavy_01_F : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class hgun_Pistol_heavy_02_F : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.0762; + ACE_barrelLength=76.2; }; class hgun_ACPC2_F : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class hgun_PDW2000_F : PDW2000_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.1778; + ACE_barrelLength=177.8; }; class arifle_Katiba_F : arifle_Katiba_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.72898; + ACE_barrelLength=728.98; }; class arifle_Katiba_C_F : arifle_Katiba_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.68072; + ACE_barrelLength=680.72; }; class arifle_Katiba_GL_F : arifle_Katiba_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.72898; + ACE_barrelLength=728.98; }; class arifle_MX_F: arifle_MX_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class arifle_MX_GL_F: arifle_MX_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class arifle_MX_SW_F: arifle_MX_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class arifle_MXC_F: arifle_MX_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.2667; + ACE_barrelLength=266.7; }; class arifle_MXM_F: arifle_MX_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class arifle_SDAR_F : SDAR_base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class SMG_02_F : SMG_02_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.19558; + ACE_barrelLength=195.58; }; class arifle_TRG20_F : Tavor_base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.381; + ACE_barrelLength=381.0; }; class arifle_TRG21_F : Tavor_base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.45974; + ACE_barrelLength=459.74; }; class LMG_Zafir_F : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.45974; + ACE_barrelLength=459.74; }; class arifle_Mk20_F : Mk20_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.44196; + ACE_barrelLength=441.96; }; class arifle_Mk20C_F : Mk20_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class arifle_Mk20_GL_F : Mk20_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class SMG_01_F : SMG_01_Base { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1397; + ACE_barrelLength=139.7; }; class srifle_DMR_01_F : DMR_01_base_F { ACE_barrelTwist=241.3; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class srifle_EBR_F : EBR_base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class LMG_Mk200_F : Rifle_Long_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class srifle_LRR_F : LRR_base_F { ACE_barrelTwist=330.2; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class srifle_GM6_F : GM6_base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=1.09982; + ACE_barrelLength=1099.82; }; class srifle_DMR_02_F: DMR_02_base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.6604; + ACE_barrelLength=660.4; }; class srifle_DMR_03_F: DMR_03_base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class srifle_DMR_04_F: DMR_04_base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.450088; + ACE_barrelLength=450.088; }; class srifle_DMR_05_blk_F: DMR_05_base_F { ACE_barrelTwist=359.918; - ACE_barrelLength=0.620014; + ACE_barrelLength=620.014; }; class srifle_DMR_06_camo_F: DMR_06_base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class MMG_01_hex_F: MMG_01_base_F { ACE_barrelTwist=359.918; - ACE_barrelLength=0.54991; + ACE_barrelLength=549.91; }; class MMG_02_camo_F: MMG_02_base_F { ACE_barrelTwist=234.95; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class HMG_M2 : HMG_127 { ACE_barrelTwist=304.8; - ACE_barrelLength=1.143; + ACE_barrelLength=1143.0; }; class RH_deagle : Pistol_Base_F { ACE_barrelTwist=482.6; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_sw659 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.188976; + ACE_barrelLength=188.976; }; class RH_usp : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.112014; + ACE_barrelLength=112.014; }; class RH_uspm : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_mak : Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.093472; + ACE_barrelLength=93.472; }; class RH_m1911 : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_kimber : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_m9 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.12446; + ACE_barrelLength=124.46; }; class RH_vz61 : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class RH_tec9 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_muzi : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_g18 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.114046; + ACE_barrelLength=114.046; }; class RH_g17 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.114046; + ACE_barrelLength=114.046; }; class RH_tt33 : Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.11684; + ACE_barrelLength=116.84; }; class RH_mk2 : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class RH_p226 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class RH_g19 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class RH_gsh18 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.10414; + ACE_barrelLength=104.14; }; class RH_mateba : Pistol_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_python : Pistol_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_bull : Pistol_Base_F { ACE_barrelTwist=609.6; - ACE_barrelLength=0.1651; + ACE_barrelLength=165.1; }; class RH_ttracker : Pistol_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class RH_mp412 : Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_fnp45 : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class RH_fn57 : Pistol_Base_F { ACE_barrelTwist=231.14; - ACE_barrelLength=0.12192; + ACE_barrelLength=121.92; }; class RH_vp70 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.11684; + ACE_barrelLength=116.84; }; class RH_cz75 : Pistol_Base_F { ACE_barrelTwist=246.38; - ACE_barrelLength=0.11938; + ACE_barrelLength=119.38; }; class RH_PDW : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.254; + ACE_barrelLength=254.0; }; class RH_hb : Rifle_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_sbr9 : Rifle_Base_F { ACE_barrelTwist=246.38; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class RH_ar10 : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.52832; + ACE_barrelLength=528.32; }; class RH_m4 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_M4m : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2667; + ACE_barrelLength=266.7; }; class RH_M4sbr : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2667; + ACE_barrelLength=266.7; }; class RH_M16a1 : Rifle_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A2 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A3 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A4 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A6 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_hk416 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_hk416c : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class RH_hk416s : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26416; + ACE_barrelLength=264.16; }; class RH_m27iar : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4191; + ACE_barrelLength=419.1; }; class RH_Mk12mod1 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class RH_SAMR : Rifle_Base_F { ACE_barrelTwist=195.58; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_m110 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_mk11 : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class RH_sr25ec : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class hlc_rifle_ak74 : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class hlc_rifle_aks74u : Rifle_Base_F { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class hlc_rifle_ak47 : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class hlc_rifle_akm : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class hlc_rifle_rpk : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class hlc_rifle_aek971 : Rifle_Base_F { ACE_barrelTwist=241.3; - ACE_barrelLength=0.4318; + ACE_barrelLength=431.8; }; class hlc_rifle_saiga12k : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.42926; + ACE_barrelLength=429.26; }; class hlc_ar15_base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2921; + ACE_barrelLength=292.1; }; class hlc_rifle_bcmjack : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class hlc_rifle_Bushmaster300 : Rifle_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class hlc_rifle_SAMR : Rifle_Base_F { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class hlc_rifle_honeybase : Rifle_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class hlc_rifle_SLRchopmod : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class hlc_rifle_LAR : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class hlc_rifle_c1A1 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.55118; + ACE_barrelLength=551.18; }; class hlc_rifle_FAL5061 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class hlc_rifle_STG58F : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class hlc_rifle_SLR : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.55118; + ACE_barrelLength=551.18; }; class hlc_rifle_falosw : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.3302; + ACE_barrelLength=330.2; }; class hlc_rifle_psg1 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.65024; + ACE_barrelLength=650.24; }; class hlc_rifle_g3sg1 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class hlc_rifle_hk51 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.211074; + ACE_barrelLength=211.074; }; class hlc_rifle_hk53 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.211074; + ACE_barrelLength=211.074; }; class hlc_rifle_g3a3 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class hlc_M14_base : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class hlc_rifle_m14sopmod : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class hlc_lmg_M60E4 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4318; + ACE_barrelLength=431.8; }; class hlc_lmg_m60 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class hlc_smg_mp5k_PDW : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class hlc_smg_mp5a2 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class hlc_smg_mp5a4 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class hlc_smg_mp5n : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class hlc_smg_mp5sd5 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.14478; + ACE_barrelLength=144.78; }; class hlc_smg_mp5sd6 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.14478; + ACE_barrelLength=144.78; }; class hlc_smg_9mmar : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class hlc_smg_mp510 : Rifle_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class hlc_smg_mp5a3 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class hgun_mas_usp_F: Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.112014; + ACE_barrelLength=112.014; }; class hgun_mas_m23_F: Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.149098; + ACE_barrelLength=149.098; }; class hgun_mas_acp_F: Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127762; + ACE_barrelLength=127.762; }; class hgun_mas_m9_F: Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.12446; + ACE_barrelLength=124.46; }; class hgun_mas_bhp_F: Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.11938; + ACE_barrelLength=119.38; }; class hgun_mas_glock_F: Pistol_Base_F { ACE_barrelTwist=249.936; - ACE_barrelLength=0.113792; + ACE_barrelLength=113.792; }; class hgun_mas_glocksf_F: Pistol_Base_F { ACE_barrelTwist=400.05; - ACE_barrelLength=0.11684; + ACE_barrelLength=116.84; }; class hgun_mas_grach_F: Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class hgun_mas_mak_F: Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.093472; + ACE_barrelLength=93.472; }; class hgun_mas_sa61_F: Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class hgun_mas_uzi_F: Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.134112; + ACE_barrelLength=134.112; }; class arifle_mas_mk16 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.35052; + ACE_barrelLength=350.52; }; class arifle_mas_mk16_l : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class arifle_mas_mk17 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class srifle_mas_m110 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class arifle_mas_ak_74m : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.415036; + ACE_barrelLength=415.036; }; class arifle_mas_ak_74m_gl : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.415036; + ACE_barrelLength=415.036; }; class srifle_mas_svd : Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class srifle_mas_m91 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class srifle_mas_ksvk : Rifle_Base_F { ACE_barrelTwist=457.2; - ACE_barrelLength=0.999998; + ACE_barrelLength=999.998; }; class LMG_mas_rpk_F : Rifle_Base_F { ACE_barrelTwist=195.072; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class LMG_mas_pkm_F : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.64516; + ACE_barrelLength=645.16; }; class arifle_mas_aks74u : Rifle_Base_F { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class arifle_mas_bizon : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.23114; + ACE_barrelLength=231.14; }; class arifle_mas_saiga : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.430022; + ACE_barrelLength=430.022; }; class arifle_mas_hk416 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class arifle_mas_hk416_gl : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class arifle_mas_hk416c : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class arifle_mas_hk416_m203c : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class arifle_mas_hk417c : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.3302; + ACE_barrelLength=330.2; }; class arifle_mas_m4 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class arifle_mas_m4c : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class arifle_mas_l119 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class arifle_mas_l119_gl : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class arifle_mas_l119_m203 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class arifle_mas_m16 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class arifle_mas_m16_gl : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class srifle_mas_hk417 : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.4191; + ACE_barrelLength=419.1; }; class srifle_mas_sr25 : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class srifle_mas_ebr : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class srifle_mas_m24 : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class arifle_mas_mp5 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class arifle_mas_mp5sd : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.14478; + ACE_barrelLength=144.78; }; class srifle_mas_m107 : Rifle_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class LMG_mas_M249_F : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class LMG_mas_M249a_F : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class LMG_mas_mk48_F : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.50165; + ACE_barrelLength=501.65; }; class LMG_mas_m240_F : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class LMG_mas_mg3_F : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.56388; + ACE_barrelLength=563.88; }; class arifle_mas_g3 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class arifle_mas_g3_m203 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class arifle_mas_fal : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class arifle_mas_fal_m203 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class arifle_mas_m1014 : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.4699; + ACE_barrelLength=469.9; }; class BWA3_P8 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.10795; + ACE_barrelLength=107.95; }; class BWA3_MP7 : Pistol_Base_F { ACE_barrelTwist=160.02; - ACE_barrelLength=0.18034; + ACE_barrelLength=180.34; }; class BWA3_G36 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.48006; + ACE_barrelLength=480.06; }; class BWA3_G36K : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class BWA3_G28_Standard : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4191; + ACE_barrelLength=419.1; }; class BWA3_G27 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class BWA3_MG4 : Rifle_Long_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.48006; + ACE_barrelLength=480.06; }; class BWA3_MG5 : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.54864; + ACE_barrelLength=548.64; }; class BWA3_G82 : Rifle_Long_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class Trixie_L131A1 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class Trixie_XM8_Carbine : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class Trixie_XM8_Compact : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class Trixie_XM8_SAW : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class Trixie_XM8_SAW_NB : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class Trixie_XM8_DMR : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class Trixie_XM8_DMR_NB : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class L129A1_base : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class Trixie_Enfield : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.64008; + ACE_barrelLength=640.08; }; class Trixie_CZ550_Rail : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.599999; + ACE_barrelLength=599.999; }; class Trixie_FNFAL_Rail : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class Trixie_M110 : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class Trixie_MK12 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class Trixie_LM308MWS : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class Trixie_M14DMR : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class Trixie_M14DMR_NG_Black_Short : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class Trixie_M14DMR_NG_Short : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class Trixie_M14 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class Trixie_M40A3 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class Trixie_CZ750 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.6604; + ACE_barrelLength=660.4; }; class Trixie_M24 : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class Trixie_AWM338 : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.6858; + ACE_barrelLength=685.8; }; class Trixie_M107 : Rifle_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class Trixie_AS50 : Rifle_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class L110A1_base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.34798; + ACE_barrelLength=347.98; }; class Trixie_L86A2_base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.64516; + ACE_barrelLength=645.16; }; class Trixie_l85a2_base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.51816; + ACE_barrelLength=518.16; }; class L7A2_base : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class rhs_weap_pya : Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class rhs_weap_pkp : Rifle_Long_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.65786; + ACE_barrelLength=657.86; }; class rhs_weap_pkm : Rifle_Long_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.64516; + ACE_barrelLength=645.16; }; class rhs_weap_rpk74m : Rifle_Long_Base_F { ACE_barrelTwist=195.072; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class rhs_weap_rpk74 : Rifle_Long_Base_F { ACE_barrelTwist=195.072; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class rhs_weap_ak74m : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class rhs_weap_aks74u : Rifle_Base_F { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class rhs_weap_akm : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class rhs_weap_svd : Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class rhs_weap_svds : Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.56388; + ACE_barrelLength=563.88; }; class rhs_weap_m4_Base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class rhs_weap_m16a4 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_weap_m16a4_carryhandle : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_weap_m16a4_grip : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_weap_m240B : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class rhs_weap_m249_pip : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class rhs_weap_mk18 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class rhs_weap_M590_5RD : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.4699; + ACE_barrelLength=469.9; }; class rhs_weap_M590_8RD : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_weap_sr25 : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class rhs_weap_sr25_ec : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_weap_XM2010_Base_F: Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class R3F_PAMAS : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.12446; + ACE_barrelLength=124.46; }; class R3F_Famas_F1: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.48768; + ACE_barrelLength=487.68; }; class R3F_Famas_surb: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.40386; + ACE_barrelLength=403.86; }; class R3F_Minimi: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.34798; + ACE_barrelLength=347.98; }; class R3F_Minimi_762: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.50292; + ACE_barrelLength=502.92; }; class R3F_FRF2: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.649986; + ACE_barrelLength=649.986; }; class R3F_PGM_Hecate_II: Rifle_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.70104; + ACE_barrelLength=701.04; }; class R3F_HK417S_HG : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.3048; + ACE_barrelLength=304.8; }; class R3F_HK417M : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class R3F_HK417L : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class R3F_M107 : Rifle_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class R3F_HK416M : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3556; + ACE_barrelLength=355.6; }; class R3F_MP5SD : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.14478; + ACE_barrelLength=144.78; }; class CUP_hgun_Colt1911 : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class CUP_sgun_AA12 : Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class CUP_arifle_AK_Base : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class CUP_arifle_AK107_Base : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class CUP_arifle_AKS_Base : Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class CUP_arifle_AKS74U : Rifle_Base_F { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class CUP_arifle_RPK74 : Rifle_Long_Base_F { ACE_barrelTwist=195.072; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class CUP_srifle_AS50 : Rifle_Long_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class CUP_srifle_AWM_Base : Rifle_Long_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.6858; + ACE_barrelLength=685.8; }; class CUP_smg_bizon : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.23114; + ACE_barrelLength=231.14; }; class CUP_hgun_Compact : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.094996; + ACE_barrelLength=94.996; }; class CUP_srifle_CZ750 : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.6604; + ACE_barrelLength=660.4; }; class CUP_arifle_CZ805_Base : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.3556; + ACE_barrelLength=355.6; }; class CUP_arifle_CZ805_A1 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.3556; + ACE_barrelLength=355.6; }; class CUP_arifle_CZ805_A2 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.27686; + ACE_barrelLength=276.86; }; class CUP_srifle_DMR : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class CUP_hgun_Duty : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.094996; + ACE_barrelLength=94.996; }; class CUP_arifle_FNFAL : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class CUP_arifle_G36A : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.48006; + ACE_barrelLength=480.06; }; class CUP_arifle_G36K : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class CUP_arifle_G36C : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class CUP_arifle_MG36 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.48006; + ACE_barrelLength=480.06; }; class CUP_hgun_Glock17 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.114046; + ACE_barrelLength=114.046; }; class CUP_srifle_CZ550 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.599999; + ACE_barrelLength=599.999; }; class CUP_srifle_ksvk : Rifle_Long_Base_F { ACE_barrelTwist=457.2; - ACE_barrelLength=0.999998; + ACE_barrelLength=999.998; }; class CUP_lmg_L7A2 : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class CUP_arifle_L85A2_Base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.51816; + ACE_barrelLength=518.16; }; class CUP_lmg_L110A1 : Rifle_Long_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.34798; + ACE_barrelLength=347.98; }; class CUP_srifle_LeeEnfield : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.64008; + ACE_barrelLength=640.08; }; class CUP_hgun_M9 : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.12446; + ACE_barrelLength=124.46; }; class CUP_srifle_M14 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class CUP_arifle_M16_Base : Rifle_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class CUP_arifle_M4_Base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class CUP_srifle_Mk12SPR : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class CUP_srifle_M24_des : Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class CUP_lmg_M60A4 : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4318; + ACE_barrelLength=431.8; }; class CUP_srifle_M107_Base : Rifle_Long_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.7366; + ACE_barrelLength=736.6; }; class CUP_srifle_M110 : Rifle_Base_F { ACE_barrelTwist=279.4; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class CUP_lmg_M240 : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class CUP_lmg_M249_para : Rifle_Long_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class CUP_lmg_M249 : Rifle_Long_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class CUP_sgun_M1014 : Rifle_Base_F { ACE_twistDirection=0; ACE_barrelTwist=0.0; - ACE_barrelLength=0.4699; + ACE_barrelLength=469.9; }; class CUP_hgun_Makarov : Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.093472; + ACE_barrelLength=93.472; }; class CUP_hgun_MicroUzi : Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class CUP_lmg_Mk48_Base : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.50165; + ACE_barrelLength=501.65; }; class CUP_smg_MP5SD6 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.14478; + ACE_barrelLength=144.78; }; class CUP_smg_MP5A5 : Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.22606; + ACE_barrelLength=226.06; }; class CUP_hgun_PB6P9 : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.10414; + ACE_barrelLength=104.14; }; class CUP_hgun_Phantom : Rifle_Base_F { ACE_barrelTwist=246.38; - ACE_barrelLength=0.11938; + ACE_barrelLength=119.38; }; class CUP_lmg_PKM : Rifle_Long_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.64516; + ACE_barrelLength=645.16; }; class CUP_lmg_Pecheneg : Rifle_Long_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.65786; + ACE_barrelLength=657.86; }; class CUP_hgun_TaurusTracker455 : Pistol_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class CUP_arifle_Sa58P : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.39116; + ACE_barrelLength=391.16; }; class CUP_arifle_Sa58V : Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.39116; + ACE_barrelLength=391.16; }; class CUP_hgun_SA61 : Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class CUP_sgun_Saiga12K: Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.42926; + ACE_barrelLength=429.26; } class CUP_arifle_Mk16_CQC : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.254; + ACE_barrelLength=254.0; }; class CUP_arifle_Mk16_STD : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3556; + ACE_barrelLength=355.6; }; class CUP_arifle_Mk16_SV : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class CUP_arifle_Mk17_CQC : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.3302; + ACE_barrelLength=330.2; }; class CUP_arifle_Mk17_STD : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class CUP_arifle_Mk20 : Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class CUP_srifle_SVD : Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class CUP_lmg_UK59 : Rifle_Long_Base_F { ACE_barrelTwist=381.0; - ACE_barrelLength=0.55118; + ACE_barrelLength=551.18; }; class CUP_DSHKM_W : MGun { ACE_barrelTwist=381.0; - ACE_barrelLength=1.06934; + ACE_barrelLength=1069.34; }; class CUP_KPVT_W : MGun { ACE_barrelTwist=454.914; - ACE_barrelLength=1.3462; + ACE_barrelLength=1346.2; }; class CUP_KPVB_W : MGun { ACE_barrelTwist=454.914; - ACE_barrelLength=1.3462; + ACE_barrelLength=1346.2; }; class CUP_M134 : MGunCore { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class CUP_M240_veh_W : Rifle_Long_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class CUP_PKT_W : MGun { ACE_barrelTwist=240.03; - ACE_barrelLength=0.722122; + ACE_barrelLength=722.122; }; class CUP_srifle_VSSVintorez : Rifle_Base_F { ACE_barrelTwist=210.82; - ACE_barrelLength=0.20066; + ACE_barrelLength=200.66; }; class CUP_arifle_XM8_Base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class CUP_arifle_XM8_Carbine : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class CUP_arifle_xm8_sharpshooter : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class CUP_arifle_xm8_SAW : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class CUP_arifle_XM8_Compact : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class CUP_arifle_XM8_Railed_Base : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class CUP_arifle_XM8_Carbine_FG : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3175; + ACE_barrelLength=317.5; }; class VTN_AK_BASE: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AK74M: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AK74M_GP25: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AK74M_GP30M: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AKS74: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AKS74N: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AKS74N_76: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AK74_76: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AKMS_aa: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class VTN_AKS74U_BASE: Rifle_Base_F { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class VTN_AKM_BASE: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AKMS: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AKMS_T_P: Rifle_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AK103_BASE: Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_AK104_BASE: Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.31496; + ACE_barrelLength=314.96; }; class VTN_AK105_BASE: Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.31496; + ACE_barrelLength=314.96; }; class VTN_AK105_P_BASE: Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.31496; + ACE_barrelLength=314.96; }; class VTN_SVD_BASE: Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class VTN_SVD_63: Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class VTN_SVD_86: Rifle_Base_F { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class VTN_SV98_BASE: Rifle_Base_F { ACE_barrelTwist=320.04; - ACE_barrelLength=0.649986; + ACE_barrelLength=649.986; }; class VTN_PKM_BAS: Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.64516; + ACE_barrelLength=645.16; }; class VTN_PKP: Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.65786; + ACE_barrelLength=657.86; }; class VTN_PYA: Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class VTN_PM: Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.093472; + ACE_barrelLength=93.472; }; class VTN_PB: Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.10414; + ACE_barrelLength=104.14; }; class VTN_GSH18: Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.10414; + ACE_barrelLength=104.14; }; class VTN_PSS: Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.03556; + ACE_barrelLength=35.56; }; class VTN_PKT: Rifle_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.722122; + ACE_barrelLength=722.122; }; class VTN_KORD: Rifle_Base_F { ACE_barrelTwist=454.914; - ACE_barrelLength=1.3462; + ACE_barrelLength=1346.2; }; class VTN_KPVT: Rifle_Base_F { ACE_barrelTwist=454.914; - ACE_barrelLength=1.3462; + ACE_barrelLength=1346.2; }; class VTN_C_M4A1 : Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class VTN_MK18MOD0: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class VTN_M16_BASE: Rifle_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class VTN_FN_SAMR_BASE: Rifle_Base_F { ACE_barrelTwist=195.58; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class VTN_M249_SAW_BASE: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class VTN_M249_PARA: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class VTN_M240G_BASE: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class VTN_M9: Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.12446; + ACE_barrelLength=124.46; }; class VTN_M45A1: Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class VTN_M24: Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class VTN_M240: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class VTN_KO44: Rifle_Base_F { ACE_barrelTwist=241.3; - ACE_barrelLength=0.51308; + ACE_barrelLength=513.08; }; class VTN_SAIGA_MK03: Rifle_Base_F { ACE_twistDirection=9.45; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; }; \ No newline at end of file diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp index e58561ec1f..58f61aedce 100644 --- a/optionals/compat_cup/CfgAmmo.hpp +++ b/optionals/compat_cup/CfgAmmo.hpp @@ -14,7 +14,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball { @@ -27,7 +27,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_Red: BulletBase { @@ -40,7 +40,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_White: BulletBase { @@ -53,7 +53,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase { @@ -66,7 +66,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_762x39_Ball: BulletBase { @@ -79,7 +79,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_762x39_Ball_Tracer_Green: BulletBase { @@ -92,7 +92,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_9x18_Ball: BulletBase { @@ -105,7 +105,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_Tracer_Green: BulletBase { @@ -118,7 +118,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_Tracer_Red: BulletBase { @@ -131,7 +131,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase { @@ -144,7 +144,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x18_Ball_White_Tracer: BulletBase { @@ -157,7 +157,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_9x19_Ball: BulletBase { @@ -170,7 +170,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class CUP_B_762x51_noTracer: B_762x51_Ball { @@ -183,7 +183,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_303_Ball: BulletBase { @@ -196,7 +196,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class CUP_B_127x107_Ball_Green_Tracer: BulletBase { @@ -209,7 +209,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class CUP_B_127x108_Ball_Green_Tracer: BulletBase { @@ -222,7 +222,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class CUP_B_762x54_Ball_White_Tracer: BulletBase { @@ -235,7 +235,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x54_Ball_Red_Tracer: BulletBase { @@ -248,7 +248,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x54_Ball_Green_Tracer: BulletBase { @@ -261,7 +261,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase { @@ -274,7 +274,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class CUP_B_9x39_SP5: BulletBase { @@ -287,7 +287,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={280, 300, 320}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class CUP_B_762x51_Tracer_Green: BulletBase { @@ -300,7 +300,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Tracer_Red: BulletBase { @@ -313,7 +313,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Tracer_Yellow: BulletBase { @@ -326,7 +326,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class CUP_B_762x51_Tracer_White: BulletBase { @@ -339,7 +339,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class B_127x107_Ball: BulletBase { @@ -352,7 +352,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={820}; - ACE_barrelLengths[]={0.72898}; + ACE_barrelLengths[]={728.98}; }; class CUP_B_9x18_SD: BulletBase { @@ -365,7 +365,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 340}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class CUP_B_765x17_Ball: BulletBase { @@ -378,7 +378,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class CUP_B_145x115_AP_Green_Tracer: BulletBase { @@ -391,7 +391,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1000}; - ACE_barrelLengths[]={1.3462}; + ACE_barrelLengths[]={1346.2}; }; class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball { @@ -404,7 +404,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={853}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class CUP_B_86x70_Ball_noTracer: BulletBase { @@ -417,6 +417,6 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={820, 826, 830}; - ACE_barrelLengths[]={0.6096, 0.6731, 0.7112}; + ACE_barrelLengths[]={609.6, 673.1, 711.2}; }; }; \ No newline at end of file diff --git a/optionals/compat_hlc_ar15/CfgWeapons.hpp b/optionals/compat_hlc_ar15/CfgWeapons.hpp index 4f3fb2328c..53928f25d4 100644 --- a/optionals/compat_hlc_ar15/CfgWeapons.hpp +++ b/optionals/compat_hlc_ar15/CfgWeapons.hpp @@ -5,61 +5,61 @@ class CfgWeapons class hlc_ar15_base: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2921; + ACE_barrelLength=292.1; }; class hlc_rifle_RU556: hlc_ar15_base { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class hlc_rifle_RU5562: hlc_rifle_RU556 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class hlc_rifle_CQBR: hlc_rifle_RU556 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.254; + ACE_barrelLength=254.0; }; class hlc_rifle_M4: hlc_rifle_RU556 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class hlc_rifle_bcmjack: hlc_ar15_base { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class hlc_rifle_Colt727: hlc_ar15_base { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class hlc_rifle_Colt727_GL: hlc_rifle_Colt727 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class hlc_rifle_Bushmaster300: hlc_rifle_Colt727 { ACE_barrelTwist=203.2; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class hlc_rifle_vendimus: hlc_rifle_Bushmaster300 { ACE_barrelTwist=203.2; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class hlc_rifle_SAMR: hlc_rifle_RU556 { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class hlc_rifle_honeybase: hlc_rifle_RU556 { ACE_barrelTwist=203.2; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; }; \ No newline at end of file diff --git a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp index 1c67a19815..b9cc94818e 100644 --- a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp +++ b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp @@ -5,56 +5,56 @@ class CfgWeapons class hlc_MP5_base: Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_mp5k_PDW: hlc_MP5_base { ACE_barrelTwist=254.0; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class hlc_smg_mp5k: hlc_smg_mp5k_PDW { ACE_barrelTwist=254.0; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class hlc_smg_mp5a2: hlc_MP5_base { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_MP5N: hlc_MP5_base { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_9mmar: hlc_smg_MP5N { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_mp5a4: hlc_MP5_base { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_mp510: hlc_smg_MP5N { ACE_barrelTwist=381.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_mp5sd5: hlc_MP5_base { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_mp5a3: hlc_smg_mp5a2 { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class hlc_smg_mp5sd6: hlc_smg_mp5sd5 { ACE_barrelTwist=254.0; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; }; diff --git a/optionals/compat_hlcmods_ak/CfgWeapons.hpp b/optionals/compat_hlcmods_ak/CfgWeapons.hpp index a69f1b192e..82e319ef7c 100644 --- a/optionals/compat_hlcmods_ak/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_ak/CfgWeapons.hpp @@ -7,52 +7,52 @@ class CfgWeapons class hlc_rifle_ak74: hlc_ak_base { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class hlc_rifle_aku12: hlc_rifle_ak12 { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class hlc_rifle_RPK12: hlc_rifle_ak12 { - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class hlc_rifle_aks74u: hlc_rifle_ak74 { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class hlc_rifle_ak47: hlc_rifle_ak74 { ACE_barrelTwist=240.03; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class hlc_rifle_akm: hlc_rifle_ak47 { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class hlc_rifle_rpk: hlc_rifle_ak47 { ACE_barrelTwist=240.03; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class hlc_rifle_rpk74n: hlc_rifle_rpk { ACE_barrelTwist=240.03; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class hlc_rifle_aek971: hlc_rifle_ak74 { ACE_barrelTwist=241.3; - ACE_barrelLength=0.4318; + ACE_barrelLength=431.8; }; class hlc_rifle_saiga12k: hlc_rifle_ak47 { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.42926; + ACE_barrelLength=429.26; }; class HLC_Optic_PSO1 : optic_dms { diff --git a/optionals/compat_hlcmods_aug/CfgWeapons.hpp b/optionals/compat_hlcmods_aug/CfgWeapons.hpp index 9e34e45f2f..4666605348 100644 --- a/optionals/compat_hlcmods_aug/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_aug/CfgWeapons.hpp @@ -6,46 +6,46 @@ class CfgWeapons class hlc_rifle_aug: hlc_aug_base { ACE_barrelTwist=228.6; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class hlc_rifle_auga1carb: hlc_rifle_aug { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4064; + ACE_barrelLength=406.4; }; class hlc_rifle_aughbar: hlc_rifle_aug { ACE_barrelTwist=228.6; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class hlc_rifle_augpara: hlc_rifle_aug { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4191; + ACE_barrelLength=419.1; }; class hlc_rifle_auga2: hlc_rifle_aug { ACE_barrelTwist=228.6; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class hlc_rifle_auga2para: hlc_rifle_auga2 { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4191; + ACE_barrelLength=419.1; }; class hlc_rifle_auga2carb: hlc_rifle_auga2 { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class hlc_rifle_auga2lsw: hlc_rifle_aughbar { ACE_barrelTwist=228.6; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class hlc_rifle_auga3: hlc_rifle_aug { ACE_barrelTwist=228.6; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp index c9446ff29e..afe3f03973 100644 --- a/optionals/compat_hlcmods_core/CfgAmmo.hpp +++ b/optionals/compat_hlcmods_core/CfgAmmo.hpp @@ -17,7 +17,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class HLC_556NATO_SOST: B_556x45_Ball { @@ -30,7 +30,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class HLC_556NATO_SPR: B_556x45_Ball { @@ -43,7 +43,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class HLC_300Blackout_Ball: B_556x45_Ball { @@ -56,7 +56,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; + ACE_barrelLengths[]={152.4, 406.4, 508.0}; }; class HLC_300Blackout_SMK: HLC_300Blackout_Ball { @@ -69,7 +69,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; + ACE_barrelLengths[]={228.6, 406.4, 508.0}; }; class HLC_762x39_Ball: HLC_300Blackout_Ball { @@ -82,7 +82,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class HLC_762x39_Tracer: HLC_762x39_Ball { @@ -95,7 +95,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class HLC_762x51_MK316_20in: B_762x51_Ball { @@ -108,7 +108,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_762x51_BTSub: B_762x51_Ball { @@ -121,7 +121,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_762x54_ball: HLC_762x51_ball { @@ -134,7 +134,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_762x54_tracer: HLC_762x51_tracer { @@ -147,7 +147,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class HLC_303Brit_B: B_556x45_Ball { @@ -160,7 +160,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={748, 761, 765}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class HLC_792x57_Ball: HLC_303Brit_B { @@ -173,7 +173,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={785, 800, 815}; - ACE_barrelLengths[]={0.508, 0.599948, 0.6604}; + ACE_barrelLengths[]={508.0, 599.948, 660.4}; }; class HLC_542x42_ball: HLC_303Brit_B { @@ -192,14 +192,14 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class FH_545x39_7u1: FH_545x39_Ball { ACE_bulletMass=5.184; ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619}; ACE_muzzleVelocities[]={260, 303, 320}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class HLC_57x28mm_JHP: FH_545x39_Ball { @@ -212,7 +212,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={550, 625, 720}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.26289}; + ACE_barrelLengths[]={101.6, 152.4, 262.89}; }; class HLC_9x19_Ball: B_556x45_Ball { @@ -225,7 +225,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class HLC_9x19_M882_SMG: B_556x45_Ball { @@ -238,7 +238,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class HLC_9x19_GoldDot: HLC_9x19_Ball { @@ -259,7 +259,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 400, 430}; - ACE_barrelLengths[]={0.1016, 0.117094, 0.2286}; + ACE_barrelLengths[]={101.6, 117.094, 228.6}; }; class HLC_45ACP_Ball: B_556x45_Ball { @@ -272,7 +272,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class FH_44Mag: HLC_45ACP_Ball { @@ -285,7 +285,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 390, 420}; - ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; + ACE_barrelLengths[]={101.6, 190.5, 228.6}; }; class FH_50BMG_SLAP: B_127x99_Ball { @@ -298,7 +298,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={1204}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; class FH_50BMG_Raufoss: B_127x99_Ball { @@ -311,6 +311,6 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={817}; - ACE_barrelLengths[]={0.7366}; + ACE_barrelLengths[]={736.6}; }; }; diff --git a/optionals/compat_hlcmods_fal/CfgWeapons.hpp b/optionals/compat_hlcmods_fal/CfgWeapons.hpp index 5e4a18caf1..fd826a6804 100644 --- a/optionals/compat_hlcmods_fal/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_fal/CfgWeapons.hpp @@ -5,46 +5,46 @@ class CfgWeapons class hlc_rifle_falosw: hlc_fal_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.3302; + ACE_barrelLength=330.2; }; class hlc_rifle_osw_GL: hlc_rifle_falosw { ACE_barrelTwist=304.8; - ACE_barrelLength=0.3302; + ACE_barrelLength=330.2; }; class hlc_rifle_SLR: hlc_fal_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.55118; + ACE_barrelLength=551.18; }; class hlc_rifle_STG58F: hlc_fal_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class hlc_rifle_FAL5061: hlc_fal_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class hlc_rifle_L1A1SLR: hlc_rifle_SLR { ACE_barrelTwist=304.8; - ACE_barrelLength=0.55118; + ACE_barrelLength=551.18; }; class hlc_rifle_c1A1: hlc_rifle_SLR { ACE_barrelTwist=304.8; - ACE_barrelLength=0.55118; + ACE_barrelLength=551.18; }; class hlc_rifle_LAR: hlc_rifle_FAL5061 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5334; + ACE_barrelLength=533.4; }; class hlc_rifle_SLRchopmod: hlc_rifle_FAL5061 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_g3/CfgWeapons.hpp b/optionals/compat_hlcmods_g3/CfgWeapons.hpp index f6b7a9c133..dc02124667 100644 --- a/optionals/compat_hlcmods_g3/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_g3/CfgWeapons.hpp @@ -5,41 +5,41 @@ class CfgWeapons class hlc_rifle_g3sg1: hlc_g3_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class hlc_rifle_psg1: hlc_rifle_g3sg1 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.65024; + ACE_barrelLength=650.24; }; class hlc_rifle_g3a3: hlc_rifle_g3sg1 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class hlc_rifle_g3a3ris: hlc_rifle_g3a3 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.44958; + ACE_barrelLength=449.58; }; class hlc_rifle_g3ka4: hlc_rifle_g3a3 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.31496; + ACE_barrelLength=314.96; }; class HLC_Rifle_g3ka4_GL: hlc_rifle_g3ka4 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.31496; + ACE_barrelLength=314.96; }; class hlc_rifle_hk51: hlc_rifle_g3sg1 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.211074; + ACE_barrelLength=211.074; }; class hlc_rifle_hk53: hlc_rifle_g3sg1 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.211074; + ACE_barrelLength=211.074; }; }; \ No newline at end of file diff --git a/optionals/compat_hlcmods_m14/CfgWeapons.hpp b/optionals/compat_hlcmods_m14/CfgWeapons.hpp index e2f081c547..64db736003 100644 --- a/optionals/compat_hlcmods_m14/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m14/CfgWeapons.hpp @@ -6,11 +6,11 @@ class CfgWeapons class hlc_M14_base: Rifle_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class hlc_rifle_m14sopmod: hlc_rifle_M14 { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; }; diff --git a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp index 682e2cd5fa..50b4ffbc80 100644 --- a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp +++ b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp @@ -5,11 +5,11 @@ class CfgWeapons class hlc_lmg_M60E4: hlc_M60e4_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.4318; + ACE_barrelLength=431.8; }; class hlc_lmg_m60: hlc_M60e4_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; }; diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/optionals/compat_rh_de/CfgAmmo.hpp index 8d3e230e1c..2297d89023 100644 --- a/optionals/compat_rh_de/CfgAmmo.hpp +++ b/optionals/compat_rh_de/CfgAmmo.hpp @@ -13,7 +13,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 398, 420}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_454_Casull: BulletBase { @@ -26,7 +26,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={450, 490, 500}; - ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; + ACE_barrelLengths[]={101.6, 190.5, 228.6}; }; class RH_32ACP: BulletBase { @@ -39,7 +39,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={282, 300, 320}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_45ACP: BulletBase { @@ -52,7 +52,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_B_40SW: BulletBase { @@ -65,7 +65,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_44mag_ball: BulletBase { @@ -78,7 +78,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 390, 420}; - ACE_barrelLengths[]={0.1016, 0.1905, 0.2286}; + ACE_barrelLengths[]={101.6, 190.5, 228.6}; }; class RH_357mag_ball: BulletBase { @@ -91,7 +91,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={490, 510, 535}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_762x25: BulletBase { @@ -104,7 +104,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={360, 380, 400}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_9x18_Ball: BulletBase { @@ -117,7 +117,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; class RH_B_9x19_Ball: BulletBase { @@ -130,7 +130,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_B_22LR_SD: BulletBase { @@ -143,7 +143,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={330, 340, 360}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.2286}; + ACE_barrelLengths[]={101.6, 152.4, 228.6}; }; class RH_57x28mm: BulletBase { @@ -156,6 +156,6 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={550, 625, 720}; - ACE_barrelLengths[]={0.1016, 0.1524, 0.26289}; + ACE_barrelLengths[]={101.6, 152.4, 262.89}; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_de/CfgWeapons.hpp b/optionals/compat_rh_de/CfgWeapons.hpp index bfb45732e5..eb7d902a8b 100644 --- a/optionals/compat_rh_de/CfgWeapons.hpp +++ b/optionals/compat_rh_de/CfgWeapons.hpp @@ -5,136 +5,136 @@ class CfgWeapons class RH_deagle: RH_Pistol_Base_F { ACE_barrelTwist=482.6; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_mateba: Pistol_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_mp412: Pistol_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_python: Pistol_Base_F { ACE_barrelTwist=355.6; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_bull: RH_python { ACE_barrelTwist=609.6; - ACE_barrelLength=0.1651; + ACE_barrelLength=165.1; }; class RH_ttracker: Pistol_Base_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class RH_cz75: RH_Pistol_Base_F { ACE_barrelTwist=246.38; - ACE_barrelLength=0.11938; + ACE_barrelLength=119.38; }; class RH_p226: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class RH_sw659: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.188976; + ACE_barrelLength=188.976; }; class RH_usp: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.112014; + ACE_barrelLength=112.014; }; class RH_uspm: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_kimber: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_m1911: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_tt33: RH_Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.11684; + ACE_barrelLength=116.84; }; class RH_mak: RH_Pistol_Base_F { ACE_barrelTwist=240.03; - ACE_barrelLength=0.093472; + ACE_barrelLength=93.472; }; class RH_mk2: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class RH_m9: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.12446; + ACE_barrelLength=124.46; }; class RH_g18: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.114046; + ACE_barrelLength=114.046; }; class RH_g17: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.114046; + ACE_barrelLength=114.046; }; class RH_g19: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.1016; + ACE_barrelLength=101.6; }; class RH_gsh18: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.10414; + ACE_barrelLength=104.14; }; class RH_fnp45: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class RH_fn57: RH_fnp45 { ACE_barrelTwist=231.14; - ACE_barrelLength=0.12192; + ACE_barrelLength=121.92; }; class RH_vp70: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.11684; + ACE_barrelLength=116.84; }; class RH_vz61: RH_Pistol_Base_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.1143; + ACE_barrelLength=114.3; }; class RH_tec9: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class RH_muzi: RH_Pistol_Base_F { ACE_barrelTwist=248.92; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/optionals/compat_rh_m4/CfgAmmo.hpp index fa4cc2ba07..763d96e3e7 100644 --- a/optionals/compat_rh_m4/CfgAmmo.hpp +++ b/optionals/compat_rh_m4/CfgAmmo.hpp @@ -19,7 +19,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_9x19_B_HP: BulletBase { @@ -32,7 +32,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={340, 370, 400}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_9x19_B_HPSB: BulletBase { @@ -45,7 +45,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={295, 310, 330}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class RH_556x45_B_M855A1: B_556x45_Ball { @@ -58,7 +58,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900}; - ACE_barrelLengths[]={0.21082, 0.23876, 0.26924, 0.29972, 0.3302, 0.36068, 0.39116, 0.4191, 0.44958, 0.48006, 0.508, 0.6096}; + ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6}; }; class RH_556x45_B_Mk318: B_556x45_Ball { @@ -71,7 +71,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class RH_556x45_B_Mk262: B_556x45_Ball { @@ -84,7 +84,7 @@ class CfgAmmo { ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class RH_68x43_B_FMJ: B_65x39_Caseless { @@ -97,7 +97,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={713, 785, 810, 850}; - ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; + ACE_barrelLengths[]={304.8, 406.4, 508.0, 609.6}; }; class RH_68x43_B_Match: B_65x39_Caseless { @@ -110,7 +110,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 732, 750, 780}; - ACE_barrelLengths[]={0.3048, 0.4064, 0.508, 0.6096}; + ACE_barrelLengths[]={304.8, 406.4, 508.0, 609.6}; }; class RH_762x35_B_FMJ: B_65x39_Caseless { @@ -123,7 +123,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={559, 609, 625}; - ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; + ACE_barrelLengths[]={152.4, 406.4, 508.0}; }; class RH_762x35_B_Match: B_65x39_Caseless { @@ -136,7 +136,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={572, 676, 700}; - ACE_barrelLengths[]={0.1524, 0.4064, 0.508}; + ACE_barrelLengths[]={152.4, 406.4, 508.0}; }; class RH_762x35_B_MSB: B_65x39_Caseless { @@ -149,7 +149,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={300, 320, 340}; - ACE_barrelLengths[]={0.2286, 0.4064, 0.508}; + ACE_barrelLengths[]={228.6, 406.4, 508.0}; }; class RH_762x51_B_M80A1: B_762x51_Ball { @@ -162,7 +162,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class RH_762x51_B_Mk316LR: B_762x51_Ball { @@ -175,7 +175,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={775, 790, 805, 810}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class RH_762x51_B_Mk319: B_762x51_Ball { @@ -188,7 +188,7 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={838, 892, 910}; - ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; + ACE_barrelLengths[]={330.2, 406.4, 508.0}; }; class RH_762x51_B_LFMJSB: B_762x51_Ball { @@ -201,6 +201,6 @@ class CfgAmmo { ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={305, 325, 335, 340}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; }; diff --git a/optionals/compat_rh_m4/CfgWeapons.hpp b/optionals/compat_rh_m4/CfgWeapons.hpp index 0cebd83fa6..ad612383d1 100644 --- a/optionals/compat_rh_m4/CfgWeapons.hpp +++ b/optionals/compat_rh_m4/CfgWeapons.hpp @@ -5,126 +5,126 @@ class CfgWeapons class RH_ar10: Rifle_Base_F { ACE_barrelTwist=285.75; - ACE_barrelLength=0.52832; + ACE_barrelLength=528.32; }; class RH_m110: Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_Mk11: RH_m110 { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class RH_SR25EC: RH_m110 { ACE_barrelTwist=285.75; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_m4: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_M4_ris: RH_m4 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_M4A1_ris: RH_M4_ris { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_M4m: RH_M4A1_ris { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2667; + ACE_barrelLength=266.7; }; class RH_M4sbr: RH_M4A1_ris { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2667; + ACE_barrelLength=266.7; }; class RH_hb: Rifle_Base_F { ACE_barrelTwist=203.2; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_hb_b: RH_hb { ACE_barrelTwist=203.2; - ACE_barrelLength=0.1524; + ACE_barrelLength=152.4; }; class RH_sbr9: Rifle_Base_F { ACE_barrelTwist=246.38; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class RH_M4A6: RH_M4A1_ris { ACE_barrelTwist=254.0; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_M16a1: RH_m4 { ACE_barrelTwist=355.6; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A2: RH_m4 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A4 : RH_M4_ris { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A3: RH_M16A4 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A4_m: RH_M16A4 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_M16A6: RH_M16A4 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_Mk12mod1: RH_M16A4 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4572; + ACE_barrelLength=457.2; }; class RH_SAMR: RH_Mk12mod1 { ACE_barrelTwist=195.58; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class RH_Hk416: RH_M4A1_ris { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class RH_Hk416s: RH_M4sbr { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26416; + ACE_barrelLength=264.16; }; class RH_Hk416c: RH_M4sbr { ACE_barrelTwist=177.8; - ACE_barrelLength=0.2286; + ACE_barrelLength=228.6; }; class RH_M27IAR: RH_Mk12mod1 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.4191; + ACE_barrelLength=419.1; }; }; \ No newline at end of file diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/optionals/compat_rh_pdw/CfgAmmo.hpp index a1503f2284..9474ec47eb 100644 --- a/optionals/compat_rh_pdw/CfgAmmo.hpp +++ b/optionals/compat_rh_pdw/CfgAmmo.hpp @@ -11,5 +11,5 @@ class RH_B_6x35: BulletBase ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={730, 750, 760}; - ACE_barrelLengths[]={0.2032, 0.254, 0.3048}; + ACE_barrelLengths[]={203.2, 254.0, 304.8}; }; \ No newline at end of file diff --git a/optionals/compat_rh_pdw/CfgWeapons.hpp b/optionals/compat_rh_pdw/CfgWeapons.hpp index 7f86318c55..37e7f7ffb4 100644 --- a/optionals/compat_rh_pdw/CfgWeapons.hpp +++ b/optionals/compat_rh_pdw/CfgWeapons.hpp @@ -5,6 +5,6 @@ class CfgWeapons class RH_PDW: Rifle_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.254; + ACE_barrelLength=254.0; }; }; diff --git a/optionals/compat_rhs_afrf3/CfgAmmo.hpp b/optionals/compat_rhs_afrf3/CfgAmmo.hpp index 4cf181b9fc..541437458e 100644 --- a/optionals/compat_rhs_afrf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_afrf3/CfgAmmo.hpp @@ -14,7 +14,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={780, 880, 920}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class rhs_B_545x39_Ball_Tracer_Green: rhs_B_545x39_Ball { @@ -27,7 +27,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=7; ACE_muzzleVelocities[]={785, 883, 925}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_762x51_Ball; class rhs_B_762x54_Ball: B_762x51_Ball @@ -41,7 +41,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_B_762x54_Ball_Tracer_Green: B_762x51_Ball { @@ -54,7 +54,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={680, 750, 798, 800}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_B_762x54_7N1_Ball: rhs_B_762x54_Ball { @@ -67,7 +67,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={700, 800, 820, 833}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_B_762x39_Ball: B_762x51_Ball { @@ -80,7 +80,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class rhs_B_762x39_Tracer: rhs_B_762x39_Ball { @@ -93,7 +93,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={650, 716, 750}; - ACE_barrelLengths[]={0.254, 0.41402, 0.508}; + ACE_barrelLengths[]={254.0, 414.02, 508.0}; }; class B_9x21_Ball; class rhs_B_9x19_7N21: B_9x21_Ball @@ -107,7 +107,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={445, 460, 480}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; class rhs_B_9x18_57N181S: B_9x21_Ball { @@ -120,6 +120,6 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={298, 330, 350}; - ACE_barrelLengths[]={0.09652, 0.127, 0.2286}; + ACE_barrelLengths[]={96.52, 127.0, 228.6}; }; }; \ No newline at end of file diff --git a/optionals/compat_rhs_afrf3/CfgWeapons.hpp b/optionals/compat_rhs_afrf3/CfgWeapons.hpp index d557111b6f..90474a958f 100644 --- a/optionals/compat_rhs_afrf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_afrf3/CfgWeapons.hpp @@ -5,57 +5,57 @@ class CfgWeapons class rhs_weap_pya: hgun_Rook40_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.11176; + ACE_barrelLength=111.76; }; class Pistol_Base_F; class rhs_weap_makarov_pmm: rhs_weap_pya { ACE_barrelTwist=240.03; - ACE_barrelLength=0.093472; + ACE_barrelLength=93.472; }; class rhs_weap_ak74m_Base_F; class rhs_weap_ak74m: rhs_weap_ak74m_Base_F { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class rhs_weap_akm: rhs_weap_ak74m { ACE_barrelTwist=199.898; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class rhs_weap_aks74; class rhs_weap_aks74u: rhs_weap_aks74 { ACE_barrelTwist=160.02; - ACE_barrelLength=0.21082; + ACE_barrelLength=210.82; }; class rhs_weap_svd: rhs_weap_ak74m { ACE_barrelTwist=238.76; - ACE_barrelLength=0.61976; + ACE_barrelLength=619.76; }; class rhs_weap_svdp; class rhs_weap_svds: rhs_weap_svdp { ACE_barrelTwist=238.76; - ACE_barrelLength=0.56388; + ACE_barrelLength=563.88; }; class rhs_pkp_base; class rhs_weap_pkp: rhs_pkp_base { ACE_barrelTwist=240.03; - ACE_barrelLength=0.65786; + ACE_barrelLength=657.86; }; class rhs_weap_pkm: rhs_weap_pkp { ACE_barrelTwist=240.03; - ACE_barrelLength=0.64516; + ACE_barrelLength=645.16; }; class rhs_weap_rpk74m: rhs_weap_pkp { ACE_barrelTwist=195.072; - ACE_barrelLength=0.58928; + ACE_barrelLength=589.28; }; class rhs_acc_sniper_base; diff --git a/optionals/compat_rhs_usf3/CfgAmmo.hpp b/optionals/compat_rhs_usf3/CfgAmmo.hpp index b46f155b17..382ad1480e 100644 --- a/optionals/compat_rhs_usf3/CfgAmmo.hpp +++ b/optionals/compat_rhs_usf3/CfgAmmo.hpp @@ -13,7 +13,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={847, 867, 877}; - ACE_barrelLengths[]={0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={508.0, 609.6, 660.4}; }; class B_556x45_Ball; class rhs_ammo_556x45_Mk318_Ball: B_556x45_Ball @@ -27,7 +27,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={780, 886, 950}; - ACE_barrelLengths[]={0.254, 0.3937, 0.508}; + ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class rhs_ammo_556x45_Mk262_Ball: B_556x45_Ball { @@ -40,7 +40,7 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={624, 816, 832, 838}; - ACE_barrelLengths[]={0.1905, 0.3683, 0.4572, 0.508}; + ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0}; }; class rhs_ammo_762x51_M80_Ball: BulletBase { @@ -53,7 +53,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; - ACE_barrelLengths[]={0.254, 0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4}; }; class rhs_ammo_762x51_M118_Special_Ball: rhs_ammo_762x51_M80_Ball { @@ -66,7 +66,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=7; ACE_muzzleVelocities[]={750, 780, 790, 794}; - ACE_barrelLengths[]={0.4064, 0.508, 0.6096, 0.6604}; + ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4}; }; class rhs_ammo_762x51_M993_Ball: rhs_ammo_762x51_M80_Ball { @@ -79,7 +79,7 @@ class CfgAmmo ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; ACE_muzzleVelocities[]={875, 910, 930}; - ACE_barrelLengths[]={0.3302, 0.4064, 0.508}; + ACE_barrelLengths[]={330.2, 406.4, 508.0}; }; class rhs_ammo_45ACP_MHP: BulletBase { @@ -92,6 +92,6 @@ class CfgAmmo ACE_standardAtmosphere="ASM"; ACE_dragModel=1; ACE_muzzleVelocities[]={230, 250, 285}; - ACE_barrelLengths[]={0.1016, 0.127, 0.2286}; + ACE_barrelLengths[]={101.6, 127.0, 228.6}; }; }; \ No newline at end of file diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index 36968ce6c7..72ea2db1e7 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -7,69 +7,69 @@ class CfgWeapons class rhs_weap_XM2010_Base_F: Rifle_Base_F { ACE_barrelTwist=254.0; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class arifle_MX_Base_F; class rhs_weap_m4_Base: arifle_MX_Base_F { ACE_barrelTwist=177.8; - ACE_barrelLength=0.3683; + ACE_barrelLength=368.3; }; class rhs_weap_m4a1; class rhs_weap_mk18: rhs_weap_m4a1 { ACE_barrelTwist=177.8; - ACE_barrelLength=0.26162; + ACE_barrelLength=261.62; }; class rhs_weap_m16a4: rhs_weap_m4_Base { ACE_barrelTwist=177.8; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_M249_base; class rhs_weap_m249_pip: rhs_M249_base { ACE_barrelTwist=177.8; - ACE_barrelLength=0.41402; + ACE_barrelLength=414.02; }; class weap_m240_base; class rhs_weap_m240B: weap_m240_base { ACE_barrelTwist=304.8; - ACE_barrelLength=0.62992; + ACE_barrelLength=629.92; }; class rhs_weap_m14ebrri: srifle_EBR_F { ACE_barrelTwist=304.8; - ACE_barrelLength=0.5588; + ACE_barrelLength=558.8; }; class rhs_weap_sr25: rhs_weap_m14ebrri { ACE_barrelTwist=285.75; - ACE_barrelLength=0.6096; + ACE_barrelLength=609.6; }; class rhs_weap_sr25_ec: rhs_weap_sr25 { ACE_barrelTwist=285.75; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class rhs_weap_M590_5RD: Rifle_Base_F { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.4699; + ACE_barrelLength=469.9; }; class rhs_weap_M590_8RD: rhs_weap_M590_5RD { ACE_barrelTwist=0.0; ACE_twistDirection=0; - ACE_barrelLength=0.508; + ACE_barrelLength=508.0; }; class hgun_ACPC2_F; class rhsusf_weap_m1911a1: hgun_ACPC2_F { ACE_barrelTwist=406.4; - ACE_barrelLength=0.127; + ACE_barrelLength=127.0; }; class rhsusf_acc_sniper_base; From 0e74fa56f70592e3e05a0a9775022693ec1f68a9 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 13:45:00 +0200 Subject: [PATCH 362/478] Corrected several armour piercing round configs --- addons/atragmx/XEH_postInit.sqf | 6 ++++-- addons/atragmx/script_component.hpp | 2 +- addons/ballistics/CfgAmmo.hpp | 24 ++++++++++++------------ 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf index 7b0a2c9962..1e86838b8b 100644 --- a/addons/atragmx/XEH_postInit.sqf +++ b/addons/atragmx/XEH_postInit.sqf @@ -19,7 +19,7 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == [".338LM 250gr" , 880, 100, 0.0598, -0.0006060, 3.81, 0, 2, 10, 120, 0, 0, 16.20, 8.58, 25.40, 0.322, 7, "ICAO"], [".338LM 300gr" , 800, 100, 0.0677, -0.0005350, 3.81, 0, 2, 10, 120, 0, 0, 19.44, 8.58, 25.40, 0.381, 7, "ICAO"], - [".338LM API526" , 880, 100, 0.0601, -0.0006730, 3.81, 0, 2, 10, 120, 0, 0, 16.39, 8.58, 25.40, 0.290, 7, "ICAO"], + [".338LM API526" , 895, 100, 0.0601, -0.0006730, 3.81, 0, 2, 10, 120, 0, 0, 16.39, 8.58, 25.40, 0.560, 1, "ASM" ], [".300WM Mk248 Mod 0", 900, 100, 0.0584, -0.0008300, 3.81, 0, 2, 10, 120, 0, 0, 13.31, 7.80, 25.40, 0.268, 7, "ICAO"], [".300WM Mk248 Mod 1", 867, 100, 0.0611, -0.0008150, 3.81, 0, 2, 10, 120, 0, 0, 14.26, 7.80, 25.40, 0.310, 7, "ICAO"], @@ -30,6 +30,7 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == ["7.62x51mm M80" , 810, 100, 0.0679, -0.0010350, 3.81, 0, 2, 10, 120, 0, 0, 9.525, 7.82, 25.40, 0.200, 7, "ICAO"], ["7.62x51mm M118LR" , 780, 100, 0.0710, -0.0008525, 3.81, 0, 2, 10, 120, 0, 0, 11.34, 7.82, 25.40, 0.243, 7, "ICAO"], ["7.62x51mm Mk319" , 910, 100, 0.0585, -0.0010300, 3.81, 0, 2, 10, 120, 0, 0, 8.424, 7.82, 25.40, 0.377, 1, "ICAO"], + ["7.62x51mm M993" , 930, 100, 0.0585, -0.0010300, 3.81, 0, 2, 10, 120, 0, 0, 8.230, 7.82, 25.40, 0.359, 1, "ICAO"], ["7.62x51mm Subsonic", 320, 100, 0.3060, -0.0004910, 3.81, 0, 2, 10, 120, 0, 0, 12.96, 7.82, 25.40, 0.235, 7, "ICAO"], ["6.5x39mm" , 800, 100, 0.0683, -0.0007850, 3.81, 0, 2, 10, 120, 0, 0, 7.970, 6.71, 22.86, 0.263, 7, "ICAO"], @@ -38,7 +39,8 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == ["5.56x45mm M855" , 870, 100, 0.0626, -0.0012650, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.151, 7, "ASM" ], ["5.56x45mm Mk262" , 820, 100, 0.0671, -0.0011250, 3.81, 0, 2, 10, 120, 0, 0, 4.990, 5.70, 17.78, 0.361, 1, "ASM" ], - ["5.56x45mm Mk318" , 880, 100, 0.0616, -0.0011200, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.307, 1, "ASM" ]]; + ["5.56x45mm Mk318" , 880, 100, 0.0616, -0.0011200, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.307, 1, "ASM" ], + ["5.56x45mm M995" , 869, 100, 0.0616, -0.0011200, 3.81, 0, 2, 10, 120, 0, 0, 4.536, 5.70, 17.78, 0.310, 1, "ASM" ]]; [] call FUNC(clear_user_data); profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)]; diff --git a/addons/atragmx/script_component.hpp b/addons/atragmx/script_component.hpp index 090e82246d..585070d401 100644 --- a/addons/atragmx/script_component.hpp +++ b/addons/atragmx/script_component.hpp @@ -11,4 +11,4 @@ #include "\z\ace\addons\main\script_macros.hpp" -#define ATRAGMX_PROFILE_NAMESPACE_VERSION 1.4 +#define ATRAGMX_PROFILE_NAMESPACE_VERSION 1.5 diff --git a/addons/ballistics/CfgAmmo.hpp b/addons/ballistics/CfgAmmo.hpp index 59fa7cf621..3ab265091e 100644 --- a/addons/ballistics/CfgAmmo.hpp +++ b/addons/ballistics/CfgAmmo.hpp @@ -75,16 +75,16 @@ class CfgAmmo { caliber=1.6; deflecting=18; hit=6; - typicalSpeed=886; + typicalSpeed=869; ACE_caliber=5.69; ACE_bulletLength=23.012; - ACE_bulletMass=2.9808; + ACE_bulletMass=4.5359237; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - ACE_ballisticCoefficients[]={0.151}; + ACE_ballisticCoefficients[]={0.310}; ACE_velocityBoundaries[]={}; ACE_standardAtmosphere="ASM"; - ACE_dragModel=7; - ACE_muzzleVelocities[]={950, 1030, 1040}; + ACE_dragModel=1; + ACE_muzzleVelocities[]={820, 865, 880}; ACE_barrelLengths[]={254.0, 393.7, 508.0}; }; class B_556x45_Ball_Tracer_Red; @@ -253,12 +253,12 @@ class CfgAmmo { airFriction=-0.00103; caliber=2.2; hit=11; - typicalSpeed=930; + typicalSpeed=910; ACE_caliber=7.823; ACE_bulletLength=31.496; - ACE_bulletMass=8.2296; + ACE_bulletMass=8.22946157; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - ACE_ballisticCoefficients[]={0.377}; + ACE_ballisticCoefficients[]={0.359}; ACE_velocityBoundaries[]={}; ACE_standardAtmosphere="ICAO"; ACE_dragModel=1; @@ -657,15 +657,15 @@ class CfgAmmo { timeToLive=10; airFriction=-0.000673; caliber=2.8; - typicalSpeed=826; + typicalSpeed=895; ACE_caliber=8.585; ACE_bulletLength=38.989; - ACE_bulletMass=16.3944; + ACE_bulletMass=16.3941242; ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; - ACE_ballisticCoefficients[]={0.290}; + ACE_ballisticCoefficients[]={0.560}; ACE_velocityBoundaries[]={}; ACE_standardAtmosphere="ICAO"; - ACE_dragModel=7; + ACE_dragModel=1; ACE_muzzleVelocities[]={880, 915, 925}; ACE_barrelLengths[]={508.0, 660.4, 711.2}; }; From 3495196f40b53984367b2d46d91d30a2db182670 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 13:56:38 +0200 Subject: [PATCH 363/478] Fixes broken ATragMX (calculateStabilityFactor now requires metric input) --- addons/atragmx/functions/fnc_calculate_range_card.sqf | 4 ++-- addons/atragmx/functions/fnc_calculate_target_solution.sqf | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/atragmx/functions/fnc_calculate_range_card.sqf b/addons/atragmx/functions/fnc_calculate_range_card.sqf index cfaf7441f8..5d5253d1bf 100644 --- a/addons/atragmx/functions/fnc_calculate_range_card.sqf +++ b/addons/atragmx/functions/fnc_calculate_range_card.sqf @@ -52,11 +52,11 @@ if (!GVAR(atmosphereModeTBH)) then { }; private ["_bulletLength", "_stabilityFactor"]; -_bulletLength = 1.8; +_bulletLength = 45.72; _stabilityFactor = 1.5; if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { if (_bulletDiameter > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { - _stabilityFactor = [_bulletDiameter / 10 / 2.54, _bulletLength, _bulletMass * 15.4323584, _barrelTwist / 2.54, _muzzleVelocity, _temperature, _barometricPressure] call EFUNC(advanced_ballistics,calculateStabilityFactor); + _stabilityFactor = [_bulletDiameter, _bulletLength, _bulletMass, _barrelTwist * 10, _muzzleVelocity, _temperature, _barometricPressure] call EFUNC(advanced_ballistics,calculateStabilityFactor); }; }; diff --git a/addons/atragmx/functions/fnc_calculate_target_solution.sqf b/addons/atragmx/functions/fnc_calculate_target_solution.sqf index 677c4bb793..2be1197a9b 100644 --- a/addons/atragmx/functions/fnc_calculate_target_solution.sqf +++ b/addons/atragmx/functions/fnc_calculate_target_solution.sqf @@ -52,11 +52,11 @@ if (!GVAR(atmosphereModeTBH)) then { }; private ["_bulletLength", "_stabilityFactor"]; -_bulletLength = 1.8; +_bulletLength = 45.72; _stabilityFactor = 1.5; if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { if (_bulletDiameter > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { - _stabilityFactor = [_bulletDiameter / 10 / 2.54, _bulletLength, _bulletMass * 15.4323584, _barrelTwist / 2.54, _muzzleVelocity, _temperature, _barometricPressure] call EFUNC(advanced_ballistics,calculateStabilityFactor); + _stabilityFactor = [_bulletDiameter, _bulletLength, _bulletMass, _barrelTwist * 10, _muzzleVelocity, _temperature, _barometricPressure] call EFUNC(advanced_ballistics,calculateStabilityFactor); }; }; From fd0ca58fe6c600c46b4a013ea787a36d129f92a8 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 15:25:32 +0200 Subject: [PATCH 364/478] Fixes broken bullet trace effect (caliber is now in mm, not inches) --- addons/advanced_ballistics/functions/fnc_handleFired.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index e63b1d7dfc..f6458b5f41 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -158,7 +158,7 @@ GVAR(currentbulletID) = (GVAR(currentbulletID) + 1) % 10000; }; if (_bulletTraceVisible && _bulletSpeed > 600) then { - drop ["\A3\data_f\ParticleEffects\Universal\Refract","","Billboard",1,0.1,getPos _bullet,[0,0,0],0,1.275,1,0,[0.4*_caliber,0.2*_caliber],[[0,0,0,0.6],[0,0,0,0.4]],[1,0],0,0,"","",""]; + drop ["\A3\data_f\ParticleEffects\Universal\Refract","","Billboard",1,0.1,getPos _bullet,[0,0,0],0,1.275,1,0,[0.0157480315*_caliber,0.00787401574*_caliber],[[0,0,0,0.6],[0,0,0,0.4]],[1,0],0,0,"","",""]; }; call compile ("ace_advanced_ballistics" callExtension format["simulate:%1:%2:%3:%4:%5:%6:%7", _index, _bulletVelocity, _bulletPosition, ACE_wind, ASLToATL(_bulletPosition) select 2, floor(time), time - floor(time)]); From 3e6c203655eacd9b88b7fdf504ca75e90ed28c97 Mon Sep 17 00:00:00 2001 From: jaynus Date: Fri, 8 May 2015 06:57:19 -0700 Subject: [PATCH 365/478] size+1 --- extensions/advanced_ballistics/AdvancedBallistics.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index 554c21b601..e6c55184a7 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -340,7 +340,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) tickTime += strtod(strtok_s(NULL, ":", &next_token), NULL); if (index >= bulletDatabase.size()) - bulletDatabase.resize(index); + bulletDatabase.resize(index+1); bulletDatabase[index].airFriction = airFriction; bulletDatabase[index].ballisticCoefficients = ballisticCoefficients; From 1f15e68c304a3576b7cba709e13fcafd52be8f33 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 16:00:41 +0200 Subject: [PATCH 366/478] Global variable cleanup --- addons/advanced_ballistics/XEH_postInit.sqf | 15 +-------------- .../functions/fnc_initializeTerrainExtension.sqf | 4 ++-- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index 8efdd6799b..b59737412a 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -4,24 +4,11 @@ GVAR(currentbulletID) = -1; -GVAR(bulletDatabase) = []; -GVAR(bulletDatabaseStartTime) = []; -GVAR(bulletDatabaseSpeed) = []; -GVAR(bulletDatabaseFrames) = []; -GVAR(bulletDatabaseLastFrame) = []; -GVAR(bulletDatabaseHDeflect) = []; -GVAR(bulletDatabaseSpinDrift) = []; -GVAR(bulletDatabaseOccupiedIndices) = []; -GVAR(bulletDatabaseFreeIndices) = []; - -GVAR(WindInfo) = false; -GVAR(WindInfoStart) = time; - GVAR(Protractor) = false; GVAR(ProtractorStart) = time; GVAR(currentGrid) = 0; -GVAR(INIT_MESSAGE_ENABLED) = false; +GVAR(initMessageEnabled) = false; GVAR(extensionAvailable) = true; /* @TODO: Remove this until versioning is in sync with cmake/build versioning diff --git a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf index 3930526433..93a79138c6 100644 --- a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf +++ b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf @@ -22,7 +22,7 @@ _initStartTime = time; _mapSize = getNumber (configFile >> "CfgWorlds" >> worldName >> "MapSize"); if (("ace_advanced_ballistics" callExtension format["init:%1:%2", worldName, _mapSize]) == "Terrain already initialized") exitWith { - if (GVAR(INIT_MESSAGE_ENABLED)) then { + if (GVAR(initMessageEnabled)) then { systemChat "AdvancedBallistics: Terrain already initialized"; }; }; @@ -40,7 +40,7 @@ GVAR(currentGrid) = 0; _initStartTime = _args select 2; if (GVAR(currentGrid) >= _gridCells) exitWith { - if (GVAR(INIT_MESSAGE_ENABLED)) then { + if (GVAR(initMessageEnabled)) then { systemChat format["AdvancedBallistics: Finished terrain initialization in %1 seconds", ceil(time - _initStartTime)]; }; [_this select 1] call cba_fnc_removePerFrameHandler; From 9a0fcd4fece4a5580d0c43a7f40c17333208c771 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 17:20:56 +0200 Subject: [PATCH 367/478] AB config read caching --- addons/advanced_ballistics/XEH_postInit.sqf | 5 + ..._calculateAmmoTemperatureVelocityShift.sqf | 18 +-- ...fnc_calculateBarrelLengthVelocityShift.sqf | 29 ++--- .../functions/fnc_handleFired.sqf | 123 +++++++++++------- 4 files changed, 97 insertions(+), 78 deletions(-) diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index b59737412a..faaa468bc8 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -4,6 +4,11 @@ GVAR(currentbulletID) = -1; +GVAR(AmmoCacheIndex) = []; +GVAR(AmmoCacheData) = []; +GVAR(WeaponCacheIndex) = []; +GVAR(WeaponCacheData) = []; + GVAR(Protractor) = false; GVAR(ProtractorStart) = time; diff --git a/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf b/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf index c92e679a66..28df9d1d97 100644 --- a/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf +++ b/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf @@ -4,7 +4,7 @@ * Calculates the ammo temperature induced muzzle velocity shift * * Arguments: - * 0: ammo - classname + * 0: muzzle velocity shift lookup table - m/s * 1: temperature - degrees celcius * * Return Value: @@ -15,17 +15,11 @@ */ #include "script_component.hpp" -private ["_ammo", "_temperature", "_muzzleVelocityTable", "_muzzleVelocityShift", "_temperatureIndexA", "_temperatureIndexB", "_temperatureRatio"]; -_ammo = _this select 0; -_temperature = _this select 1; +private ["_muzzleVelocityShiftTable", "_temperature", "_muzzleVelocityShift", "_temperatureIndexA", "_temperatureIndexB", "_temperatureRatio"]; +_muzzleVelocityShiftTable = _this select 0; +_temperature = _this select 1; -_muzzleVelocityTable = []; - -if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts")) then { - _muzzleVelocityTable = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts"); -}; - -if (count _muzzleVelocityTable != 11) exitWith { 0 }; +if (count _muzzleVelocityShiftTable != 11) exitWith { 0 }; _temperatureIndexA = floor((_temperature + 15) / 5); _temperatureIndexA = 0 max _temperatureIndexA; @@ -37,6 +31,6 @@ _temperatureIndexB = _temperatureIndexB min 10; _temperatureRatio = ((_temperature + 15) / 5) - floor((_temperature + 15) / 5); -_muzzleVelocityShift = (_muzzleVelocityTable select _temperatureIndexA) * (1 - _temperatureRatio) + (_muzzleVelocityTable select _temperatureIndexB) * _temperatureRatio; +_muzzleVelocityShift = (_muzzleVelocityShiftTable select _temperatureIndexA) * (1 - _temperatureRatio) + (_muzzleVelocityShiftTable select _temperatureIndexB) * _temperatureRatio; _muzzleVelocityShift diff --git a/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf b/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf index b4cbd5bdc0..de037f49bc 100644 --- a/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf +++ b/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf @@ -4,9 +4,10 @@ * Calculates the muzzle velocity shift caused by different barrel lengths * * Arguments: - * 0: ammo - classname - * 0: weapon - classname - * 1: muzzle velocity - m/s + * 0: barrel length - mm + * 1: muzzle velocity lookup table - m/s + * 2: barrel length lookup table - mm + * 3: muzzle velocity - m/s * * Return Value: * 0: muzzle velocity shift - m/s @@ -16,25 +17,13 @@ */ #include "script_component.hpp" -private ["_ammo", "_weapon", "_barrelLength", "_muzzleVelocityTable", "_barrelLengthTable", "_muzzleVelocity", "_lowerIndex", "_upperIndex", "_barrelLengthRatio", "_muzzleVelocityNew"]; -_ammo = _this select 0; -_weapon = _this select 1; -_muzzleVelocity = _this select 2; - -_barrelLength = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelLength"); +private ["_barrelLength", "_muzzleVelocityTable", "_barrelLengthTable", "_muzzleVelocity", "_lowerIndex", "_upperIndex", "_barrelLengthRatio", "_muzzleVelocityNew"]; +_barrelLength = _this select 0; +_muzzleVelocityTable = _this select 1; +_barrelLengthTable = _this select 2; +_muzzleVelocity = _this select 3; if (_barrelLength == 0) exitWith { 0 }; - -_muzzleVelocityTable = []; -_barrelLengthTable = []; - -if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_muzzleVelocities")) then { - _muzzleVelocityTable = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_muzzleVelocities"); -}; -if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_barrelLengths")) then { - _barrelLengthTable = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_barrelLengths"); -}; - if (count _muzzleVelocityTable != count _barrelLengthTable) exitWith { 0 }; if (count _muzzleVelocityTable == 0 || count _barrelLengthTable == 0) exitWith { 0 }; if (count _muzzleVelocityTable == 1) exitWith { (_muzzleVelocityTable select 0) - _muzzleVelocity }; diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index f6458b5f41..5862786228 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -19,7 +19,7 @@ */ #include "script_component.hpp" -private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_index", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_bulletMass", "_bulletLength", "_airFriction", "_dragModel", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ballisticCoefficients", "_velocityBoundaries"]; +private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_AmmoCacheIndex", "_AmmoCacheEntry", "_WeaponCacheIndex", "_WeaponCacheEntry", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_ammoTempMuzzleVelocityShifts", "_muzzleVelocityTable", "_barrelLengthTable", "_barrelLength", "_bulletMass", "_bulletLength", "_airFriction", "_dragModel", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ballisticCoefficients", "_velocityBoundaries"]; _unit = _this select 0; _weapon = _this select 1; _mode = _this select 3; @@ -40,7 +40,7 @@ if (GVAR(onlyActiveForLocalPlayers) && !(local _unit)) then { // The shooter is non local if (currentWeapon _unit == primaryWeapon _unit && count primaryWeaponItems _unit > 2) then { _opticsName = (primaryWeaponItems _unit) select 2; - _opticType = getNumber(configFile >> "cfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); + _opticType = getNumber(configFile >> "CfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); _abort = _opticType != 2; // We only abort if the non local shooter is not a sniper }; } else { @@ -48,19 +48,83 @@ if (GVAR(onlyActiveForLocalPlayers) && !(local _unit)) then { }; }; //if (!GVAR(vehicleGunnerEnabled) && !(_unit isKindOf "Man")) then { _abort = true; }; // We currently do not have firedEHs on vehicles -if (GVAR(disabledInFullAutoMode) && getNumber(configFile >> "cfgWeapons" >> _weapon >> _mode >> "autoFire") == 1) then { _abort = true; }; +if (GVAR(disabledInFullAutoMode) && getNumber(configFile >> "CfgWeapons" >> _weapon >> _mode >> "autoFire") == 1) then { _abort = true; }; if (_abort || !(GVAR(extensionAvailable))) exitWith { - [_bullet, getNumber(configFile >> "cfgAmmo" >> _ammo >> "airFriction")] call EFUNC(winddeflection,updateTrajectoryPFH); + [_bullet, getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction")] call EFUNC(winddeflection,updateTrajectoryPFH); }; -_airFriction = getNumber(configFile >> "cfgAmmo" >> _ammo >> "airFriction"); +_AmmoCacheIndex = GVAR(AmmoCacheIndex) find _ammo; +if (_AmmoCacheIndex == -1) then { + _airFriction = getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction"); + _caliber = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_caliber"); + _bulletLength = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_bulletLength"); + _bulletMass = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_bulletMass"); + _transonicStabilityCoef = 0.5; + if (isNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef")) then { + _transonicStabilityCoef = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef"); + }; + _dragModel = 1; + _ballisticCoefficients = []; + _velocityBoundaries = []; + _atmosphereModel = "ICAO"; + if (isNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_dragModel")) then { + _dragModel = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_dragModel"); + if (!(_dragModel in [1, 2, 5, 6, 7, 8])) then { + _dragModel = 1; + }; + }; + if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ballisticCoefficients")) then { + _ballisticCoefficients = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ballisticCoefficients"); + }; + if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_velocityBoundaries")) then { + _velocityBoundaries = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_velocityBoundaries"); + }; + if (isText(configFile >> "CfgAmmo" >> _ammo >> "ACE_standardAtmosphere")) then { + _atmosphereModel = getText(configFile >> "CfgAmmo" >> _ammo >> "ACE_standardAtmosphere"); + }; + _ammoTempMuzzleVelocityShifts = []; + if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts")) then { + _ammoTempMuzzleVelocityShifts = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts"); + }; + _muzzleVelocityTable = []; + _barrelLengthTable = []; + if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable")) then { + _muzzleVelocityTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable"); + }; + if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengths")) then { + _barrelLengthTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengthTable"); + }; + _AmmoCacheIndex = count GVAR(AmmoCacheIndex); + GVAR(AmmoCacheIndex) pushBack _ammo; + GVAR(AmmoCacheData) pushBack [_ammo, _airFriction, _caliber, _bulletLength, _bulletMass, _transonicStabilityCoef, _dragModel, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _ammoTempMuzzleVelocityShifts, _muzzleVelocityTable, _barrelLengthTable]; +}; +_AmmoCacheEntry = GVAR(AmmoCacheData) select _AmmoCacheIndex; + +_WeaponCacheIndex = GVAR(WeaponCacheIndex) find _weapon; +if (_WeaponCacheIndex == -1) then { + _barrelTwist = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_barrelTwist"); + _twistDirection = 1; + if (isNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_twistDirection")) then { + _twistDirection = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_twistDirection"); + if (_twistDirection != -1 && _twistDirection != 0 && _twistDirection != 1) then { + _twistDirection = 1; + }; + }; + _barrelLength = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_barrelLength"); + _WeaponCacheIndex = count GVAR(WeaponCacheIndex); + GVAR(WeaponCacheIndex) pushBack _weapon; + GVAR(WeaponCacheData) pushBack [_weapon, _barrelTwist, _twistDirection, _barrelLength]; +}; +_WeaponCacheEntry = GVAR(WeaponCacheData) select _WeaponCacheIndex; + +_airFriction = _AmmoCacheEntry select 1; _bulletVelocity = velocity _bullet; _muzzleVelocity = vectorMagnitude _bulletVelocity; if (GVAR(barrelLengthInfluenceEnabled)) then { - _muzzleVelocityShift = [_ammo, _weapon, _muzzleVelocity] call FUNC(calculateBarrelLengthVelocityShift); + _muzzleVelocityShift = [_WeaponCacheEntry select 3, _AmmoCacheEntry select 11, _AmmoCacheEntry select 12, _muzzleVelocity] call FUNC(calculateBarrelLengthVelocityShift); if (_muzzleVelocityShift != 0) then { _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift)); _bullet setVelocity _bulletVelocity; @@ -70,7 +134,7 @@ if (GVAR(barrelLengthInfluenceEnabled)) then { if (GVAR(ammoTemperatureEnabled)) then { _temperature = GET_TEMPERATURE_AT_HEIGHT((getPosASL _unit) select 2); - _muzzleVelocityShift = [_ammo, _temperature] call FUNC(calculateAmmoTemperatureVelocityShift); + _muzzleVelocityShift = [_AmmoCacheEntry select 10, _temperature] call FUNC(calculateAmmoTemperatureVelocityShift); if (_muzzleVelocityShift != 0) then { _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift)); _bullet setVelocity _bulletVelocity; @@ -85,16 +149,16 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { } else { if (currentWeapon ACE_player == primaryWeapon ACE_player && count primaryWeaponItems ACE_player > 2) then { _opticsName = (primaryWeaponItems ACE_player) select 2; - _opticType = getNumber(configFile >> "cfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); + _opticType = getNumber(configFile >> "CfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType"); _bulletTraceVisible = _opticType == 2; }; }; }; -_caliber = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_caliber"); -_bulletLength = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletLength"); -_bulletMass = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_bulletMass"); -_barrelTwist = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_barrelTwist"); +_caliber = _AmmoCacheEntry select 2; +_bulletLength = _AmmoCacheEntry select 3; +_bulletMass = _AmmoCacheEntry select 4; +_barrelTwist = _WeaponCacheEntry select 1; _stabilityFactor = 1.5; if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { @@ -103,42 +167,9 @@ if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) th _stabilityFactor = [_caliber, _bulletLength, _bulletMass, _barrelTwist, _muzzleVelocity, _temperature, _barometricPressure] call FUNC(calculateStabilityFactor); }; -_twistDirection = 1; -if (isNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_twistDirection")) then { - _twistDirection = getNumber(configFile >> "cfgWeapons" >> _weapon >> "ACE_twistDirection"); - if (_twistDirection != -1 && _twistDirection != 0 && _twistDirection != 1) then { - _twistDirection = 1; - }; -}; - -_transonicStabilityCoef = 0.5; -if (isNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef")) then { - _transonicStabilityCoef = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef"); -}; - -_dragModel = 1; -_ballisticCoefficients = []; -_velocityBoundaries = []; -_atmosphereModel = "ICAO"; -if (isNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_dragModel")) then { - _dragModel = getNumber(configFile >> "cfgAmmo" >> _ammo >> "ACE_dragModel"); - if (!(_dragModel in [1, 2, 5, 6, 7, 8])) then { - _dragModel = 1; - }; -}; -if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_ballisticCoefficients")) then { - _ballisticCoefficients = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_ballisticCoefficients"); -}; -if (isArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_velocityBoundaries")) then { - _velocityBoundaries = getArray(configFile >> "cfgAmmo" >> _ammo >> "ACE_velocityBoundaries"); -}; -if (isText(configFile >> "cfgAmmo" >> _ammo >> "ACE_standardAtmosphere")) then { - _atmosphereModel = getText(configFile >> "cfgAmmo" >> _ammo >> "ACE_standardAtmosphere"); -}; - GVAR(currentbulletID) = (GVAR(currentbulletID) + 1) % 10000; -"ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _airFriction, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _dragModel, _stabilityFactor, _twistDirection, _muzzleVelocity, _transonicStabilityCoef, getPosASL _bullet, EGVAR(weather,Latitude), EGVAR(weather,currentTemperature), EGVAR(weather,Altitude), EGVAR(weather,currentHumidity), overcast, floor(time), time - floor(time)]; +"ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _AmmoCacheEntry select 1, _AmmoCacheEntry select 7, _AmmoCacheEntry select 8, _AmmoCacheEntry select 9, _AmmoCacheEntry select 6, _stabilityFactor, _WeaponCacheEntry select 2, _muzzleVelocity, _AmmoCacheEntry select 5, getPosASL _bullet, EGVAR(weather,Latitude), EGVAR(weather,currentTemperature), EGVAR(weather,Altitude), EGVAR(weather,currentHumidity), overcast, floor(time), time - floor(time)]; [{ private ["_args", "_index", "_bullet", "_caliber", "_bulletTraceVisible", "_bulletVelocity", "_bulletPosition"]; From 03fd740f8eebd6b707fd20cfc77c3a7133c77743 Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 18:43:26 +0200 Subject: [PATCH 368/478] Config caching is now done in the uiNamespace --- addons/advanced_ballistics/XEH_postInit.sqf | 5 -- addons/advanced_ballistics/XEH_preInit.sqf | 2 + .../functions/fnc_handleFired.sqf | 83 ++++--------------- .../functions/fnc_readAmmoDataFromConfig.sqf | 64 ++++++++++++++ .../fnc_readWeaponDataFromConfig.sqf | 34 ++++++++ 5 files changed, 114 insertions(+), 74 deletions(-) create mode 100644 addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf create mode 100644 addons/advanced_ballistics/functions/fnc_readWeaponDataFromConfig.sqf diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index faaa468bc8..b59737412a 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -4,11 +4,6 @@ GVAR(currentbulletID) = -1; -GVAR(AmmoCacheIndex) = []; -GVAR(AmmoCacheData) = []; -GVAR(WeaponCacheIndex) = []; -GVAR(WeaponCacheData) = []; - GVAR(Protractor) = false; GVAR(ProtractorStart) = time; diff --git a/addons/advanced_ballistics/XEH_preInit.sqf b/addons/advanced_ballistics/XEH_preInit.sqf index 1d19a9c492..b5ffa62fe8 100644 --- a/addons/advanced_ballistics/XEH_preInit.sqf +++ b/addons/advanced_ballistics/XEH_preInit.sqf @@ -13,5 +13,7 @@ PREP(displayProtractor); PREP(handleFired); PREP(initializeTerrainExtension); PREP(initModuleSettings); +PREP(readAmmoDataFromConfig); +PREP(readWeaponDataFromConfig); ADDON = true; diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 5862786228..73c7a28f32 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -19,7 +19,7 @@ */ #include "script_component.hpp" -private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_AmmoCacheIndex", "_AmmoCacheEntry", "_WeaponCacheIndex", "_WeaponCacheEntry", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_ammoTempMuzzleVelocityShifts", "_muzzleVelocityTable", "_barrelLengthTable", "_barrelLength", "_bulletMass", "_bulletLength", "_airFriction", "_dragModel", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ballisticCoefficients", "_velocityBoundaries"]; +private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_AmmoCacheEntry", "_WeaponCacheEntry", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_ammoTempMuzzleVelocityShifts", "_muzzleVelocityTable", "_barrelLengthTable", "_barrelLength", "_bulletMass", "_bulletLength", "_airFriction", "_dragModel", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ballisticCoefficients", "_velocityBoundaries"]; _unit = _this select 0; _weapon = _this select 1; _mode = _this select 3; @@ -54,69 +54,14 @@ if (_abort || !(GVAR(extensionAvailable))) exitWith { [_bullet, getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction")] call EFUNC(winddeflection,updateTrajectoryPFH); }; -_AmmoCacheIndex = GVAR(AmmoCacheIndex) find _ammo; -if (_AmmoCacheIndex == -1) then { - _airFriction = getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction"); - _caliber = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_caliber"); - _bulletLength = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_bulletLength"); - _bulletMass = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_bulletMass"); - _transonicStabilityCoef = 0.5; - if (isNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef")) then { - _transonicStabilityCoef = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef"); - }; - _dragModel = 1; - _ballisticCoefficients = []; - _velocityBoundaries = []; - _atmosphereModel = "ICAO"; - if (isNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_dragModel")) then { - _dragModel = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_dragModel"); - if (!(_dragModel in [1, 2, 5, 6, 7, 8])) then { - _dragModel = 1; - }; - }; - if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ballisticCoefficients")) then { - _ballisticCoefficients = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ballisticCoefficients"); - }; - if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_velocityBoundaries")) then { - _velocityBoundaries = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_velocityBoundaries"); - }; - if (isText(configFile >> "CfgAmmo" >> _ammo >> "ACE_standardAtmosphere")) then { - _atmosphereModel = getText(configFile >> "CfgAmmo" >> _ammo >> "ACE_standardAtmosphere"); - }; - _ammoTempMuzzleVelocityShifts = []; - if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts")) then { - _ammoTempMuzzleVelocityShifts = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts"); - }; - _muzzleVelocityTable = []; - _barrelLengthTable = []; - if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable")) then { - _muzzleVelocityTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable"); - }; - if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengths")) then { - _barrelLengthTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengthTable"); - }; - _AmmoCacheIndex = count GVAR(AmmoCacheIndex); - GVAR(AmmoCacheIndex) pushBack _ammo; - GVAR(AmmoCacheData) pushBack [_ammo, _airFriction, _caliber, _bulletLength, _bulletMass, _transonicStabilityCoef, _dragModel, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _ammoTempMuzzleVelocityShifts, _muzzleVelocityTable, _barrelLengthTable]; +_AmmoCacheEntry = uiNamespace getVariable format[QGVAR(%1), _ammo]; +if (isNil {_AmmoCacheEntry}) then { + _AmmoCacheEntry = _ammo call FUNC(readAmmoDataFromConfig); }; -_AmmoCacheEntry = GVAR(AmmoCacheData) select _AmmoCacheIndex; - -_WeaponCacheIndex = GVAR(WeaponCacheIndex) find _weapon; -if (_WeaponCacheIndex == -1) then { - _barrelTwist = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_barrelTwist"); - _twistDirection = 1; - if (isNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_twistDirection")) then { - _twistDirection = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_twistDirection"); - if (_twistDirection != -1 && _twistDirection != 0 && _twistDirection != 1) then { - _twistDirection = 1; - }; - }; - _barrelLength = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_barrelLength"); - _WeaponCacheIndex = count GVAR(WeaponCacheIndex); - GVAR(WeaponCacheIndex) pushBack _weapon; - GVAR(WeaponCacheData) pushBack [_weapon, _barrelTwist, _twistDirection, _barrelLength]; +_WeaponCacheEntry = uiNamespace getVariable format[QGVAR(%1), _weapon]; +if (isNil {_WeaponCacheEntry}) then { + _WeaponCacheEntry = _weapon call FUNC(readWeaponDataFromConfig); }; -_WeaponCacheEntry = GVAR(WeaponCacheData) select _WeaponCacheIndex; _airFriction = _AmmoCacheEntry select 1; @@ -124,7 +69,7 @@ _bulletVelocity = velocity _bullet; _muzzleVelocity = vectorMagnitude _bulletVelocity; if (GVAR(barrelLengthInfluenceEnabled)) then { - _muzzleVelocityShift = [_WeaponCacheEntry select 3, _AmmoCacheEntry select 11, _AmmoCacheEntry select 12, _muzzleVelocity] call FUNC(calculateBarrelLengthVelocityShift); + _muzzleVelocityShift = [_WeaponCacheEntry select 2, _AmmoCacheEntry select 10, _AmmoCacheEntry select 11, _muzzleVelocity] call FUNC(calculateBarrelLengthVelocityShift); if (_muzzleVelocityShift != 0) then { _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift)); _bullet setVelocity _bulletVelocity; @@ -134,7 +79,7 @@ if (GVAR(barrelLengthInfluenceEnabled)) then { if (GVAR(ammoTemperatureEnabled)) then { _temperature = GET_TEMPERATURE_AT_HEIGHT((getPosASL _unit) select 2); - _muzzleVelocityShift = [_AmmoCacheEntry select 10, _temperature] call FUNC(calculateAmmoTemperatureVelocityShift); + _muzzleVelocityShift = [_AmmoCacheEntry select 9, _temperature] call FUNC(calculateAmmoTemperatureVelocityShift); if (_muzzleVelocityShift != 0) then { _bulletVelocity = _bulletVelocity vectorAdd ((vectorNormalized _bulletVelocity) vectorMultiply (_muzzleVelocityShift)); _bullet setVelocity _bulletVelocity; @@ -155,10 +100,10 @@ if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then { }; }; -_caliber = _AmmoCacheEntry select 2; -_bulletLength = _AmmoCacheEntry select 3; -_bulletMass = _AmmoCacheEntry select 4; -_barrelTwist = _WeaponCacheEntry select 1; +_caliber = _AmmoCacheEntry select 1; +_bulletLength = _AmmoCacheEntry select 2; +_bulletMass = _AmmoCacheEntry select 3; +_barrelTwist = _WeaponCacheEntry select 0; _stabilityFactor = 1.5; if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) then { @@ -169,7 +114,7 @@ if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) th GVAR(currentbulletID) = (GVAR(currentbulletID) + 1) % 10000; -"ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _AmmoCacheEntry select 1, _AmmoCacheEntry select 7, _AmmoCacheEntry select 8, _AmmoCacheEntry select 9, _AmmoCacheEntry select 6, _stabilityFactor, _WeaponCacheEntry select 2, _muzzleVelocity, _AmmoCacheEntry select 5, getPosASL _bullet, EGVAR(weather,Latitude), EGVAR(weather,currentTemperature), EGVAR(weather,Altitude), EGVAR(weather,currentHumidity), overcast, floor(time), time - floor(time)]; +"ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _AmmoCacheEntry select 0, _AmmoCacheEntry select 6, _AmmoCacheEntry select 7, _AmmoCacheEntry select 8, _AmmoCacheEntry select 5, _stabilityFactor, _WeaponCacheEntry select 1, _muzzleVelocity, _AmmoCacheEntry select 4, getPosASL _bullet, EGVAR(weather,Latitude), EGVAR(weather,currentTemperature), EGVAR(weather,Altitude), EGVAR(weather,currentHumidity), overcast, floor(time), time - floor(time)]; [{ private ["_args", "_index", "_bullet", "_caliber", "_bulletTraceVisible", "_bulletVelocity", "_bulletPosition"]; diff --git a/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf b/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf new file mode 100644 index 0000000000..7ff94387d1 --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf @@ -0,0 +1,64 @@ +/* + * Author: Ruthberg + * + * Reads the ammo class config and updates the config cache + * + * Arguments: + * 0: ammo - classname + * + * Return Value: + * 0: [_airFriction, _caliber, _bulletLength, _bulletMass, _transonicStabilityCoef, _dragModel, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _ammoTempMuzzleVelocityShifts, _muzzleVelocityTable, _barrelLengthTable] + * + * Return value: + * None + */ +#include "script_component.hpp" + +private ["_ammo", "_airFriction", "_caliber", "_bulletLength", "_bulletMass", "_transonicStabilityCoef", "_dragModel", "_ballisticCoefficients", "_velocityBoundaries", "_atmosphereModel", "_ammoTempMuzzleVelocityShifts", "_muzzleVelocityTable", "_barrelLengthTable", "_result"]; +_ammo = _this; + +_airFriction = getNumber(configFile >> "CfgAmmo" >> _ammo >> "airFriction"); +_caliber = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_caliber"); +_bulletLength = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_bulletLength"); +_bulletMass = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_bulletMass"); +_transonicStabilityCoef = 0.5; +if (isNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef")) then { + _transonicStabilityCoef = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_transonicStabilityCoef"); +}; +_dragModel = 1; +_ballisticCoefficients = []; +_velocityBoundaries = []; +_atmosphereModel = "ICAO"; +if (isNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_dragModel")) then { + _dragModel = getNumber(configFile >> "CfgAmmo" >> _ammo >> "ACE_dragModel"); + if (!(_dragModel in [1, 2, 5, 6, 7, 8])) then { + _dragModel = 1; + }; +}; +if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ballisticCoefficients")) then { + _ballisticCoefficients = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ballisticCoefficients"); +}; +if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_velocityBoundaries")) then { + _velocityBoundaries = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_velocityBoundaries"); +}; +if (isText(configFile >> "CfgAmmo" >> _ammo >> "ACE_standardAtmosphere")) then { + _atmosphereModel = getText(configFile >> "CfgAmmo" >> _ammo >> "ACE_standardAtmosphere"); +}; +_ammoTempMuzzleVelocityShifts = []; +if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts")) then { + _ammoTempMuzzleVelocityShifts = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShifts"); +}; +_muzzleVelocityTable = []; +_barrelLengthTable = []; +if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable")) then { + _muzzleVelocityTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable"); +}; +if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengths")) then { + _barrelLengthTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengthTable"); +}; + +_result = [_airFriction, _caliber, _bulletLength, _bulletMass, _transonicStabilityCoef, _dragModel, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _ammoTempMuzzleVelocityShifts, _muzzleVelocityTable, _barrelLengthTable]; + +uiNamespace setVariable [format[QGVAR(%1), _ammo], _result]; + +_result diff --git a/addons/advanced_ballistics/functions/fnc_readWeaponDataFromConfig.sqf b/addons/advanced_ballistics/functions/fnc_readWeaponDataFromConfig.sqf new file mode 100644 index 0000000000..cbf8731336 --- /dev/null +++ b/addons/advanced_ballistics/functions/fnc_readWeaponDataFromConfig.sqf @@ -0,0 +1,34 @@ +/* + * Author: Ruthberg + * + * Reads the weapon class config and updates the config cache + * + * Arguments: + * 0: ammo - classname + * + * Return Value: + * 0: [_barrelTwist, _twistDirection, _barrelLength] + * + * Return value: + * None + */ +#include "script_component.hpp" + +private ["_weapon", "_barrelTwist", "_twistDirection", "_barrelLength", "_result"]; +_weapon = _this; + +_barrelTwist = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_barrelTwist"); +_twistDirection = 1; +if (isNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_twistDirection")) then { + _twistDirection = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_twistDirection"); + if (_twistDirection != -1 && _twistDirection != 0 && _twistDirection != 1) then { + _twistDirection = 1; + }; +}; +_barrelLength = getNumber(configFile >> "CfgWeapons" >> _weapon >> "ACE_barrelLength"); + +_result = [_barrelTwist, _twistDirection, _barrelLength]; + +uiNamespace setVariable [format[QGVAR(%1), _weapon], _result]; + +_result From 0a9dbfba871a892b14466dcd50db4004af96ef6a Mon Sep 17 00:00:00 2001 From: ulteq Date: Fri, 8 May 2015 18:47:17 +0200 Subject: [PATCH 369/478] Privates cleanup --- addons/advanced_ballistics/functions/fnc_handleFired.sqf | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 73c7a28f32..5404953bd0 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -19,7 +19,7 @@ */ #include "script_component.hpp" -private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_AmmoCacheEntry", "_WeaponCacheEntry", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_atmosphereModel", "_ammoTempMuzzleVelocityShifts", "_muzzleVelocityTable", "_barrelLengthTable", "_barrelLength", "_bulletMass", "_bulletLength", "_airFriction", "_dragModel", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_barrelTwist", "_twistDirection", "_stabilityFactor", "_transonicStabilityCoef", "_ballisticCoefficients", "_velocityBoundaries"]; +private ["_unit", "_weapon", "_mode", "_ammo", "_magazine", "_caliber", "_bullet", "_abort", "_AmmoCacheEntry", "_WeaponCacheEntry", "_opticsName", "_opticType", "_bulletTraceVisible", "_temperature", "_barometricPressure", "_bulletMass", "_bulletLength", "_muzzleVelocity", "_muzzleVelocityShift", "_bulletVelocity", "_bulletSpeed", "_bulletLength", "_barrelTwist", "_stabilityFactor"]; _unit = _this select 0; _weapon = _this select 1; _mode = _this select 3; @@ -63,8 +63,6 @@ if (isNil {_WeaponCacheEntry}) then { _WeaponCacheEntry = _weapon call FUNC(readWeaponDataFromConfig); }; -_airFriction = _AmmoCacheEntry select 1; - _bulletVelocity = velocity _bullet; _muzzleVelocity = vectorMagnitude _bulletVelocity; From 24505f59e16559b6eb176f6843a43aa83e800a74 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 19:27:42 +0200 Subject: [PATCH 370/478] Add option to stringtablediag to only show markdown --- tools/stringtablediag.py | 44 ++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/tools/stringtablediag.py b/tools/stringtablediag.py index c4aab0b104..8cd585ac2a 100755 --- a/tools/stringtablediag.py +++ b/tools/stringtablediag.py @@ -57,14 +57,16 @@ def main(): projectpath = os.path.dirname(os.path.dirname(scriptpath)) projectpath = os.path.join(projectpath, "addons") - print("#########################") - print("# Stringtable Diag Tool #") - print("#########################") + if "--markdown" not in sys.argv: + print("#########################") + print("# Stringtable Diag Tool #") + print("#########################") languages = get_all_languages(projectpath) - print("\nLanguages present in the repo:") - print(", ".join(languages)) + if "--markdown" not in sys.argv: + print("\nLanguages present in the repo:") + print(", ".join(languages)) keysum = 0 localizedsum = list(map(lambda x: 0, languages)) @@ -76,31 +78,33 @@ def main(): if keynumber == 0: continue - print("\n# " + module) + if "--markdown" not in sys.argv: + print("\n# " + module) keysum += keynumber for i in range(len(localized)): - print(" %s %s / %i" % ((languages[i]+":").ljust(10), str(localized[i]).ljust(3), keynumber)) + if "--markdown" not in sys.argv: + print(" %s %s / %i" % ((languages[i]+":").ljust(10), str(localized[i]).ljust(3), keynumber)) localizedsum[i] += localized[i] if localized[i] < keynumber: missing[i].append(module) - print("\n###########") - print("# RESULTS #") - print("###########") + if "--markdown" not in sys.argv: + print("\n###########") + print("# RESULTS #") + print("###########") + print("\nTotal number of keys: %i\n" % (keysum)) - print("\nTotal number of keys: %i\n" % (keysum)) + for i in range(len(languages)): + if localizedsum[i] == keysum: + print("%s No missing stringtable entries." % ((languages[i] + ":").ljust(12))) + else: + print("%s %s missing stringtable entry/entries." % ((languages[i] + ":").ljust(12), str(keysum - localizedsum[i]).rjust(4)), end="") + print(" ("+", ".join(missing[i])+")") - for i in range(len(languages)): - if localizedsum[i] == keysum: - print("%s No missing stringtable entries." % ((languages[i] + ":").ljust(12))) - else: - print("%s %s missing stringtable entry/entries." % ((languages[i] + ":").ljust(12), str(keysum - localizedsum[i]).rjust(4)), end="") - print(" ("+", ".join(missing[i])+")") + print("\n\n### MARKDOWN ###\n") - print("\n\n### MARKDOWN ###") - - print("\nTotal number of keys: %i\n" % (keysum)) + print("Total number of keys: %i\n" % (keysum)) print("| Language | Missing Entries | Relevant Modules | % done |") print("|----------|----------------:|------------------|--------|") From 6d44889292e093d032ebfaba0debfd630507841f Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 19:27:58 +0200 Subject: [PATCH 371/478] Add deploy script --- tools/deploy.py | 101 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100755 tools/deploy.py diff --git a/tools/deploy.py b/tools/deploy.py new file mode 100755 index 0000000000..baefbf44e2 --- /dev/null +++ b/tools/deploy.py @@ -0,0 +1,101 @@ +#!/usr/bin/env python3 + +#################################### +# ACE3 automatic deployment script # +# ================================ # +# This is not meant to be run # +# directly! # +#################################### + +import os +import sys +import shutil +import traceback +import subprocess as sp +from pygithub3 import Github + + +TRANSLATIONISSUE = 367 +TRANSLATIONBODY = """**How to translate ACE3:** +https://github.com/acemod/ACE3/blob/master/documentation/development/how-to-translate-ace3.md + +{} +""" + +REPOUSER = "acemod" +REPONAME = "ACE3" +REPOPATH = "{}/{}".format(REPOUSER,REPONAME) + +USERNAME = "ACE3 Travis" +USEREMAIL = "travis@ace3mod.com" + + +def update_translations(token): + diag = sp.check_output(["python3", "tools/stringtablediag.py", "--markdown"]) + diag = str(diag, "utf-8") + repo = Github(token).get_repo(REPOPATH) + issue = repo.get_issue(TRANSLATIONISSUE) + issue.edit(body=TRANSLATIONBODY.format(diag)) + + +def deploy_documentation(token): + devnull = open(os.devnull, "w") + url = "https://{}@github.com/{}".format(token, REPOPATH) + + sp.check_call(["git", "clone", url, "out", "--depth", "10", "--branch", "gh-pages"], stdout=devnull, stderr=devnull) + os.chdir("out") + + sp.check_call(["git", "config", "user.name", USERNAME]) + sp.check_call(["git", "config", "user.email", USEREMAIL]) + + for root, dirs, files in os.walk("../documentation", topdown=False): + target = root.replace("../documentation", "wiki") + if root == "../documentation": + continue + for name in files: + print("{} => {}".format(os.path.join(root, name), os.path.join(target, name))) + shutil.copyfile(os.path.join(root, name), os.path.join(target, name)) + + sp.check_call(["git", "add", "--all", "."]) + sp.check_call(["git", "commit", "-m", "Automatic gh-pages deployment"]) + sp.check_call(["git", "push", "origin", "gh-pages"], stdout=devnull, stderr=devnull) + + os.chdir("..") + + +def main(): + print("Obtaining token ...") + try: + token = os.environ["GH_TOKEN"] + except: + print("Could not obtain token.") + print(traceback.format_exc()) + return 1 + else: + print("done.") + + print("\nUpdating translation issue ...") + try: + update_translations(token) + except: + print("Failed to update translation issue.") + print(traceback.format_exc()) + return 1 + else: + print("done.") + + print("\nDeploying documentation ...") + try: + deploy_documentation(token) + except: + print("Failed to deploy documentation.") + print(traceback.format_exc()) + return 1 + else: + print("done.") + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) From b1f16132e561814278d68f8ff98a18a52c6e8f77 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 19:28:06 +0200 Subject: [PATCH 372/478] Add travis file --- .travis.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..65990248bf --- /dev/null +++ b/.travis.yml @@ -0,0 +1,11 @@ +language: python +python: + - "3.4" +before_script: + - pip install pygithub + - pip install pygithub3 +script: + - python3 tools/deploy.py +env: + global: + - secure: "KcJQbknBOdC5lA4nFGKPXVRVIGLDXDRzC8XkHuXJCE9pIR/wbxbkvx8fHKcC6SC9eHgzneC3+o4m4+CjIbVvIwDgslRbJ8Y59i90ncONmdoRx1HUYHwuYWVZm9HJFjCsIbrEqhSyyKS+PB3WZVOLbErtNHsgS8f43PTh5Ujg7Vg=" From 38b03e2b180c9236bc58c49e3a157aee0cdc224f Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 19:37:14 +0200 Subject: [PATCH 373/478] Only commit if there's something to do --- tools/deploy.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/deploy.py b/tools/deploy.py index baefbf44e2..501987810a 100755 --- a/tools/deploy.py +++ b/tools/deploy.py @@ -57,8 +57,12 @@ def deploy_documentation(token): shutil.copyfile(os.path.join(root, name), os.path.join(target, name)) sp.check_call(["git", "add", "--all", "."]) - sp.check_call(["git", "commit", "-m", "Automatic gh-pages deployment"]) - sp.check_call(["git", "push", "origin", "gh-pages"], stdout=devnull, stderr=devnull) + + filenum = sp.check_output(["git", "status", "--porcelain"]) + filenum = len(str(filenum, "utf-8").split("\n")) - 1 + if filenum > 0: + sp.check_call(["git", "commit", "-m", "Automatic gh-pages deployment"]) + sp.check_call(["git", "push", "origin", "gh-pages"], stdout=devnull, stderr=devnull) os.chdir("..") From a5fb8a1a4f7fe5cbbe81d0ec1491a4de9b13b693 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 19:37:25 +0200 Subject: [PATCH 374/478] Restore missing line --- .../development/setting-up-the-development-environment.md | 1 + 1 file changed, 1 insertion(+) diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index 14d5e067c9..8a572c1ec6 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -14,6 +14,7 @@ This page describes how you can setup your development environment for ACE3, all - Arma 3 (duh) - A proper installation of the Arma 3 Tools (available on Steam) - A properly setup P-drive +- Run ArmA 3 and Arma 3 Tools directly from steam once to install registry entries (and again after every update) - Python 3.x, available [here](http://www.python.org) - The following Mikero Tools (available [here](https://dev.withsix.com/projects/mikero-pbodll/files)): DePBO, Rapify, MakePBO, PBOProject - A properly setup PATH variable (containing Python and the Mikero tools) From e674229dde4d49dd51d5e23e4fe637e365c6e52c Mon Sep 17 00:00:00 2001 From: Glowbal Date: Fri, 8 May 2015 20:10:40 +0200 Subject: [PATCH 375/478] enabledFor > enableFor --- addons/medical/XEH_postInit.sqf | 2 -- addons/medical/functions/fnc_hasMedicalEnabled.sqf | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 1bb0e744bc..f8129e5e78 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -2,8 +2,6 @@ #include "script_component.hpp" -GVAR(enabledFor) = 1; // TODO remove this once we implement settings. Just here to get the vitals working. - GVAR(heartBeatSounds_Fast) = ["ACE_heartbeat_fast_1", "ACE_heartbeat_fast_2", "ACE_heartbeat_fast_3"]; GVAR(heartBeatSounds_Normal) = ["ACE_heartbeat_norm_1", "ACE_heartbeat_norm_2"]; GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; diff --git a/addons/medical/functions/fnc_hasMedicalEnabled.sqf b/addons/medical/functions/fnc_hasMedicalEnabled.sqf index ee433c1715..fb5a45fe70 100644 --- a/addons/medical/functions/fnc_hasMedicalEnabled.sqf +++ b/addons/medical/functions/fnc_hasMedicalEnabled.sqf @@ -15,7 +15,7 @@ _unit = _this select 0; _medicalEnabled = _unit getvariable QGVAR(enableMedical); if (isnil "_medicalEnabled") exitwith { - (((GVAR(enabledFor) == 0 && (isPlayer _unit || (_unit getvariable [QEGVAR(common,isDeadPlayer), false])))) || (GVAR(enabledFor) == 1)); + (((GVAR(enableFor) == 0 && (isPlayer _unit || (_unit getvariable [QEGVAR(common,isDeadPlayer), false])))) || (GVAR(enableFor) == 1)); }; _medicalEnabled; From 7294056da0b2412c7c3443fef670cfe4f31d3481 Mon Sep 17 00:00:00 2001 From: commy2 Date: Fri, 8 May 2015 20:13:20 +0200 Subject: [PATCH 376/478] keep ai tweaks except of relaod --- addons/ai/CfgAISkill.hpp | 3 ++- addons/ai/config.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/ai/CfgAISkill.hpp b/addons/ai/CfgAISkill.hpp index dfa0299509..c01b5eb96e 100644 --- a/addons/ai/CfgAISkill.hpp +++ b/addons/ai/CfgAISkill.hpp @@ -21,7 +21,8 @@ class CfgAISkill { courage[] = {0,0, 1,0.7}; // {0,0,1,1}; endurance[] = {0,0, 1,0.7}; // {0,0,1,1}; general[] = {0,0, 1,0.9}; // {0,0,1,1}; - reloadSpeed[] = {0,0, 1,0.8}; // {0,0,1,1}; + // apparently breaks rapid firing in single fire mode for players + //reloadSpeed[] = {0,0, 1,0.8}; // {0,0,1,1}; spotDistance[] = {0,0, 1,0.9}; // {0,0.2,1,0.4}; spotTime[] = {0,0, 1,0.7}; // {0,0,1,0.7}; }; diff --git a/addons/ai/config.cpp b/addons/ai/config.cpp index 0d5f7c62c3..fdcb6afe9d 100644 --- a/addons/ai/config.cpp +++ b/addons/ai/config.cpp @@ -12,5 +12,5 @@ class CfgPatches { }; }; -//#include "CfgAISkill.hpp" +#include "CfgAISkill.hpp" #include "CfgWeapons.hpp" From b7b6cb60860ec724f56ecbfcd360c0c6e3623bad Mon Sep 17 00:00:00 2001 From: jaynus Date: Fri, 8 May 2015 11:27:17 -0700 Subject: [PATCH 377/478] Fixed: Adds an enabler config to ace_frag, disabling the PFH for any round not enabled. --- addons/frag/CfgAmmo.hpp | 30 +++++++++++++++++++++++++++++ addons/frag/functions/fnc_fired.sqf | 6 +++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index ac20dabf5e..19414965b2 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -10,6 +10,8 @@ class CfgAmmo { //}; class Bo_GBU12_LGB; class ACE_GBU12 : Bo_GBU12_LGB { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 140000; GVAR(charge) = 87000; @@ -23,6 +25,8 @@ class CfgAmmo { class GrenadeBase; class Grenade; class GrenadeHand: Grenade { + GVAR(enabled) = 1; + GVAR(skip) = 0; GVAR(force) = 1; // This is a good high-drag frag type for grenades. @@ -46,6 +50,8 @@ class CfgAmmo { class RocketBase; class R_Hydra_HE: RocketBase { // Source: http://fas.org/man/dod-101/sys/missile/hydra-70.htm + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 3850; GVAR(charge) = 1040; @@ -66,6 +72,8 @@ class CfgAmmo { class BombCore; class Bo_Mk82: BombCore { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 140000; GVAR(charge) = 87000; @@ -75,6 +83,8 @@ class CfgAmmo { class G_40mm_HE: GrenadeBase { // Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M441 + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_tiny_HD"}; GVAR(metal) = 200; GVAR(charge) = 32; @@ -83,6 +93,8 @@ class CfgAmmo { }; class G_40mm_HEDP: G_40mm_HE { // Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M433 + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_tiny_HD"}; GVAR(metal) = 200; GVAR(charge) = 45; @@ -107,6 +119,8 @@ class CfgAmmo { class Sh_125mm_HEAT; class Sh_155mm_AMOS: ShellBase { // Source: http://www.globalsecurity.org/military/systems/munitions/m795.htm + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 36000; GVAR(charge) = 9979; @@ -115,6 +129,8 @@ class CfgAmmo { }; class Sh_82mm_AMOS : Sh_155mm_AMOS { // Source: http://www.arsenal-bg.com/defense_police/mortar_bombs_82mm.htm + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 3200; GVAR(charge) = 420; @@ -122,6 +138,8 @@ class CfgAmmo { GVAR(gurney_k) = 1/2; }; class ModuleOrdnanceMortar_F_Ammo: Sh_82mm_AMOS { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 800; GVAR(charge) = 4200; @@ -129,6 +147,8 @@ class CfgAmmo { GVAR(gurney_k) = 1/2; }; class Sh_105mm_HEAT_MP : Sh_125mm_HEAT { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 11400; GVAR(charge) = 7100; @@ -136,6 +156,8 @@ class CfgAmmo { GVAR(gurney_k) = 1/2; }; class Sh_120mm_HE : ShellBase { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 23000; GVAR(charge) = 3148; @@ -143,6 +165,8 @@ class CfgAmmo { GVAR(gurney_k) = 1/2; }; class Sh_125mm_HE: Sh_120mm_HE { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 16000; GVAR(charge) = 3200; @@ -150,6 +174,8 @@ class CfgAmmo { GVAR(gurney_k) = 1/2; }; class ModuleOrdnanceHowitzer_F_ammo: Sh_155mm_AMOS { + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"}; GVAR(metal) = 1950; GVAR(charge) = 15800; @@ -175,6 +201,8 @@ class CfgAmmo { class MissileBase; class Missile_AGM_02_F : MissileBase { // Source: http://fas.org/man/dod-101/sys/smart/agm-65.htm + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 56250; GVAR(charge) = 39000; @@ -183,6 +211,8 @@ class CfgAmmo { }; class M_Hellfire_AT: MissileBase { // Source: http://www.designation-systems.net/dusrm/m-114.html + GVAR(enabled) = 1; + GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"}; GVAR(metal) = 8000; GVAR(charge) = 2400; diff --git a/addons/frag/functions/fnc_fired.sqf b/addons/frag/functions/fnc_fired.sqf index 7ed717c2b8..9b89e40897 100644 --- a/addons/frag/functions/fnc_fired.sqf +++ b/addons/frag/functions/fnc_fired.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -private ["_gun", "_type", "_round", "_doFragTrack", "_doSpall", "_spallTrack", "_spallTrackID"]; +private ["_enabled", "_gun", "_type", "_round", "_doFragTrack", "_doSpall", "_spallTrack", "_spallTrackID"]; if (!GVAR(enabled)) exitWith {}; @@ -8,10 +8,14 @@ _gun = _this select 0; _type = _this select 4; _round = _this select 6; +_enabled = getNumber (configFile >> "CfgAmmo" >> _type >> QGVAR(enabled)); +if(_enabled < 1) exitWith {}; + if(_round in GVAR(blackList)) exitWith { GVAR(blackList) = GVAR(blackList) - [_round]; }; + _doFragTrack = false; if(_gun == ACE_player) then { _doFragTrack = true; From a4c710bd28c5822912f46088e0bd92ce9620408d Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 8 May 2015 13:36:24 -0500 Subject: [PATCH 378/478] Switch scopes to use firedBIS --- addons/scopes/CfgEventHandlers.hpp | 4 ++-- addons/scopes/functions/fnc_firedEH.sqf | 27 ++++++++++++++----------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/addons/scopes/CfgEventHandlers.hpp b/addons/scopes/CfgEventHandlers.hpp index b3d70a2861..5c23e0c462 100644 --- a/addons/scopes/CfgEventHandlers.hpp +++ b/addons/scopes/CfgEventHandlers.hpp @@ -10,10 +10,10 @@ class Extended_PostInit_EventHandlers { }; }; -class Extended_Fired_EventHandlers { +class Extended_FiredBIS_EventHandlers { class CAManBase { class ADDON { - fired = QUOTE(_this call FUNC(firedEH);); + firedBIS = QUOTE(_this call FUNC(firedEH);); }; }; }; diff --git a/addons/scopes/functions/fnc_firedEH.sqf b/addons/scopes/functions/fnc_firedEH.sqf index 8753019931..1b692e340a 100644 --- a/addons/scopes/functions/fnc_firedEH.sqf +++ b/addons/scopes/functions/fnc_firedEH.sqf @@ -3,12 +3,13 @@ * Adjusts the flight path of the bullet according to the zeroing * * Argument: - * 0: Unit - * 1: Weapon - * 3: Muzzle - * 4: Magazine - * 5: Ammo - * 6: Projectile + * 0: unit - Object the event handler is assigned to + * 1: weapon - Fired weapon + * 2: muzzle - Muzzle that was used + * 3: mode - Current mode of the fired weapon + * 4: ammo - Ammo used + * 5: magazine - magazine name which was used + * 6: projectile - Object of the projectile that was shot * * Return value: * None @@ -20,23 +21,25 @@ private ["_unit", "_adjustment", "_weapon", "_projectile", "_weaponIndex", "_zeroing", "_adjustment"]; _unit = _this select 0; +_weapon = _this select 1; +_projectile = _this select 6; // Exit if the unit doesn't have any adjusment variable -_adjustment = _unit getVariable QGVAR(Adjustment); -if (isNil "_adjustment") exitWith {}; +_adjustment = _unit getVariable [QGVAR(Adjustment), []]; +if (_adjustment isEqualTo []) exitWith {}; // Exit if the unit isn't a player if !([_unit] call EFUNC(common,isPlayer)) exitWith {}; -_weapon = _this select 1; -_projectile = _this select 5; - _weaponIndex = [_unit, currentWeapon _unit] call EFUNC(common,getWeaponIndex); if (_weaponIndex < 0) exitWith {}; _zeroing = _adjustment select _weaponIndex; +//Exit if adjusment is zero: +if (_zeroing isEqualTo [0,0,0]) exitWith {}; + // Convert zeroing from mils to degrees -_zeroing = [_zeroing, {_this * 0.05625}] call EFUNC(common,map); +_zeroing = _zeroing vectorMultiply 0.05625; [_projectile, (_zeroing select 1), (_zeroing select 0) + (_zeroing select 2), 0] call EFUNC(common,changeProjectileDirection); From 53360ff0a736dc5f3de4c4885af42476d2bae4b3 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Fri, 8 May 2015 20:40:40 +0200 Subject: [PATCH 379/478] Add some more descriptive output to deploy.py --- tools/deploy.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/deploy.py b/tools/deploy.py index 501987810a..b9fade83a0 100755 --- a/tools/deploy.py +++ b/tools/deploy.py @@ -62,7 +62,10 @@ def deploy_documentation(token): filenum = len(str(filenum, "utf-8").split("\n")) - 1 if filenum > 0: sp.check_call(["git", "commit", "-m", "Automatic gh-pages deployment"]) + print("Pushing changes ...") sp.check_call(["git", "push", "origin", "gh-pages"], stdout=devnull, stderr=devnull) + else: + print("No changes.") os.chdir("..") From b57f731dd06facd0531685ac3d753e66252badd6 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 04:59:10 +0200 Subject: [PATCH 380/478] disable laserpointer inheritance for rhs --- .../laserpointer/functions/fnc_switchLaserLightMode.sqf | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf b/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf index f996d6b270..423090796f 100644 --- a/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf +++ b/addons/laserpointer/functions/fnc_switchLaserLightMode.sqf @@ -29,11 +29,17 @@ _pointer = switch (_weapon) do { if (_pointer == "") exitWith {}; +private "_config"; +_config = configFile >> "CfgWeapons" >> _pointer; + private "_nextPointer"; -_nextPointer = getText (configFile >> "CfgWeapons" >> _pointer >> "ACE_nextModeClass"); +_nextPointer = getText (_config >> "ACE_nextModeClass"); if (_nextPointer == "") exitWith {}; +// disable inheritance for this entry, because addons claim this as a base class for convenience +if !((_config >> "ACE_nextModeClass") in configProperties [_config, "true", false]) exitWith {}; + private ["_description", "_picture"]; _description = getText (configFile >> "CfgWeapons" >> _nextPointer >> "ACE_modeDescription"); From 818d6c49003416920596aa3df3b72390a5a28db3 Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 9 May 2015 05:12:29 +0200 Subject: [PATCH 381/478] Possibly fixed FUNC Macros list in Coding Guidelines --- documentation/development/coding-guidelines.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/documentation/development/coding-guidelines.md b/documentation/development/coding-guidelines.md index 04d6adba80..d2ae7b8d28 100644 --- a/documentation/development/coding-guidelines.md +++ b/documentation/development/coding-guidelines.md @@ -121,7 +121,7 @@ Every function should have a header of the following format: ## 4. Macro Usage ### 4.1 Module/PBO specific Macro Usage -The family of `GVAR` macro's define global variable strings or constants for use within a module. Please use these to make sure we follow naming conventions across all modules and also prevent duplicate/overwriting between variables in different modules. The macro family expands as follows, for the example of the module 'balls' +The family of `GVAR` macro's define global variable strings or constants for use within a module. Please use these to make sure we follow naming conventions across all modules and also prevent duplicate/overwriting between variables in different modules. The macro family expands as follows, for the example of the module 'balls': * `GVAR(face)` is `ace_balls_face` * `QGVAR(face)` is `"ace_balls_face"` @@ -130,7 +130,8 @@ The family of `GVAR` macro's define global variable strings or constants for use * `QEGVAR(leg,face)` is `"ace_leg_face"` -There also exists the FUNC family of Macros +There also exists the FUNC family of Macros: + * `FUNC(face)` is `ace_balls_fnc_face` or the call trace wrapper for that function. * `EFUNC(balls,face)` is `ace_balls_fnc_face` or the call trace wrapper for that function. * `EFUNC(leg,face)` is `ace_leg_fnc_face` or the call trace wrapper for that function. From ddf32052c4cd9f1a8460048c607cf47d96369487 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 08:02:13 +0200 Subject: [PATCH 382/478] fix removeWhiteSpace function name used `string_removeWhiteSpace` but had to be `stringRemoveWhiteSpace` due to 612fa69c1c4cf7ed8b81c5086dc90877d0eda400 --- .../functions/fnc_moduleAmbianceSound.sqf | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf b/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf index c02d19aa5f..6e5643754c 100644 --- a/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf +++ b/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf @@ -26,39 +26,39 @@ _activated = [_this,2,true,[true]] call BIS_fnc_param; // We only play this on the locality of the logic, since the sounds are broadcasted across the network if (_activated && local _logic) then { _ambianceSounds = []; - _unparsedSounds = _logic getvariable ["soundFiles", ""]; - _minimalDistance = (_logic getvariable ["minimalDistance", 400]) max 1; - _maximalDistance = (_logic getvariable ["maximalDistance", 10]) max _minimalDistance; - _minDelayBetweensounds = (_logic getvariable ["minimalDelay", 10]) max 1; - _maxDelayBetweenSounds = (_logic getvariable ["maximalDelay", 170]) max _minDelayBetweensounds; - _volume = (_logic getvariable ["soundVolume", 30]) max 1; - _followPlayers = _logic getvariable ["followPlayers", false]; + _unparsedSounds = _logic getVariable ["soundFiles", ""]; + _minimalDistance = (_logic getVariable ["minimalDistance", 400]) max 1; + _maximalDistance = (_logic getVariable ["maximalDistance", 10]) max _minimalDistance; + _minDelayBetweensounds = (_logic getVariable ["minimalDelay", 10]) max 1; + _maxDelayBetweenSounds = (_logic getVariable ["maximalDelay", 170]) max _minDelayBetweensounds; + _volume = (_logic getVariable ["soundVolume", 30]) max 1; + _followPlayers = _logic getVariable ["followPlayers", false]; _splittedList = [_unparsedSounds, ","] call BIS_fnc_splitString; _nilCheckPassedList = ""; { - _x = [_x] call EFUNC(common,string_removeWhiteSpace); - _splittedList set [_foreachIndex, _x]; - }foreach _splittedList; + _x = [_x] call EFUNC(common,stringRemoveWhiteSpace); + _splittedList set [_forEachIndex, _x]; + }forEach _splittedList; _soundPath = [(str missionConfigFile), 0, -15] call BIS_fnc_trimString; { - if (isclass (missionConfigFile >> "CfgSounds" >> _x)) then { - _ambianceSounds pushback (_soundPath + (getArray(missionConfigFile >> "CfgSounds" >> _x >> "sound") select 0)); + if (isClass (missionConfigFile >> "CfgSounds" >> _x)) then { + _ambianceSounds pushBack (_soundPath + (getArray(missionConfigFile >> "CfgSounds" >> _x >> "sound") select 0)); } else { - if (isclass (configFile >> "CfgSounds" >> _x)) then { - _ambianceSounds pushback ((getArray(configFile >> "CfgSounds" >> _x >> "sound") select 0)); + if (isClass (configFile >> "CfgSounds" >> _x)) then { + _ambianceSounds pushBack ((getArray(configFile >> "CfgSounds" >> _x >> "sound") select 0)); }; }; - }foreach _splittedList; + }forEach _splittedList; - if (count _ambianceSounds == 0) exitwith {}; + if (count _ambianceSounds == 0) exitWith {}; { if !([".", _x, true] call BIS_fnc_inString) then { - _ambianceSounds set [_foreachIndex, _x + ".wss"]; + _ambianceSounds set [_forEachIndex, _x + ".wss"]; }; - }foreach _ambianceSounds; + }forEach _ambianceSounds; [{ private ["_args", "_logic", "_ambianceSounds", "_minimalDistance", "_maximalDistance", "_minDelayBetweensounds", "_maxDelayBetweenSounds", "_volume", "_followPlayers","_lastTimePlayed", "_newPos"]; @@ -68,7 +68,7 @@ if (_activated && local _logic) then { _maxDelayBetweenSounds = _args select 5; _lastTimePlayed = _args select 8; - if (!alive _logic) exitwith { + if (!alive _logic) exitWith { [(_this select 1)] call cba_fnc_removePerFrameHandler; }; From fb284faa6611ebbdfcff9a7954223105b06de426 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 08:18:44 +0200 Subject: [PATCH 383/478] adjust ambiance sound module description and docs --- addons/missionmodules/CfgVehicles.hpp | 14 +++++++------- documentation/missionmaker/modules.md | 25 ++++++++++++++++--------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/addons/missionmodules/CfgVehicles.hpp b/addons/missionmodules/CfgVehicles.hpp index 6a1dc71705..35a937c660 100644 --- a/addons/missionmodules/CfgVehicles.hpp +++ b/addons/missionmodules/CfgVehicles.hpp @@ -19,31 +19,31 @@ class CfgVehicles { class Arguments { class soundFiles { displayName = "Sounds"; - description = "Classnames of the ambiance sounds played. Seperated by ','. "; + description = "Class names of the ambiance sounds to be played. Seperated by ','"; typeName = "STRING"; defaultValue = ""; }; class minimalDistance { displayName = "Minimal Distance"; - description = "Minimal Distance"; + description = "Used for calculating a random position and sets the minimal distance between the players and the played sound file(s)"; typeName = "NUMBER"; defaultValue = 400; }; class maximalDistance { - displayName = "Maximal Distance"; - description = "Maximal Distance"; + displayName = "Maximum Distance"; + description = "Used for calculating a random position and sets the maximum distance between the players and the played sound file(s)"; typeName = "NUMBER"; defaultValue = 900; }; class minimalDelay { displayName = "Minimal Delay"; - description = "Minimal Delay between sounds played"; + description = "Minimal delay between sounds played"; typeName = "NUMBER"; defaultValue = 10; }; class maximalDelay { - displayName = "Maximal Delay"; - description = "Maximal Delay between sounds played"; + displayName = "Maximum Delay"; + description = "Maximum delay between sounds played"; typeName = "NUMBER"; defaultValue = 170; }; diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index 9cb17e001f..a6d75531dc 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -501,25 +501,32 @@ Whether or not the objects in the list will be a medical vehicle.
    ### 3.1 Ambiance Sounds -Used for ambiance sounds loop (synced across MP) +Used for ambiance sounds loop (synced across MP). + +This module randomizes the time when the sound file is played and the position where the sound file is played (If "Follow Players" is set to No). +`Minimal Distance` and `Maximal Distance` influence the position from where the sound file is played. Setting both values to 0 forces the module to play the sound from where it was placed in the editor. +`Minimal Delay` and `Maximal Delay` work in a similar fashion but are used to randomize when the sound file is played. Setting both values to 0 plays the sound from mission start. **Settings:** 1. **Sounds (String)**
    -Class names of the ambiance sounds played. Separated by ','.
    +Class names of the ambiance sounds played. Separated by ','. (Example: `radio_track_01, electricity_loop`).
    `Default value: ""` 2. **Minimal Distance (Number)**
    -Minimal Distance (in meters)
    +Used for calculating a random position and sets the minimal distance between the players and the played sound file(s) (in meters)
    `Default value: 400` -3. **Minimal Delay (Number)**
    -Minimal Delay (in seconds) between sounds played
    +3. **Maximum Distance (Number)**
    +Used for calculating a random position and sets the maximum distance between the players and the played sound file(s) (in meters)
    +`Default value: 900` +4. **Minimal Delay (Number)**
    +Minimal delay (in seconds) between sounds played
    `Default value: 10` -4. **Maximal Delay (Number)**
    -Maximal Delay (in seconds) between sounds played
    +5. **Maximum Delay (Number)**
    +Maximum delay (in seconds) between sounds played
    `Default value: 10` -5. **Follow Players (Boolean)**
    +6. **Follow Players (Boolean)**
    Follow players. If set to false, loop will play sounds only nearby logic position.
    `Default value: No` -6. **Volume (Number)**
    +7. **Volume (Number)**
    The volume of the sounds played
    `Default value: 1` From 57131496f2b25f0ad98be39ee0a26c3325c596ea Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 13:25:19 +0200 Subject: [PATCH 384/478] check for outdated pbo files --- addons/common/XEH_postInit.sqf | 12 +---- addons/common/XEH_preInit.sqf | 1 + addons/common/functions/fnc_checkFiles.sqf | 59 ++++++++++++++++++++++ 3 files changed, 61 insertions(+), 11 deletions(-) create mode 100644 addons/common/functions/fnc_checkFiles.sqf diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 53de6b5d69..1c9155b3a2 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -84,6 +84,7 @@ if(!isServer) then { ["SEH_s", FUNC(_handleRequestSyncedEvent)] call FUNC(addEventHandler); [FUNC(syncedEventPFH), 0.5, []] call cba_fnc_addPerFrameHandler; +call FUNC(checkFiles); /***************************************************************/ /***************************************************************/ @@ -250,14 +251,3 @@ if(isMultiplayer && { time > 0 || isNull player } ) then { }; }, 0, []] call cba_fnc_addPerFrameHandler; }; - -// check dlls -{ - if (_x callExtension "version" == "") then { - private "_errorMsg"; - _errorMsg = format ["Extension %1.dll not installed.", _x]; - - diag_log text format ["[ACE] ERROR: %1", _errorMsg]; - ["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage); - }; -} forEach getArray (configFile >> "ACE_Extensions" >> "extensions"); diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index 54a5118cb0..5c2ad1e592 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -21,6 +21,7 @@ PREP(canInteract); PREP(canInteractWith); PREP(canUseWeapon); PREP(changeProjectileDirection); +PREP(checkFiles); PREP(checkPBOs); PREP(claim); PREP(closeDialogIfTargetMoves); diff --git a/addons/common/functions/fnc_checkFiles.sqf b/addons/common/functions/fnc_checkFiles.sqf new file mode 100644 index 0000000000..868882151d --- /dev/null +++ b/addons/common/functions/fnc_checkFiles.sqf @@ -0,0 +1,59 @@ +/* + * Author: commy2 + * + * Compares version numbers of PBOs and DLLs. + * + * Argument: + * 0: Mode (Number) + * + * Return value: + * None. + */ +#include "script_component.hpp" + +/////////////// +// check addons +/////////////// +private "_version"; +_version = getText (configFile >> "CfgPatches" >> "ace_main" >> "versionStr"); + +diag_log text format ["[ACE]: ACE is version %1", _version]; /////////////////////////////////////////////////////////////////////////// + +private ["_addons", "_index"]; + +_addons = activatedAddons; + +// speed up search. all ace pbos are loaded after ace_main. +_index = _addons find "ace_main"; +reverse _addons; +_addons resize (count _addons - _index); +_addons = [_addons, {_this find "ace_" == 0}] call FUNC(filter); + +{ + if (getText (configFile >> "CfgPatches" >> _x >> "versionStr") != _version) then { + private "_errorMsg"; + _errorMsg = format ["File %1.pbo is outdated.", _x]; + + diag_log text format ["[ACE] ERROR: %1", _errorMsg]; + + if (hasInterface) then { + ["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage); + }; + }; +} forEach _addons; + +/////////////// +// check dlls +/////////////// +{ + if (_x callExtension "version" == "") then { + private "_errorMsg"; + _errorMsg = format ["Extension %1.dll not installed.", _x]; + + diag_log text format ["[ACE] ERROR: %1", _errorMsg]; + + if (hasInterface) then { + ["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage); + }; + }; +} forEach getArray (configFile >> "ACE_Extensions" >> "extensions"); From 8c937a707d194347faf50b74e6abcce2aa6b187f Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 13:49:26 +0200 Subject: [PATCH 385/478] starting to fix switchunits --- addons/switchunits/functions/fnc_initPlayer.sqf | 2 -- addons/switchunits/functions/fnc_startSwitchUnits.sqf | 7 ++----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/addons/switchunits/functions/fnc_initPlayer.sqf b/addons/switchunits/functions/fnc_initPlayer.sqf index c2857f1091..67669c071c 100644 --- a/addons/switchunits/functions/fnc_initPlayer.sqf +++ b/addons/switchunits/functions/fnc_initPlayer.sqf @@ -17,8 +17,6 @@ #include "script_component.hpp" -private ["_playerUnit", "_sides"]; - PARAMS_2(_playerUnit,_sides); if (vehicle _playerUnit == _playerUnit) then { diff --git a/addons/switchunits/functions/fnc_startSwitchUnits.sqf b/addons/switchunits/functions/fnc_startSwitchUnits.sqf index ef344475b9..7985bfa094 100644 --- a/addons/switchunits/functions/fnc_startSwitchUnits.sqf +++ b/addons/switchunits/functions/fnc_startSwitchUnits.sqf @@ -16,13 +16,10 @@ #include "script_component.hpp" - -private "_player"; -_player = _this select 0; - +PARAMS_1(_player); if (GVAR(EnableSwitchUnits)) then { - private ["_sides"]; + private "_sides"; _sides = []; if(GVAR(SwitchToWest)) then {_sides pushBack west;}; From f1798aa739a66e82acdf8029f51c5b24ba03a332 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 14:05:58 +0200 Subject: [PATCH 386/478] fix switchunits --- .../functions/fnc_handleMapClick.sqf | 9 ++------- .../switchunits/functions/fnc_switchUnit.sqf | 18 +++++++++--------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/addons/switchunits/functions/fnc_handleMapClick.sqf b/addons/switchunits/functions/fnc_handleMapClick.sqf index bfe36f13ea..e8efa2640f 100644 --- a/addons/switchunits/functions/fnc_handleMapClick.sqf +++ b/addons/switchunits/functions/fnc_handleMapClick.sqf @@ -28,14 +28,9 @@ _sideNearest = []; if ([_x] call FUNC(isValidAi) && (side group _x in _sides)) then { _sideNearest pushBack _x; }; -} forEach (nearestObjects [_pos, ["Man"], 20]); - +} forEach (nearestObjects [_pos, ["Man"], 15]); if (count _sideNearest > 0) then { - private ["_switchUnit"]; - - _switchUnit = _sideNearest select 0; - [ACE_player, _switchUnit] call FUNC(switchUnit); - + [_sideNearest select 0] call FUNC(switchUnit); openMap false; }; diff --git a/addons/switchunits/functions/fnc_switchUnit.sqf b/addons/switchunits/functions/fnc_switchUnit.sqf index b1879b0999..c263bdd721 100644 --- a/addons/switchunits/functions/fnc_switchUnit.sqf +++ b/addons/switchunits/functions/fnc_switchUnit.sqf @@ -32,11 +32,11 @@ if (GVAR(EnableSafeZone)) then { _allNearestPlayers = [position _unit, GVAR(SafeZoneRadius)] call FUNC(nearestPlayers); _nearestEnemyPlayers = [_allNearestPlayers, {((side GVAR(OriginalGroup)) getFriend (side _this) < 0.6) && !(_this getVariable [QGVAR(IsPlayerControlled), false])}] call EFUNC(common,filter); - + if (count _nearestEnemyPlayers > 0) exitWith { _leave = true; }; - + }; // exitWith doesn't exit past the "if(EnableSafeZone)" block @@ -56,14 +56,14 @@ DFUNC(pfhSwitchUnit) = { private ["_args", "_unit", "_oldUnit", "_respawnEhId", "_oldOwner"]; _args = _this select 0; - + _unit = _args select 0; _oldUnit = _args select 1; - - - + + + if (local _unit) exitWith { - + _oldUnit setVariable [QGVAR(IsPlayerControlled), false, true]; _oldUnit setVariable [QGVAR(PlayerControlledName), "", true]; @@ -89,9 +89,9 @@ DFUNC(pfhSwitchUnit) = { }; [localize "STR_ACE_SwitchUnits_SwitchedUnit"] call EFUNC(common,displayTextStructured); - + [(_this select 1)] call cba_fnc_removePerFrameHandler; - + }; }; From 7d28fbcdbd2c4937e8fe7c8b646d44b2a24401fc Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 14:12:54 +0200 Subject: [PATCH 387/478] force travis to only build for master --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 65990248bf..388b1f114f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,6 @@ +branches: + only: + - master language: python python: - "3.4" From 4f6d0599e0316e345a70a5427bab0edeb421fa57 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 14:30:10 +0200 Subject: [PATCH 388/478] travis build test --- .../development/setting-up-the-development-environment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index 8a572c1ec6..2a88e185bf 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -11,7 +11,7 @@ This page describes how you can setup your development environment for ACE3, all ## 1. Requirements -- Arma 3 (duh) +- Arma 3 - A proper installation of the Arma 3 Tools (available on Steam) - A properly setup P-drive - Run ArmA 3 and Arma 3 Tools directly from steam once to install registry entries (and again after every update) From f848ff740fa9abf5080ff1f123644753489927d3 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sat, 9 May 2015 15:05:55 +0200 Subject: [PATCH 389/478] Revert "travis build test" This reverts commit 4f6d0599e0316e345a70a5427bab0edeb421fa57. --- .../development/setting-up-the-development-environment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index 2a88e185bf..8a572c1ec6 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -11,7 +11,7 @@ This page describes how you can setup your development environment for ACE3, all ## 1. Requirements -- Arma 3 +- Arma 3 (duh) - A proper installation of the Arma 3 Tools (available on Steam) - A properly setup P-drive - Run ArmA 3 and Arma 3 Tools directly from steam once to install registry entries (and again after every update) From 52a904478be97ceda7377003aedfc6c95a1870a0 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 15:32:34 +0200 Subject: [PATCH 390/478] laser selfdesignate has wrong version number macro setup --- addons/laser_selfdesignate/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/laser_selfdesignate/config.cpp b/addons/laser_selfdesignate/config.cpp index 19ec28063b..597500caf6 100644 --- a/addons/laser_selfdesignate/config.cpp +++ b/addons/laser_selfdesignate/config.cpp @@ -6,7 +6,7 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_laser"}; - version = VERSION; + VERSION_CONFIG; }; }; From f0cca5b33ea1b341bedd5f06c1d59f0526c2f88c Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 16:01:53 +0200 Subject: [PATCH 391/478] ignore ace in checkPBO module, also fix #1020 --- addons/common/XEH_postInit.sqf | 2 - addons/common/functions/fnc_checkFiles.sqf | 2 +- .../common/functions/fnc_moduleCheckPBOs.sqf | 108 ++++---- .../scripts/Version/checkVersionNumber.sqf | 261 ++++++++---------- 4 files changed, 169 insertions(+), 204 deletions(-) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 1c9155b3a2..696aa16f9b 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -64,8 +64,6 @@ if (_currentVersion != _previousVersion) then { profileNamespace setVariable ["ACE_VersionNumberString", _currentVersion]; }; -0 spawn COMPILE_FILE(scripts\Version\checkVersionNumber); - // ACE events "ACEg" addPublicVariableEventHandler { _this call FUNC(_handleNetEvent); }; "ACEc" addPublicVariableEventHandler { _this call FUNC(_handleNetEvent); }; diff --git a/addons/common/functions/fnc_checkFiles.sqf b/addons/common/functions/fnc_checkFiles.sqf index 868882151d..35cb552a8a 100644 --- a/addons/common/functions/fnc_checkFiles.sqf +++ b/addons/common/functions/fnc_checkFiles.sqf @@ -17,7 +17,7 @@ private "_version"; _version = getText (configFile >> "CfgPatches" >> "ace_main" >> "versionStr"); -diag_log text format ["[ACE]: ACE is version %1", _version]; /////////////////////////////////////////////////////////////////////////// +diag_log text format ["[ACE]: ACE is version %1", _version]; private ["_addons", "_index"]; diff --git a/addons/common/functions/fnc_moduleCheckPBOs.sqf b/addons/common/functions/fnc_moduleCheckPBOs.sqf index 4b5ea2374a..5f06f6d60e 100644 --- a/addons/common/functions/fnc_moduleCheckPBOs.sqf +++ b/addons/common/functions/fnc_moduleCheckPBOs.sqf @@ -22,7 +22,7 @@ _checkAll = _logic getVariable ["CheckAll", false]; _whitelist = call compile (_logic getVariable ["Whitelist", "[]"]); if (isNil "_whitelist") then { - _whitelist = []; + _whitelist = []; }; _whitelist = [_whitelist, {toLower _this}] call FUNC(map); @@ -31,67 +31,71 @@ ACE_Version_CheckAll = _checkAll; ACE_Version_Whitelist = _whitelist; if (!isServer) then { - [_mode, _checkAll, _whitelist] spawn { - _mode = _this select 0; - _checkAll = _this select 1; - _whitelist = _this select 2; + [_mode, _checkAll, _whitelist] spawn { + _mode = _this select 0; + _checkAll = _this select 1; + _whitelist = _this select 2; - waitUntil { - sleep 1; - !isNil "ACE_Version_ClientErrors" - }; + waitUntil { + sleep 1; + !isNil "ACE_Version_ClientErrors" + }; - _missingAddon = ACE_Version_ClientErrors select 0; - _missingAddonServer = ACE_Version_ClientErrors select 1; - _oldVersionClient = ACE_Version_ClientErrors select 2; - _oldVersionServer = ACE_Version_ClientErrors select 3; + _missingAddon = ACE_Version_ClientErrors select 0; + _missingAddonServer = ACE_Version_ClientErrors select 1; + _oldVersionClient = ACE_Version_ClientErrors select 2; + _oldVersionServer = ACE_Version_ClientErrors select 3; - // Display error message. - if (_missingAddon || {_missingAddonServer} || {_oldVersionClient} || {_oldVersionServer}) then { - _text = "[ACE] Version mismatch:

    "; - _error = format ["ACE version mismatch: %1: ", profileName]; + // Display error message. + if (_missingAddon || {_missingAddonServer} || {_oldVersionClient} || {_oldVersionServer}) then { + _text = "[ACE] Version mismatch:

    "; + _error = format ["ACE version mismatch: %1: ", profileName]; - if (_missingAddon) then { - _text = _text + "Detected missing addon on client
    "; - _error = _error + "Missing file(s); "; - }; - if (_missingAddonServer) then { - _text = _text + "Detected missing addon on server
    "; - _error = _error + "Additional file(s); "; - }; - if (_oldVersionClient) then { - _text = _text + "Detected old client version
    "; - _error = _error + "Older version; "; - }; - if (_oldVersionServer) then { - _text = _text + "Detected old server version
    "; - _error = _error + "Newer version; "; - }; + if (_missingAddon) then { + _text = _text + "Detected missing addon on client
    "; + _error = _error + "Missing file(s); "; + }; + if (_missingAddonServer) then { + _text = _text + "Detected missing addon on server
    "; + _error = _error + "Additional file(s); "; + }; + if (_oldVersionClient) then { + _text = _text + "Detected old client version
    "; + _error = _error + "Older version; "; + }; + if (_oldVersionServer) then { + _text = _text + "Detected old server version
    "; + _error = _error + "Newer version; "; + }; - //[_error, "{systemChat _this}"] call FUNC(execRemoteFnc); - diag_log text _error; + //[_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + diag_log text _error; - _text = composeText [lineBreak, parseText format ["%1", _text]]; + _text = composeText [lineBreak, parseText format ["%1", _text]]; - _rscLayer = "ACE_RscErrorHint" call BIS_fnc_rscLayer; - _rscLayer cutRsc ["ACE_RscErrorHint", "PLAIN", 0, true]; + _rscLayer = "ACE_RscErrorHint" call BIS_fnc_rscLayer; + _rscLayer cutRsc ["ACE_RscErrorHint", "PLAIN", 0, true]; - disableSerialization; - _ctrlHint = uiNamespace getVariable "ACE_ctrlErrorHint"; - _ctrlHint ctrlSetStructuredText _text; + disableSerialization; + _ctrlHint = uiNamespace getVariable "ACE_ctrlErrorHint"; + _ctrlHint ctrlSetStructuredText _text; - if (_mode == 0) then { - sleep 10; - _rscLayer cutFadeOut 0.2; - }; + if (_mode == 0) then { + sleep 10; + _rscLayer cutFadeOut 0.2; + }; - if (_mode == 2) then { - sleep 10; - waitUntil {alive player}; - [player] call FUNC(adminKick); - }; - }; - }; + if (_mode == 2) then { + sleep 10; + waitUntil {alive player}; + [player] call FUNC(adminKick); + }; + }; + }; }; diag_log text format ["[ACE]: Check-PBOs Module Initialized. Mode: %1.", _mode]; + +if (_checkAll) then { + 0 spawn COMPILE_FILE(scripts\Version\checkVersionNumber); +}; diff --git a/addons/common/scripts/Version/checkVersionNumber.sqf b/addons/common/scripts/Version/checkVersionNumber.sqf index e6509cd9c4..1bc002153c 100644 --- a/addons/common/scripts/Version/checkVersionNumber.sqf +++ b/addons/common/scripts/Version/checkVersionNumber.sqf @@ -1,193 +1,156 @@ // by commy2 #include "script_component.hpp" -sleep 1; //wait for module - _files = []; -if (missionNamespace getVariable ["ACE_Version_CheckAll", false]) then { - { - if (toLower _x find "a3_" != 0 && {!(toLower _x in (missionNamespace getVariable ["ACE_Version_Whitelist", []]))}) then { - _files pushBack _x; +{ + if (_x find "a3_" != 0 && {_x find "ace_" != 0} && {!(toLower _x in (missionNamespace getVariable ["ACE_Version_Whitelist", []]))}) then { + _files pushBack _x; }; - } forEach activatedAddons; -} else { - { - if (toLower _x find "ace_" == 0) then { - _files pushBack _x; - }; - } forEach activatedAddons; -}; - -_versionMain = parseNumber getText (configFile >> "CfgPatches" >> QUOTE(ADDON) >> "version"); +} forEach activatedAddons; _versions = []; { - _version = parseNumber getText (configFile >> "CfgPatches" >> _x >> "version"); - _versions set [_forEachIndex, _version]; + _version = parseNumber getText (configFile >> "CfgPatches" >> _x >> "version"); + _versions set [_forEachIndex, _version]; } forEach _files; -_versionFull = getText (configFile >> "CfgPatches" >> QUOTE(ADDON) >> "versionStr"); -diag_log text format ["[ACE] Full Version Number: %1", _versionFull]; - if (isServer) then { - diag_log text format ["[ACE] Server: ACE_Common is Version %1.", _versionMain]; - - { - if (toLower _x find "ace_" == 0) then {// - _version = _versions select _forEachIndex; - if (_version != _versionMain) then { - diag_log text format ["[ACE] Server: %1 is Version %2.", _x, _version]; - }; - }; - } forEach _files; - - ACE_Version_ServerVersions = [_files, _versions]; - publicVariable "ACE_Version_ServerVersions"; + ACE_Version_ServerVersions = [_files, _versions]; + publicVariable "ACE_Version_ServerVersions"; } else { - diag_log text format ["[ACE] Client: ACE_Common is Version %1.", _versionMain]; - - { - if (toLower _x find "ace_" == 0) then {// - _version = _versions select _forEachIndex; - if (_version != _versionMain) then { - diag_log text format ["[ACE] Client: %1 is Version %2.", _x, _version]; - }; - }; - } forEach _files; - - ACE_Version_ClientVersions = [_files, _versions]; + ACE_Version_ClientVersions = [_files, _versions]; }; // Begin client version check if (!isServer) then { - // Wait for server to send the servers files and version numbers - waitUntil { - sleep 1; - !isNil "ACE_Version_ClientVersions" && {!isNil "ACE_Version_ServerVersions"} - }; - - _client = profileName; - - _files = ACE_Version_ClientVersions select 0; - _versions = ACE_Version_ClientVersions select 1; - - _serverFiles = ACE_Version_ServerVersions select 0; - _serverVersions = ACE_Version_ServerVersions select 1; - - // Compare client and server files and versions - _missingAddons = []; - _oldVersionsClient = []; - _oldVersionsServer = []; - { - _serverVersion = _serverVersions select _forEachIndex; - - _index = _files find _x; - if (_index == -1) then { - if (_x != "ace_serverconfig") then {_missingAddons pushBack _x;}; - } else { - - _clientVersion = _versions select _index; - - if (_clientVersion < _serverVersion) then { - _oldVersionsClient pushBack [_x, _clientVersion, _serverVersion]; - }; - - if (_clientVersion > _serverVersion) then { - _oldVersionsServer pushBack [_x, _clientVersion, _serverVersion]; - }; + // Wait for server to send the servers files and version numbers + waitUntil { + sleep 1; + !isNil "ACE_Version_ClientVersions" && {!isNil "ACE_Version_ServerVersions"} }; - } forEach _serverFiles; - // find client files which the server doesn't have - _missingAddonsServer = []; - { - _index = _serverFiles find _x; - if (_index == -1) then { - _missingAddonsServer pushBack _x; - } - } forEach _files; + _client = profileName; - // display and log error messages - _fnc_cutComma = { - _string = _this; - _string = toArray _string; + _files = ACE_Version_ClientVersions select 0; + _versions = ACE_Version_ClientVersions select 1; - _count = count _string; - _string set [_count - 2, toArray "." select 0]; - _string set [_count - 1, -1]; - _string = _string - [-1]; + _serverFiles = ACE_Version_ServerVersions select 0; + _serverVersions = ACE_Version_ServerVersions select 1; - toString _string; - }; - - _missingAddon = false; - if (count _missingAddons > 0) then { - _missingAddon = true; - - _error = format ["[ACE] %1: ERROR missing addon(s): ", _client]; + // Compare client and server files and versions + _missingAddons = []; + _oldVersionsClient = []; + _oldVersionsServer = []; { - _error = _error + format ["%1, ", _x]; + _serverVersion = _serverVersions select _forEachIndex; - if (_forEachIndex > 9) exitWith {};// - } forEach _missingAddons; + _index = _files find _x; + if (_index == -1) then { + if (_x != "ace_serverconfig") then {_missingAddons pushBack _x;}; + } else { - _error = _error call _fnc_cutComma; + _clientVersion = _versions select _index; - diag_log text _error; - [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); - }; + if (_clientVersion < _serverVersion) then { + _oldVersionsClient pushBack [_x, _clientVersion, _serverVersion]; + }; - _missingAddonServer = false; - if (count _missingAddonsServer > 0) then { - _missingAddonServer = true; + if (_clientVersion > _serverVersion) then { + _oldVersionsServer pushBack [_x, _clientVersion, _serverVersion]; + }; + }; + } forEach _serverFiles; - _error = format ["[ACE] %1: ERROR missing server addon(s): ", _client]; + // find client files which the server doesn't have + _missingAddonsServer = []; { - _error = _error + format ["%1, ", _x]; + _index = _serverFiles find _x; + if (_index == -1) then { + _missingAddonsServer pushBack _x; + } + } forEach _files; - if (_forEachIndex > 9) exitWith {};// - } forEach _missingAddonsServer; + // display and log error messages + _fnc_cutComma = { + _string = _this; + _string = toArray _string; - _error = _error call _fnc_cutComma; + _count = count _string; + _string set [_count - 2, toArray "." select 0]; + _string set [_count - 1, -1]; + _string = _string - [-1]; - diag_log text _error; - [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); - }; + toString _string; + }; - _oldVersionClient = false; - if (count _oldVersionsClient > 0) then { - _oldVersionClient = true; + _missingAddon = false; + if (count _missingAddons > 0) then { + _missingAddon = true; - _error = format ["[ACE] %1: ERROR outdated addon(s): ", _client]; - { - _error = _error + format ["%1 (client: %2, server: %3), ", _x select 0, _x select 1, _x select 2]; + _error = format ["[ACE] %1: ERROR missing addon(s): ", _client]; + { + _error = _error + format ["%1, ", _x]; - if (_forEachIndex > 9) exitWith {};// - } forEach _oldVersionsClient; + if (_forEachIndex > 9) exitWith {};// + } forEach _missingAddons; - _error = _error call _fnc_cutComma; + _error = _error call _fnc_cutComma; - diag_log text _error; - [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); - }; + diag_log text _error; + [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + }; - _oldVersionServer = false; - if (count _oldVersionsServer > 0) then { - _oldVersionServer = true; + _missingAddonServer = false; + if (count _missingAddonsServer > 0) then { + _missingAddonServer = true; - _error = format ["[ACE] %1: ERROR outdated server addon(s): ", _client]; - { - _error = _error + format ["%1 (client: %2, server: %3), ", _x select 0, _x select 1, _x select 2]; + _error = format ["[ACE] %1: ERROR missing server addon(s): ", _client]; + { + _error = _error + format ["%1, ", _x]; - if (_forEachIndex > 9) exitWith {};// - } forEach _oldVersionsServer; + if (_forEachIndex > 9) exitWith {};// + } forEach _missingAddonsServer; - _error = _error call _fnc_cutComma; + _error = _error call _fnc_cutComma; - diag_log text _error; - [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); - }; + diag_log text _error; + [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + }; - ACE_Version_ClientErrors = [_missingAddon, _missingAddonServer, _oldVersionClient, _oldVersionServer]; + _oldVersionClient = false; + if (count _oldVersionsClient > 0) then { + _oldVersionClient = true; + + _error = format ["[ACE] %1: ERROR outdated addon(s): ", _client]; + { + _error = _error + format ["%1 (client: %2, server: %3), ", _x select 0, _x select 1, _x select 2]; + + if (_forEachIndex > 9) exitWith {};// + } forEach _oldVersionsClient; + + _error = _error call _fnc_cutComma; + + diag_log text _error; + [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + }; + + _oldVersionServer = false; + if (count _oldVersionsServer > 0) then { + _oldVersionServer = true; + + _error = format ["[ACE] %1: ERROR outdated server addon(s): ", _client]; + { + _error = _error + format ["%1 (client: %2, server: %3), ", _x select 0, _x select 1, _x select 2]; + + if (_forEachIndex > 9) exitWith {};// + } forEach _oldVersionsServer; + + _error = _error call _fnc_cutComma; + + diag_log text _error; + [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + }; + + ACE_Version_ClientErrors = [_missingAddon, _missingAddonServer, _oldVersionClient, _oldVersionServer]; }; From 3976c4d64ff7e723b7daf55f332282ebd3697ca4 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 16:06:44 +0200 Subject: [PATCH 392/478] the spaces --- addons/common/functions/fnc_checkPBOs.sqf | 4 +- .../common/functions/fnc_moduleCheckPBOs.sqf | 104 +++++++++--------- 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/addons/common/functions/fnc_checkPBOs.sqf b/addons/common/functions/fnc_checkPBOs.sqf index 7c4aaeba13..2b738e2f1a 100644 --- a/addons/common/functions/fnc_checkPBOs.sqf +++ b/addons/common/functions/fnc_checkPBOs.sqf @@ -25,11 +25,11 @@ _checkAll = _this select 1; _whitelist = _this select 2; if (isNil "_checkAll") then { - _checkAll = false; + _checkAll = false; }; if (isNil "_whitelist") then { - _whitelist = "[]"; + _whitelist = "[]"; }; _logic = "Logic" createVehicleLocal [0,0,0]; diff --git a/addons/common/functions/fnc_moduleCheckPBOs.sqf b/addons/common/functions/fnc_moduleCheckPBOs.sqf index 5f06f6d60e..7137f1ea1d 100644 --- a/addons/common/functions/fnc_moduleCheckPBOs.sqf +++ b/addons/common/functions/fnc_moduleCheckPBOs.sqf @@ -22,7 +22,7 @@ _checkAll = _logic getVariable ["CheckAll", false]; _whitelist = call compile (_logic getVariable ["Whitelist", "[]"]); if (isNil "_whitelist") then { - _whitelist = []; + _whitelist = []; }; _whitelist = [_whitelist, {toLower _this}] call FUNC(map); @@ -31,67 +31,67 @@ ACE_Version_CheckAll = _checkAll; ACE_Version_Whitelist = _whitelist; if (!isServer) then { - [_mode, _checkAll, _whitelist] spawn { - _mode = _this select 0; - _checkAll = _this select 1; - _whitelist = _this select 2; + [_mode, _checkAll, _whitelist] spawn { + _mode = _this select 0; + _checkAll = _this select 1; + _whitelist = _this select 2; - waitUntil { - sleep 1; - !isNil "ACE_Version_ClientErrors" - }; + waitUntil { + sleep 1; + !isNil "ACE_Version_ClientErrors" + }; - _missingAddon = ACE_Version_ClientErrors select 0; - _missingAddonServer = ACE_Version_ClientErrors select 1; - _oldVersionClient = ACE_Version_ClientErrors select 2; - _oldVersionServer = ACE_Version_ClientErrors select 3; + _missingAddon = ACE_Version_ClientErrors select 0; + _missingAddonServer = ACE_Version_ClientErrors select 1; + _oldVersionClient = ACE_Version_ClientErrors select 2; + _oldVersionServer = ACE_Version_ClientErrors select 3; - // Display error message. - if (_missingAddon || {_missingAddonServer} || {_oldVersionClient} || {_oldVersionServer}) then { - _text = "[ACE] Version mismatch:

    "; - _error = format ["ACE version mismatch: %1: ", profileName]; + // Display error message. + if (_missingAddon || {_missingAddonServer} || {_oldVersionClient} || {_oldVersionServer}) then { + _text = "[ACE] Version mismatch:

    "; + _error = format ["ACE version mismatch: %1: ", profileName]; - if (_missingAddon) then { - _text = _text + "Detected missing addon on client
    "; - _error = _error + "Missing file(s); "; - }; - if (_missingAddonServer) then { - _text = _text + "Detected missing addon on server
    "; - _error = _error + "Additional file(s); "; - }; - if (_oldVersionClient) then { - _text = _text + "Detected old client version
    "; - _error = _error + "Older version; "; - }; - if (_oldVersionServer) then { - _text = _text + "Detected old server version
    "; - _error = _error + "Newer version; "; - }; + if (_missingAddon) then { + _text = _text + "Detected missing addon on client
    "; + _error = _error + "Missing file(s); "; + }; + if (_missingAddonServer) then { + _text = _text + "Detected missing addon on server
    "; + _error = _error + "Additional file(s); "; + }; + if (_oldVersionClient) then { + _text = _text + "Detected old client version
    "; + _error = _error + "Older version; "; + }; + if (_oldVersionServer) then { + _text = _text + "Detected old server version
    "; + _error = _error + "Newer version; "; + }; - //[_error, "{systemChat _this}"] call FUNC(execRemoteFnc); - diag_log text _error; + //[_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + diag_log text _error; - _text = composeText [lineBreak, parseText format ["%1", _text]]; + _text = composeText [lineBreak, parseText format ["%1", _text]]; - _rscLayer = "ACE_RscErrorHint" call BIS_fnc_rscLayer; - _rscLayer cutRsc ["ACE_RscErrorHint", "PLAIN", 0, true]; + _rscLayer = "ACE_RscErrorHint" call BIS_fnc_rscLayer; + _rscLayer cutRsc ["ACE_RscErrorHint", "PLAIN", 0, true]; - disableSerialization; - _ctrlHint = uiNamespace getVariable "ACE_ctrlErrorHint"; - _ctrlHint ctrlSetStructuredText _text; + disableSerialization; + _ctrlHint = uiNamespace getVariable "ACE_ctrlErrorHint"; + _ctrlHint ctrlSetStructuredText _text; - if (_mode == 0) then { - sleep 10; - _rscLayer cutFadeOut 0.2; - }; + if (_mode == 0) then { + sleep 10; + _rscLayer cutFadeOut 0.2; + }; - if (_mode == 2) then { - sleep 10; - waitUntil {alive player}; - [player] call FUNC(adminKick); - }; - }; - }; + if (_mode == 2) then { + sleep 10; + waitUntil {alive player}; + [player] call FUNC(adminKick); + }; + }; + }; }; diag_log text format ["[ACE]: Check-PBOs Module Initialized. Mode: %1.", _mode]; From 7fb56d4fd56ff032511477108f45cee65c340e04 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 17:03:51 +0200 Subject: [PATCH 393/478] simple check to compare client and server version of ace --- addons/common/functions/fnc_checkFiles.sqf | 34 +++++++++++++++++++- addons/common/functions/fnc_errorMessage.sqf | 15 +++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/addons/common/functions/fnc_checkFiles.sqf b/addons/common/functions/fnc_checkFiles.sqf index 35cb552a8a..6aa38d61c0 100644 --- a/addons/common/functions/fnc_checkFiles.sqf +++ b/addons/common/functions/fnc_checkFiles.sqf @@ -17,7 +17,7 @@ private "_version"; _version = getText (configFile >> "CfgPatches" >> "ace_main" >> "versionStr"); -diag_log text format ["[ACE]: ACE is version %1", _version]; +diag_log text format ["[ACE]: ACE is version %1.", _version]; private ["_addons", "_index"]; @@ -57,3 +57,35 @@ _addons = [_addons, {_this find "ace_" == 0}] call FUNC(filter); }; }; } forEach getArray (configFile >> "ACE_Extensions" >> "extensions"); + +/////////////// +// check server version +/////////////// +if (isMultiplayer) then { + if (isServer) then { + // send servers version of ACE to all clients + GVAR(ServerVersion) = _version; + publicVariable QGVAR(ServerVersion); + } else { + // clients have to wait for the variable + [{ + if (isNil QGVAR(ServerVersion)) exitWith {}; + + private "_version"; + _version = _this select 0; + + if (_version != GVAR(ServerVersion)) then { + private "_errorMsg"; + _errorMsg = format ["Client/Server Version Mismatch. Server: %1, Client: %2.", GVAR(ServerVersion), _version]; + + diag_log text format ["[ACE] ERROR: %1", _errorMsg]; + + if (hasInterface) then {diag_log str "1"; + ["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage); + }; + }; + + [_this select 1] call CBA_fnc_removePerFrameHandler; + }, 1, _version] call CBA_fnc_addPerFrameHandler; + }; +}; diff --git a/addons/common/functions/fnc_errorMessage.sqf b/addons/common/functions/fnc_errorMessage.sqf index e061772942..9665fed5bb 100644 --- a/addons/common/functions/fnc_errorMessage.sqf +++ b/addons/common/functions/fnc_errorMessage.sqf @@ -15,6 +15,21 @@ disableSerialization; endLoadingScreen; + +// no message without player possible +if (!hasInterface) exitWith {}; + +// wait for display +if (isNull (call BIS_fnc_displayMission)) exitWith { + [{ + if (isNull (call BIS_fnc_displayMission)) exitWith {}; + + (_this select 0) call FUNC(errorMessage); + [_this select 1] call CBA_fnc_removePerFrameHandler; + + }, 1, _this] call CBA_fnc_addPerFrameHandler; +}; + private ["_textHeader", "_textMessage", "_onOK", "_onCancel"]; _textHeader = _this select 0; From 30ff90453bdc7a143f4b02253b844a991b760fdf Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 9 May 2015 18:32:19 +0200 Subject: [PATCH 394/478] wind deflection has wrong version number macro setup --- addons/winddeflection/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/winddeflection/config.cpp b/addons/winddeflection/config.cpp index e0c77420cf..02480bf013 100644 --- a/addons/winddeflection/config.cpp +++ b/addons/winddeflection/config.cpp @@ -7,9 +7,9 @@ class CfgPatches { requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_weather"}; versionDesc = "ACE Wind Deflection"; - version = VERSION; author[] = {$STR_ACE_Common_ACETeam, "Glowbal", "Ruthberg"}; authorUrl = "http://csemod.com"; + VERSION_CONFIG;` }; }; From b80602fbae025d0862a219a76ff6302b49386b52 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 9 May 2015 18:55:00 +0200 Subject: [PATCH 395/478] Fixed a typo --- addons/winddeflection/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/winddeflection/config.cpp b/addons/winddeflection/config.cpp index 02480bf013..e420debb66 100644 --- a/addons/winddeflection/config.cpp +++ b/addons/winddeflection/config.cpp @@ -9,7 +9,7 @@ class CfgPatches { versionDesc = "ACE Wind Deflection"; author[] = {$STR_ACE_Common_ACETeam, "Glowbal", "Ruthberg"}; authorUrl = "http://csemod.com"; - VERSION_CONFIG;` + VERSION_CONFIG; }; }; From e56089737b5ca6ae4509c5e0a1a96c28526629b3 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sat, 9 May 2015 10:30:58 -0700 Subject: [PATCH 396/478] $NOBIN$ mode now respects the signature key blacklist --- tools/make.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/make.py b/tools/make.py index f3d71f3f34..4c8ba2f5b2 100644 --- a/tools/make.py +++ b/tools/make.py @@ -969,7 +969,7 @@ See the make.cfg file for additional build options. raise print_error("Could not rename built PBO with prefix.") # Sign result - if key: + if (key and not "ace_{}.pbo".format(module) in signature_blacklist): print("Signing with {}.".format(key)) if pbo_name_prefix: ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "addons", pbo_name_prefix + module + ".pbo")]) From aa6c3ddf2c53d95fe843265f416d2aa0a69ca3a7 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 9 May 2015 19:34:35 +0200 Subject: [PATCH 397/478] fix: check files script, order in activatedAddons is not guaranteed --- addons/common/functions/fnc_checkFiles.sqf | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/addons/common/functions/fnc_checkFiles.sqf b/addons/common/functions/fnc_checkFiles.sqf index 6aa38d61c0..b0ea8a5200 100644 --- a/addons/common/functions/fnc_checkFiles.sqf +++ b/addons/common/functions/fnc_checkFiles.sqf @@ -4,7 +4,7 @@ * Compares version numbers of PBOs and DLLs. * * Argument: - * 0: Mode (Number) + * None. * * Return value: * None. @@ -19,14 +19,8 @@ _version = getText (configFile >> "CfgPatches" >> "ace_main" >> "versionStr"); diag_log text format ["[ACE]: ACE is version %1.", _version]; -private ["_addons", "_index"]; - +private "_addons"; _addons = activatedAddons; - -// speed up search. all ace pbos are loaded after ace_main. -_index = _addons find "ace_main"; -reverse _addons; -_addons resize (count _addons - _index); _addons = [_addons, {_this find "ace_" == 0}] call FUNC(filter); { From 253ed6946e3f270db9c21ecdb622b5a09f4472f6 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 9 May 2015 20:02:22 +0200 Subject: [PATCH 398/478] scope firedEH cleanup --- addons/scopes/functions/fnc_firedEH.sqf | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/addons/scopes/functions/fnc_firedEH.sqf b/addons/scopes/functions/fnc_firedEH.sqf index 1b692e340a..020431c27b 100644 --- a/addons/scopes/functions/fnc_firedEH.sqf +++ b/addons/scopes/functions/fnc_firedEH.sqf @@ -18,25 +18,20 @@ */ #include "script_component.hpp" -private ["_unit", "_adjustment", "_weapon", "_projectile", "_weaponIndex", "_zeroing", "_adjustment"]; - +private ["_unit", "_adjustment", "_projectile", "_weaponIndex", "_zeroing", "_adjustment"]; _unit = _this select 0; -_weapon = _this select 1; _projectile = _this select 6; -// Exit if the unit doesn't have any adjusment variable +if !([_unit] call EFUNC(common,isPlayer)) exitWith {}; + _adjustment = _unit getVariable [QGVAR(Adjustment), []]; if (_adjustment isEqualTo []) exitWith {}; -// Exit if the unit isn't a player -if !([_unit] call EFUNC(common,isPlayer)) exitWith {}; - _weaponIndex = [_unit, currentWeapon _unit] call EFUNC(common,getWeaponIndex); if (_weaponIndex < 0) exitWith {}; _zeroing = _adjustment select _weaponIndex; -//Exit if adjusment is zero: if (_zeroing isEqualTo [0,0,0]) exitWith {}; // Convert zeroing from mils to degrees From ec2d3ff99d2dfe4cef3f588ca5f8717ecfa22e9b Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sat, 9 May 2015 11:05:35 -0700 Subject: [PATCH 399/478] add some debug --- tools/make.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/make.py b/tools/make.py index 4c8ba2f5b2..3db62337a8 100644 --- a/tools/make.py +++ b/tools/make.py @@ -102,6 +102,8 @@ def get_directory_hash(directory): traceback.print_exc() return -2 + retVal = directory_hash.hexdigest() + #print_yellow("Hash Value for {} is {}".format(directory,retVal)) return directory_hash.hexdigest() # Copyright (c) André Burgaud From 21ea66746380c25180b6fad3f24df1d0f4fad59b Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sat, 9 May 2015 11:07:27 -0700 Subject: [PATCH 400/478] $NOBIN$ file must not be a zero-byte file in order to affect the cache to trigger a proper rebuild. --- addons/common/config - Copy.cpp | 167 ++++++++++++++++++++++++++++++++ addons/config.cpp | 167 ++++++++++++++++++++++++++++++++ optionals/server/$NOBIN$ | 1 + server.md5 | 2 + server2.md5 | 3 + server3.md5 | 3 + tools/vm_build.py | 6 ++ 7 files changed, 349 insertions(+) create mode 100644 addons/common/config - Copy.cpp create mode 100644 addons/config.cpp create mode 100644 server.md5 create mode 100644 server2.md5 create mode 100644 server3.md5 create mode 100644 tools/vm_build.py diff --git a/addons/common/config - Copy.cpp b/addons/common/config - Copy.cpp new file mode 100644 index 0000000000..27647f8d00 --- /dev/null +++ b/addons/common/config - Copy.cpp @@ -0,0 +1,167 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {"ACE_Box_Misc", "ACE_bananaItem"}; + weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon", "ACE_Banana"}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_main"}; + author[] = {"KoffeinFlummi"}; + authorUrl = "https://github.com/KoffeinFlummi/"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" + +#include "CfgSounds.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" +#include "CfgMagazines.hpp" + +#include "CfgActions.hpp" +#include "CfgMoves.hpp" +#include "CfgVoice.hpp" +#include "CfgUnitInsignia.hpp" + +class ACE_Rsc_Display_Base { + idd = -1; + type = 0; + style = 48; + name = ""; + duration = 999999; + fadeIn = 0; + fadeOut = 0; + font = "TahomaB"; + size = 1; + colorBackground[] = {1, 1, 1, 0}; + colorText[] = {1, 1, 1, 1}; +}; + +class ACE_Rsc_Control_Base { + idc = 1; + type = 0; + style = 48; + access = 0; + lineSpacing = 0; + moving = 1; + text = ""; + size = 1; + sizeEx = 0; + font = "TahomaB"; + colorBackground[] = {1, 1, 1, 0}; + colorText[] = {1, 1, 1, 1}; + x = 0; + y = 0; + w = 0; + h = 0; +}; + +class ACE_Settings { + /* + *class GVAR(sampleSetting) { + * Value + * value = 1; + * + * Type (SCALAR, BOOL, STRING, ARRAY, COLOR) + * typeName = "SCALAR"; + * + * Force the setting? + * force = 0; + * + * Does it appear on the options menu? + * isClientSettable = 1; + * + * The following settings only apply when isClientSettable == 1 + * Stringtable entry with the setting name + * displayName = "$STR_ACE_Common_SettingName"; + * + * Stringtable entry with the setting description + * description = "$STR_ACE_Common_SettingDescription"; + * + * Stringtable entries that describe the options + * Only applies if typeName == "SCALAR"; + * values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; + *}; + */ + class GVAR(forceAllSettings) { + value = 0; + typeName = "BOOL"; + }; + /*class GVAR(enableNumberHotkeys) { + value = 1; + typeName = "BOOL"; + isClientSettable = 1; + displayName = "$STR_ACE_Common_EnableNumberHotkeys"; + };*/ + class GVAR(settingFeedbackIcons) { + value = 1; + typeName = "SCALAR"; + force = 0; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; + description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; + values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; + }; + class GVAR(SettingProgressBarLocation) { + value = 0; + typeName = "SCALAR"; + force = 0; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; + description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; + values[] = {"Top", "Bottom"}; + }; + class GVAR(displayTextColor) { + value[] = {0,0,0,0.1}; + typeName = "COLOR"; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; + description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; + }; + class GVAR(displayTextFontColor) { + value[] = {1,1,1,1}; + typeName = "COLOR"; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; + description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; + }; +}; + +#include "define.hpp" +#include +#include +#include + +class CfgUIGrids { + class IGUI { + class Presets { + class Arma3 { + class Variables { + grid_ACE_displayText[] = {{((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)),safeZoneY + 0.175 * safezoneH, (10 *(((safezoneW / safezoneH) min 1.2) / 40)), (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))}, "(((safezoneW / safezoneH) min 1.2) / 40)","((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"}; + }; + }; + }; + + class Variables { + class grid_ACE_displayText { + displayName = "ACE Hint"; + description = "Textual in game feedback to the player."; + preview = "\a3\Ui_f\data\GUI\Cfg\UIGrids\grid_hint_ca.paa"; + saveToProfile[] = {0,1}; + }; + }; + }; +}; + +/* +// check dll +class RscStandardDisplay; +class RscDisplayMain: RscStandardDisplay { + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage)); +}; +*/ + +class ACE_Extensions { + extensions[] = {}; +}; diff --git a/addons/config.cpp b/addons/config.cpp new file mode 100644 index 0000000000..27647f8d00 --- /dev/null +++ b/addons/config.cpp @@ -0,0 +1,167 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {"ACE_Box_Misc", "ACE_bananaItem"}; + weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon", "ACE_Banana"}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_main"}; + author[] = {"KoffeinFlummi"}; + authorUrl = "https://github.com/KoffeinFlummi/"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" + +#include "CfgSounds.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" +#include "CfgMagazines.hpp" + +#include "CfgActions.hpp" +#include "CfgMoves.hpp" +#include "CfgVoice.hpp" +#include "CfgUnitInsignia.hpp" + +class ACE_Rsc_Display_Base { + idd = -1; + type = 0; + style = 48; + name = ""; + duration = 999999; + fadeIn = 0; + fadeOut = 0; + font = "TahomaB"; + size = 1; + colorBackground[] = {1, 1, 1, 0}; + colorText[] = {1, 1, 1, 1}; +}; + +class ACE_Rsc_Control_Base { + idc = 1; + type = 0; + style = 48; + access = 0; + lineSpacing = 0; + moving = 1; + text = ""; + size = 1; + sizeEx = 0; + font = "TahomaB"; + colorBackground[] = {1, 1, 1, 0}; + colorText[] = {1, 1, 1, 1}; + x = 0; + y = 0; + w = 0; + h = 0; +}; + +class ACE_Settings { + /* + *class GVAR(sampleSetting) { + * Value + * value = 1; + * + * Type (SCALAR, BOOL, STRING, ARRAY, COLOR) + * typeName = "SCALAR"; + * + * Force the setting? + * force = 0; + * + * Does it appear on the options menu? + * isClientSettable = 1; + * + * The following settings only apply when isClientSettable == 1 + * Stringtable entry with the setting name + * displayName = "$STR_ACE_Common_SettingName"; + * + * Stringtable entry with the setting description + * description = "$STR_ACE_Common_SettingDescription"; + * + * Stringtable entries that describe the options + * Only applies if typeName == "SCALAR"; + * values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; + *}; + */ + class GVAR(forceAllSettings) { + value = 0; + typeName = "BOOL"; + }; + /*class GVAR(enableNumberHotkeys) { + value = 1; + typeName = "BOOL"; + isClientSettable = 1; + displayName = "$STR_ACE_Common_EnableNumberHotkeys"; + };*/ + class GVAR(settingFeedbackIcons) { + value = 1; + typeName = "SCALAR"; + force = 0; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; + description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; + values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; + }; + class GVAR(SettingProgressBarLocation) { + value = 0; + typeName = "SCALAR"; + force = 0; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; + description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; + values[] = {"Top", "Bottom"}; + }; + class GVAR(displayTextColor) { + value[] = {0,0,0,0.1}; + typeName = "COLOR"; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; + description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; + }; + class GVAR(displayTextFontColor) { + value[] = {1,1,1,1}; + typeName = "COLOR"; + isClientSettable = 1; + displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; + description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; + }; +}; + +#include "define.hpp" +#include +#include +#include + +class CfgUIGrids { + class IGUI { + class Presets { + class Arma3 { + class Variables { + grid_ACE_displayText[] = {{((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)),safeZoneY + 0.175 * safezoneH, (10 *(((safezoneW / safezoneH) min 1.2) / 40)), (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))}, "(((safezoneW / safezoneH) min 1.2) / 40)","((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"}; + }; + }; + }; + + class Variables { + class grid_ACE_displayText { + displayName = "ACE Hint"; + description = "Textual in game feedback to the player."; + preview = "\a3\Ui_f\data\GUI\Cfg\UIGrids\grid_hint_ca.paa"; + saveToProfile[] = {0,1}; + }; + }; + }; +}; + +/* +// check dll +class RscStandardDisplay; +class RscDisplayMain: RscStandardDisplay { + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage)); +}; +*/ + +class ACE_Extensions { + extensions[] = {}; +}; diff --git a/optionals/server/$NOBIN$ b/optionals/server/$NOBIN$ index e69de29bb2..c2037c2142 100644 --- a/optionals/server/$NOBIN$ +++ b/optionals/server/$NOBIN$ @@ -0,0 +1 @@ +NOBIN \ No newline at end of file diff --git a/server.md5 b/server.md5 new file mode 100644 index 0000000000..4b55677c68 --- /dev/null +++ b/server.md5 @@ -0,0 +1,2 @@ +9f932a56f6d56912c3ed64583086c699 *server\config.cpp +a0d9c8926a9c729e96bb6f5e83072526 *server\script_component.hpp diff --git a/server2.md5 b/server2.md5 new file mode 100644 index 0000000000..e5a17d9cc0 --- /dev/null +++ b/server2.md5 @@ -0,0 +1,3 @@ +d41d8cd98f00b204e9800998ecf8427e *server\$NOBIN$ +9f932a56f6d56912c3ed64583086c699 *server\config.cpp +a0d9c8926a9c729e96bb6f5e83072526 *server\script_component.hpp diff --git a/server3.md5 b/server3.md5 new file mode 100644 index 0000000000..8c7d3ace7c --- /dev/null +++ b/server3.md5 @@ -0,0 +1,3 @@ +76717b52157b1d55caa07359c789c148 *server\$NOBIN$ +9f932a56f6d56912c3ed64583086c699 *server\config.cpp +a0d9c8926a9c729e96bb6f5e83072526 *server\script_component.hpp diff --git a/tools/vm_build.py b/tools/vm_build.py new file mode 100644 index 0000000000..1d43c6ee30 --- /dev/null +++ b/tools/vm_build.py @@ -0,0 +1,6 @@ +import subprocess +try: + result = subprocess.call("python make.py checkexternal test") + print (result) +except: + raise \ No newline at end of file From 70e1310d28c10adf8ec0e6ac5cca5d609ced9463 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sat, 9 May 2015 11:29:42 -0700 Subject: [PATCH 401/478] Give builders a clue where to look to find what the cause for the error may be. #1051 --- tools/make.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/make.py b/tools/make.py index 3db62337a8..a3651b74a7 100644 --- a/tools/make.py +++ b/tools/make.py @@ -985,7 +985,7 @@ See the make.cfg file for additional build options. if not build_successful: print_error("pboProject return code == {}".format(str(ret))) - print_error("Module not successfully built/signed.") + print_error("Module not successfully built/signed. Check your {}temp\{}_packing.log for more info.".format(work_drive,module)) print ("Resuming build...") continue @@ -1057,7 +1057,7 @@ See the make.cfg file for additional build options. build_successful = True if not build_successful: - print_error("Module not successfully built.") + print_error("Module not successfully built. Check your {}temp\{}_packing.log for more info.".format(work_drive,module)) # Back to the root os.chdir(make_root) From 071f40eb2fff9d9bd094959cb9d3d94f01f3610a Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sat, 9 May 2015 12:13:03 -0700 Subject: [PATCH 402/478] Remove obsolete *.dll files #1038 --- tools/make.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tools/make.py b/tools/make.py index a3651b74a7..e90beb7703 100644 --- a/tools/make.py +++ b/tools/make.py @@ -661,6 +661,7 @@ See the make.cfg file for additional build options. module_root_parent = os.path.abspath(os.path.join(os.path.join(work_drive, prefix), os.pardir)) module_root = cfg.get(make_target, "module_root", fallback=os.path.join(make_root_parent, "addons")) optionals_root = os.path.join(module_root_parent, "optionals") + extensions_root = os.path.join(module_root_parent, "extensions") print_green ("module_root: {}".format(module_root)) if (os.path.isdir(module_root)): @@ -807,6 +808,18 @@ See the make.cfg file for additional build options. print_yellow("Removing obsolete file => {}".format(file)) purge(obsolete_check_path,fileName+"\..",fileName+".*") + obsolete_check_path = os.path.join(module_root, release_dir, project) + for file in os.listdir(obsolete_check_path): + if (file.endswith(".dll") and os.path.isfile(os.path.join(obsolete_check_path,file))): + if check_for_obsolete_pbos(extensions_root, file): + fileName = os.path.splitext(file)[0] + print_yellow("Removing obsolete file => {}".format(file)) + try: + os.remove(os.path.join(obsolete_check_path,file)) + except: + print_error("\nFailed to delete {}".format(os.path.join(obsolete_check_path,file))) + pass + # For each module, prep files and then build. print_blue("\nBuilding...") for module in modules: From 6b5d95906d357f4432f94c75736d9aed3e501a90 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sat, 9 May 2015 12:41:01 -0700 Subject: [PATCH 403/478] Disables multiple openings of the kestrel & atrag. Allows the overlay toggle, but disables the opening of multiple ones. Used onUnload handlers. Supports both limiting interact and keybinds. Fixes #1086 --- addons/atragmx/RscTitles.hpp | 1 + addons/atragmx/XEH_preInit.sqf | 1 + addons/atragmx/functions/fnc_create_dialog.sqf | 3 +++ addons/atragmx/functions/fnc_init.sqf | 2 ++ addons/atragmx/functions/fnc_on_close_dialog.sqf | 4 ++++ addons/atragmx/initKeybinds.sqf | 2 +- addons/kestrel4500/RscTitles.hpp | 2 ++ addons/kestrel4500/XEH_postInit.sqf | 2 +- addons/kestrel4500/XEH_preInit.sqf | 3 +++ addons/kestrel4500/functions/fnc_createKestrelDialog.sqf | 1 + addons/kestrel4500/functions/fnc_onCloseDialog.sqf | 4 ++++ addons/kestrel4500/functions/fnc_onCloseDisplay.sqf | 4 ++++ addons/kestrel4500/initKeybinds.sqf | 5 +++-- 13 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 addons/atragmx/functions/fnc_on_close_dialog.sqf create mode 100644 addons/kestrel4500/functions/fnc_onCloseDialog.sqf create mode 100644 addons/kestrel4500/functions/fnc_onCloseDisplay.sqf diff --git a/addons/atragmx/RscTitles.hpp b/addons/atragmx/RscTitles.hpp index 4ae08c20aa..cefc7a26eb 100644 --- a/addons/atragmx/RscTitles.hpp +++ b/addons/atragmx/RscTitles.hpp @@ -142,6 +142,7 @@ class ATragMX_Display { name="ATragMX_Display"; idd=-1; onLoad="uiNamespace setVariable ['ATragMX_Display', (_this select 0)]"; + onUnload=QUOTE(_this call FUNC(on_close_dialog)); movingEnable=1; controlsBackground[]={}; objects[]={}; diff --git a/addons/atragmx/XEH_preInit.sqf b/addons/atragmx/XEH_preInit.sqf index 6ec288b9c7..62bf2181c7 100644 --- a/addons/atragmx/XEH_preInit.sqf +++ b/addons/atragmx/XEH_preInit.sqf @@ -68,5 +68,6 @@ PREP(update_target_data); PREP(update_target_selection); PREP(update_unit_selection); PREP(update_zero_range); +PREP(on_close_dialog); ADDON = true; diff --git a/addons/atragmx/functions/fnc_create_dialog.sqf b/addons/atragmx/functions/fnc_create_dialog.sqf index 09e413d535..e0be3c6941 100644 --- a/addons/atragmx/functions/fnc_create_dialog.sqf +++ b/addons/atragmx/functions/fnc_create_dialog.sqf @@ -16,6 +16,7 @@ #include "script_component.hpp" //if (dialog) exitWith { false }; +if(GVAR(active)) exitWith { false }; if (underwater ACE_player) exitWith { false }; if (!("ACE_ATragMX" in (uniformItems ACE_player)) && !("ACE_ATragMX" in (vestItems ACE_player))) exitWith { false }; @@ -47,4 +48,6 @@ GVAR(showTargetSpeedAssistTimer) call FUNC(show_target_speed_assist_timer); lbAdd [6000, _x select 0]; } forEach GVAR(gunList); +GVAR(active) = true; + true diff --git a/addons/atragmx/functions/fnc_init.sqf b/addons/atragmx/functions/fnc_init.sqf index e4fe1b67a4..30b17ebf90 100644 --- a/addons/atragmx/functions/fnc_init.sqf +++ b/addons/atragmx/functions/fnc_init.sqf @@ -15,6 +15,8 @@ */ #include "script_component.hpp" +GVAR(active) = false; + GVAR(workingMemory) = +(GVAR(gunList) select 0); GVAR(scopeUnits) = ["MILs", "TMOA", "SMOA", "Clicks"]; diff --git a/addons/atragmx/functions/fnc_on_close_dialog.sqf b/addons/atragmx/functions/fnc_on_close_dialog.sqf new file mode 100644 index 0000000000..32ba4e4c43 --- /dev/null +++ b/addons/atragmx/functions/fnc_on_close_dialog.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" + +uiNamespace setVariable ['ATragMX_Display', nil]; +GVAR(active) = false; \ No newline at end of file diff --git a/addons/atragmx/initKeybinds.sqf b/addons/atragmx/initKeybinds.sqf index 796d7f9d97..98bddf04e4 100644 --- a/addons/atragmx/initKeybinds.sqf +++ b/addons/atragmx/initKeybinds.sqf @@ -2,7 +2,7 @@ { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - + if(GVAR(active)) exitWith {}; // Statement [] call FUNC(create_dialog); false diff --git a/addons/kestrel4500/RscTitles.hpp b/addons/kestrel4500/RscTitles.hpp index defb954292..b091a07561 100644 --- a/addons/kestrel4500/RscTitles.hpp +++ b/addons/kestrel4500/RscTitles.hpp @@ -54,6 +54,7 @@ class Kestrel4500_Display name="Kestrel4500_Display"; idd=-1; onLoad="uiNamespace setVariable ['Kestrel4500_Display', (_this select 0)]"; + onUnload=QUOTE(_this call FUNC(onCloseDialog)); movingEnable=1; controlsBackground[]={}; objects[]={}; @@ -217,6 +218,7 @@ class RscTitles { idd=-1; onLoad="with uiNameSpace do { RscKestrel4500 = _this select 0 };"; + onUnload=(_this call FUNC(onCloseDisplay)); movingEnable=0; duration=60; fadeIn="false"; diff --git a/addons/kestrel4500/XEH_postInit.sqf b/addons/kestrel4500/XEH_postInit.sqf index 461ed533db..24a972c326 100644 --- a/addons/kestrel4500/XEH_postInit.sqf +++ b/addons/kestrel4500/XEH_postInit.sqf @@ -22,4 +22,4 @@ GVAR(MeasuredWindSpeed) = 0; GVAR(ImpellerState) = 0; GVAR(Kestrel4500) = false; -GVAR(Overlay) = false; +GVAR(Overlay) = false; \ No newline at end of file diff --git a/addons/kestrel4500/XEH_preInit.sqf b/addons/kestrel4500/XEH_preInit.sqf index d081f485ec..2d5e211a54 100644 --- a/addons/kestrel4500/XEH_preInit.sqf +++ b/addons/kestrel4500/XEH_preInit.sqf @@ -13,4 +13,7 @@ PREP(measureWindSpeed); PREP(updateDisplay); PREP(updateImpellerState); +PREP(onCloseDialog); +PREP(onCloseDisplay); + ADDON = true; diff --git a/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf index f9cd6cf04a..77e36679de 100644 --- a/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf +++ b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf @@ -16,6 +16,7 @@ //if (dialog) exitWith { false }; if (underwater ACE_player) exitWith { false }; +if(GVAR(Kestrel4500)) exitWith { false }; if (!("ACE_Kestrel4500" in (uniformItems ACE_player)) && !("ACE_Kestrel4500" in (vestItems ACE_player))) exitWith { false }; GVAR(Overlay) = false; diff --git a/addons/kestrel4500/functions/fnc_onCloseDialog.sqf b/addons/kestrel4500/functions/fnc_onCloseDialog.sqf new file mode 100644 index 0000000000..a45a9decc3 --- /dev/null +++ b/addons/kestrel4500/functions/fnc_onCloseDialog.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" + +uiNamespace setVariable ['Kestrel4500_Display', nil]; +GVAR(Kestrel4500) = false; diff --git a/addons/kestrel4500/functions/fnc_onCloseDisplay.sqf b/addons/kestrel4500/functions/fnc_onCloseDisplay.sqf new file mode 100644 index 0000000000..efb60b322a --- /dev/null +++ b/addons/kestrel4500/functions/fnc_onCloseDisplay.sqf @@ -0,0 +1,4 @@ +#include "script_component.hpp" + +uiNamespace setVariable ['RscKestrel4500', nil]; +GVAR(Overlay) = false; diff --git a/addons/kestrel4500/initKeybinds.sqf b/addons/kestrel4500/initKeybinds.sqf index f6b4fec3ce..f910bdf552 100644 --- a/addons/kestrel4500/initKeybinds.sqf +++ b/addons/kestrel4500/initKeybinds.sqf @@ -2,7 +2,8 @@ { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - + if(GVAR(Kestrel4500)) exitWith { false }; + // Statement [] call FUNC(createKestrelDialog); false @@ -14,7 +15,7 @@ { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - + // Statement [] call FUNC(displayKestrel); false From 2e3e203d9f68a44699c96ca300ac52f4f5295b9d Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sat, 9 May 2015 14:41:46 -0500 Subject: [PATCH 404/478] #1081 - Fix binocular dupe binocs are weapons and items at the same time. need to properly drop binocs because stuff like deisgnator can have ammo --- addons/disarming/functions/fnc_disarmDropItems.sqf | 14 ++++++++++++-- addons/disarming/functions/fnc_getAllGearUnit.sqf | 2 +- .../disarming/functions/fnc_showItemsInListbox.sqf | 8 ++++---- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/addons/disarming/functions/fnc_disarmDropItems.sqf b/addons/disarming/functions/fnc_disarmDropItems.sqf index 2cb3e89b5d..cb5da77dd6 100644 --- a/addons/disarming/functions/fnc_disarmDropItems.sqf +++ b/addons/disarming/functions/fnc_disarmDropItems.sqf @@ -102,7 +102,7 @@ if (!([_targetMagazinesStart, _targetMagazinesEnd, _holderMagazinesStart, _holde //Remove Items, Assigned Items and NVG _holderItemsStart = getitemCargo _holder; -_targetItemsStart = (assignedItems _target) + (items _target); +_targetItemsStart = (assignedItems _target) + (items _target) - (weapons _target); if ((headgear _target) != "") then {_targetItemsStart pushBack (headgear _target);}; if ((goggles _target) != "") then {_targetItemsStart pushBack (goggles _target);}; @@ -132,7 +132,7 @@ _addToCrateCount = []; } forEach _addToCrateClassnames; _holderItemsEnd = getitemCargo _holder; -_targetItemsEnd = (assignedItems _target) + (items _target); +_targetItemsEnd = (assignedItems _target) + (items _target) - (weapons _target); if ((headgear _target) != "") then {_targetItemsEnd pushBack (headgear _target);}; if ((goggles _target) != "") then {_targetItemsEnd pushBack (goggles _target);}; @@ -146,6 +146,16 @@ if ((([_holderItemsEnd select 1] call _fncSumArray) - ([_holderItemsStart select [_caller, _target, "Debug: Items Not Added to Holder"] call FUNC(eventTargetFinish); }; +//Script drop uniforms/vest if empty +if (((uniform _target) != "") && {(uniform _target) in _listOfItemsToRemove} && {(uniformItems _target) isEqualTo []}) then { + _holder addItemCargoGlobal [(uniform _target), 1]; + removeUniform _target; +}; +if (((vest _target) != "") && {(vest _target) in _listOfItemsToRemove} && {(vestItems _target) isEqualTo []}) then { + _holder addItemCargoGlobal [(vest _target), 1]; + removeVest _target; +}; + //If holder is still empty, it will be 'garbage collected' while we wait for the drop 'action' to take place //So add a dummy item and just remove at the end diff --git a/addons/disarming/functions/fnc_getAllGearUnit.sqf b/addons/disarming/functions/fnc_getAllGearUnit.sqf index a319c006ee..99d4b2d7f2 100644 --- a/addons/disarming/functions/fnc_getAllGearUnit.sqf +++ b/addons/disarming/functions/fnc_getAllGearUnit.sqf @@ -19,7 +19,7 @@ PARAMS_1(_target); private ["_allItems", "_classnamesCount", "_index", "_uniqueClassnames"]; -_allItems = ((weapons _target) + (magazines _target) + (items _target) + (assignedItems _target)); +_allItems = (((items _target) + (assignedItems _target)) - (weapons _target)) + (weapons _target) + (magazines _target); if ((backpack _target) != "") then { _allItems pushBack (backpack _target); diff --git a/addons/disarming/functions/fnc_showItemsInListbox.sqf b/addons/disarming/functions/fnc_showItemsInListbox.sqf index 5c809de4a2..b36e53e820 100644 --- a/addons/disarming/functions/fnc_showItemsInListbox.sqf +++ b/addons/disarming/functions/fnc_showItemsInListbox.sqf @@ -28,7 +28,7 @@ private ["_classname", "_count", "_displayName", "_picture"]; _classname = _x; _count = (_itemsCountArray select 1) select _forEachIndex; - if (_classname != DUMMY_ITEM) then { //Don't show the dummy potato + if ((_classname != DUMMY_ITEM) && {_classname != "ACE_FakePrimaryWeapon"}) then { //Don't show the dummy potato or fake weapon switch (true) do { case (isClass (configFile >> "CfgWeapons" >> _classname)): { @@ -53,8 +53,8 @@ private ["_classname", "_count", "_displayName", "_picture"]; }; _listBoxCtrl lbAdd format ["%1", _displayName]; - _listBoxCtrl lbSetData [_forEachIndex, _classname]; - _listBoxCtrl lbSetPicture [_forEachIndex, _picture]; - _listBoxCtrl lbSetTextRight [_forEachIndex, str _count]; + _listBoxCtrl lbSetData [((lbSize _listBoxCtrl) - 1), _classname]; + _listBoxCtrl lbSetPicture [((lbSize _listBoxCtrl) - 1), _picture]; + _listBoxCtrl lbSetTextRight [((lbSize _listBoxCtrl) - 1), str _count]; }; } forEach (_itemsCountArray select 0); From 3a10c77f08e5bb90997e44cf31f540a787c6105e Mon Sep 17 00:00:00 2001 From: ulteq Date: Sat, 9 May 2015 22:09:36 +0200 Subject: [PATCH 405/478] Minor cleanup --- addons/atragmx/functions/fnc_create_dialog.sqf | 3 +-- addons/atragmx/initKeybinds.sqf | 2 +- addons/kestrel4500/functions/fnc_createKestrelDialog.sqf | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/addons/atragmx/functions/fnc_create_dialog.sqf b/addons/atragmx/functions/fnc_create_dialog.sqf index e0be3c6941..6951137577 100644 --- a/addons/atragmx/functions/fnc_create_dialog.sqf +++ b/addons/atragmx/functions/fnc_create_dialog.sqf @@ -15,8 +15,7 @@ */ #include "script_component.hpp" -//if (dialog) exitWith { false }; -if(GVAR(active)) exitWith { false }; +if (GVAR(active)) exitWith { false }; if (underwater ACE_player) exitWith { false }; if (!("ACE_ATragMX" in (uniformItems ACE_player)) && !("ACE_ATragMX" in (vestItems ACE_player))) exitWith { false }; diff --git a/addons/atragmx/initKeybinds.sqf b/addons/atragmx/initKeybinds.sqf index 98bddf04e4..8bc37752f3 100644 --- a/addons/atragmx/initKeybinds.sqf +++ b/addons/atragmx/initKeybinds.sqf @@ -2,7 +2,7 @@ { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; - if(GVAR(active)) exitWith {}; + if (GVAR(active)) exitWith {false}; // Statement [] call FUNC(create_dialog); false diff --git a/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf index 77e36679de..289d0825fc 100644 --- a/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf +++ b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf @@ -14,9 +14,8 @@ */ #include "script_component.hpp" -//if (dialog) exitWith { false }; +if (GVAR(Kestrel4500)) exitWith { false }; if (underwater ACE_player) exitWith { false }; -if(GVAR(Kestrel4500)) exitWith { false }; if (!("ACE_Kestrel4500" in (uniformItems ACE_player)) && !("ACE_Kestrel4500" in (vestItems ACE_player))) exitWith { false }; GVAR(Overlay) = false; From 4733818e9b09c4e3bf414b62583ee476ede12cfa Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sat, 9 May 2015 15:10:01 -0500 Subject: [PATCH 406/478] Fix weather array for zargabad --- addons/weather/functions/fnc_getMapData.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index 5a090c7388..55c6e9c3c0 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -103,7 +103,7 @@ if (toLower worldName in ["takistan", "zargabad", "mountains_acr", "shapur_baf", GVAR(Humidity) = [68, 69, 62, 60, 49, 37, 38, 39, 40, 41, 56, 61]; // Source: https://weatherspark.com/averages/32750/Kabul-Afghanistan - GVAR(WindSpeedMax) = [[4.0, 1.0], [4.1, 1.0], [5.1, 1.1], [6.9, 1.2], [8.9, 1.2], [10.0, 1.1], 0, [8.2, 1.0], [6.9, 1.0], [5.2, 1.0], [3.8, 0.9], [3.7, 0.9]]; + GVAR(WindSpeedMax) = [[4.0, 1.0], [4.1, 1.0], [5.1, 1.1], [6.9, 1.2], [8.9, 1.2], [10.0, 1.1], [9.1,1.0], [8.2, 1.0], [6.9, 1.0], [5.2, 1.0], [3.8, 0.9], [3.7, 0.9]]; GVAR(WindSpeedMean) = [2.2, 2.2, 2.5, 2.8, 3.8, 4.4, 0, 3.3, 2.7, 2.4, 1.8, 1.9]; GVAR(WindSpeedMin) = [[0.2, 0.4], [0.2, 0.4], [0.2, 0.4], [0.3, 0.4], [0.6, 0.4], [0.9, 0.4], [0.7, 0.4], [0.5, 0.4], [0.2, 0.5], [0.1, 0.1], [0, 0.1], [0, 0.1]]; GVAR(WindDirectionProbabilities) = [[0.04, 0.02, 0.05, 0.04, 0.05, 0.04, 0.11, 0.29], // January From fb6195875818a2f783db83456ec97b7829f108f4 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sat, 11 Apr 2015 15:33:21 +0200 Subject: [PATCH 407/478] Fixed: FUNC macros list --- documentation/development/coding-guidelines.md | 1 + 1 file changed, 1 insertion(+) diff --git a/documentation/development/coding-guidelines.md b/documentation/development/coding-guidelines.md index 04d6adba80..c9eadfa8b6 100644 --- a/documentation/development/coding-guidelines.md +++ b/documentation/development/coding-guidelines.md @@ -131,6 +131,7 @@ The family of `GVAR` macro's define global variable strings or constants for use There also exists the FUNC family of Macros + * `FUNC(face)` is `ace_balls_fnc_face` or the call trace wrapper for that function. * `EFUNC(balls,face)` is `ace_balls_fnc_face` or the call trace wrapper for that function. * `EFUNC(leg,face)` is `ace_leg_fnc_face` or the call trace wrapper for that function. From cde1ff9a646e54c56d8835225e84ae9ea094da68 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sat, 11 Apr 2015 15:36:14 +0200 Subject: [PATCH 408/478] Fixed: build.py instead of build.bat --- .../development/setting-up-the-development-environment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index 8a572c1ec6..52e80a37a3 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -107,4 +107,4 @@ Files must exist in the built PBOs for filepatching to work. If you create a new Configs are not patched during run time, only at load time. You do not have have to rebuild a PBO to make config changes, just restart Arma. You can get around this though if you are on the dev branch of Arma 3 and running the diagnostic exe. That includes `diag_mergeConfig` which takes a full system path (as in `p:\z\ace\addons\my_module\config.cpp`) and allows you selectivly reload config files. -If you need to add/remove files* Then you'll need to run build.bat again without the game running, and restart. That is all that is required to add new files to then further use in testing. +If you need to add/remove files* Then you'll need to run build.py again without the game running, and restart. That is all that is required to add new files to then further use in testing. From 76b66db9d8a4d38890d02411aaeb1f578abb9276 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sat, 11 Apr 2015 15:37:36 +0200 Subject: [PATCH 409/478] Fixed: typo, extra * --- .../development/setting-up-the-development-environment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/development/setting-up-the-development-environment.md b/documentation/development/setting-up-the-development-environment.md index 52e80a37a3..f484c59722 100644 --- a/documentation/development/setting-up-the-development-environment.md +++ b/documentation/development/setting-up-the-development-environment.md @@ -107,4 +107,4 @@ Files must exist in the built PBOs for filepatching to work. If you create a new Configs are not patched during run time, only at load time. You do not have have to rebuild a PBO to make config changes, just restart Arma. You can get around this though if you are on the dev branch of Arma 3 and running the diagnostic exe. That includes `diag_mergeConfig` which takes a full system path (as in `p:\z\ace\addons\my_module\config.cpp`) and allows you selectivly reload config files. -If you need to add/remove files* Then you'll need to run build.py again without the game running, and restart. That is all that is required to add new files to then further use in testing. +If you need to add/remove files, then you'll need to run build.py again without the game running, and restart. That is all that is required to add new files to then further use in testing. From 6695a8793b9851c9b07a5d134d94095630e83c68 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sat, 11 Apr 2015 16:27:38 +0200 Subject: [PATCH 410/478] Added: Some italian translastions --- addons/aircraft/stringtable.xml | 6 +++--- addons/attach/stringtable.xml | 2 +- addons/captives/stringtable.xml | 16 ++++++++-------- addons/dragging/stringtable.xml | 6 +++--- addons/hearing/stringtable.xml | 4 ++-- addons/interact_menu/stringtable.xml | 6 +++--- addons/interaction/stringtable.xml | 20 ++++++++++++++------ addons/nametags/stringtable.xml | 8 ++++---- 8 files changed, 38 insertions(+), 30 deletions(-) diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 1dd01e08ab..c467cda3ce 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -34,7 +34,7 @@ Otevřít nákladní prostor Rakodórámpa nyitása Открыть грузовой отсек - Apri la porta del cargo + Apri la rampa di carico Abrir porta de carga @@ -46,7 +46,7 @@ Zavřít nákladní prostor Rakodórámpa zárása Закрыть грузовой отсек - Chiudi la porta del cargo + Chiudi la rampa di carico Fechar porta de carga diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 70b464a6cd..bc78cb3919 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -206,4 +206,4 @@ %1<br/>отсоединен(-а) - \ No newline at end of file + diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 4c139897c9..5de0a18bec 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -8,7 +8,7 @@ Capturer le prisonnier Aresztuj Zajmout Osobu - Arresta il Prigioniero + Arresta il prigioniero Tomar Prisioneiro Foglyul ejtés Взять в плен @@ -20,7 +20,7 @@ Wypuść więźnia Libérer le prisonnier Osvobodit Zajatce - Libera il Prigioniero + Libera il prigioniero Libertar Prisioneiro Fogoly szabadon engedése Освободить пленника @@ -71,7 +71,7 @@ Fogoly berakása Загрузить пленного Embarcar Prisioneiro - Carica il prigioniero + Fai salire il prigioniero Unload Captive @@ -83,7 +83,7 @@ Fogoly kivevése Выгрузить пленного Desembarcar Prisioneiro - Scarica il prigioniero + Fai scendere il prigioniero Cable Tie @@ -105,7 +105,7 @@ Les Serflex permettent de menotter les prisonniers. Stahovací pásky vám umožní zadržet vězně. A algema plástica permite que você contenha prisioneiros. - Fascietta che ti consente di arrestare i prigionieri. + Fascetta per arrestare i prigionieri Gyorskötöző, emberek foglyulejtéséhez használható. Кабельные стяжки позволяют связывать пленников. @@ -119,7 +119,7 @@ Ekwipunek rewidowanej osoby Инвентарь обысканного человека Inventário da pessoa revistada - Inventario delle persone perquisite + Inventario della persona perquisita Frisk person @@ -143,7 +143,7 @@ Poddaj się Сдаться Megadás - Arreso + Arrenditi Stop Surrendering @@ -194,4 +194,4 @@ Niente selezionato - \ No newline at end of file + diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index dd2e11f72b..4e98513266 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -32,7 +32,7 @@ Przedmiot jest zbyt ciężki Objet trop lourd Objeto muito pesado - Non è possibile trascinare l'oggetto a causa del suo peso + L'oggetto pesa troppo Предмет слишком тяжёлый Moc težké Az objektum túl nehéz @@ -45,9 +45,9 @@ Porter Nést Carregar - Trascina + Porta Felvevés Нести - \ No newline at end of file + diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index f13947d095..40fc6929f7 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -106,8 +106,8 @@ Vypnout pískání v uších Wyłącz dzwonienie w uszach Fülcsengés letiltása - Disabilita il ronzio + Disabilita i fischi nelle orecchie Desabilitar zumbido de ouvidos - \ No newline at end of file + diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 9e808eedff..6787d1e71e 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -10,7 +10,7 @@ Zawsze wyświetlaj kursor dla własnej interakcji Toujours afficher le curseur pour les interactions sur soi-même Mindig legyen a saját cselekvés kurzorja látható - Mostra sempre il cursore per le auto interazioni + Mostra sempre il cursore per le interazioni su se stessi Sempre mostrar cursor para interação pessoal @@ -58,7 +58,7 @@ Klawisz własnej interakcji Touche d'interaction personnelle Saját cselekvő gomb - Tasto per auto interazioni + Tasto interazione su se stessi Tecla de Interação Pessoal @@ -70,7 +70,7 @@ Własne akcje Interaction personnelle Saját cselekvések - Auto interazioni + Interazioni su se stessi Ações Pessoais diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index cc34994031..ee99e92544 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -443,7 +443,7 @@ Někdo tě poklepal na PRAVÉ rameno Вас похлопали по ПРАВОМУ плечу Você foi tocado no ombro - Ti è stato dato un colpetto sulla spalla + Ti è stato dato un colpetto sulla spalla destra You were tapped on the LEFT shoulder. @@ -455,7 +455,7 @@ Někdo tě poklepal na LEVÉ rameno Вас похлопали по ЛЕВОМУ плечу Você foi tocado no ombro. - Ti è stato dato un colpetto sulla spalla + Ti è stato dato un colpetto sulla spalla sinistra Cancel @@ -575,6 +575,7 @@ Přiřadit k červeným Назначить в Красную группу Assigner à rouge + Assegna al team rosso Assign Green @@ -586,6 +587,7 @@ Přiřadit k zeleným Назначить в Зеленую группу Assigner à vert + Assegna al team verde Assign Blue @@ -597,6 +599,7 @@ Přiřadit k modrým Назначить в Синюю группу Assigner à bleu + Assegna al team blu Assign Yellow @@ -608,6 +611,7 @@ Přiřadit ke žlutým Назначить в Желтую группу Assigner à jaune + Assegna al team giallo Join Red @@ -619,6 +623,7 @@ Připojit k červeným Присоединиться к Красной группе Rejoindre rouge + Unirsi al team rosso Join Green @@ -630,6 +635,7 @@ Připojit k zeleným Присоединиться к Зеленой группе Rejoindre vert + Unirsi al team verde Join Blue @@ -641,6 +647,7 @@ Připojit k modrým Присоединиться к Синей группе Rejoindre bleu + Unirsi al team blu Join Yellow @@ -652,6 +659,7 @@ Připojit ke žlutým Присоединиться к Жёлтой группе Rejoindre jaune + Unirsi al team giallo You joined Team %1 @@ -735,7 +743,7 @@ Hatótávolságon kívül Poza zasięgiem Mimo dosah - Non in raggio + Fuori limite Equipment @@ -758,8 +766,8 @@ Odstrčit Tolás Толкать - Spingi Empurrar + Spingere Interact @@ -770,7 +778,7 @@ Interakcja Interactuar Cselekvés - Interagisci + Interagire Interagir diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 7c2d0356a9..fd88a8fbc2 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -70,8 +70,8 @@ Zobrazit info o posádce vozidla Показывать информацию об экипаже Jármű-legénység adatainak mutatása - Mostra le informazioni sull'equipaggio del veicolo Mostrar tripulantes + Mostra l'elenco del personale a bordo Show name tags for AI units @@ -82,7 +82,7 @@ Wyświetl imiona jednostek AI Afficher les noms des IA Névcímkék mutatása MI-egységeknél - Mostra le tag nomi per le unità AI + Mostra i nomi delle le unità AI Mostrar nomes para unidades de IA @@ -94,7 +94,7 @@ Pokaż fale dźwiękowe (wymagana opcja Pokaż imiona graczy) Afficher "qui parle" (si noms affichés) "Hanghullámok" mutatása (a nevek mutatása szükséges) - Mostra barra movimento audio (richiede mostra nomi abilitato) + Mostra movimento audio (richiede mostra nomi abilitato) Mostrar onda sonora (requer nome de jogadores) @@ -106,7 +106,7 @@ Couleur d'affichage par défaut (si dans aucun groupe) Standardní barva jmenovek (pro nečleny jednotky) Alap névcímke-szín (csoporton kívüli személyek) - Colore nametag di default (membri non del gruppo) + Colore dei nomi non appartenenti al gruppo Cor padrão do nome (unidades fora do grupo) From 9e093b94598bdddc0843fcc3c56d3e10ba6a0b84 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sat, 11 Apr 2015 16:45:23 +0200 Subject: [PATCH 411/478] Added: More italian translations --- addons/dragging/stringtable.xml | 2 +- addons/laser_selfdesignate/stringtable.xml | 2 +- addons/laserpointer/stringtable.xml | 4 ++-- addons/logistics_wirecutter/stringtable.xml | 6 +++--- addons/maptools/stringtable.xml | 2 +- addons/microdagr/stringtable.xml | 6 +++--- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 4e98513266..a432bbfcf0 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -45,8 +45,8 @@ Porter Nést Carregar - Porta Felvevés + Trasporta Нести diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index f25689c5b9..cdd7439200 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -26,4 +26,4 @@ Designador Laser Desligado - \ No newline at end of file + diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index bf785781d0..1a4182bd8e 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -34,7 +34,7 @@ Wydziela widzialne światło. Látható fényt bocsát ki. Emite luz visible. - Emette luce visibile + Emette luce visibile. Emite luz visível. @@ -86,4 +86,4 @@ Alternar entre Laser / Laser IV - \ No newline at end of file + diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index c49243d91e..eb3ad70ce1 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -10,7 +10,7 @@ Štípací kleště Nożyce do cięcia drutu Drótvágó - Pinze da Taglio + Trancia Cortador de Arame @@ -22,7 +22,7 @@ Służą do cięcia drutu i płotów Pince coupante Drótok, huzalok, és kábelek vágására alkalmas olló. - Pinze da Taglio + Trancia da ferro Cortador de Arame @@ -62,4 +62,4 @@ Забор разрезан - \ No newline at end of file + diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index f2a14e8b33..a112096347 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -142,7 +142,7 @@ Dirección: %1° Irány: %1 Направление: %1° - Direzione : %1° + Direzione: %1° Direção: %1 diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 09c96705b4..55eccb1acf 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -10,7 +10,7 @@ MicroDAGR GPS MicroDAGR GPS MicroDAGR GPS - MicroDAGR GPS + GPS MicroDAGR GPS MicroDAGR @@ -22,7 +22,7 @@ Récepteur GPS MicroDAGR MicroDAGR pokročílá GPS příjímač MicroDAGR fejlett GPS vevőegység - MicroDAGR ricevitore GPS avanzato + Ricevitore GPS avanzato MicroDAGR Recepitor GPS avançado MicroDAGR @@ -46,7 +46,7 @@ Mils Mils Mil - Miglia + Mils Mils: From 7e7c3ed053da1e1a3c40f372432e52265feebee4 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sat, 11 Apr 2015 21:00:13 +0200 Subject: [PATCH 412/478] Added: More italian translations --- addons/magazinerepack/stringtable.xml | 12 ++++++++---- addons/safemode/stringtable.xml | 1 + addons/vector/stringtable.xml | 4 ++-- addons/vehiclelock/stringtable.xml | 16 ++++++++-------- addons/weaponselect/stringtable.xml | 8 ++++---- addons/winddeflection/stringtable.xml | 2 +- 6 files changed, 24 insertions(+), 19 deletions(-) diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index 7030dc374e..135946f756 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -1,4 +1,8 @@  +<<<<<<< master +======= + +>>>>>>> HEAD~3 @@ -8,7 +12,7 @@ Réorganiser les chargeurs Przepakuj magazynki Přepáskovat Zásobníky - Ricarica Caricatori + Ricarica caricatori Reorganizar Carregadores Újratárazás Перепаковать магазины @@ -20,7 +24,7 @@ Sélectionner menu des chargeurs Menu wyboru magazynków Zvolit Menu zásobníků - Seleziona Menù di Ricarica + Seleziona menù di ricarica Menu de Seleção de Carregador Fegyvertár menü kiválasztás Меню выбора магазинов @@ -32,7 +36,7 @@ Sélectionner chargeur Wybierz magazynek Zvolit zásobník - Seleziona Caricatore + Seleziona caricatore Selecionar Carregador Tár kiválasztása Выбрать магазин @@ -68,7 +72,7 @@ %1 chargeur(s) plein(s) et %2 cartouche(s) en rab Pełnych magazynków: %1.<br/>Dodatkowych naboi: %2. %1 plný zásobník(y) a %2 munice navíc - %1 caricatore/i pieno e %2 munizioni extra + %1 caricatore(i) pieno e %2 munizioni extra %1 carregador(es) cheio(s) e %2 disparo(s) a mais %1 teljes tár és %2 extra lőszer %1 полных магазина(ов) и %2 патрона(ов) diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index f39ca84614..c997d026a2 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -47,6 +47,7 @@ Снят с предохранителя Sécurité enlevée Togli la sicura + Sicura tolta Tirou Segurança diff --git a/addons/vector/stringtable.xml b/addons/vector/stringtable.xml index 47832c33c1..80135294d4 100644 --- a/addons/vector/stringtable.xml +++ b/addons/vector/stringtable.xml @@ -44,10 +44,10 @@ Vector - Touche Distance Vector - Odległość Vector - Zobrazit vzdálenost - Vecto - Tasto Distanza + Vector - Tasto Distanza Vector - Tecla de Distância Vector - Távolság gomb Vector – Расстояние - \ No newline at end of file + diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index fc92b72dd2..f4162b3b03 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -10,7 +10,7 @@ Odemknout vozidlo Jármű nyitása Открыть машину - Apri il veicolo + Sblocca il veicolo Destravar veículo @@ -22,7 +22,7 @@ Zamknout vozidlo Jármű zárása Закрыть машину - Chiudi il veicolo + Chiudi il veicolo a chiave Travar Veículo @@ -70,7 +70,7 @@ Hlavní klíč otevře libovolný zámek, bez vyjímek! Egy főkulcs, ami minden zárat kinyit, helyzettől függetlenül! Универсальный ключ, открывающий любой замок. - Una chiave principale che apre qualsiasi serratura! + Un passe-partout che apre qualsiasi serratura! Uma chave mestre irá abrir qualquer fechadura, não importa qual! @@ -94,7 +94,7 @@ Klíč který by měl otevřít většinou Západních vozidel. Egy kulcs, ami a NYUGAT egységeinek legtöbb járművét ki tudja nyitni. Ключ для открытия большинства машин Красных. - Una chiave che apre la maggior parte dei veicoli WEST + Una chiave che apre la maggior parte dei veicoli occidentali Uma chave que abre a maioria dos veículos ocidentais @@ -106,7 +106,7 @@ Egy kulcs, ami a KELET egységeinek legtöbb járművét ki tudja nyitni. Klíč který by měl otevřít vetšinu Východních vozidel. Ключ для открытия большинства машин Синих. - Una chaive che apre la maggior parte dei veicoli EAST + Una chaive che apre la maggior parte dei veicoli orientali Uma chave que abre a maioria dos veículos orientais @@ -118,7 +118,7 @@ Egy kulcs, ami a FÜGGETLEN egységek legtöbb járművét ki tudja nyitni. Klíč který by měl otevřít většinu Nezávislých vozidel. Ключ для открытия большинства машин Независимых. - Una chaive che apr ela maggior parte dei veicoli INDEP + Una chaive che apr ela maggior parte dei veicoli degli indipendenti Uma chave que abre a maioria dos veículos independentes @@ -130,8 +130,8 @@ Klíč který by měl otevřít většinu Civilních vozidel. Egy kulcs, ami a CIVIL járművek többségét ki tudja nyitni. Ключ для открытия большинства машин Гражданских. - Una chaive che apr ela maggior parte dei veicoli CIV + Una chaive che apr ela maggior parte dei veicoli civili Uma chave que abre a maioria dos veículos civis. - \ No newline at end of file + diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 2925b66e7d..0bce22becb 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -47,7 +47,7 @@ Sélectionner Fusil Puska Kiválasztása Selecionar Rifle - Seleziona il Fucile + Seleziona il fucile Select Launcher @@ -59,7 +59,7 @@ Sélectionner Lanceur Rakétavető Kiválasztása Selecionar Lançador - Seleziona il Lanciamissili + Seleziona il lanciamissili Select Grenade Launcher @@ -71,7 +71,7 @@ Sélectionner Lance-grenades Gránátvető Kiválasztása Selecionar Lança-Granadas - Seleziona il Lanciagranate + Seleziona il lanciagranate Select Binoculars @@ -278,4 +278,4 @@ Lançador de fumaça - \ No newline at end of file + diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index af6f05a912..4ebcc81bee 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -23,7 +23,7 @@ Direction %1 Windrichtung: %1 Irány: %1 - Direzione: %1 + Direzione: %1° Direção: %1 From 87974b12b2e64ff5815355b48a1f7123f5805548 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sun, 12 Apr 2015 20:37:02 +0200 Subject: [PATCH 413/478] Added: Myself as contributor --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 366664efbd..862cb23413 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -29,6 +29,7 @@ Walter Pearce ACCtomeek Adanteh aeroson +alef Aggr094 Alganthe Anthariel From 2da2794e205243f72ee93df86330d94630c9dc9d Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sat, 9 May 2015 17:08:47 -0500 Subject: [PATCH 414/478] ACE_isUnique config for mags instead of static list --- addons/disarming/functions/fnc_disarmDropItems.sqf | 4 ++-- addons/disarming/script_component.hpp | 1 - addons/vehiclelock/CfgMagazines.hpp | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/disarming/functions/fnc_disarmDropItems.sqf b/addons/disarming/functions/fnc_disarmDropItems.sqf index cb5da77dd6..bc9abbf127 100644 --- a/addons/disarming/functions/fnc_disarmDropItems.sqf +++ b/addons/disarming/functions/fnc_disarmDropItems.sqf @@ -79,7 +79,7 @@ _holderMagazinesStart = magazinesAmmoCargo _holder; { EXPLODE_2_PVT(_x,_xClassname,_xAmmo); - if ((_xClassname in _listOfItemsToRemove) && {!(_xClassname in UNIQUE_MAGAZINES)}) then { + if ((_xClassname in _listOfItemsToRemove) && {(getNumber (configFile >> "CfgMagazines" >> _xClassname >> "ACE_isUnique")) == 0}) then { _holder addMagazineAmmoCargo [_xClassname, 1, _xAmmo]; _target removeMagazine _xClassname; }; @@ -89,7 +89,7 @@ _targetMagazinesEnd = magazinesAmmo _target; _holderMagazinesEnd = magazinesAmmoCargo _holder; //Verify Mags dropped from unit: -if ( ({((_x select 0) in _listOfItemsToRemove) && {!((_x select 0) in UNIQUE_MAGAZINES)}} count _targetMagazinesEnd) != 0) exitWith { +if (({((_x select 0) in _listOfItemsToRemove) && {(getNumber (configFile >> "CfgMagazines" >> (_x select 0) >> "ACE_isUnique")) == 0}} count _targetMagazinesEnd) != 0) exitWith { _holder setVariable [QGVAR(holderInUse), false]; [_caller, _target, "Debug: Didn't Remove Magazines"] call FUNC(eventTargetFinish); }; diff --git a/addons/disarming/script_component.hpp b/addons/disarming/script_component.hpp index d9bec366dc..9a1ef9156b 100644 --- a/addons/disarming/script_component.hpp +++ b/addons/disarming/script_component.hpp @@ -13,4 +13,3 @@ #define DISARM_CONTAINER "GroundWeaponHolder" #define DUMMY_ITEM "ACE_DebugPotato" -#define UNIQUE_MAGAZINES ["ACE_key_customKeyMagazine"] \ No newline at end of file diff --git a/addons/vehiclelock/CfgMagazines.hpp b/addons/vehiclelock/CfgMagazines.hpp index 100df8065b..d57e8fff6f 100644 --- a/addons/vehiclelock/CfgMagazines.hpp +++ b/addons/vehiclelock/CfgMagazines.hpp @@ -6,5 +6,6 @@ class CfgMagazines { descriptionShort = "$STR_ACE_Vehicle_Item_Custom_Description"; count = 1; mass = 0; + ACE_isUnique = 1; }; }; From b3833c665d4adbf37d8c18a566ae5276b0224c77 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sat, 9 May 2015 22:53:20 -0700 Subject: [PATCH 415/478] Time magic. --- addons/common/XEH_preInit.sqf | 9 +++++++++ addons/common/functions/fnc_timePFH.sqf | 26 +++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 addons/common/functions/fnc_timePFH.sqf diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index 5c2ad1e592..881d77e156 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -312,6 +312,15 @@ if (hasInterface) then { }, 0, []] call cba_fnc_addPerFrameHandler; }; +// Time handling +ACE_time = diag_tickTime; +ACE_realTime = diag_tickTime; +ACE_virtualTime = diag_tickTime; +ACE_gameTime = time; + +PREP(timePFH); +[FUNC(timePFH), 0, []] call cba_fnc_addPerFrameHandler; + // Init toHex [0] call FUNC(toHex); diff --git a/addons/common/functions/fnc_timePFH.sqf b/addons/common/functions/fnc_timePFH.sqf new file mode 100644 index 0000000000..7f1c815bac --- /dev/null +++ b/addons/common/functions/fnc_timePFH.sqf @@ -0,0 +1,26 @@ +//#define DEBUG_MODE_FULL +#include "script_component.hpp" + +private["_lastTime", "_lastRealTime", "_lastVirtualTime", "_lastGameTime", "_delta"]; + +_lastTime = ACE_time; +_lastRealTime = ACE_realTime; +_lastVirtualTime = ACE_virtualTime; +_lastGameTime = ACE_gameTime; +_lastPausedTime = ACE_pausedTime; +_lastVirtualPausedTime = ACE_virtualPausedTime; + +ACE_gameTime = time; +ACE_realTime = diag_tickTime; + +_delta = ACE_realTime - _lastRealTime; +if(time <= _lastGameTime) then { + // Game is paused or not running + ACE_pausedTime = ACE_pausedTime + _delta; + ACE_virtualPausedTime = ACE_pausedTime + (_delta * accTime); +} else { + // Time is updating + ACE_virtualTime = _lastVirtualTime + (_delta * accTime); + ACE_time = ACE_realTime + _delta; +}; + From 8e34b99c0f6969764b834c7c19cb58d50caf008f Mon Sep 17 00:00:00 2001 From: jaynus Date: Sat, 9 May 2015 23:09:33 -0700 Subject: [PATCH 416/478] Optimization of variables. --- addons/common/functions/fnc_timePFH.sqf | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/addons/common/functions/fnc_timePFH.sqf b/addons/common/functions/fnc_timePFH.sqf index 7f1c815bac..a3732c614f 100644 --- a/addons/common/functions/fnc_timePFH.sqf +++ b/addons/common/functions/fnc_timePFH.sqf @@ -3,24 +3,22 @@ private["_lastTime", "_lastRealTime", "_lastVirtualTime", "_lastGameTime", "_delta"]; -_lastTime = ACE_time; _lastRealTime = ACE_realTime; -_lastVirtualTime = ACE_virtualTime; _lastGameTime = ACE_gameTime; -_lastPausedTime = ACE_pausedTime; -_lastVirtualPausedTime = ACE_virtualPausedTime; ACE_gameTime = time; ACE_realTime = diag_tickTime; _delta = ACE_realTime - _lastRealTime; if(time <= _lastGameTime) then { + ACE_paused = true; // Game is paused or not running ACE_pausedTime = ACE_pausedTime + _delta; ACE_virtualPausedTime = ACE_pausedTime + (_delta * accTime); } else { + ACE_paused = false; // Time is updating - ACE_virtualTime = _lastVirtualTime + (_delta * accTime); - ACE_time = ACE_realTime + _delta; + ACE_virtualTime = ACE_virtualTime + (_delta * accTime); + ACE_time = ACE_time + _delta; }; From 7fb7b04a85dc37a254931ba1f22bf407671fdf5a Mon Sep 17 00:00:00 2001 From: jaynus Date: Sat, 9 May 2015 23:13:02 -0700 Subject: [PATCH 417/478] And one final bugfix for fast machines. --- addons/common/functions/fnc_timePFH.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/common/functions/fnc_timePFH.sqf b/addons/common/functions/fnc_timePFH.sqf index a3732c614f..e8f0be1efd 100644 --- a/addons/common/functions/fnc_timePFH.sqf +++ b/addons/common/functions/fnc_timePFH.sqf @@ -10,7 +10,7 @@ ACE_gameTime = time; ACE_realTime = diag_tickTime; _delta = ACE_realTime - _lastRealTime; -if(time <= _lastGameTime) then { +if(ACE_gameTime <= _lastGameTime) then { ACE_paused = true; // Game is paused or not running ACE_pausedTime = ACE_pausedTime + _delta; From 59adf928622b3917dfb9e288e10c01ff2b2343eb Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sun, 10 May 2015 01:47:50 -0500 Subject: [PATCH 418/478] Fix not being able to UnSurrender (currentWeapon) --- addons/captives/functions/fnc_canSurrender.sqf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/captives/functions/fnc_canSurrender.sqf b/addons/captives/functions/fnc_canSurrender.sqf index 3b810a0c5c..9ba7cf6de0 100644 --- a/addons/captives/functions/fnc_canSurrender.sqf +++ b/addons/captives/functions/fnc_canSurrender.sqf @@ -1,6 +1,6 @@ /* * Author: PabstMirror - * Checks the conditions for being able to surrender + * Checks the conditions for being able switch surrender states * * Arguments: * 0: caller (player) @@ -18,14 +18,14 @@ PARAMS_2(_unit,_newSurrenderState); -if (currentWeapon _unit != "") exitWith {false}; - private "_returnValue"; _returnValue = if (_newSurrenderState) then { - !(_unit getVariable [QGVAR(isSurrendering), false]); //Not currently surrendering + //no weapon equiped AND not currently surrendering and + (currentWeapon _unit == "") && {!(_unit getVariable [QGVAR(isSurrendering), false])} } else { - (_unit getVariable [QGVAR(isSurrendering), false]); //is Surrendering + //is Surrendering + (_unit getVariable [QGVAR(isSurrendering), false]) }; _returnValue From 643df719320d8d43b536101f57c7a9c6f0869251 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sun, 10 May 2015 09:23:02 +0200 Subject: [PATCH 419/478] Added: Italian translation from Blackedsoul p#20 --- addons/attach/stringtable.xml | 2 +- addons/captives/stringtable.xml | 4 ++-- addons/common/stringtable.xml | 15 +++++++------- addons/disposable/stringtable.xml | 8 ++++---- addons/dragging/stringtable.xml | 2 +- addons/explosives/stringtable.xml | 16 +++++++-------- addons/frag/stringtable.xml | 2 +- addons/interaction/stringtable.xml | 8 ++++---- addons/magazinerepack/stringtable.xml | 6 +----- addons/maptools/stringtable.xml | 6 +++--- addons/medical/stringtable.xml | 28 +++++++++++++-------------- addons/safemode/stringtable.xml | 3 +-- addons/vehiclelock/stringtable.xml | 2 +- addons/weaponselect/stringtable.xml | 2 +- addons/winddeflection/stringtable.xml | 1 - 15 files changed, 50 insertions(+), 55 deletions(-) diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index bc78cb3919..01e07c4096 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -179,7 +179,7 @@ Erro ao fixar Przyczepianie nie powiodło się Hozzácsatolás sikertelen - Impossibile Attaccare + Non si attacca %1<br/>Attached diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 5de0a18bec..b45e8c3541 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -155,7 +155,7 @@ Podejmij walkę ponownie Прекратить сдачу в плен Megadás abbahagyása - Annulla la resa + Smetti di arrenderti Only use on alive units @@ -191,7 +191,7 @@ Nie ma nic pod kursorem Ничего не выделено Semmi sincs az egér alatt - Niente selezionato + Nessuna selezione diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index a78ff0a7fc..b3741bb5d2 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -275,7 +275,7 @@ Désactiver menu commande Выключить командное меню Parancsnoki menü kikapcsolása - Disabilita Menù di comando + Disabilita menù di comando Desabilitar menu de comando @@ -308,11 +308,11 @@ Aceptar peticiones Akceptuj prośby Přijmout žádost - Accetta Richieste Accepter requête Принять запросы Kérések elfogadása Aceitar Pedido + Accetta la richiesta Decline Requests @@ -320,11 +320,11 @@ Rechazar peticiones Ignoruj prośby Zamítnout žádost - Rifiuta Richieste Отклонить запросы Rejeter requête Kérések elutasítása Rejeitar pedido + Rifiuta la richiesta Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. @@ -402,7 +402,7 @@ Hint Background color Hintergrundfarbe der Hinweise Color de fondo de las notificaciones - Colore di sfondo dei Suggerimenti + Colore di sfondo dei suggerimenti Цвет фона всплывающих подсказок Kolor tła powiadomień Notification: couleur de l'arrière plan @@ -414,7 +414,7 @@ The color of the background from the ACE hints. Die Hintergrundfarbe der ACE-Hinweise. El color de fondo de las notificaciones del ACE - Il colore di sfondo dei suggerimenti dell'ACE. + Il colore di sfondo dei suggerimenti di ACE. Цвет фона всплывающих подсказок АСЕ. Kolor tła dla powiadomień ACE Notification ACE: couleur de l'arrière plan @@ -426,7 +426,7 @@ Hint text font color Textfarbe der Hinweise Color del texto de las notificaciones - Il colore del Testo dei Suggerimenti + Il colore del testo dei suggerimenti Цвет шрифта всплывающих подсказок Kolor tekstu powiadomień Notification: couleur du texte @@ -438,7 +438,7 @@ The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified. Wähle die Textfarbe für ACE-Hinweise. Die gewählte Farbe wird als Standartfarbe der Hinweise angezeigt, wenn der Hinweis selbst keine spezifische Farbe hat. El color del texto de las notificaciones del ACE. Este es el color predeterminado para todo el texto que se muestra a través del sistema de notificaciones del ACE, si el texto de notificación no tiene otro color especificado. - Il colore del testo dei suggerimenti dell'ACE. Questo è il colore standard per tutti i caratteri mostrati dal sistema di suggerimenti dell'ACE, se il colore del testo non è specificato. + Il colore del testo dei suggerimenti di ACE. Questo è il colore predefinito per tutto il testo mostrato dal sistema di suggerimenti di ACE quando il colore del testo non ha altro colore specificato. Цвет шрифта текста всплывающих подсказок АСЕ. Этот цвет является стандартным для всего текста, транслирующегося через систему подсказок АСЕ, если не установлено другого цвета для текста подсказок. Kolor tekstu dla powiadomień ACE. Ten kolor jest domyślnym dla wszystkich tekstów wyświetlanych poprzez System Powiadomień ACE, jeżeli dla powiadomienia nie określono innego koloru. Notification ACE: couleur du texte. C'est la couleur par défaut de tout texte affiché dans les notifications ACE, si aucune couleur n'est spécifiée pour les notifications @@ -457,6 +457,7 @@ Banane Banán Banana + Banana A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 625bb6a542..526844afcd 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -10,7 +10,7 @@ Lanzador utilizado Elhasznált kilövőcső Отстрелянная труба - Tubo utilizzato + Tubo usato Tubo utilizado @@ -22,7 +22,7 @@ Lanzador desechable utilizado Elhasznált eldobható rakétavető Отстрелянная одноразовая пусковая установка - Lanciarazzi monouso utilizzato + Lanciarazzi monouso già utilizzato Lança foguetes descartável utilizado @@ -34,8 +34,8 @@ Precargado misil inerte Előtöltött műrakéta Предзаряженная ракетная болванка - Missile stupido precaricato + Missile inerte precaricato Míssel inerte pré-carregado - \ No newline at end of file + diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index a432bbfcf0..956f004635 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -46,7 +46,7 @@ Nést Carregar Felvevés - Trasporta + Trasporta Нести diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 0c088df962..628c334314 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,4 +1,4 @@ - +<<<<<<< translation/15bn/alef @@ -368,7 +368,7 @@ Wybierz zapalnik Sélectionner une mise à feu Zvolit Detonátor - Seleziona un Attivatore + Seleziona un attivatore Gyújtóeszköz kiválasztása Selecionar um Gatilho Выберите детонатор @@ -392,7 +392,7 @@ Druckplatte Plaque de pression Nášlapná nástraha - Piastra a Pressione + Piastra a pressione Nyomólap Placa de pressão Нажимная плита @@ -404,7 +404,7 @@ Stolperdraht Fil de détente Nástražný drát - Filo a Inciampo + Filo a inciampo Botlódrót Linha de tração Растяжка @@ -440,7 +440,7 @@ Infrarotsensor (Seitenangriff) Capteur IR (de flanc) IR Značkovač (Výbuch stranou) - Sensore IR (Attacco laterale) + Sensore IR (attacco laterale) Infravörös szenzor (Side Attack) Sensor infravermelho (ataque lateral) ИК сенсор (детонация вбок) @@ -452,7 +452,7 @@ Magnetfeldsensor (Bodenangriff) Capteur magnétique (par le bas) Magnetický Senzor (Výbuch ze spoda) - Sensore Magnetico di Prossimità (Attacco inferiore) + Sensore Magnetico di Prossimità (attacco inferiore) Mágneses mező érzékelő (Bottom Attack) Influência magnética (ataque inferior) Магнитный сенсор (детонация вверх) @@ -462,7 +462,7 @@ Keine Sprengladungen auf diesem Auslöser. Ningún explosivo en el detonador. Pas d'explosif à mettre à feu. - Nessun esplosivo sul sensore. + Nessun esplosivo Žádná výbušnina k odpálení. Nincs robbanóanyag a gyújtóeszközhöz kötve. Brak ładunków na zapalnik. @@ -491,7 +491,7 @@ Robbanóanyagok távoli robbantásához Usado para detonar remotamente o explosivo quando solto. Используется для дистанционного подрыва, после смерти оператора. - Usato per attivare esplosivi al momento del rilascio + Usato per attivare a distanza esplosivi al momento del rilascio Pick up diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index cfc28f9c4e..e7ebb7c1bf 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -14,4 +14,4 @@ Desabilitar Fragmentação - \ No newline at end of file + diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index ee99e92544..1da22b649e 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -119,7 +119,7 @@ Меню взаимодействия (с собой) Cselekvő menü (saját) Menu de Interação (Individual) - Menù interazione (Individuale) + Menù interazione (individuale) Open / Close Door @@ -263,7 +263,7 @@ Жесты Kézjelek Gestos - Segnali gestuali + Gesti Attack @@ -503,7 +503,7 @@ A földre! Ложись! Abaixe-se! - A Terra! + A terra! Team Management @@ -729,7 +729,7 @@ Tecla modificadora Клавиша-модификатор Tecla Modificadora - Modifica tasto + Tasto modifica Módosító billentyű Modifikátor diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index 135946f756..8c1a0e01dc 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -1,8 +1,4 @@  -<<<<<<< master -======= - ->>>>>>> HEAD~3 @@ -110,7 +106,7 @@ %1 plný a %2 částečně Pełnych: %1.<br/>Częściowo pełnych: %2. %1 teljes és %2 részleges - %1 pieno e %2 parziale + %1 pieno(i) e %2 parziale(i) %1 Total e %2 Parcial diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index a112096347..d9bdcb02c5 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -8,7 +8,7 @@ Narzędzia nawigacyjne Kartenwerkzeug Pomůcky k mapě - Strumenti Cartografici + Strumenti cartografici Ferramentas de Mapa Térképészeti eszközök Инструменты карты @@ -20,7 +20,7 @@ Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie. Das Kartenwerkzeug ermöglicht es dir, Distanzen und Winkel zu messen. Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě. - Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa. + Gli strumenti cartografici ti consentono di misurare distanze ed angoli sulla mappa. As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa. A térképészeti eszközökkel távolságokat és szögeket tudsz mérni a térképen. Картографические инструменты позволяют измерять расстояния и углы на карте. @@ -32,7 +32,7 @@ Narzędzia nawigacyjne Kartenwerkzeug Pomůcky k mapě - Strumenti Cartografici + Strumenti cartografici Ferramentas de Mapa Térképészeti eszközök Инструменты карты diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index f573f53b0d..42749f8ae8 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -83,7 +83,7 @@ Injecter de la morphine Morfium beadása Injetar Morfina - Inietta Morfina + Inietta morfina Transfuse Blood @@ -95,7 +95,7 @@ Transfusion Infúzió (vér) Transfundir Sangue - Effettua trasfusione di sangue + Trasfusione di sangue Transfuse Plasma @@ -106,7 +106,7 @@ Transfuser du Plasma Перелить плазму Infúzió (vérplazma) - Effettua trasfusione di plasma + Trasfusione di Plasma Transfundir Plasma @@ -118,7 +118,7 @@ Transfuser de la solution saline Перелить физраствор Infúzió (sós víz) - Effettua trasfusione di soluzione salina + Trasfusione di soluzione salina Transfundir Soro @@ -274,7 +274,7 @@ Transfusion de saline ... Переливание физраствора ... Infúzió sós vizzel ... - Effettuo la rasfusione di salina + Effettuo la rasfusione di soluzione salina Transfundindo Soro... @@ -370,7 +370,7 @@ QuikClot Hémostatique QuikClot - QuikClot(polvere emostatica) + QuikClot (polvere emostatica) QuikClot @@ -801,7 +801,7 @@ Bandage fait d'un matériel spécial utilisé pour couvrir une blessure, qui peut etre appliqué dès que le saignement a été stoppé. Opatrunek materiałowy, używany do przykrywania ran, zakładany na ranę po zatamowaniu krwawienia. Egy különleges anyagú kötszer sebek betakarására, amelyet a vérzés elállítása után helyeznek fel. - Una benda apposita, utilizzata per coprire una ferita, la quale è applicata sopra di essa una volta fermata l'emorragia. + Una benda apposita, utilizzata per coprire una ferita, la quale viene applicata su di essa una volta fermata l'emorragia. Uma curativo, material específico para cobrir um ferimento que é aplicado assim que o sangramento é estancando. Obvaz je vhodným způsobem upravený sterilní materiál, určený k překrytí rány, případně k fixaci poranění. @@ -825,7 +825,7 @@ Utilisé pour couvrir des blessures de taille moyenne à grande. Arrête l'hémorragies Używany w celu opatrywania średnich i dużych ran oraz tamowania krwawienia. Közepestől nagyig terjedő sebek betakarására és vérzés elállítására használt kötszer - Usato su medie o larghe ferite per fermare emorragie. + Usato su ferite medie o larghe per fermare emorragie. Usado para o preenchimento de cavidades geradas por ferimentos médios e grandes e estancar o sangramento. Používá se k zastavení středních až silnějších krvácení @@ -850,7 +850,7 @@ Bandaż (elastyczny) Obvaz (elastický) Rögzító kötszer - Benda (Elastica) + Benda (elastica) Bandagem (Elástica) @@ -861,7 +861,7 @@ Bandage compressif élastique Zestaw bandaży elastycznych. Rugalmas kötszercsomag, "rögzítő" - Kit bendaggio, elastico + Kit di bendaggio, elastico Kit de Bandagem, Elástica Sada obvazů, Elastická @@ -873,7 +873,7 @@ Elastyczna opaska podtrzymująca opatrunek oraz usztywniająca okolice stawów. Brinda una compresión uniforme y ofrece soporte extra a una zona lesionada Egyenletes nyomást és támogatást biztosít a sebesült felületnek. - Permette di comprimevere e aiutare la zone ferita. + Permette di comprimere e aiutare la zone ferita. Esta bandagem pode ser utilizada para comprimir o ferimento e diminuir o sangramento e garantir que o ferimento não abra em movimento. Hodí se k fixačním účelům a to i v oblastech kloubů. @@ -958,7 +958,7 @@ Atropin Autoinjektor Autoinjektor atropin Atropin autoinjektor - Autoiniettore di Atropina + Autoiniettore di atropina Auto-injetor de Atropina @@ -994,7 +994,7 @@ Epiniphrin Autoinjektor Autoinjektor adrenalin Epinefrin autoinjektor - Autoiniettore di Epinefrina + Autoiniettore di epinefrina Auto-injetor de epinefrina @@ -2693,4 +2693,4 @@ Снятие жгута ... - \ No newline at end of file + diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index c997d026a2..b31b5ab25f 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -34,7 +34,7 @@ Biztonsági kapcsoló helyretolása Поставить на предохранитель Sécurité mise - Inserisci la sicura + Metti la sicura Colocar Segurança @@ -46,7 +46,6 @@ Biztonságos mód megszüntetve Снят с предохранителя Sécurité enlevée - Togli la sicura Sicura tolta Tirou Segurança diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index f4162b3b03..498e526156 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -118,7 +118,7 @@ Egy kulcs, ami a FÜGGETLEN egységek legtöbb járművét ki tudja nyitni. Klíč který by měl otevřít většinu Nezávislých vozidel. Ключ для открытия большинства машин Независимых. - Una chaive che apr ela maggior parte dei veicoli degli indipendenti + Una chaive che apre la maggior parte dei veicoli degli indipendenti Uma chave que abre a maioria dos veículos independentes diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 0bce22becb..810fda21c9 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -22,7 +22,7 @@ Wyświetla powiadomienie lub tekst przy rzucie granatem. Afficher texte/info au lancé de grenade Jelez egy súgót vagy szöveget a gránát eldobásakor. - Mostra un suggerimento quando si lanciano granate + Mostra una notifica quando si lanciano granate Mostra um hint ou texto ao lançar uma granada diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index 4ebcc81bee..9336e6c457 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -18,7 +18,6 @@ Direction: %1 Kierunek: %1 Dirección: %1 - Направление: %1° Směr: %1 Direction %1 Windrichtung: %1 From d32e1024d359e4cc427e6c86334e97cb2ae8798f Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 10 May 2015 11:09:14 +0200 Subject: [PATCH 420/478] Fixed a typo --- .../functions/fnc_readAmmoDataFromConfig.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf b/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf index 7ff94387d1..10e7e60df2 100644 --- a/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf +++ b/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf @@ -50,11 +50,11 @@ if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_ammoTempMuzzleVelocityShift }; _muzzleVelocityTable = []; _barrelLengthTable = []; -if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable")) then { - _muzzleVelocityTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocityTable"); +if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocities")) then { + _muzzleVelocityTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_muzzleVelocities"); }; if (isArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengths")) then { - _barrelLengthTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengthTable"); + _barrelLengthTable = getArray(configFile >> "CfgAmmo" >> _ammo >> "ACE_barrelLengths"); }; _result = [_airFriction, _caliber, _bulletLength, _bulletMass, _transonicStabilityCoef, _dragModel, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _ammoTempMuzzleVelocityShifts, _muzzleVelocityTable, _barrelLengthTable]; From 2dd06babecc734fb446ad7b5bbbaa9439b55c0d1 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Sun, 10 May 2015 11:44:46 +0200 Subject: [PATCH 421/478] Added: Italian translations completed. Fixed: BOM markers where missing --- addons/aircraft/stringtable.xml | 2 +- addons/common/stringtable.xml | 3 +- addons/explosives/stringtable.xml | 2 +- addons/interact_menu/stringtable.xml | 14 ++++- addons/laser/stringtable.xml | 78 ++++++++++++++------------ addons/medical/stringtable.xml | 11 +++- addons/mk6mortar/stringtable.xml | 7 ++- addons/nightvision/stringtable.xml | 4 +- addons/optionsmenu/stringtable.xml | 2 + addons/reload/stringtable.xml | 2 +- addons/reloadlaunchers/stringtable.xml | 2 +- addons/respawn/stringtable.xml | 5 +- 12 files changed, 82 insertions(+), 50 deletions(-) diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index c467cda3ce..a1fb5aaacf 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index b3741bb5d2..8d28704362 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -324,7 +324,7 @@ Rejeter requête Kérések elutasítása Rejeitar pedido - Rifiuta la richiesta + Rifiuta la richiesta Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. @@ -457,7 +457,6 @@ Banane Banán Banana - Banana A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa. diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 628c334314..9d885c236c 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,4 +1,4 @@ -<<<<<<< translation/15bn/alef + diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 6787d1e71e..320fa34a5d 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,4 +1,5 @@  + @@ -58,7 +59,7 @@ Klawisz własnej interakcji Touche d'interaction personnelle Saját cselekvő gomb - Tasto interazione su se stessi + Tasto interazione su se stessi Tecla de Interação Pessoal @@ -70,7 +71,7 @@ Własne akcje Interaction personnelle Saját cselekvések - Interazioni su se stessi + Interazioni su se stessi Ações Pessoais @@ -143,6 +144,7 @@ Mantener el cursor centrado Udržuj kurzor na středu Manter o cursor centralizado + Mantieni il cursore centrato Keeps cursor centered and pans the option menu around. Useful if screen size is limited. @@ -154,6 +156,7 @@ Utrzymuje kursor na środku ekranu, zamiast tego ruch myszą powoduje przesuwanie menu interakcji. Użyteczne w przypadku kiedy rozmiar ekranu jest ograniczony. Mantiene el cursor centrado y despliega los menús alrededor. Útil si el tamaño de la pantalla es limitado. Manter o cursor centralizado e mover o menu de opções. Útil caso o tamanho da tela seja limitado. + Mantieni il cursore centrato e sposta il menù intorno. Utile se lo schermo è piccolo. Do action when releasing menu key @@ -165,6 +168,7 @@ Realizar la acción al soltar la tecla menu Execute a ação quando soltar a tecla de menu Cselekvés végrehajtása a menügomb elengedésekor + Esegui l'azione quando rilasci il tasto menu Interaction Text Size @@ -176,6 +180,7 @@ Rozmiar tekstu interakcji Tamanho do texto de interação Cselekvő szöveg mérete + Dimensione del testo d'interazione Interaction Text Shadow @@ -187,6 +192,7 @@ Cień tekstu interakcji Sombra do texto de interação Cselekvő szöveg árnyéka + Ombra del testo d'interazione Allows controlling the text's shadow. Outline ignores custom shadow colors. @@ -198,6 +204,7 @@ Pozwala kontrolować cień tekstu. Kontury ignorują niestandardowe kolory cienia. Permite controlar a sombra do texto. Contorno ignora sombras com cores customizadas. Hozzáférést biztosít a szöveg árnyékának kezeléséhez. A körvonal nem veszi figyelembe az egyedi árnyékszíneket. + Permette di controllare l'ombra del testo. L'impostazione "Contorno" ignora il colore dell'ombra. Outline @@ -209,6 +216,7 @@ Kontur Contorno Körvonal + Contorno - + \ No newline at end of file diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index 77a16db525..3cd5fa24fa 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -1,38 +1,42 @@ - - - - - Laser Code - Lasercode - Kod lasera - Code laser - Лазерный код - Código do Laser - Lézerkód - Código del láser - Laser kód - - - Laser - Cycle Code Up - Lasercode + - Laser - Następny kod - Laser - Code + - Лазер - увеличить частоту - Laser - Alternar Código para Cima - Lézer - kódciklus növelése - Láser - Aumentar código - Laser - Kód + - - - Laser - Cycle Code Down - Lasercode - - Laser - Poprzedni kod - Laser - Code - - Лазер - уменьшить частоту - Laser - Alternar Código para Baixo - Lézer - kódciklus csökkentése - Láser - Reducir código - Laser - Kód - - - + + + + + + Laser Code + Lasercode + Kod lasera + Code laser + Лазерный код + Código do Laser + Lézerkód + Código del láser + Laser kód + Codice laser + + + Laser - Cycle Code Up + Lasercode + + Laser - Następny kod + Laser - Code + + Лазер - увеличить частоту + Laser - Alternar Código para Cima + Lézer - kódciklus növelése + Láser - Aumentar código + Laser - Kód + + Codice laser + + + + Laser - Cycle Code Down + Lasercode - + Laser - Poprzedni kod + Laser - Code - + Лазер - уменьшить частоту + Laser - Alternar Código para Baixo + Lézer - kódciklus csökkentése + Láser - Reducir código + Laser - Kód - + Codice laser - + + \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 42749f8ae8..215d9ae766 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -1271,6 +1271,7 @@ Elsősegélycsomag, terepen való sebvarráshoz és haladó ellátáshoz Kit de primeiros socorros para sutura ou tratamentos avançados Osobní lékárnička obsahuje zdravotnický materiál umožňující šití a pokročilejší ošetřování raněných v poli + Pronto soccorso personale da campo per mettersi i punti o per trattamenti avanzati. Use Personal Aid Kit @@ -1282,6 +1283,7 @@ Elsősegélycsomag használata Usar o kit de primeiros socorros Použít osobní lékárničku + Usa il pronto soccorso personale Surgical Kit @@ -1777,7 +1779,7 @@ He's lost some blood - Ha perso molto sangue + Ha perso sangue Ha perdido un poco de sangre Есть кровопотеря Er hat etwas Blut verloren @@ -1797,6 +1799,7 @@ Il a perdu beaucoup de sang Ztratil hodně krve Ele perdeu muito sangue + Ha perso molto sangue He hasn't lost blood @@ -2240,6 +2243,7 @@ Styl menu (Zdravotní) Estilo do menu (Médico) Menü stílusa (Orvosi) + Stile del menù (medico) Select the type of menu you prefer; default 3d selections or radial. @@ -2251,6 +2255,7 @@ Selecione o tipo de menu que você prefere; padrão seleções 3d ou radial. Válaszd ki a neked megfelelő menüt: Alapértelmezett 3D válogatás, vagy kerek. Zvolte typ menu: základní 3D výběr nebo kruhový + Seleziona il tipo di menù che preferisci: selezione 3d predefinita o radiale. Selections (3d) @@ -2262,6 +2267,7 @@ Seleção (3d) Választékok (3D) 3D výběr + Selezione (3D) Radial @@ -2273,6 +2279,7 @@ Radial Kerek Kruhový + Radiale Scrape @@ -2680,6 +2687,7 @@ Tratando ... Tratando... Ošetřuji ... + Curando ... Removing Tourniquet ... @@ -2691,6 +2699,7 @@ Érszorító eltávolítása ... Sundavám škrtidlo ... Снятие жгута ... + Togliendo il laccio emostatico ... diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 12472343be..076b38bbf1 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -1,4 +1,5 @@  + @@ -11,6 +12,7 @@ 82mm hatótáv-tábla Tabela de distâncias de para 82mm 82mm Rangetable + Tavola di tiro 82mm Range Table for the MK6 82mm Mortar @@ -22,6 +24,7 @@ Hatótáv-tábla a MK6 82mm-es mozsárhoz Tabela de distâncias para morteiro MK6 82mm Rangetable pro MK6 82mm minomet + Tavola di tiro per il mortaio calibro 82mm MK6 Open 82mm Rangetable @@ -33,6 +36,7 @@ 82mm hatótáv-tábla megnyitása Abrir tabela de distâncias para 82mm Otevřít 82mm Rangetable + Apri la tavola di tiro 82mm Charge @@ -44,6 +48,7 @@ Töltés Carregar Nabít + Carica - + \ No newline at end of file diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index b6f2431eef..0255ddfd89 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -1,4 +1,5 @@  + @@ -95,6 +96,7 @@ JVN (Large) Éjjellátó szemüveg (széles látószögű) Óculos de visão noturna (Panorâmico) + Occhiali notturni (Larghi) Brightness: %1 @@ -133,4 +135,4 @@ Riduci la luminosità dell'NVG - + \ No newline at end of file diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 378661da50..444b3c6b7a 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,4 +1,5 @@  + @@ -239,6 +240,7 @@ UI Skalierung Beállításmenü kezelőfelületének skálázása Escalar o menu de opções + Proporzioni della interfaccia utente \ No newline at end of file diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index 316c7f2236..9e3cf6c1b0 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml index 2585358591..d82970a3d5 100644 --- a/addons/reloadlaunchers/stringtable.xml +++ b/addons/reloadlaunchers/stringtable.xml @@ -1,4 +1,4 @@ - + diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index cd0fda2780..5c701d7dc5 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,4 +1,5 @@  + @@ -35,6 +36,7 @@ Téléportation à la base Teletransportar para a Base Bázisra teleportálás + Teleporta alla base Teleport to Rallypoint @@ -46,6 +48,7 @@ Téléporation au point de ralliement Teletransportar para o ponto de encontro Gyülekezőpontra teleportálás + Teleporta al rallypoint Teleported to Base @@ -144,4 +147,4 @@ Ponto de encontro Independente - + \ No newline at end of file From 8ccb2a47ffb7f3786330b018240fcc74019fec92 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 10 May 2015 13:10:45 +0200 Subject: [PATCH 422/478] add rallypoint and switchunits documentation --- documentation/missionmaker/mission-tools.md | 58 +++++++++++++++++++++ documentation/missionmaker/modules.md | 4 +- 2 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 documentation/missionmaker/mission-tools.md diff --git a/documentation/missionmaker/mission-tools.md b/documentation/missionmaker/mission-tools.md new file mode 100644 index 0000000000..cb167afb7b --- /dev/null +++ b/documentation/missionmaker/mission-tools.md @@ -0,0 +1,58 @@ +--- +layout: wiki +title: Mission tools +group: missionmaker +order: 10 +parent: wiki +--- + +## 1. ACE Rallypoints +*Part of: ace_respawn* + +"ACE rally points" is a two way teleport system between two positions. Usually this is used to transport units that have died during a mission back to the front line. The rally points are portrayed by flagpoles (West, East and Independant flagpoles are available) that have a "Base" and an "Exit" version. + +They can be found in the editor under: "Empty" >> "ACE Respawn" + +**Classnames:** +* `ACE_Rallypoint_West`, `ACE_RallypointExit_West` +* `ACE_Rallypoint_East`, `ACE_RallypointExit_East` +* `ACE_Rallypoint_Independent`, `ACE_RallypointExit_Independent` + +Using the Interaction Menu on a rallypoint offers the ability to teleport from one flagpole to the other flagpole and vice versa. + +If you want to change the texture of the flag use this line: +```c++ +this setFlagTexture 'path\to\my\texture\my_awesome_clan_logo.paa'; +``` + +*Note: You can't place more than one rallypoint of the same type.* + +All units synced to the ["Rallypoint System" module](./modules.html#1.14-rallypoint-system) are able to move the rallypoint. + +
    +
    Note:
    +

    It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework.

    +
    + +To enable other units to move them add this to the unit's initialization code: + +```c++ +_unit setVariable ["ACE_canMoveRallypoint", true, true]; +``` + +## 2. ACE SwitchUnits +*Part of: ace_switchunits* + +"ACE SwitchUnits" is a tool for misson makers to quickly add PvP (Player vs. Player) elements to a mission. In short it enables a player to control AI units. Allowing players to perform as enemies even during a COOP mission increases the authenticity of the enemy and thus the immersion for everyone. + +The most prominent feature of ACE SwitchUnits is that you can add it to nearly every existing mission and get AI control out of the box. Dynamic mission like "Enemy Assault", "Patrol Ops", "Invade & Annex", etc. don't need to be touched to make all random spawned AI's controllable. + +In its current form you're able to switch to infantry (vehicles, etc. are planned) from all four sides (West, East, Independent, Civilian). + +To enable a player to control AI add the following to its init line: +```sqf +this setVariable ["ACE_CanSwitchUnits", true]; +``` +Once this player spawns, all controllable AI will be marked on his map and he'll be able to click on the map to switch to this unit. The initial unit will be prone to damage, but has no equipment and can't run. So it would be wise to hide or move this unit far from other players. + +The [module settings](./modules.html#1.16-switchunits-system) define which side a player can control or how big the radius of the safe zone is. The safe zone is a circular zone around AI units that must be clear from players of an opposing side to be able to switch to. \ No newline at end of file diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index a6d75531dc..f67b271435 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -235,7 +235,7 @@ This module enables Mission Makers to specificly enable units to move a rallypoi

    It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework.

    -To enable JIP players to move rally points have a look at [ACE Rallypoints (to be done)](#). +To enable JIP players to move rally points have a look at [ACE Rallypoints](./mission-tools.html#1-ace-rallypoints). ### 1.15 Respawn System @@ -252,7 +252,7 @@ Respawn with the gear a player had just before his death.
    ### 1.16 SwitchUnits System *Part of: ace_switchunits* -The [SwitchUnits System (to be done)](#) enables players to control certain AI units on the map. +The [SwitchUnits System](mission-tools.html#1-ace-switchunits) enables players to control certain AI units on the map. **Settings:** From b927c5d4f5ac01ff29c0db2322681a40edaf7f3b Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 10 May 2015 13:13:38 +0200 Subject: [PATCH 423/478] wrong syntax highlighting --- documentation/missionmaker/mission-tools.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/documentation/missionmaker/mission-tools.md b/documentation/missionmaker/mission-tools.md index cb167afb7b..a7104676f0 100644 --- a/documentation/missionmaker/mission-tools.md +++ b/documentation/missionmaker/mission-tools.md @@ -50,7 +50,8 @@ The most prominent feature of ACE SwitchUnits is that you can add it to nearly e In its current form you're able to switch to infantry (vehicles, etc. are planned) from all four sides (West, East, Independent, Civilian). To enable a player to control AI add the following to its init line: -```sqf + +```c++ this setVariable ["ACE_CanSwitchUnits", true]; ``` Once this player spawns, all controllable AI will be marked on his map and he'll be able to click on the map to switch to this unit. The initial unit will be prone to damage, but has no equipment and can't run. So it would be wise to hide or move this unit far from other players. From 0aac0ac30839dfc50224b93b3396c3cba1b8e8d7 Mon Sep 17 00:00:00 2001 From: bux578 Date: Sun, 10 May 2015 13:15:47 +0200 Subject: [PATCH 424/478] fix anchor links sorry :( --- documentation/missionmaker/modules.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md index f67b271435..ff18139482 100644 --- a/documentation/missionmaker/modules.md +++ b/documentation/missionmaker/modules.md @@ -235,7 +235,7 @@ This module enables Mission Makers to specificly enable units to move a rallypoi

    It's important to mention that this doesn't work for player who join during a mission (JIP = Join in progress). That's something we can't change because that's the way Bohemia has implemented their module framework.

    -To enable JIP players to move rally points have a look at [ACE Rallypoints](./mission-tools.html#1-ace-rallypoints). +To enable JIP players to move rally points have a look at [ACE Rallypoints](./mission-tools.html#1.-ace-rallypoints). ### 1.15 Respawn System @@ -252,7 +252,7 @@ Respawn with the gear a player had just before his death.
    ### 1.16 SwitchUnits System *Part of: ace_switchunits* -The [SwitchUnits System](mission-tools.html#1-ace-switchunits) enables players to control certain AI units on the map. +The [SwitchUnits System](./mission-tools.html#2.-ace-switchunits) enables players to control certain AI units on the map. **Settings:** From 2bb3a0f139374ae9e06c50b636d0b3bdb83d1f46 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Sun, 10 May 2015 16:19:46 +0200 Subject: [PATCH 425/478] Cleanup #1095 - Fix tabs - Remove tabler comments - Restore one removed Russian string --- addons/aircraft/stringtable.xml | 2 +- addons/captives/stringtable.xml | 4 ++-- addons/disposable/stringtable.xml | 2 +- addons/hearing/stringtable.xml | 2 +- addons/interact_menu/stringtable.xml | 3 +-- addons/interaction/stringtable.xml | 16 ++++++++-------- addons/laser/stringtable.xml | 3 +-- addons/logistics_wirecutter/stringtable.xml | 2 +- addons/microdagr/stringtable.xml | 4 ++-- addons/mk6mortar/stringtable.xml | 3 +-- addons/nametags/stringtable.xml | 4 ++-- addons/nightvision/stringtable.xml | 3 +-- addons/optionsmenu/stringtable.xml | 3 +-- addons/respawn/stringtable.xml | 3 +-- addons/vehiclelock/stringtable.xml | 2 +- addons/winddeflection/stringtable.xml | 1 + 16 files changed, 26 insertions(+), 31 deletions(-) diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index a1fb5aaacf..e917ca7e9d 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -34,7 +34,7 @@ Otevřít nákladní prostor Rakodórámpa nyitása Открыть грузовой отсек - Apri la rampa di carico + Apri la rampa di carico Abrir porta de carga
    diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index b45e8c3541..def173c55b 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -155,7 +155,7 @@ Podejmij walkę ponownie Прекратить сдачу в плен Megadás abbahagyása - Smetti di arrenderti + Smetti di arrenderti Only use on alive units @@ -191,7 +191,7 @@ Nie ma nic pod kursorem Ничего не выделено Semmi sincs az egér alatt - Nessuna selezione + Nessuna selezione
    diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 526844afcd..2cbd8b0012 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -10,7 +10,7 @@ Lanzador utilizado Elhasznált kilövőcső Отстрелянная труба - Tubo usato + Tubo usato Tubo utilizado
    diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index 40fc6929f7..e6f59604a3 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -106,7 +106,7 @@ Vypnout pískání v uších Wyłącz dzwonienie w uszach Fülcsengés letiltása - Disabilita i fischi nelle orecchie + Disabilita i fischi nelle orecchie Desabilitar zumbido de ouvidos diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 320fa34a5d..8f60fa6879 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -1,5 +1,4 @@  - @@ -219,4 +218,4 @@ Contorno - \ No newline at end of file + diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 1da22b649e..32a901507b 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -575,7 +575,7 @@ Přiřadit k červeným Назначить в Красную группу Assigner à rouge - Assegna al team rosso + Assegna al team rosso Assign Green @@ -587,7 +587,7 @@ Přiřadit k zeleným Назначить в Зеленую группу Assigner à vert - Assegna al team verde + Assegna al team verde Assign Blue @@ -599,7 +599,7 @@ Přiřadit k modrým Назначить в Синюю группу Assigner à bleu - Assegna al team blu + Assegna al team blu Assign Yellow @@ -611,7 +611,7 @@ Přiřadit ke žlutým Назначить в Желтую группу Assigner à jaune - Assegna al team giallo + Assegna al team giallo Join Red @@ -623,7 +623,7 @@ Připojit k červeným Присоединиться к Красной группе Rejoindre rouge - Unirsi al team rosso + Unirsi al team rosso Join Green @@ -635,7 +635,7 @@ Připojit k zeleným Присоединиться к Зеленой группе Rejoindre vert - Unirsi al team verde + Unirsi al team verde Join Blue @@ -647,7 +647,7 @@ Připojit k modrým Присоединиться к Синей группе Rejoindre bleu - Unirsi al team blu + Unirsi al team blu Join Yellow @@ -659,7 +659,7 @@ Připojit ke žlutým Присоединиться к Жёлтой группе Rejoindre jaune - Unirsi al team giallo + Unirsi al team giallo You joined Team %1 diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index 3cd5fa24fa..8ea28398e0 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -1,5 +1,4 @@  - @@ -39,4 +38,4 @@ Codice laser - - \ No newline at end of file + diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index eb3ad70ce1..b9e4023765 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -22,7 +22,7 @@ Służą do cięcia drutu i płotów Pince coupante Drótok, huzalok, és kábelek vágására alkalmas olló. - Trancia da ferro + Trancia da ferro Cortador de Arame diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index 55eccb1acf..af2b303f2b 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -22,7 +22,7 @@ Récepteur GPS MicroDAGR MicroDAGR pokročílá GPS příjímač MicroDAGR fejlett GPS vevőegység - Ricevitore GPS avanzato MicroDAGR + Ricevitore GPS avanzato MicroDAGR Recepitor GPS avançado MicroDAGR @@ -46,7 +46,7 @@ Mils Mils Mil - Mils + Mils Mils: diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 076b38bbf1..fd2fe4aa4c 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -1,5 +1,4 @@  - @@ -51,4 +50,4 @@ Carica - \ No newline at end of file + diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index fd88a8fbc2..8daae5cd5d 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -71,7 +71,7 @@ Показывать информацию об экипаже Jármű-legénység adatainak mutatása Mostrar tripulantes - Mostra l'elenco del personale a bordo + Mostra l'elenco del personale a bordo Show name tags for AI units @@ -106,7 +106,7 @@ Couleur d'affichage par défaut (si dans aucun groupe) Standardní barva jmenovek (pro nečleny jednotky) Alap névcímke-szín (csoporton kívüli személyek) - Colore dei nomi non appartenenti al gruppo + Colore dei nomi non appartenenti al gruppo Cor padrão do nome (unidades fora do grupo) diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index 0255ddfd89..9fe8593e13 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -1,5 +1,4 @@  - @@ -135,4 +134,4 @@ Riduci la luminosità dell'NVG - \ No newline at end of file + diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index 444b3c6b7a..d5de0c1426 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -1,5 +1,4 @@  - @@ -243,4 +242,4 @@ Proporzioni della interfaccia utente - \ No newline at end of file + diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 5c701d7dc5..539bb4b530 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,5 +1,4 @@  - @@ -147,4 +146,4 @@ Ponto de encontro Independente - \ No newline at end of file + diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index 498e526156..6ccfc8347b 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -22,7 +22,7 @@ Zamknout vozidlo Jármű zárása Закрыть машину - Chiudi il veicolo a chiave + Chiudi il veicolo a chiave Travar Veículo diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index 9336e6c457..4ebcc81bee 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -18,6 +18,7 @@ Direction: %1 Kierunek: %1 Dirección: %1 + Направление: %1° Směr: %1 Direction %1 Windrichtung: %1 From 235534292f316dc3d85463b70191d1dc6d04f463 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 10 May 2015 16:31:56 +0200 Subject: [PATCH 426/478] Rifle dispersion overhaul: *Added dispersion values for the new marksmen rifles (when needed) *Overworked some of the (ridiculous) existing values *Made use of the vanilla values whenever possible --- addons/ballistics/CfgWeapons.hpp | 175 ++++++++++++++++--------------- 1 file changed, 92 insertions(+), 83 deletions(-) diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 34c18a90dd..15f70d643d 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -1,16 +1,13 @@ +class Single; +class Burst; +class FullAuto; class Mode_SemiAuto; +class Mode_Burst; class Mode_FullAuto; class CfgWeapons { - class DMR_02_base_F; - class DMR_03_base_F; - class DMR_04_base_F; - class DMR_05_base_F; - class DMR_06_base_F; - class GM6_base_F; class LMG_RCWS; - class LRR_base_F; class MGun; class MGunCore; class MMG_01_base_F; @@ -22,19 +19,83 @@ class CfgWeapons { /* Long Rifles */ + class GM6_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + }; + + class LRR_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.00020; // radians. Equal to 0.70 MOA. + }; + }; + + class DMR_06_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + + class FullAuto: Mode_FullAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + }; + + class DMR_05_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + + class FullAuto: Mode_FullAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + }; + + class DMR_04_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + }; + + class DMR_03_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.00032; // radians. Equal to 1.10 MOA. + }; + + class FullAuto: Mode_FullAuto { + dispersion = 0.00032; // radians. Equal to 1.10 MOA. + }; + }; + + class DMR_02_base_F: Rifle_Long_Base_F { + class Single: Mode_SemiAuto { + dispersion = 0.000262; // radians. Equal to 0.90 MOA. + }; + }; + + class DMR_01_base_F: Rifle_Long_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class MuzzleSlot: MuzzleSlot { + compatibleItems[] += {"ACE_muzzle_mzls_B"}; + }; + }; + class Single: Mode_SemiAuto { + dispersion = 0.0004; // radians. Equal to 1.375 MOA. + }; + }; + class EBR_base_F: Rifle_Long_Base_F { class WeaponSlotsInfo: WeaponSlotsInfo { class MuzzleSlot: MuzzleSlot { compatibleItems[] += {"ACE_muzzle_mzls_B"}; }; }; - }; - - class DMR_01_base_F: Rifle_Long_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot { - compatibleItems[] += {"ACE_muzzle_mzls_B"}; - }; + class Single: Mode_SemiAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. + }; + + class FullAuto: Mode_FullAuto { + dispersion = 0.00029; // radians. Equal to 1.00 MOA. }; }; @@ -46,14 +107,6 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_H"}; }; }; - class Single: Mode_SemiAuto { - dispersion = 0.000800; // radians. Equal to 2.75 MOA. - // Based on widely cited 2 MOA figure for new 5.56 ACR. - }; - - class FullAuto: Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; }; class arifle_MX_SW_F: arifle_MX_Base_F { magazines[] = { @@ -74,14 +127,6 @@ class CfgWeapons { compatibleItems[] = {"muzzle_snds_H","muzzle_snds_H_SW","ACE_muzzle_mzls_H"}; }; }; - class Single: Mode_SemiAuto { - dispersion = 0.000800; // radians. Equal to 2.75 MOA. - // Based on widely cited 2 MOA figure for new 5.56 ACR. - }; - - class manual: FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; }; class arifle_MXM_F: arifle_MX_Base_F { magazines[] = { @@ -95,12 +140,11 @@ class CfgWeapons { ACE_barrelTwist=228.6; ACE_barrelLength=457.2; class Single: Single { - dispersion = 0.00029; // radians. Equal to 1 MOA. - // 6.5mm is easily capable of this in a half-tuned rifle. + dispersion = 0.000436; // radians. Equal to 1.50 MOA. }; class FullAuto: FullAuto { - dispersion = 0.000800; // radians. Equal to 2.75 MOA. + dispersion = 0.000436; // radians. Equal to 1.50 MOA. }; }; @@ -112,15 +156,6 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_H"}; }; }; - class Single: Mode_SemiAuto { - dispersion = 0.000800; // radians. Equal to 2.75 MOA. - // Based on widely cited 2 MOA figure for new 5.56 ACR? - // Use your imagination for fictional weapons! - }; - - class FullAuto: Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; }; @@ -139,13 +174,6 @@ class CfgWeapons { }; ACE_barrelTwist=177.8; ACE_barrelLength=317.5; - class manual: Mode_FullAuto { - dispersion = 0.00175; // radians. Equal to 6 MOA. - }; - - class Single: manual { - dispersion = 0.00175; // radians. Equal to 6 MOA. - }; }; class LMG_Zafir_F: Rifle_Long_Base_F { initSpeed = -1.0; @@ -156,13 +184,6 @@ class CfgWeapons { }; ACE_barrelTwist=304.8; ACE_barrelLength=459.74; - class FullAuto: Mode_FullAuto { - dispersion = 0.00175; // radians. Equal to 6 MOA. - }; - - class Single: Mode_SemiAuto { - dispersion = 0.00175; // radians. Equal to 6 MOA. - }; }; @@ -173,13 +194,6 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_L"}; }; }; - class Single: Mode_SemiAuto { - dispersion = 0.000727; // radians. Equal to 2.5 MOA, about the limit of mass-produced M855. - }; - - class FullAuto: Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; }; class mk20_base_F: Rifle_Base_F { class WeaponSlotsInfo: WeaponSlotsInfo { @@ -187,14 +201,6 @@ class CfgWeapons { compatibleItems[] += {"ACE_muzzle_mzls_L"}; }; }; - class Single: Mode_SemiAuto { - dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus - // some extra for these worn out Greek Army service rifles. - }; - - class FullAuto: Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. - }; }; @@ -202,12 +208,15 @@ class CfgWeapons { class SDAR_base_F: Rifle_Base_F { initSpeed = -0.989; class Single: Mode_SemiAuto { - dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus - // some extra because Kel-Tec. + dispersion = 0.0008727; // radians. Equal to 3 MOA. }; + class Burst: Mode_Burst { + dispersion = 0.0008727; // radians. Equal to 3 MOA. + }; + class FullAuto: Mode_FullAuto { - dispersion = 0.00147; // radians. Equal to 5.1 MOA. + dispersion = 0.0008727; // radians. Equal to 3 MOA. }; }; class pdw2000_base_F: Rifle_Base_F { @@ -642,7 +651,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -675,7 +684,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -708,7 +717,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -741,7 +750,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -774,7 +783,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -807,7 +816,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -840,7 +849,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -873,7 +882,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -906,7 +915,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.8f"; + dispersionCoef = "0.9f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; From 1cc5bd1c506d6c6a540bef89d7b1d81856e755aa Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 07:41:24 -0700 Subject: [PATCH 427/478] removing unneeded debug files --- addons/common/config - Copy.cpp | 167 -------------------------------- server.md5 | 2 - server2.md5 | 3 - server3.md5 | 3 - tools/vm_build.py | 6 -- 5 files changed, 181 deletions(-) delete mode 100644 addons/common/config - Copy.cpp delete mode 100644 server.md5 delete mode 100644 server2.md5 delete mode 100644 server3.md5 delete mode 100644 tools/vm_build.py diff --git a/addons/common/config - Copy.cpp b/addons/common/config - Copy.cpp deleted file mode 100644 index 27647f8d00..0000000000 --- a/addons/common/config - Copy.cpp +++ /dev/null @@ -1,167 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {"ACE_Box_Misc", "ACE_bananaItem"}; - weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon", "ACE_Banana"}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_main"}; - author[] = {"KoffeinFlummi"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - VERSION_CONFIG; - }; -}; - -#include "CfgEventHandlers.hpp" - -#include "CfgSounds.hpp" -#include "CfgVehicles.hpp" -#include "CfgWeapons.hpp" -#include "CfgMagazines.hpp" - -#include "CfgActions.hpp" -#include "CfgMoves.hpp" -#include "CfgVoice.hpp" -#include "CfgUnitInsignia.hpp" - -class ACE_Rsc_Display_Base { - idd = -1; - type = 0; - style = 48; - name = ""; - duration = 999999; - fadeIn = 0; - fadeOut = 0; - font = "TahomaB"; - size = 1; - colorBackground[] = {1, 1, 1, 0}; - colorText[] = {1, 1, 1, 1}; -}; - -class ACE_Rsc_Control_Base { - idc = 1; - type = 0; - style = 48; - access = 0; - lineSpacing = 0; - moving = 1; - text = ""; - size = 1; - sizeEx = 0; - font = "TahomaB"; - colorBackground[] = {1, 1, 1, 0}; - colorText[] = {1, 1, 1, 1}; - x = 0; - y = 0; - w = 0; - h = 0; -}; - -class ACE_Settings { - /* - *class GVAR(sampleSetting) { - * Value - * value = 1; - * - * Type (SCALAR, BOOL, STRING, ARRAY, COLOR) - * typeName = "SCALAR"; - * - * Force the setting? - * force = 0; - * - * Does it appear on the options menu? - * isClientSettable = 1; - * - * The following settings only apply when isClientSettable == 1 - * Stringtable entry with the setting name - * displayName = "$STR_ACE_Common_SettingName"; - * - * Stringtable entry with the setting description - * description = "$STR_ACE_Common_SettingDescription"; - * - * Stringtable entries that describe the options - * Only applies if typeName == "SCALAR"; - * values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; - *}; - */ - class GVAR(forceAllSettings) { - value = 0; - typeName = "BOOL"; - }; - /*class GVAR(enableNumberHotkeys) { - value = 1; - typeName = "BOOL"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_EnableNumberHotkeys"; - };*/ - class GVAR(settingFeedbackIcons) { - value = 1; - typeName = "SCALAR"; - force = 0; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; - description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; - values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; - }; - class GVAR(SettingProgressBarLocation) { - value = 0; - typeName = "SCALAR"; - force = 0; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; - description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; - values[] = {"Top", "Bottom"}; - }; - class GVAR(displayTextColor) { - value[] = {0,0,0,0.1}; - typeName = "COLOR"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; - description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; - }; - class GVAR(displayTextFontColor) { - value[] = {1,1,1,1}; - typeName = "COLOR"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; - description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; - }; -}; - -#include "define.hpp" -#include -#include -#include - -class CfgUIGrids { - class IGUI { - class Presets { - class Arma3 { - class Variables { - grid_ACE_displayText[] = {{((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)),safeZoneY + 0.175 * safezoneH, (10 *(((safezoneW / safezoneH) min 1.2) / 40)), (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))}, "(((safezoneW / safezoneH) min 1.2) / 40)","((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"}; - }; - }; - }; - - class Variables { - class grid_ACE_displayText { - displayName = "ACE Hint"; - description = "Textual in game feedback to the player."; - preview = "\a3\Ui_f\data\GUI\Cfg\UIGrids\grid_hint_ca.paa"; - saveToProfile[] = {0,1}; - }; - }; - }; -}; - -/* -// check dll -class RscStandardDisplay; -class RscDisplayMain: RscStandardDisplay { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage)); -}; -*/ - -class ACE_Extensions { - extensions[] = {}; -}; diff --git a/server.md5 b/server.md5 deleted file mode 100644 index 4b55677c68..0000000000 --- a/server.md5 +++ /dev/null @@ -1,2 +0,0 @@ -9f932a56f6d56912c3ed64583086c699 *server\config.cpp -a0d9c8926a9c729e96bb6f5e83072526 *server\script_component.hpp diff --git a/server2.md5 b/server2.md5 deleted file mode 100644 index e5a17d9cc0..0000000000 --- a/server2.md5 +++ /dev/null @@ -1,3 +0,0 @@ -d41d8cd98f00b204e9800998ecf8427e *server\$NOBIN$ -9f932a56f6d56912c3ed64583086c699 *server\config.cpp -a0d9c8926a9c729e96bb6f5e83072526 *server\script_component.hpp diff --git a/server3.md5 b/server3.md5 deleted file mode 100644 index 8c7d3ace7c..0000000000 --- a/server3.md5 +++ /dev/null @@ -1,3 +0,0 @@ -76717b52157b1d55caa07359c789c148 *server\$NOBIN$ -9f932a56f6d56912c3ed64583086c699 *server\config.cpp -a0d9c8926a9c729e96bb6f5e83072526 *server\script_component.hpp diff --git a/tools/vm_build.py b/tools/vm_build.py deleted file mode 100644 index 1d43c6ee30..0000000000 --- a/tools/vm_build.py +++ /dev/null @@ -1,6 +0,0 @@ -import subprocess -try: - result = subprocess.call("python make.py checkexternal test") - print (result) -except: - raise \ No newline at end of file From 318b2437f9db0513ec9a42bc202d5f6f48eebc2a Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 10 May 2015 07:42:53 -0700 Subject: [PATCH 428/478] Applied virtual time acceleration to the master ACE_time. Created ACE_tickTime macro, to provide same-frame millisecond resolution. --- addons/common/XEH_preInit.sqf | 1 + addons/common/functions/fnc_timePFH.sqf | 7 ++++--- addons/main/script_macros.hpp | 4 ++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index 881d77e156..cb688a419e 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -316,6 +316,7 @@ if (hasInterface) then { ACE_time = diag_tickTime; ACE_realTime = diag_tickTime; ACE_virtualTime = diag_tickTime; +ACE_tickTime = diag_tickTime; ACE_gameTime = time; PREP(timePFH); diff --git a/addons/common/functions/fnc_timePFH.sqf b/addons/common/functions/fnc_timePFH.sqf index e8f0be1efd..968df846cc 100644 --- a/addons/common/functions/fnc_timePFH.sqf +++ b/addons/common/functions/fnc_timePFH.sqf @@ -7,9 +7,9 @@ _lastRealTime = ACE_realTime; _lastGameTime = ACE_gameTime; ACE_gameTime = time; -ACE_realTime = diag_tickTime; +ACE_tickTime = diag_tickTime; -_delta = ACE_realTime - _lastRealTime; +_delta = ACE_tickTime - _lastRealTime; if(ACE_gameTime <= _lastGameTime) then { ACE_paused = true; // Game is paused or not running @@ -18,7 +18,8 @@ if(ACE_gameTime <= _lastGameTime) then { } else { ACE_paused = false; // Time is updating + ACE_realTime = ACE_realTime + _delta; ACE_virtualTime = ACE_virtualTime + (_delta * accTime); - ACE_time = ACE_time + _delta; + ACE_time = ACE_virtualTime; }; diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index d4b6739918..416cc6981f 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -82,4 +82,8 @@ #define HASHLIST_SET(hashList, index, value) ([hashList, index, value, __FILE__, __LINE__] call EFUNC(common,hashListSet)) #define HASHLIST_PUSH(hashList, value) ([hashList, value, __FILE__, __LINE__] call EFUNC(common,hashListPush)) +// Time functions for accuracy per frame +#define ACE_tickTime (ACE_tickTime + (diag_tickTime - ACE_tickTime)) + + #include "script_debug.hpp" \ No newline at end of file From e1c3c40cddac38d0db0565e74d83ba2c4fbde7e6 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 10 May 2015 07:50:58 -0700 Subject: [PATCH 429/478] I need more coffee. this should be more accurate. --- addons/common/XEH_preInit.sqf | 2 +- addons/common/functions/fnc_timePFH.sqf | 4 ++-- addons/main/script_macros.hpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index cb688a419e..8c51ef95d5 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -316,7 +316,7 @@ if (hasInterface) then { ACE_time = diag_tickTime; ACE_realTime = diag_tickTime; ACE_virtualTime = diag_tickTime; -ACE_tickTime = diag_tickTime; +ACE_diagTime = diag_tickTime; ACE_gameTime = time; PREP(timePFH); diff --git a/addons/common/functions/fnc_timePFH.sqf b/addons/common/functions/fnc_timePFH.sqf index 968df846cc..ee8fe4a9bb 100644 --- a/addons/common/functions/fnc_timePFH.sqf +++ b/addons/common/functions/fnc_timePFH.sqf @@ -7,9 +7,9 @@ _lastRealTime = ACE_realTime; _lastGameTime = ACE_gameTime; ACE_gameTime = time; -ACE_tickTime = diag_tickTime; +ACE_diagTime = diag_tickTime; -_delta = ACE_tickTime - _lastRealTime; +_delta = ACE_diagTime - _lastRealTime; if(ACE_gameTime <= _lastGameTime) then { ACE_paused = true; // Game is paused or not running diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index 416cc6981f..860e21a54a 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -83,7 +83,7 @@ #define HASHLIST_PUSH(hashList, value) ([hashList, value, __FILE__, __LINE__] call EFUNC(common,hashListPush)) // Time functions for accuracy per frame -#define ACE_tickTime (ACE_tickTime + (diag_tickTime - ACE_tickTime)) +#define ACE_tickTime (ACE_diagTime + (diag_tickTime - ACE_diagTime)) #include "script_debug.hpp" \ No newline at end of file From c39b5931c705e6f73ac0a129ee74c65472efb252 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sun, 10 May 2015 07:56:14 -0700 Subject: [PATCH 430/478] ACE tickTime based on ACE_time. --- addons/main/script_macros.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index 860e21a54a..175e5f63c7 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -83,7 +83,7 @@ #define HASHLIST_PUSH(hashList, value) ([hashList, value, __FILE__, __LINE__] call EFUNC(common,hashListPush)) // Time functions for accuracy per frame -#define ACE_tickTime (ACE_diagTime + (diag_tickTime - ACE_diagTime)) +#define ACE_tickTime (ACE_time + (diag_tickTime - ACE_diagTime)) #include "script_debug.hpp" \ No newline at end of file From 7012b32b558973ff0c62b90c384c1f6e885ae96a Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 07:56:56 -0700 Subject: [PATCH 431/478] Display the most likely resolution to the Error FAILED TO DETERMINE COMMIT ID. --- tools/make.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/make.py b/tools/make.py index e90beb7703..387332a666 100644 --- a/tools/make.py +++ b/tools/make.py @@ -610,6 +610,7 @@ See the make.cfg file for additional build options. key_name = str(key_name+"-"+commit_id) except: print_error("FAILED TO DETERMINE COMMIT ID.") + print_yellow("Verify that \GIT\BIN or \GIT\CMD is in your system path or user path.") commit_id = "NOGIT" cfg = configparser.ConfigParser(); From 82f3c65c31ad5788dea8cd7b9e577be638034668 Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 10 May 2015 20:06:27 +0200 Subject: [PATCH 432/478] Tuned down the dispersion reduction of suppressors some more --- addons/ballistics/CfgWeapons.hpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 15f70d643d..dfe485c205 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -651,7 +651,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -684,7 +684,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -717,7 +717,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -750,7 +750,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -783,7 +783,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -816,7 +816,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -849,7 +849,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -882,7 +882,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; @@ -915,7 +915,7 @@ class CfgWeapons { }; class MuzzleCoef { - dispersionCoef = "0.9f"; + dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; recoilCoef = "1.0f"; From d321ed27538dff41b76c0887db0243192cee93c8 Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Sun, 10 May 2015 19:56:35 +0100 Subject: [PATCH 433/478] Changed function variable to match other medical vehicle functions --- addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf b/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf index 539d428da0..670818b1f3 100644 --- a/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf +++ b/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf @@ -44,7 +44,7 @@ if (!isNull _logic) then { if (!isnil "_x") then { if (typeName _x == typeName objNull) then { if (local _x) then { - _x setvariable [QGVAR(medicClass), _setting, true]; + _x setvariable [QGVAR(isMedic), _setting, true]; }; }; }; @@ -54,7 +54,7 @@ if (!isNull _logic) then { if (!isnil "_x") then { if (typeName _x == typeName objNull) then { if (local _x) then { - _x setvariable [QGVAR(medicClass), _setting, true]; + _x setvariable [QGVAR(isMedic), _setting, true]; }; }; }; From 09c19e4ec2bb6343e09cc60931498eed7781ba4b Mon Sep 17 00:00:00 2001 From: ulteq Date: Sun, 10 May 2015 20:58:36 +0200 Subject: [PATCH 434/478] Subtle recoil reduction when using a suppressor --- addons/ballistics/CfgWeapons.hpp | 36 ++++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index dfe485c205..571112697a 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -654,8 +654,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -687,8 +687,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -720,8 +720,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -753,8 +753,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -786,8 +786,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -819,8 +819,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -852,8 +852,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -885,8 +885,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; @@ -918,8 +918,8 @@ class CfgWeapons { dispersionCoef = "0.95f"; artilleryDispersionCoef = "1.0f"; fireLightCoef = "0.5f"; - recoilCoef = "1.0f"; - recoilProneCoef = "1.0f"; + recoilCoef = "0.95f"; + recoilProneCoef = "0.95f"; minRangeCoef = "1.0f"; minRangeProbabCoef = "1.0f"; midRangeCoef = "1.0f"; From 518cfdab9e4c460c2ef6ce088993eea34757f90d Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Sun, 10 May 2015 20:19:32 +0100 Subject: [PATCH 435/478] isMedic -> medicClass --- addons/medical/functions/fnc_isInMedicalVehicle.sqf | 2 +- addons/medical/functions/fnc_isMedicalVehicle.sqf | 2 +- addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/medical/functions/fnc_isInMedicalVehicle.sqf b/addons/medical/functions/fnc_isInMedicalVehicle.sqf index cffc24410d..5422ce8e1f 100644 --- a/addons/medical/functions/fnc_isInMedicalVehicle.sqf +++ b/addons/medical/functions/fnc_isInMedicalVehicle.sqf @@ -21,4 +21,4 @@ _vehicle = vehicle _unit; if (_unit == _vehicle) exitWith {false}; if (_unit in [driver _vehicle, gunner _vehicle, commander _vehicle]) exitWith {false}; -_vehicle getVariable [QGVAR(isMedic), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant") == 1] +_vehicle getVariable [QGVAR(medicClass), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant") == 1] diff --git a/addons/medical/functions/fnc_isMedicalVehicle.sqf b/addons/medical/functions/fnc_isMedicalVehicle.sqf index 7be406e556..5635700fe0 100644 --- a/addons/medical/functions/fnc_isMedicalVehicle.sqf +++ b/addons/medical/functions/fnc_isMedicalVehicle.sqf @@ -15,4 +15,4 @@ private ["_vehicle"]; _vehicle = _this select 0; -_vehicle getVariable [QGVAR(isMedic), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant") == 1] +_vehicle getVariable [QGVAR(medicClass), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant") == 1] diff --git a/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf b/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf index 670818b1f3..539d428da0 100644 --- a/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf +++ b/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf @@ -44,7 +44,7 @@ if (!isNull _logic) then { if (!isnil "_x") then { if (typeName _x == typeName objNull) then { if (local _x) then { - _x setvariable [QGVAR(isMedic), _setting, true]; + _x setvariable [QGVAR(medicClass), _setting, true]; }; }; }; @@ -54,7 +54,7 @@ if (!isNull _logic) then { if (!isnil "_x") then { if (typeName _x == typeName objNull) then { if (local _x) then { - _x setvariable [QGVAR(isMedic), _setting, true]; + _x setvariable [QGVAR(medicClass), _setting, true]; }; }; }; From eff5ce03d67919d499dd072f46134da7b02291dc Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Sun, 10 May 2015 20:58:17 +0100 Subject: [PATCH 436/478] false -> 0 --- addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf b/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf index 539d428da0..af6de73ce1 100644 --- a/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf +++ b/addons/medical/functions/fnc_moduleAssignMedicalVehicle.sqf @@ -37,7 +37,7 @@ if (!isNull _logic) then { _list = "[" + _nilCheckPassedList + "]"; _parsedList = [] call compile _list; - _setting = _logic getvariable ["enabled", false]; + _setting = _logic getvariable ["enabled", 0]; _objects = synchronizedObjects _logic; if (!(_objects isEqualTo []) && _parsedList isEqualTo []) then { { From 2e91f4527323d887503d300a5319b28b43f16ee9 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sun, 10 May 2015 16:57:05 -0500 Subject: [PATCH 437/478] #1104 - Fix legend in editor --- addons/map/config.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/addons/map/config.cpp b/addons/map/config.cpp index 927d9aeb0f..9d75eaa5c8 100644 --- a/addons/map/config.cpp +++ b/addons/map/config.cpp @@ -87,6 +87,22 @@ class RscMapControl { sizeExGrid = 0.032; }; +class RscMap; +class RscDisplayArcadeMap_Layout_2: RscMap { //"Traditional" Editor: + class controlsBackground { + class CA_Map: RscMapControl { + #include "MapTweaks.hpp" + }; + }; +}; +class RscDisplayArcadeMap_Layout_6: RscMap { //"Streamlined" Editor: + class controlsBackground { + class CA_Map: RscMapControl { + #include "MapTweaks.hpp" + }; + }; +}; + // REGULAR MAP class RscDisplayMainMap { // Tweak map styling From 97105c5b0761018f1424efa8e0e72e522a4b7337 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 18:16:27 -0700 Subject: [PATCH 438/478] Change ACE is version stamp. Example. You will now see ACE is version 3.0.0.2 Initial prep for showing Commit ID for each PBO in #1105 --- tools/make.py | 130 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 95 insertions(+), 35 deletions(-) diff --git a/tools/make.py b/tools/make.py index 387332a666..f6fde50440 100644 --- a/tools/make.py +++ b/tools/make.py @@ -55,14 +55,18 @@ if sys.platform == "win32": import winreg ######## GLOBALS ######### +ACE_VERSION = "3.0.0.3" work_drive = "" module_root = "" +make_root = "" release_dir = "" module_root_parent = "" optionals_root = "" -key_name = "ace_3.0.0" +key_name = "ace" key = "" dssignfile = "" +prefix = "ace" +pbo_name_prefix = "ace_" signature_blacklist = ["ace_server.pbo"] ############################################################################### @@ -466,7 +470,7 @@ def check_for_obsolete_pbos(addonspath, file): return False -def config_restore(modulePath): +def addon_restore(modulePath): #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp #print_green("\Pabst! (restoring): {}".format(os.path.join(modulePath, "config.cpp"))) try: @@ -478,10 +482,88 @@ def config_restore(modulePath): os.remove(os.path.join(modulePath, "config.bin")) if os.path.isfile(os.path.join(modulePath, "texHeaders.bin")): os.remove(os.path.join(modulePath, "texHeaders.bin")) + if os.path.isfile(os.path.join(modulePath, "$PBOPREFIX$.backup")): + if os.path.isfile(os.path.join(modulePath, "$PBOPREFIX$")): + os.remove(os.path.join(modulePath, "$PBOPREFIX$")) + os.rename(os.path.join(modulePath, "$PBOPREFIX$.backup"), os.path.join(modulePath, "$PBOPREFIX$")) except: print_yellow("Some error occurred. Check your addon folder {} for integrity".format(modulePath)) return True + + +def get_ace_version(): + global ACE_VERSION + #do the magic based on https://github.com/acemod/ACE3/issues/806#issuecomment-95639048 + return ACE_VERSION + +def get_private_keyname(commitID,module="main"): + global pbo_name_prefix + + aceVersion = get_ace_version() + keyName = str("{prefix}{version}-{commit_id}".format(prefix=pbo_name_prefix,version=aceVersion,commit_id=commitID)) + print_yellow(keyName) + return keyName + + +def get_commit_ID(): + # Get latest commit ID + global make_root + curDir = os.getcwd() + try: + gitpath = os.path.join(os.path.dirname(make_root), ".git") + assert os.path.exists(gitpath) + os.chdir(make_root) + + commit_id = subprocess.check_output(["git", "rev-parse", "HEAD"]) + commit_id = str(commit_id, "utf-8")[:8] + except: + print_error("FAILED TO DETERMINE COMMIT ID.") + print_yellow("Verify that \GIT\BIN or \GIT\CMD is in your system path or user path.") + commit_id = "NOGIT" + raise + finally: + pass + os.chdir(curDir) + + print_yellow("COMMIT ID set to {}".format(commit_id)) + return commit_id + + +def version_stamp_pboprefix(module,commitID): + ### Update pboPrefix with the correct version stamp. Use commit_id as the build number. + global work_drive + global prefix + + try: + configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") + shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) + + f = open(configpath, "r") + configtext = f.read() + f.close() + + if configtext: + #patchestext = re.search(r"class CfgPatches\n\{(.*?)\n\}", configtext, re.DOTALL).group(1) + #patchestext = re.sub(r'version(.*?)="(.*?)"', r'version\1="\2-{}"'.format(commit_id), patchestext) + #configtext = re.sub(r"class CfgPatches\n\{(.*?)\n\}", "class CfgPatches\n{"+patchestext+"\n}", configtext, flags=re.DOTALL) + f = open(configpath, "w") + f.write(configtext) + f.close() + else: + os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + except: + raise + print_error("Failed to include build number") + return False + finally: + if os.path.isfile(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")): + if os.path.isfile(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")): + os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + + return True ############################################################################### @@ -489,14 +571,18 @@ def main(argv): """Build an Arma addon suite in a directory from rules in a make.cfg file.""" print_blue("\nmake.py for Arma, modified for Advanced Combat Environment v{}".format(__version__)) + global ACE_VERSION global work_drive global module_root + global make_root global release_dir global module_root_parent global optionals_root global key_name global key global dssignfile + global prefix + global pbo_name_prefix if sys.platform != "win32": print_error("Non-Windows platform (Cygwin?). Please re-run from cmd.") @@ -600,18 +686,7 @@ See the make.cfg file for additional build options. make_root_parent = os.path.abspath(os.path.join(os.getcwd(), os.pardir)) os.chdir(make_root) - # Get latest commit ID - try: - gitpath = os.path.join(os.path.dirname(make_root), ".git") - assert os.path.exists(gitpath) - commit_id = subprocess.check_output(["git", "rev-parse", "HEAD"]) - commit_id = str(commit_id, "utf-8")[:8] - key_name = str(key_name+"-"+commit_id) - except: - print_error("FAILED TO DETERMINE COMMIT ID.") - print_yellow("Verify that \GIT\BIN or \GIT\CMD is in your system path or user path.") - commit_id = "NOGIT" cfg = configparser.ConfigParser(); try: @@ -665,6 +740,10 @@ See the make.cfg file for additional build options. extensions_root = os.path.join(module_root_parent, "extensions") print_green ("module_root: {}".format(module_root)) + + commit_id = get_commit_ID() + key_name = versionStamp = get_private_keyname(commit_id) + if (os.path.isdir(module_root)): os.chdir(module_root) else: @@ -934,27 +1013,7 @@ See the make.cfg file for additional build options. shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - # Include build number - try: - configpath = os.path.join(work_drive, prefix, module, "config.cpp") - f = open(configpath, "r") - configtext = f.read() - f.close() - - if configtext: - patchestext = re.search(r"class CfgPatches\n\{(.*?)\n\}", configtext, re.DOTALL).group(1) - patchestext = re.sub(r'version(.*?)="(.*?)"', r'version\1="\2-{}"'.format(commit_id), patchestext) - configtext = re.sub(r"class CfgPatches\n\{(.*?)\n\}", "class CfgPatches\n{"+patchestext+"\n}", configtext, flags=re.DOTALL) - f = open(configpath, "w") - f.write(configtext) - f.close() - else: - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - os.rename(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - except: - raise - print_error("Failed to include build number") - continue + version_stamp_pboprefix(module,commit_id) if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): print_green("$NOBIN$ Found. Proceeding with non-binarizing!") @@ -1013,7 +1072,7 @@ See the make.cfg file for additional build options. print ("Resuming build...") continue finally: - config_restore(os.path.join(work_drive, prefix, module)) + addon_restore(os.path.join(work_drive, prefix, module)) elif build_tool== "addonbuilder": # Detect $NOBIN$ and do not binarize if found. @@ -1092,6 +1151,7 @@ See the make.cfg file for additional build options. except: print_yellow("Cancel or some error detected.") + finally: copy_important_files(module_root_parent,os.path.join(release_dir, "@ace")) cleanup_optionals(optionals_modules) From 2ffc38ddd204ef340dfe7bfa081fb174c7fd48f8 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 18:21:01 -0700 Subject: [PATCH 439/478] Do not build common every time #1105 --- tools/make.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tools/make.py b/tools/make.py index f6fde50440..8bc4c50eb2 100644 --- a/tools/make.py +++ b/tools/make.py @@ -913,10 +913,6 @@ See the make.cfg file for additional build options. else: old_sha = "" - #We always build ACE_common so we can properly show the correct version stamp in the RPT file. - if module == "common": - old_sha = "" - # Hash the module new_sha = get_directory_hash(os.path.join(module_root, module)) From 097d0cb8ed0d3088efa624c6ea3b7a74f770d893 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 19:44:24 -0700 Subject: [PATCH 440/478] Update $PBOPREFIX$ with Commit ID for each PBO #1105 --- tools/make.py | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/tools/make.py b/tools/make.py index 8bc4c50eb2..76233f9120 100644 --- a/tools/make.py +++ b/tools/make.py @@ -497,6 +497,7 @@ def get_ace_version(): #do the magic based on https://github.com/acemod/ACE3/issues/806#issuecomment-95639048 return ACE_VERSION + def get_private_keyname(commitID,module="main"): global pbo_name_prefix @@ -544,19 +545,38 @@ def version_stamp_pboprefix(module,commitID): f.close() if configtext: - #patchestext = re.search(r"class CfgPatches\n\{(.*?)\n\}", configtext, re.DOTALL).group(1) - #patchestext = re.sub(r'version(.*?)="(.*?)"', r'version\1="\2-{}"'.format(commit_id), patchestext) - #configtext = re.sub(r"class CfgPatches\n\{(.*?)\n\}", "class CfgPatches\n{"+patchestext+"\n}", configtext, flags=re.DOTALL) - f = open(configpath, "w") - f.write(configtext) - f.close() - else: - os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) - os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + patchestext = re.search(r"version.*?=.*?$", configtext, re.DOTALL) + print("{}".format(patchestext)) + if patchestext: + if configtext: + print("configtext before ==> {}".format(configtext)) + patchestext = re.search(r"(version.*?=)(.*?)$", configtext, re.DOTALL).group(1) + print("patchestext before ==> {}".format(patchestext)) + #patchestext1 = re.sub(r'version(.*?)="(.*?)"$', r'version\1=" {}"'.format(commitID), patchestext) + #print("patchestext after ==> {}".format(patchestext1)) + print("commitID ==> {}".format(commitID)) + configtext = re.sub(r"version(.*?)=(.*?)$", "version = {}\n".format(commitID), configtext, flags=re.DOTALL) + print("configtext after ==> {}".format(configtext)) + f = open(configpath, "w") + f.write(configtext) + f.close() + os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) + else: + os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + else: + if configtext: + #append version info + f = open(configpath, "a") + f.write("\nversion = {}".format(commitID)) + f.close() + os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) + except: - raise print_error("Failed to include build number") + raise return False + finally: if os.path.isfile(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")): if os.path.isfile(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")): From 4d56e6317cb132879b549b9ec44080dfe9e3c149 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 19:58:32 -0700 Subject: [PATCH 441/478] Warn builder for missing $PBOPREFIX$ #1105 --- tools/make.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tools/make.py b/tools/make.py index 76233f9120..89ba17a0c1 100644 --- a/tools/make.py +++ b/tools/make.py @@ -538,8 +538,16 @@ def version_stamp_pboprefix(module,commitID): try: configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") - shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) - + if os.path.isfile(configpath): + shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) + else: + print_error("$PBOPREFIX$ Does not exist for module: {}.".format(module)) + return False + except: + print_error("Error updating $PBOPREFIX$ for module {}.") + return False + + try: f = open(configpath, "r") configtext = f.read() f.close() From 0e36e56c1c05d42bed54fa05f44662eba5d7a867 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 22:12:57 -0700 Subject: [PATCH 442/478] Proper handling $PBOPREFIX$ backups and cleanup if canceled. #1105 --- tools/make.py | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/tools/make.py b/tools/make.py index 89ba17a0c1..3d70c28f0a 100644 --- a/tools/make.py +++ b/tools/make.py @@ -533,20 +533,12 @@ def get_commit_ID(): def version_stamp_pboprefix(module,commitID): ### Update pboPrefix with the correct version stamp. Use commit_id as the build number. + #This function will not handle any $PBOPREFIX$ backup or cleanup. global work_drive global prefix - try: - configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") - if os.path.isfile(configpath): - shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) - else: - print_error("$PBOPREFIX$ Does not exist for module: {}.".format(module)) - return False - except: - print_error("Error updating $PBOPREFIX$ for module {}.") - return False - + configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") + try: f = open(configpath, "r") configtext = f.read() @@ -568,7 +560,6 @@ def version_stamp_pboprefix(module,commitID): f = open(configpath, "w") f.write(configtext) f.close() - os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) else: os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) @@ -578,19 +569,14 @@ def version_stamp_pboprefix(module,commitID): f = open(configpath, "a") f.write("\nversion = {}".format(commitID)) f.close() - os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) - + else: + os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) + os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) except: print_error("Failed to include build number") raise return False - finally: - if os.path.isfile(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")): - if os.path.isfile(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")): - os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) - os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) - return True ############################################################################### @@ -1018,6 +1004,16 @@ See the make.cfg file for additional build options. if build_tool == "pboproject": try: #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: + try: + configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") + if os.path.isfile(configpath): + shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) + else: + print_error("$PBOPREFIX$ Does not exist for module: {}.".format(module)) + return False + except: + print_error("Error creating backup of $PBOPREFIX$ for module {}.") + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) os.chdir("P:\\") From d03203d3d5ecd129af47cadce8d4b5f7c8f232aa Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 22:20:29 -0700 Subject: [PATCH 443/478] remove debug #1105 --- tools/make.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tools/make.py b/tools/make.py index 3d70c28f0a..a4f0062c30 100644 --- a/tools/make.py +++ b/tools/make.py @@ -503,7 +503,6 @@ def get_private_keyname(commitID,module="main"): aceVersion = get_ace_version() keyName = str("{prefix}{version}-{commit_id}".format(prefix=pbo_name_prefix,version=aceVersion,commit_id=commitID)) - print_yellow(keyName) return keyName @@ -546,17 +545,10 @@ def version_stamp_pboprefix(module,commitID): if configtext: patchestext = re.search(r"version.*?=.*?$", configtext, re.DOTALL) - print("{}".format(patchestext)) if patchestext: if configtext: - print("configtext before ==> {}".format(configtext)) patchestext = re.search(r"(version.*?=)(.*?)$", configtext, re.DOTALL).group(1) - print("patchestext before ==> {}".format(patchestext)) - #patchestext1 = re.sub(r'version(.*?)="(.*?)"$', r'version\1=" {}"'.format(commitID), patchestext) - #print("patchestext after ==> {}".format(patchestext1)) - print("commitID ==> {}".format(commitID)) configtext = re.sub(r"version(.*?)=(.*?)$", "version = {}\n".format(commitID), configtext, flags=re.DOTALL) - print("configtext after ==> {}".format(configtext)) f = open(configpath, "w") f.write(configtext) f.close() From 46cabb14adc0b7306288efe46eb3e5ee0a529810 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Sun, 10 May 2015 23:49:40 -0700 Subject: [PATCH 444/478] Remove unnecessary return so that it can move to the next PBO after missing $PBOPREFIX$ #1105 --- tools/make.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/make.py b/tools/make.py index a4f0062c30..940579ffc2 100644 --- a/tools/make.py +++ b/tools/make.py @@ -1002,7 +1002,7 @@ See the make.cfg file for additional build options. shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) else: print_error("$PBOPREFIX$ Does not exist for module: {}.".format(module)) - return False + except: print_error("Error creating backup of $PBOPREFIX$ for module {}.") From cf6846dac2c24c6a2db19c0ba7374083c939581f Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 11 May 2015 00:34:32 -0700 Subject: [PATCH 445/478] Improve exception handling #1105 --- tools/make.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/make.py b/tools/make.py index 940579ffc2..e45c029ccc 100644 --- a/tools/make.py +++ b/tools/make.py @@ -564,9 +564,8 @@ def version_stamp_pboprefix(module,commitID): else: os.remove(os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) os.rename(os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup"), os.path.join(work_drive, prefix, module, "$PBOPREFIX$")) - except: - print_error("Failed to include build number") - raise + except Exception as e: + print_error("Failed to include build number: {}".format(e)) return False return True From b03333c9e8fb03febd5ee17ee98ce868c251bfb1 Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 11 May 2015 10:59:07 +0200 Subject: [PATCH 446/478] Moved all wind calculations into the weather module --- addons/advanced_ballistics/XEH_preInit.sqf | 2 - .../functions/fnc_calculateWindSpeed.sqf | 78 -------- addons/config.cpp | 167 ------------------ addons/kestrel4500/XEH_preInit.sqf | 1 - .../functions/fnc_calculateWindSpeed.sqf | 68 ------- .../functions/fnc_measureWindSpeed.sqf | 7 +- addons/weather/XEH_preInit.sqf | 2 + addons/weather/config.cpp | 4 +- .../fnc_calculateRoughnessLength.sqf | 0 .../functions/fnc_calculateWindSpeed.sqf | 90 ++++++++++ .../weather/functions/fnc_displayWindInfo.sqf | 13 +- 11 files changed, 104 insertions(+), 328 deletions(-) delete mode 100644 addons/advanced_ballistics/functions/fnc_calculateWindSpeed.sqf delete mode 100644 addons/config.cpp delete mode 100644 addons/kestrel4500/functions/fnc_calculateWindSpeed.sqf rename addons/{advanced_ballistics => weather}/functions/fnc_calculateRoughnessLength.sqf (100%) create mode 100644 addons/weather/functions/fnc_calculateWindSpeed.sqf diff --git a/addons/advanced_ballistics/XEH_preInit.sqf b/addons/advanced_ballistics/XEH_preInit.sqf index 1d19a9c492..6fdd849b12 100644 --- a/addons/advanced_ballistics/XEH_preInit.sqf +++ b/addons/advanced_ballistics/XEH_preInit.sqf @@ -6,9 +6,7 @@ PREP(calculateAmmoTemperatureVelocityShift); PREP(calculateAtmosphericCorrection); PREP(calculateBarrelLengthVelocityShift); PREP(calculateRetardation); -PREP(calculateRoughnessLength); PREP(calculateStabilityFactor); -PREP(calculateWindSpeed); PREP(displayProtractor); PREP(handleFired); PREP(initializeTerrainExtension); diff --git a/addons/advanced_ballistics/functions/fnc_calculateWindSpeed.sqf b/addons/advanced_ballistics/functions/fnc_calculateWindSpeed.sqf deleted file mode 100644 index e7b0a322e8..0000000000 --- a/addons/advanced_ballistics/functions/fnc_calculateWindSpeed.sqf +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Author: Ruthberg - * - * Calculates the true wind speed at a given world position - * - * Arguments: - * 0: _this - world position - * - * Return Value: - * 0: wind speed - m/s - * - * Public: No - */ -#include "script_component.hpp" - -private ["_windSpeed", "_windDir", "_height", "_newWindSpeed", "_windSource", "_roughnessLength"]; - -fnc_polar2vect = { - private ["_mag2D"]; - _mag2D = (_this select 0) * cos((_this select 2)); - [_mag2D * sin((_this select 1)), _mag2D * cos((_this select 1)), (_this select 0) * sin((_this select 2))]; -}; - -_windSpeed = vectorMagnitude ACE_wind; -_windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); - -// Wind gradient -if (_windSpeed > 0.05) then { - _height = (ASLToATL _this) select 2; - _height = 0 max _height min 20; - if (_height < 20) then { - _roughnessLength = _this call FUNC(calculateRoughnessLength); - _windSpeed = _windSpeed * ln(_height / _roughnessLength) / ln(20 / _roughnessLength); - }; -}; - -// Terrain effect on wind -if (_windSpeed > 0.05) then { - _newWindSpeed = 0; - { - _windSource = [100, _windDir + 180, _x] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - _windSource = [100, _windDir + 180 + _x, 0] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - _windSource = [100, _windDir + 180 - _x, 0] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - } forEach [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - _windSpeed = _newWindSpeed; -}; - -// Obstacle effect on wind -if (_windSpeed > 0.05) then { - _newWindSpeed = 0; - { - _windSource = [20, _windDir + 180, _x] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - _windSource = [20, _windDir + 180 + _x, 0] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - _windSource = [20, _windDir + 180 - _x, 0] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - } forEach [0, 5, 10, 15, 20, 25, 30, 35, 40, 45]; - _windSpeed = _newWindSpeed; -}; -_windSpeed = 0 max _windSpeed; - -_windSpeed diff --git a/addons/config.cpp b/addons/config.cpp deleted file mode 100644 index 27647f8d00..0000000000 --- a/addons/config.cpp +++ /dev/null @@ -1,167 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {"ACE_Box_Misc", "ACE_bananaItem"}; - weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon", "ACE_Banana"}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_main"}; - author[] = {"KoffeinFlummi"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - VERSION_CONFIG; - }; -}; - -#include "CfgEventHandlers.hpp" - -#include "CfgSounds.hpp" -#include "CfgVehicles.hpp" -#include "CfgWeapons.hpp" -#include "CfgMagazines.hpp" - -#include "CfgActions.hpp" -#include "CfgMoves.hpp" -#include "CfgVoice.hpp" -#include "CfgUnitInsignia.hpp" - -class ACE_Rsc_Display_Base { - idd = -1; - type = 0; - style = 48; - name = ""; - duration = 999999; - fadeIn = 0; - fadeOut = 0; - font = "TahomaB"; - size = 1; - colorBackground[] = {1, 1, 1, 0}; - colorText[] = {1, 1, 1, 1}; -}; - -class ACE_Rsc_Control_Base { - idc = 1; - type = 0; - style = 48; - access = 0; - lineSpacing = 0; - moving = 1; - text = ""; - size = 1; - sizeEx = 0; - font = "TahomaB"; - colorBackground[] = {1, 1, 1, 0}; - colorText[] = {1, 1, 1, 1}; - x = 0; - y = 0; - w = 0; - h = 0; -}; - -class ACE_Settings { - /* - *class GVAR(sampleSetting) { - * Value - * value = 1; - * - * Type (SCALAR, BOOL, STRING, ARRAY, COLOR) - * typeName = "SCALAR"; - * - * Force the setting? - * force = 0; - * - * Does it appear on the options menu? - * isClientSettable = 1; - * - * The following settings only apply when isClientSettable == 1 - * Stringtable entry with the setting name - * displayName = "$STR_ACE_Common_SettingName"; - * - * Stringtable entry with the setting description - * description = "$STR_ACE_Common_SettingDescription"; - * - * Stringtable entries that describe the options - * Only applies if typeName == "SCALAR"; - * values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; - *}; - */ - class GVAR(forceAllSettings) { - value = 0; - typeName = "BOOL"; - }; - /*class GVAR(enableNumberHotkeys) { - value = 1; - typeName = "BOOL"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_EnableNumberHotkeys"; - };*/ - class GVAR(settingFeedbackIcons) { - value = 1; - typeName = "SCALAR"; - force = 0; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; - description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; - values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; - }; - class GVAR(SettingProgressBarLocation) { - value = 0; - typeName = "SCALAR"; - force = 0; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; - description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; - values[] = {"Top", "Bottom"}; - }; - class GVAR(displayTextColor) { - value[] = {0,0,0,0.1}; - typeName = "COLOR"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; - description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; - }; - class GVAR(displayTextFontColor) { - value[] = {1,1,1,1}; - typeName = "COLOR"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; - description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; - }; -}; - -#include "define.hpp" -#include -#include -#include - -class CfgUIGrids { - class IGUI { - class Presets { - class Arma3 { - class Variables { - grid_ACE_displayText[] = {{((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)),safeZoneY + 0.175 * safezoneH, (10 *(((safezoneW / safezoneH) min 1.2) / 40)), (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))}, "(((safezoneW / safezoneH) min 1.2) / 40)","((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"}; - }; - }; - }; - - class Variables { - class grid_ACE_displayText { - displayName = "ACE Hint"; - description = "Textual in game feedback to the player."; - preview = "\a3\Ui_f\data\GUI\Cfg\UIGrids\grid_hint_ca.paa"; - saveToProfile[] = {0,1}; - }; - }; - }; -}; - -/* -// check dll -class RscStandardDisplay; -class RscDisplayMain: RscStandardDisplay { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage)); -}; -*/ - -class ACE_Extensions { - extensions[] = {}; -}; diff --git a/addons/kestrel4500/XEH_preInit.sqf b/addons/kestrel4500/XEH_preInit.sqf index 2d5e211a54..4e29b9bdbf 100644 --- a/addons/kestrel4500/XEH_preInit.sqf +++ b/addons/kestrel4500/XEH_preInit.sqf @@ -3,7 +3,6 @@ ADDON = false; PREP(buttonPressed); -PREP(calculateWindSpeed); PREP(canShow); PREP(collectData); PREP(createKestrelDialog); diff --git a/addons/kestrel4500/functions/fnc_calculateWindSpeed.sqf b/addons/kestrel4500/functions/fnc_calculateWindSpeed.sqf deleted file mode 100644 index 8267f7f729..0000000000 --- a/addons/kestrel4500/functions/fnc_calculateWindSpeed.sqf +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Author: Ruthberg - * - * Calculates the wind speed at a given world position - * - * Arguments: - * 0: _this - world position - * - * Return Value: - * 0: wind speed - m/s - * - * Public: No - */ -#include "script_component.hpp" - -private ["_windSpeed", "_windDir", "_newWindSpeed", "_windSource"]; - -fnc_polar2vect = { - private ["_mag2D"]; - _mag2D = (_this select 0) * cos((_this select 2)); - [_mag2D * sin((_this select 1)), _mag2D * cos((_this select 1)), (_this select 0) * sin((_this select 2))]; -}; - -_windSpeed = vectorMagnitude ACE_wind; -_windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); - -// Terrain effect on wind -if (_windSpeed > 0.05) then { - _newWindSpeed = 0; - { - _windSource = [100, _windDir + 180, _x] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - _windSource = [100, _windDir + 180 + _x, 0] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - _windSource = [100, _windDir + 180 - _x, 0] call fnc_polar2vect; - if (!(terrainIntersectASL [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 9) * _windSpeed; - }; - } forEach [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; - _windSpeed = _newWindSpeed; -}; - -// Obstacle effect on wind -if (_windSpeed > 0.05) then { - _newWindSpeed = 0; - { - _windSource = [20, _windDir + 180, _x] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - _windSource = [20, _windDir + 180 + _x, 0] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - _windSource = [20, _windDir + 180 - _x, 0] call fnc_polar2vect; - if (!(lineIntersects [_this, _this vectorAdd _windSource])) exitWith { - _newWindSpeed = cos(_x * 2) * _windSpeed; - }; - } forEach [0, 5, 10, 15, 20, 25, 30, 35, 40, 45]; - _windSpeed = _newWindSpeed; -}; -_windSpeed = 0 max _windSpeed; - -_windSpeed diff --git a/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf b/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf index eb718906aa..73b4e228d6 100644 --- a/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf +++ b/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf @@ -19,12 +19,13 @@ private ["_playerDir", "_windSpeed", "_windDir"]; _playerDir = getDir ACE_player; _windSpeed = vectorMagnitude ACE_wind; _windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); - if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { - _windSpeed = (eyePos ACE_player) call EFUNC(advanced_ballistics,calculateWindSpeed); + // With wind gradient + _windSpeed = [eyePos ACE_player, true, true, true] call EFUNC(weather,calculateWindSpeed); _windSpeed = abs(cos(_playerDir - _windDir)) * _windSpeed; } else { - _windSpeed = (eyePos ACE_player) call FUNC(calculateWindSpeed); + // Without wind gradient + _windSpeed = [eyePos ACE_player, false, true, true] call EFUNC(weather,calculateWindSpeed); }; if (_windSpeed > 0.3 || {GVAR(MeasuredWindSpeed) > 0.1 && _windSpeed > 0.125}) then { diff --git a/addons/weather/XEH_preInit.sqf b/addons/weather/XEH_preInit.sqf index 0f49226432..6e6e008a67 100644 --- a/addons/weather/XEH_preInit.sqf +++ b/addons/weather/XEH_preInit.sqf @@ -5,6 +5,8 @@ ADDON = false; PREP(calculateAirDensity); PREP(calculateBarometricPressure); +PREP(calculateRoughnessLength); +PREP(calculateWindSpeed); PREP(displayWindInfo); PREP(getMapData); PREP(getWind); diff --git a/addons/weather/config.cpp b/addons/weather/config.cpp index 39cf223518..18059fe9e8 100644 --- a/addons/weather/config.cpp +++ b/addons/weather/config.cpp @@ -5,8 +5,8 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common"}; - author[] = {"q1184", "Rocko", "esteldunedain","Ruthberg"}; + requiredAddons[] = {"ace_common", "ace_modules"}; + author[] = {"q1184", "Rocko", "esteldunedain", "Ruthberg"}; VERSION_CONFIG; }; }; diff --git a/addons/advanced_ballistics/functions/fnc_calculateRoughnessLength.sqf b/addons/weather/functions/fnc_calculateRoughnessLength.sqf similarity index 100% rename from addons/advanced_ballistics/functions/fnc_calculateRoughnessLength.sqf rename to addons/weather/functions/fnc_calculateRoughnessLength.sqf diff --git a/addons/weather/functions/fnc_calculateWindSpeed.sqf b/addons/weather/functions/fnc_calculateWindSpeed.sqf new file mode 100644 index 0000000000..b5cde4e959 --- /dev/null +++ b/addons/weather/functions/fnc_calculateWindSpeed.sqf @@ -0,0 +1,90 @@ +/* + * Author: Ruthberg + * + * Calculates the true wind speed at a given world position + * + * Arguments: + * 0: world position - posASL + * 1: Account for wind gradient + * 2: Account for terrain + * 3: Account for obstacles + * + * Return Value: + * 0: wind speed - m/s + * + * Public: No + */ +#include "script_component.hpp" + +private ["_windSpeed", "_windDir", "_height", "_newWindSpeed", "_windSource", "_roughnessLength"]; + +EXPLODE_4_PVT(_this,_position,_windGradientEnabled,_terrainEffectEnabled,_obstacleEffectEnabled); + +fnc_polar2vect = { + private ["_mag2D"]; + _mag2D = (_this select 0) * cos((_this select 2)); + [_mag2D * sin((_this select 1)), _mag2D * cos((_this select 1)), (_this select 0) * sin((_this select 2))]; +}; + +_windSpeed = vectorMagnitude ACE_wind; +_windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); + +// Wind gradient +if (_windGradientEnabled) then { + if (_windSpeed > 0.05) then { + _height = (ASLToATL _position) select 2; + _height = 0 max _height min 20; + if (_height < 20) then { + _roughnessLength = _position call FUNC(calculateRoughnessLength); + _windSpeed = _windSpeed * abs(ln(_height / _roughnessLength) / ln(20 / _roughnessLength)); + }; + }; +}; + +// Terrain effect on wind +if (_terrainEffectEnabled) then { + if (_windSpeed > 0.05) then { + _newWindSpeed = 0; + { + _windSource = [100, _windDir + 180, _x] call fnc_polar2vect; + if (!(terrainIntersectASL [_position, _position vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 9) * _windSpeed; + }; + _windSource = [100, _windDir + 180 + _x, 0] call fnc_polar2vect; + if (!(terrainIntersectASL [_position, _position vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 9) * _windSpeed; + }; + _windSource = [100, _windDir + 180 - _x, 0] call fnc_polar2vect; + if (!(terrainIntersectASL [_position, _position vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 9) * _windSpeed; + }; + } forEach [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; + _windSpeed = _newWindSpeed; + }; +}; + +// Obstacle effect on wind +if (_obstacleEffectEnabled) then { + if (_windSpeed > 0.05) then { + _newWindSpeed = 0; + { + _windSource = [20, _windDir + 180, _x] call fnc_polar2vect; + if (!(lineIntersects [_position, _position vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 2) * _windSpeed; + }; + _windSource = [20, _windDir + 180 + _x, 0] call fnc_polar2vect; + if (!(lineIntersects [_position, _position vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 2) * _windSpeed; + }; + _windSource = [20, _windDir + 180 - _x, 0] call fnc_polar2vect; + if (!(lineIntersects [_position, _position vectorAdd _windSource])) exitWith { + _newWindSpeed = cos(_x * 2) * _windSpeed; + }; + } forEach [0, 5, 10, 15, 20, 25, 30, 35, 40, 45]; + _windSpeed = _newWindSpeed; + }; +}; + +_windSpeed = 0 max _windSpeed; + +_windSpeed diff --git a/addons/weather/functions/fnc_displayWindInfo.sqf b/addons/weather/functions/fnc_displayWindInfo.sqf index 7996503719..e81463f41a 100644 --- a/addons/weather/functions/fnc_displayWindInfo.sqf +++ b/addons/weather/functions/fnc_displayWindInfo.sqf @@ -38,15 +38,14 @@ GVAR(WindInfo) = true; _windIndex = 12; _windColor = [1, 1, 1, 1]; - - // Toogle behaviour depending on ace_advanced_ballistics being used or not - // @todo, check ACE_AB is actually enabled - _windSpeed = if (isClass (configFile >> "CfgPatches" >> "ACE_Advanced_Ballistics")) then { - (eyePos ACE_player) call EFUNC(advanced_ballistics,calculateWindSpeed); + _windSpeed = if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then { + // With wind gradient + [eyePos ACE_player, true, true, true] call FUNC(calculateWindSpeed); } else { - vectorMagnitude ACE_wind; + // Without wind gradient + [eyePos ACE_player, false, true, true] call FUNC(calculateWindSpeed); }; - + if (_windSpeed > 0.2) then { _playerDir = getDir ACE_player; _windDir = (ACE_wind select 0) atan2 (ACE_wind select 1); From 0b3d3b8793f7c3c9e02633e794125e1c14d19dc5 Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 11 May 2015 17:37:08 +0200 Subject: [PATCH 447/478] Added missing PBOPREFIX files --- addons/advanced_ballistics/$PBOPREFIX$ | 1 + addons/atragmx/$PBOPREFIX$ | 1 + addons/kestrel4500/$PBOPREFIX$ | 1 + addons/nightvision/$PBOPREFIX$ | 1 + addons/winddeflection/$PBOPREFIX$ | 1 + 5 files changed, 5 insertions(+) create mode 100644 addons/advanced_ballistics/$PBOPREFIX$ create mode 100644 addons/atragmx/$PBOPREFIX$ create mode 100644 addons/kestrel4500/$PBOPREFIX$ create mode 100644 addons/nightvision/$PBOPREFIX$ create mode 100644 addons/winddeflection/$PBOPREFIX$ diff --git a/addons/advanced_ballistics/$PBOPREFIX$ b/addons/advanced_ballistics/$PBOPREFIX$ new file mode 100644 index 0000000000..1ab65b7c32 --- /dev/null +++ b/addons/advanced_ballistics/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\advanced_ballistics \ No newline at end of file diff --git a/addons/atragmx/$PBOPREFIX$ b/addons/atragmx/$PBOPREFIX$ new file mode 100644 index 0000000000..c42e89e22d --- /dev/null +++ b/addons/atragmx/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\atragmx \ No newline at end of file diff --git a/addons/kestrel4500/$PBOPREFIX$ b/addons/kestrel4500/$PBOPREFIX$ new file mode 100644 index 0000000000..15660502ce --- /dev/null +++ b/addons/kestrel4500/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\kestrel4500 \ No newline at end of file diff --git a/addons/nightvision/$PBOPREFIX$ b/addons/nightvision/$PBOPREFIX$ new file mode 100644 index 0000000000..4a3d560db5 --- /dev/null +++ b/addons/nightvision/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\nightvision \ No newline at end of file diff --git a/addons/winddeflection/$PBOPREFIX$ b/addons/winddeflection/$PBOPREFIX$ new file mode 100644 index 0000000000..e36be56aec --- /dev/null +++ b/addons/winddeflection/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\winddeflection \ No newline at end of file From 0bae8471c58c16f9f5e1359beb47f72316a3cce2 Mon Sep 17 00:00:00 2001 From: ulteq Date: Mon, 11 May 2015 17:43:48 +0200 Subject: [PATCH 448/478] Added more missing PBOPREFIX files --- optionals/compat_asdg/$PBOPREFIX$ | 1 + optionals/compat_cup/$PBOPREFIX$ | 1 + optionals/compat_hlc_ar15/$PBOPREFIX$ | 1 + optionals/compat_hlc_wp_mp5/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_ak/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_aug/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_core/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_fal/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_g3/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_m14/$PBOPREFIX$ | 1 + optionals/compat_hlcmods_m60e4/$PBOPREFIX$ | 1 + optionals/compat_rh_acc/$PBOPREFIX$ | 1 + optionals/compat_rh_de/$PBOPREFIX$ | 1 + optionals/compat_rh_m4/$PBOPREFIX$ | 1 + optionals/compat_rh_pdw/$PBOPREFIX$ | 1 + optionals/compat_rhs_afrf3/$PBOPREFIX$ | 1 + optionals/compat_rhs_usf3/$PBOPREFIX$ | 1 + optionals/compat_rksl_pm_ii/$PBOPREFIX$ | 1 + optionals/server/$PBOPREFIX$ | 1 + 19 files changed, 19 insertions(+) create mode 100644 optionals/compat_asdg/$PBOPREFIX$ create mode 100644 optionals/compat_cup/$PBOPREFIX$ create mode 100644 optionals/compat_hlc_ar15/$PBOPREFIX$ create mode 100644 optionals/compat_hlc_wp_mp5/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_ak/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_aug/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_core/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_fal/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_g3/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_m14/$PBOPREFIX$ create mode 100644 optionals/compat_hlcmods_m60e4/$PBOPREFIX$ create mode 100644 optionals/compat_rh_acc/$PBOPREFIX$ create mode 100644 optionals/compat_rh_de/$PBOPREFIX$ create mode 100644 optionals/compat_rh_m4/$PBOPREFIX$ create mode 100644 optionals/compat_rh_pdw/$PBOPREFIX$ create mode 100644 optionals/compat_rhs_afrf3/$PBOPREFIX$ create mode 100644 optionals/compat_rhs_usf3/$PBOPREFIX$ create mode 100644 optionals/compat_rksl_pm_ii/$PBOPREFIX$ create mode 100644 optionals/server/$PBOPREFIX$ diff --git a/optionals/compat_asdg/$PBOPREFIX$ b/optionals/compat_asdg/$PBOPREFIX$ new file mode 100644 index 0000000000..0ba5166c16 --- /dev/null +++ b/optionals/compat_asdg/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_asdg \ No newline at end of file diff --git a/optionals/compat_cup/$PBOPREFIX$ b/optionals/compat_cup/$PBOPREFIX$ new file mode 100644 index 0000000000..42044805ba --- /dev/null +++ b/optionals/compat_cup/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_cup \ No newline at end of file diff --git a/optionals/compat_hlc_ar15/$PBOPREFIX$ b/optionals/compat_hlc_ar15/$PBOPREFIX$ new file mode 100644 index 0000000000..1151a9959c --- /dev/null +++ b/optionals/compat_hlc_ar15/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlc_ar15 \ No newline at end of file diff --git a/optionals/compat_hlc_wp_mp5/$PBOPREFIX$ b/optionals/compat_hlc_wp_mp5/$PBOPREFIX$ new file mode 100644 index 0000000000..397f5e9e6b --- /dev/null +++ b/optionals/compat_hlc_wp_mp5/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlc_wp_mp5 \ No newline at end of file diff --git a/optionals/compat_hlcmods_ak/$PBOPREFIX$ b/optionals/compat_hlcmods_ak/$PBOPREFIX$ new file mode 100644 index 0000000000..d1d239c6d5 --- /dev/null +++ b/optionals/compat_hlcmods_ak/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_ak \ No newline at end of file diff --git a/optionals/compat_hlcmods_aug/$PBOPREFIX$ b/optionals/compat_hlcmods_aug/$PBOPREFIX$ new file mode 100644 index 0000000000..6b917cc98c --- /dev/null +++ b/optionals/compat_hlcmods_aug/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_aug \ No newline at end of file diff --git a/optionals/compat_hlcmods_core/$PBOPREFIX$ b/optionals/compat_hlcmods_core/$PBOPREFIX$ new file mode 100644 index 0000000000..9c9e9061e1 --- /dev/null +++ b/optionals/compat_hlcmods_core/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_core \ No newline at end of file diff --git a/optionals/compat_hlcmods_fal/$PBOPREFIX$ b/optionals/compat_hlcmods_fal/$PBOPREFIX$ new file mode 100644 index 0000000000..91bbe75e96 --- /dev/null +++ b/optionals/compat_hlcmods_fal/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_fal \ No newline at end of file diff --git a/optionals/compat_hlcmods_g3/$PBOPREFIX$ b/optionals/compat_hlcmods_g3/$PBOPREFIX$ new file mode 100644 index 0000000000..ff5b23f6ea --- /dev/null +++ b/optionals/compat_hlcmods_g3/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_g3 \ No newline at end of file diff --git a/optionals/compat_hlcmods_m14/$PBOPREFIX$ b/optionals/compat_hlcmods_m14/$PBOPREFIX$ new file mode 100644 index 0000000000..9542452ad0 --- /dev/null +++ b/optionals/compat_hlcmods_m14/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_m14 \ No newline at end of file diff --git a/optionals/compat_hlcmods_m60e4/$PBOPREFIX$ b/optionals/compat_hlcmods_m60e4/$PBOPREFIX$ new file mode 100644 index 0000000000..73c943fe8f --- /dev/null +++ b/optionals/compat_hlcmods_m60e4/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_hlcmods_m60e4 \ No newline at end of file diff --git a/optionals/compat_rh_acc/$PBOPREFIX$ b/optionals/compat_rh_acc/$PBOPREFIX$ new file mode 100644 index 0000000000..0b6e3940dd --- /dev/null +++ b/optionals/compat_rh_acc/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rh_acc \ No newline at end of file diff --git a/optionals/compat_rh_de/$PBOPREFIX$ b/optionals/compat_rh_de/$PBOPREFIX$ new file mode 100644 index 0000000000..7d6056b8b4 --- /dev/null +++ b/optionals/compat_rh_de/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rh_de \ No newline at end of file diff --git a/optionals/compat_rh_m4/$PBOPREFIX$ b/optionals/compat_rh_m4/$PBOPREFIX$ new file mode 100644 index 0000000000..a8d524952e --- /dev/null +++ b/optionals/compat_rh_m4/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rh_m4 \ No newline at end of file diff --git a/optionals/compat_rh_pdw/$PBOPREFIX$ b/optionals/compat_rh_pdw/$PBOPREFIX$ new file mode 100644 index 0000000000..24f07d7987 --- /dev/null +++ b/optionals/compat_rh_pdw/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rh_pdw \ No newline at end of file diff --git a/optionals/compat_rhs_afrf3/$PBOPREFIX$ b/optionals/compat_rhs_afrf3/$PBOPREFIX$ new file mode 100644 index 0000000000..db0e884853 --- /dev/null +++ b/optionals/compat_rhs_afrf3/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rhs_afrf3 \ No newline at end of file diff --git a/optionals/compat_rhs_usf3/$PBOPREFIX$ b/optionals/compat_rhs_usf3/$PBOPREFIX$ new file mode 100644 index 0000000000..5d837d06d7 --- /dev/null +++ b/optionals/compat_rhs_usf3/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rhs_usf3 \ No newline at end of file diff --git a/optionals/compat_rksl_pm_ii/$PBOPREFIX$ b/optionals/compat_rksl_pm_ii/$PBOPREFIX$ new file mode 100644 index 0000000000..2d73d5ce66 --- /dev/null +++ b/optionals/compat_rksl_pm_ii/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_rksl_pm_ii \ No newline at end of file diff --git a/optionals/server/$PBOPREFIX$ b/optionals/server/$PBOPREFIX$ new file mode 100644 index 0000000000..67fa39d646 --- /dev/null +++ b/optionals/server/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\server \ No newline at end of file From 695e775cd752fa795d85c7645ff33c8f322c7ad6 Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 11 May 2015 09:01:16 -0700 Subject: [PATCH 449/478] Change 'ace_serverconfig' to 'ace_server' --- optionals/server/script_component.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/optionals/server/script_component.hpp b/optionals/server/script_component.hpp index f044c9601a..a17615ebbc 100644 --- a/optionals/server/script_component.hpp +++ b/optionals/server/script_component.hpp @@ -1,12 +1,12 @@ #define COMPONENT serverconfig #include "\z\ace\Addons\main\script_mod.hpp" -#ifdef DEBUG_ENABLED_SERVERCONFIG +#ifdef DEBUG_ENABLED_SERVER #define DEBUG_MODE_FULL #endif -#ifdef DEBUG_SETTINGS_SERVERCONFIG - #define DEBUG_SETTINGS DEBUG_SETTINGS_SERVERCONFIG +#ifdef DEBUG_SETTINGS_SERVER + #define DEBUG_SETTINGS DEBUG_SETTINGS_SERVER #endif #include "\z\ace\Addons\main\script_macros.hpp" From 9660978b92eb035b967c087e4e86b5cf376bc887 Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 11 May 2015 09:02:13 -0700 Subject: [PATCH 450/478] Changed: search for ace_server, not ace_serverconfig --- addons/common/scripts/Version/checkVersionNumber.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/common/scripts/Version/checkVersionNumber.sqf b/addons/common/scripts/Version/checkVersionNumber.sqf index 1bc002153c..74f130596a 100644 --- a/addons/common/scripts/Version/checkVersionNumber.sqf +++ b/addons/common/scripts/Version/checkVersionNumber.sqf @@ -47,7 +47,7 @@ if (!isServer) then { _index = _files find _x; if (_index == -1) then { - if (_x != "ace_serverconfig") then {_missingAddons pushBack _x;}; + if (_x != "ace_server") then {_missingAddons pushBack _x;}; } else { _clientVersion = _versions select _index; From 192a02ce563d897280c8b4941ac0d37636346c8d Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 11 May 2015 09:03:09 -0700 Subject: [PATCH 451/478] No really, change it. --- optionals/server/script_component.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/optionals/server/script_component.hpp b/optionals/server/script_component.hpp index a17615ebbc..18afd814f7 100644 --- a/optionals/server/script_component.hpp +++ b/optionals/server/script_component.hpp @@ -1,4 +1,4 @@ -#define COMPONENT serverconfig +#define COMPONENT server #include "\z\ace\Addons\main\script_mod.hpp" #ifdef DEBUG_ENABLED_SERVER From a7a76d69ae0eeb1c2b82a44d0419a6b4fe205ac9 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 11 May 2015 09:48:47 -0700 Subject: [PATCH 452/478] Read ACE VERSION from main/script_mod.hpp #1105 --- tools/make.py | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/tools/make.py b/tools/make.py index e45c029ccc..09b5b4671d 100644 --- a/tools/make.py +++ b/tools/make.py @@ -55,7 +55,7 @@ if sys.platform == "win32": import winreg ######## GLOBALS ######### -ACE_VERSION = "3.0.0.3" +ACE_VERSION = "3.0.0" work_drive = "" module_root = "" make_root = "" @@ -494,7 +494,35 @@ def addon_restore(modulePath): def get_ace_version(): global ACE_VERSION + versionStamp = ACE_VERSION #do the magic based on https://github.com/acemod/ACE3/issues/806#issuecomment-95639048 + + try: + scriptModPath = os.path.join(work_drive, prefix, "main\script_mod.hpp") + + if os.path.isfile(scriptModPath): + f = open(scriptModPath, "r") + hpptext = f.read() + f.close() + + if hpptext: + majorText = re.search(r"#define MAJOR (.*\b)", hpptext).group(1) + minorText = re.search(r"#define MINOR (.*\b)", hpptext).group(1) + patchlvlText = re.search(r"#define PATCHLVL (.*\b)", hpptext).group(1) + buildText = re.search(r"#define BUILD (.*\b)", hpptext).group(1) + + if majorText: + versionStamp = "{major}.{minor}.{patchlvl}.{build}".format(major=majorText,minor=minorText,patchlvl=patchlvlText,build=buildText) + + else: + print_error("A Critical file seems to be missing or inaccessible: {}".format(scriptModPath)) + return 0 + + except Exception as e: + print_error("Get_Ace_Version error: {}".format(e)) + + print_yellow("ACE VERSION set to {}".format(versionStamp)) + ACE_VERSION = versionStamp return ACE_VERSION @@ -569,6 +597,7 @@ def version_stamp_pboprefix(module,commitID): return False return True + ############################################################################### @@ -743,11 +772,10 @@ See the make.cfg file for additional build options. module_root = cfg.get(make_target, "module_root", fallback=os.path.join(make_root_parent, "addons")) optionals_root = os.path.join(module_root_parent, "optionals") extensions_root = os.path.join(module_root_parent, "extensions") - print_green ("module_root: {}".format(module_root)) - commit_id = get_commit_ID() key_name = versionStamp = get_private_keyname(commit_id) + print_green ("module_root: {}".format(module_root)) if (os.path.isdir(module_root)): os.chdir(module_root) From c0e2af2e6634430af3ed4ce19359942f13dc2112 Mon Sep 17 00:00:00 2001 From: commy2 Date: Mon, 11 May 2015 18:50:04 +0200 Subject: [PATCH 453/478] quotes in config arrays --- addons/thermals/config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/thermals/config.cpp b/addons/thermals/config.cpp index 252a440535..07d19d1b50 100644 --- a/addons/thermals/config.cpp +++ b/addons/thermals/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {ace_common}; + requiredAddons[] = {"ace_common"}; author[] = {"[TF]Nkey"}; authorUrl = "https://github.com/michail-nikolaev/"; VERSION_CONFIG; From 5092d586fd6191389fa7fa646ac4a712e2dcf93c Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 11 May 2015 10:06:40 -0700 Subject: [PATCH 454/478] Exception handling and clean up. #1105 --- addons/config.cpp | 167 ---------------------------------------------- tools/make.py | 9 ++- 2 files changed, 7 insertions(+), 169 deletions(-) delete mode 100644 addons/config.cpp diff --git a/addons/config.cpp b/addons/config.cpp deleted file mode 100644 index 27647f8d00..0000000000 --- a/addons/config.cpp +++ /dev/null @@ -1,167 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {"ACE_Box_Misc", "ACE_bananaItem"}; - weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon", "ACE_Banana"}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_main"}; - author[] = {"KoffeinFlummi"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - VERSION_CONFIG; - }; -}; - -#include "CfgEventHandlers.hpp" - -#include "CfgSounds.hpp" -#include "CfgVehicles.hpp" -#include "CfgWeapons.hpp" -#include "CfgMagazines.hpp" - -#include "CfgActions.hpp" -#include "CfgMoves.hpp" -#include "CfgVoice.hpp" -#include "CfgUnitInsignia.hpp" - -class ACE_Rsc_Display_Base { - idd = -1; - type = 0; - style = 48; - name = ""; - duration = 999999; - fadeIn = 0; - fadeOut = 0; - font = "TahomaB"; - size = 1; - colorBackground[] = {1, 1, 1, 0}; - colorText[] = {1, 1, 1, 1}; -}; - -class ACE_Rsc_Control_Base { - idc = 1; - type = 0; - style = 48; - access = 0; - lineSpacing = 0; - moving = 1; - text = ""; - size = 1; - sizeEx = 0; - font = "TahomaB"; - colorBackground[] = {1, 1, 1, 0}; - colorText[] = {1, 1, 1, 1}; - x = 0; - y = 0; - w = 0; - h = 0; -}; - -class ACE_Settings { - /* - *class GVAR(sampleSetting) { - * Value - * value = 1; - * - * Type (SCALAR, BOOL, STRING, ARRAY, COLOR) - * typeName = "SCALAR"; - * - * Force the setting? - * force = 0; - * - * Does it appear on the options menu? - * isClientSettable = 1; - * - * The following settings only apply when isClientSettable == 1 - * Stringtable entry with the setting name - * displayName = "$STR_ACE_Common_SettingName"; - * - * Stringtable entry with the setting description - * description = "$STR_ACE_Common_SettingDescription"; - * - * Stringtable entries that describe the options - * Only applies if typeName == "SCALAR"; - * values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; - *}; - */ - class GVAR(forceAllSettings) { - value = 0; - typeName = "BOOL"; - }; - /*class GVAR(enableNumberHotkeys) { - value = 1; - typeName = "BOOL"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_EnableNumberHotkeys"; - };*/ - class GVAR(settingFeedbackIcons) { - value = 1; - typeName = "SCALAR"; - force = 0; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; - description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; - values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; - }; - class GVAR(SettingProgressBarLocation) { - value = 0; - typeName = "SCALAR"; - force = 0; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; - description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; - values[] = {"Top", "Bottom"}; - }; - class GVAR(displayTextColor) { - value[] = {0,0,0,0.1}; - typeName = "COLOR"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; - description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; - }; - class GVAR(displayTextFontColor) { - value[] = {1,1,1,1}; - typeName = "COLOR"; - isClientSettable = 1; - displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; - description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; - }; -}; - -#include "define.hpp" -#include -#include -#include - -class CfgUIGrids { - class IGUI { - class Presets { - class Arma3 { - class Variables { - grid_ACE_displayText[] = {{((safezoneX + safezoneW) - (10 *(((safezoneW / safezoneH) min 1.2) / 40)) - 2.9 *(((safezoneW / safezoneH) min 1.2) / 40)),safeZoneY + 0.175 * safezoneH, (10 *(((safezoneW / safezoneH) min 1.2) / 40)), (2 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))}, "(((safezoneW / safezoneH) min 1.2) / 40)","((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"}; - }; - }; - }; - - class Variables { - class grid_ACE_displayText { - displayName = "ACE Hint"; - description = "Textual in game feedback to the player."; - preview = "\a3\Ui_f\data\GUI\Cfg\UIGrids\grid_hint_ca.paa"; - saveToProfile[] = {0,1}; - }; - }; - }; -}; - -/* -// check dll -class RscStandardDisplay; -class RscDisplayMain: RscStandardDisplay { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage)); -}; -*/ - -class ACE_Extensions { - extensions[] = {}; -}; diff --git a/tools/make.py b/tools/make.py index 09b5b4671d..1138f782b2 100644 --- a/tools/make.py +++ b/tools/make.py @@ -516,11 +516,16 @@ def get_ace_version(): else: print_error("A Critical file seems to be missing or inaccessible: {}".format(scriptModPath)) - return 0 + raise FileNotFoundError("File Not Found: {}".format(scriptModPath)) except Exception as e: print_error("Get_Ace_Version error: {}".format(e)) - + print_error("Check the integrity of the file: {}".format(scriptModPath)) + versionStamp = ACE_VERSION + print_error("Resetting to the default version stamp: {}".format(versionStamp)) + input("Press Enter to continue...") + print("Resuming build...") + print_yellow("ACE VERSION set to {}".format(versionStamp)) ACE_VERSION = versionStamp return ACE_VERSION From 59d6e84fc0f254f768c10bda46f738c619c9594f Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 11 May 2015 10:43:05 -0700 Subject: [PATCH 455/478] Use abbreviated public key to minimize a BI bug. REFERENCE: http://feedback.arma3.com/view.php?id=22133 Always copy public key in case it is missing from the release folder. #1105 --- tools/make.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/tools/make.py b/tools/make.py index 1138f782b2..317e80db59 100644 --- a/tools/make.py +++ b/tools/make.py @@ -897,23 +897,27 @@ See the make.cfg file for additional build options. else: print_error("Failed to create key!") - try: - print("Copying public key to release directory.") - try: - os.makedirs(os.path.join(module_root, release_dir, project, "keys")) - except: - pass - - shutil.copyfile(os.path.join(private_key_path, key_name + ".bikey"), os.path.join(module_root, release_dir, project, "keys", key_name + ".bikey")) - - except: - print_error("Could not copy key to release directory.") - raise else: print_green("\nNOTE: Using key {}".format(os.path.join(private_key_path, key_name + ".biprivatekey"))) + try: + print("Copying public key to release directory.") + + try: + os.makedirs(os.path.join(module_root, release_dir, project, "keys")) + except: + pass + + # Use biKeyNameAbrev to attempt to minimize problems from this BI Bug REFERENCE: http://feedback.arma3.com/view.php?id=22133 + biKeyNameAbrev = key_name.split("-")[0] + shutil.copyfile(os.path.join(private_key_path, key_name + ".bikey"), os.path.join(module_root, release_dir, project, "keys", biKeyNameAbrev + ".bikey")) + + except: + print_error("Could not copy key to release directory.") + raise + key = os.path.join(private_key_path, key_name + ".biprivatekey") # Remove any obsolete files. From 50abf643593f0f9bd4d91d91ab5bc03ff86f7e8a Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 11 May 2015 12:53:49 -0700 Subject: [PATCH 456/478] Do not execute CfgConvert if $NOBIN$ is found. #1107 --- tools/make.py | 85 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 56 insertions(+), 29 deletions(-) diff --git a/tools/make.py b/tools/make.py index 317e80db59..ce92e72ea7 100644 --- a/tools/make.py +++ b/tools/make.py @@ -56,6 +56,7 @@ if sys.platform == "win32": ######## GLOBALS ######### ACE_VERSION = "3.0.0" +arma3tools_path = "" work_drive = "" module_root = "" make_root = "" @@ -470,6 +471,55 @@ def check_for_obsolete_pbos(addonspath, file): return False +def backup_config(module): + #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: + global work_drive + global prefix + + try: + configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") + if os.path.isfile(configpath): + shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) + else: + print_error("$PBOPREFIX$ Does not exist for module: {}.".format(module)) + + except: + print_error("Error creating backup of $PBOPREFIX$ for module {}.".format(module)) + + try: + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) + os.chdir(work_drive) + except: + print_error("Error creating backup of config.cpp for module {}.".format(module)) + + return True + +def convert_config(module): + try: + global work_drive + global prefix + global arma3tools_path + + cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-bin", "-dst", os.path.join(work_drive, prefix, module, "config.bin"), os.path.join(work_drive, prefix, module, "config.cpp")] + ret = subprocess.call(cmd) + if ret != 0: + print_error("CfgConvert -bin return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) + os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + + cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-txt", "-dst", os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.bin")] + ret = subprocess.call(cmd) + if ret != 0: + print_error("CfgConvert -txt return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) + os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) + shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + except Exception as e: + print_error("Exception from convert_config=>CfgConvert: {}".format(e)) + return False + + return True + + def addon_restore(modulePath): #PABST: cleanup config BS (you could comment this out to see the "de-macroed" cpp #print_green("\Pabst! (restoring): {}".format(os.path.join(modulePath, "config.cpp"))) @@ -611,6 +661,7 @@ def main(argv): print_blue("\nmake.py for Arma, modified for Advanced Combat Environment v{}".format(__version__)) global ACE_VERSION + global arma3tools_path global work_drive global module_root global make_root @@ -1031,39 +1082,15 @@ See the make.cfg file for additional build options. build_successful = False if build_tool == "pboproject": try: - #PABST: Convert config (run the macro'd config.cpp through CfgConvert twice to produce a de-macro'd cpp that pboProject can read without fucking up: - try: - configpath = os.path.join(work_drive, prefix, module, "$PBOPREFIX$") - if os.path.isfile(configpath): - shutil.copyfile(configpath, os.path.join(work_drive, prefix, module, "$PBOPREFIX$.backup")) - else: - print_error("$PBOPREFIX$ Does not exist for module: {}.".format(module)) - - except: - print_error("Error creating backup of $PBOPREFIX$ for module {}.") - - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.backup")) - - os.chdir("P:\\") - - cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-bin", "-dst", os.path.join(work_drive, prefix, module, "config.bin"), os.path.join(work_drive, prefix, module, "config.cpp")] - ret = subprocess.call(cmd) - if ret != 0: - print_error("CfgConvert -bin return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) - - cmd = [os.path.join(arma3tools_path, "CfgConvert", "CfgConvert.exe"), "-txt", "-dst", os.path.join(work_drive, prefix, module, "config.cpp"), os.path.join(work_drive, prefix, module, "config.bin")] - ret = subprocess.call(cmd) - if ret != 0: - print_error("CfgConvert -txt return code == {}. Usually means there is a syntax error within the config.cpp file.".format(str(ret))) - os.remove(os.path.join(work_drive, prefix, module, "config.cpp")) - shutil.copyfile(os.path.join(work_drive, prefix, module, "config.backup"), os.path.join(work_drive, prefix, module, "config.cpp")) + nobinFilePath = os.path.join(work_drive, prefix, module, "$NOBIN$") + if (not os.path.isfile(nobinFilePath)): + backup_config(module) + convert_config(module) version_stamp_pboprefix(module,commit_id) - if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): + if os.path.isfile(nobinFilePath): print_green("$NOBIN$ Found. Proceeding with non-binarizing!") cmd = [makepboTool, "-P","-A","-L","-N","-G", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"addons")] From 991ecdfe010ffd366839c5d088e668c2a8ef30ae Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 11 May 2015 13:37:50 -0700 Subject: [PATCH 457/478] Removed: Debug sidechat in laser seeker code. --- .../functions/fnc_seekerFindLaserSpot.sqf | 74 +++++++++---------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/addons/laser/functions/fnc_seekerFindLaserSpot.sqf b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf index 77713eb591..346aec837e 100644 --- a/addons/laser/functions/fnc_seekerFindLaserSpot.sqf +++ b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf @@ -1,32 +1,32 @@ -/* - * Author: Nou - * Turn a laser designator on. - * - * Arguments: - * 0: Position of seeker (ASL) - * 1: Direction vector (will be normalized) - * 2: Seeker FOV in degrees - * 3: Seeker wavelength sensitivity range, [1550,1550] is common eye safe. - * 4: Seeker laser code. - * - * Return value: - * Array, [Strongest compatible laser spot ASL pos, owner object] Nil array values if nothing found. - */ - -#include "script_component.hpp" - -private ["_pos", "_seekerWavelengths", "_seekerCode", "_spots", "_buckets", "_excludes", "_bucketIndex", "_finalPos", "_owner", "_obj", "_x", "_method"]; -private ["_emitterWavelength", "_laserCode", "_divergence", "_laser", "_laserPos", "_laserDir", "_res", "_bucketPos", "_bucketList", "_c", "_forEachIndex", "_index"]; -private ["_testPos", "_finalBuckets", "_largest", "_largestIndex", "_finalBucket", "_owners", "_avgX", "_avgY", "_avgZ", "_count", "_maxOwner", "_maxOwnerIndex", "_finalOwner"]; -private["_dir", "_seekerCos", "_seekerFov", "_testDotProduct", "_testPoint", "_testPointVector"]; - -_pos = _this select 0; -_dir = vectorNormalized (_this select 1); +/* + * Author: Nou + * Turn a laser designator on. + * + * Arguments: + * 0: Position of seeker (ASL) + * 1: Direction vector (will be normalized) + * 2: Seeker FOV in degrees + * 3: Seeker wavelength sensitivity range, [1550,1550] is common eye safe. + * 4: Seeker laser code. + * + * Return value: + * Array, [Strongest compatible laser spot ASL pos, owner object] Nil array values if nothing found. + */ + +#include "script_component.hpp" + +private ["_pos", "_seekerWavelengths", "_seekerCode", "_spots", "_buckets", "_excludes", "_bucketIndex", "_finalPos", "_owner", "_obj", "_x", "_method"]; +private ["_emitterWavelength", "_laserCode", "_divergence", "_laser", "_laserPos", "_laserDir", "_res", "_bucketPos", "_bucketList", "_c", "_forEachIndex", "_index"]; +private ["_testPos", "_finalBuckets", "_largest", "_largestIndex", "_finalBucket", "_owners", "_avgX", "_avgY", "_avgZ", "_count", "_maxOwner", "_maxOwnerIndex", "_finalOwner"]; +private["_dir", "_seekerCos", "_seekerFov", "_testDotProduct", "_testPoint", "_testPointVector"]; + +_pos = _this select 0; +_dir = vectorNormalized (_this select 1); _seekerFov = _this select 2; _seekerWavelengths = _this select 3; -_seekerCode = _this select 4; - - +_seekerCode = _this select 4; + + _seekerCos = cos _seekerFov; _spots = []; @@ -47,9 +47,9 @@ _finalOwner = nil; _laser = []; if(IS_CODE(_method)) then { _laser = _x call _method; - } else { - if(IS_STRING(_method)) then { - _laser = _x call (missionNamespace getVariable [_method, {}]); + } else { + if(IS_STRING(_method)) then { + _laser = _x call (missionNamespace getVariable [_method, {}]); } else { if(IS_ARRAY(_method)) then { if(count _method == 2) then { @@ -59,18 +59,18 @@ _finalOwner = nil; _laser = [ATLtoASL (_obj modelToWorldVisual (_method select 0)), (ATLtoASL (_obj modelToWorldVisual (_method select 1))) vectorFromTo (ATLtoASL (_obj modelToWorldVisual (_method select 2)))]; }; }; - }; + }; }; }; _laserPos = _laser select 0; _laserDir = _laser select 1; _res = [_laserPos, _laserDir, _divergence] call FUNC(shootCone); - { - _testPoint = _x select 0; - _testPointVector = vectorNormalized (_testPoint vectorDiff _pos); - _testDotProduct = _dir vectorDotProduct _testPointVector; + { + _testPoint = _x select 0; + _testPointVector = vectorNormalized (_testPoint vectorDiff _pos); + _testDotProduct = _dir vectorDotProduct _testPointVector; if(_testDotProduct > _seekerCos) then { - _spots pushBack [_testPoint, _owner]; + _spots pushBack [_testPoint, _owner]; }; } forEach (_res select 2); }; @@ -128,7 +128,7 @@ if((count _spots) > 0) then { _avgY = 0; _avgZ = 0; { - player sideChat format["x: %1", _x]; + //player sideChat format["x: %1", _x]; _avgX = _avgX + ((_x select 0) select 0); _avgY = _avgY + ((_x select 0) select 1); _avgZ = _avgZ + ((_x select 0) select 2); From 8e7763af0820bf31fae7dd27d47c03f9399c1de7 Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 11 May 2015 13:50:24 -0700 Subject: [PATCH 458/478] Removed: systemChat debug in captive --- addons/captives/XEH_postInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/captives/XEH_postInit.sqf b/addons/captives/XEH_postInit.sqf index f91f24025e..da2192d3d6 100644 --- a/addons/captives/XEH_postInit.sqf +++ b/addons/captives/XEH_postInit.sqf @@ -11,7 +11,7 @@ if (isServer) then { _escortedUnit = _disconnectedPlayer getVariable [QGVAR(escortedUnit), objNull]; if ((!isNull _escortedUnit) && {(attachedTo _escortedUnit) == _disconnectedPlayer}) then { detach _escortedUnit; - systemChat "debug: DC detach"; + //systemChat "debug: DC detach"; }; if (_disconnectedPlayer getVariable [QGVAR(isEscorting), false]) then { _disconnectedPlayer setVariable [QGVAR(isEscorting), false, true]; From ef836d119125b422b1951a22c2aba8c215cfceba Mon Sep 17 00:00:00 2001 From: VKing Date: Mon, 11 May 2015 23:17:17 +0200 Subject: [PATCH 459/478] Hacked order to fix order of comanche zoom levels --- addons/aircraft/Heli_Attack_01_base_F.hpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/addons/aircraft/Heli_Attack_01_base_F.hpp b/addons/aircraft/Heli_Attack_01_base_F.hpp index 14ca7ef7cd..3566336353 100644 --- a/addons/aircraft/Heli_Attack_01_base_F.hpp +++ b/addons/aircraft/Heli_Attack_01_base_F.hpp @@ -891,8 +891,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { class OpticsIn { - class WideUnstabalized - { + class Wide { // Wide Unstabilized opticsDisplayName = "WU"; initAngleX = 0; minAngleX = -35; @@ -910,8 +909,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F"; }; - class Wide - { + class Medium: Wide { // Wide Stabilized opticsDisplayName = "W"; initAngleX = 0; minAngleX = -35; @@ -929,8 +927,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F"; }; - class Medium: Wide - { + class Narrow: Wide { // Medium Stabilized opticsDisplayName = "M"; initFov = 0.093; minFov = 0.093; @@ -940,8 +937,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_medium_F"; }; - class Narrow: Wide - { + class Narrower: Wide { // Narrow Stabilized opticsDisplayName = "N"; initFov = 0.029; minFov = 0.029; @@ -952,8 +948,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_narrow_F"; }; - class Narrower: Wide - { + class Narrowest: Wide { // Narrower Stabilized opticsDisplayName = "Z"; initFov = 0.01; minFov = 0.01; From e75c4594e61f8b5744cefed0f1020a26e6f3b641 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 11 May 2015 15:17:44 -0700 Subject: [PATCH 460/478] Added missing $PBOPREFIX$ for respawn --- addons/respawn/$PBOPREFIX$ | 1 + 1 file changed, 1 insertion(+) create mode 100644 addons/respawn/$PBOPREFIX$ diff --git a/addons/respawn/$PBOPREFIX$ b/addons/respawn/$PBOPREFIX$ new file mode 100644 index 0000000000..072ffe81e3 --- /dev/null +++ b/addons/respawn/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\respawn \ No newline at end of file From 7efe8ccba52551893ddb0028af8c463ed3cff232 Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 11 May 2015 16:44:17 -0700 Subject: [PATCH 461/478] Added: waveHeightAt Function, refs #1024 for use. --- addons/common/XEH_preInit.sqf | 1 + addons/common/functions/fnc_waveHeightAt.sqf | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 addons/common/functions/fnc_waveHeightAt.sqf diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index 5c2ad1e592..8230a4eb0b 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -183,6 +183,7 @@ PREP(unmuteUnit); PREP(useItem); PREP(useMagazine); PREP(waitAndExecute); +PREP(waveHeightAt); PREP(translateToWeaponSpace); PREP(translateToModelSpace); diff --git a/addons/common/functions/fnc_waveHeightAt.sqf b/addons/common/functions/fnc_waveHeightAt.sqf new file mode 100644 index 0000000000..fbfe5fb241 --- /dev/null +++ b/addons/common/functions/fnc_waveHeightAt.sqf @@ -0,0 +1,19 @@ +/* + * Author: jaynus + * + * Gets the wave height at a specific location. Uses a logic, so may be performance iffy + * + * Arguments: + * 0: Position ASL to get height at + * + * Return Value: + * Wave height in meters + * + */ + +if(isNil QGVAR(waveHeightLogic)) then { + GVAR(waveHeightLogic) = "Logic" createVehicleLocal [0,0,0]; +}; +GVAR(waveHeightLogic) setPosASL (_this select 0); + +(((getPosASLW GVAR(waveHeightLogic)) select 2) - ((getPosASL GVAR(waveHeightLogic)) select 2)) \ No newline at end of file From 3ddc8569bb581a644c144abc8ed4bf3bc6e34bf8 Mon Sep 17 00:00:00 2001 From: VKing Date: Tue, 12 May 2015 15:53:49 +0200 Subject: [PATCH 462/478] Made better with Pabstology (tm) --- addons/aircraft/Heli_Attack_01_base_F.hpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/addons/aircraft/Heli_Attack_01_base_F.hpp b/addons/aircraft/Heli_Attack_01_base_F.hpp index 3566336353..26a4605910 100644 --- a/addons/aircraft/Heli_Attack_01_base_F.hpp +++ b/addons/aircraft/Heli_Attack_01_base_F.hpp @@ -891,8 +891,12 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { class OpticsIn { - class Wide { // Wide Unstabilized - opticsDisplayName = "WU"; + delete Narrow; + delete Medium; + delete Wide; + + class ACE_WideUnstabilized { + opticsDisplayName = "W NS"; initAngleX = 0; minAngleX = -35; maxAngleX = 10; @@ -909,7 +913,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F"; }; - class Medium: Wide { // Wide Stabilized + class ACE_Wide: ACE_WideUnstabilized { opticsDisplayName = "W"; initAngleX = 0; minAngleX = -35; @@ -927,7 +931,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F"; }; - class Narrow: Wide { // Medium Stabilized + class ACE_Medium: ACE_Wide { opticsDisplayName = "M"; initFov = 0.093; minFov = 0.093; @@ -937,7 +941,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { horizontallyStabilized = 1; gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_medium_F"; }; - class Narrower: Wide { // Narrow Stabilized + class ACE_Narrow: ACE_Wide { opticsDisplayName = "N"; initFov = 0.029; minFov = 0.029; @@ -948,7 +952,7 @@ class Heli_Attack_01_base_F: Helicopter_Base_F { gunnerOpticsModel = "\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_narrow_F"; }; - class Narrowest: Wide { // Narrower Stabilized + class ACE_Narrower: ACE_Wide { opticsDisplayName = "Z"; initFov = 0.01; minFov = 0.01; From 66f5ed43c0cacfdc5c066eb33a2549f095a87751 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Tue, 12 May 2015 07:05:48 -0700 Subject: [PATCH 463/478] More help on certain errors in make.py --- tools/make.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/make.py b/tools/make.py index ce92e72ea7..b461d77946 100644 --- a/tools/make.py +++ b/tools/make.py @@ -1224,8 +1224,9 @@ See the make.cfg file for additional build options. if build_successful: cache[module] = new_sha - except: - print_yellow("Cancel or some error detected.") + except Exception as e: + print_yellow("Cancel or some error detected: {}".format(e)) + finally: copy_important_files(module_root_parent,os.path.join(release_dir, "@ace")) From ab580dd1c7bb0dba710a42f0193bb312eceac0c0 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Tue, 12 May 2015 07:08:45 -0700 Subject: [PATCH 464/478] Set version number to 3.0.0.3 --- addons/main/script_mod.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 5777d7223e..c4bd23f779 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -6,7 +6,7 @@ #define MAJOR 3 #define MINOR 0 #define PATCHLVL 0 -#define BUILD 2 +#define BUILD 3 #define VERSION MAJOR.MINOR.PATCHLVL.BUILD #define VERSION_AR MAJOR,MINOR,PATCHLVL,BUILD From e58d23d8853cb09d66565d79cbca50916a48423f Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 12 May 2015 21:32:30 +0200 Subject: [PATCH 465/478] Removed Titan realistic name as it's not implemented yet as a Spike --- addons/realisticnames/CfgVehicles.hpp | 8 ++++---- addons/realisticnames/CfgWeapons.hpp | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/realisticnames/CfgVehicles.hpp b/addons/realisticnames/CfgVehicles.hpp index 0fa3111243..cf1ce87b80 100644 --- a/addons/realisticnames/CfgVehicles.hpp +++ b/addons/realisticnames/CfgVehicles.hpp @@ -407,7 +407,7 @@ class CfgVehicles { displayName = "$STR_ACE_RealisticNames_launch_RPG32_Name"; }; - class Weapon_launch_Titan_F: Launcher_Base_F { + /*class Weapon_launch_Titan_F: Launcher_Base_F { displayName = "$STR_ACE_RealisticNames_launch_Titan_Name"; }; @@ -417,13 +417,13 @@ class CfgVehicles { class Weapon_launch_B_Titan_F: Launcher_Base_F { displayName = "$STR_ACE_RealisticNames_launch_Titan_Name"; - }; + };*/ //class Weapon_launch_I_Titan_F: Weapon_launch_B_Titan_F {}; //class Weapon_launch_O_Titan_F: Weapon_launch_B_Titan_F {}; - class Weapon_launch_launch_B_Titan_short_F: Launcher_Base_F { + /*class Weapon_launch_launch_B_Titan_short_F: Launcher_Base_F { displayName = "$STR_ACE_RealisticNames_launch_Titan_short_Name"; - }; + };*/ //class Weapon_launch_I_Titan_short_F: Weapon_launch_launch_B_Titan_short_F {}; //class Weapon_launch_O_Titan_short_F: Weapon_launch_launch_B_Titan_short_F {}; diff --git a/addons/realisticnames/CfgWeapons.hpp b/addons/realisticnames/CfgWeapons.hpp index 8eb3c04577..e61457df5d 100644 --- a/addons/realisticnames/CfgWeapons.hpp +++ b/addons/realisticnames/CfgWeapons.hpp @@ -181,12 +181,12 @@ class CfgWeapons { displayName = "$STR_ACE_RealisticNames_launch_RPG32_Name"; }; - class launch_Titan_base: Launcher_Base_F { + /*class launch_Titan_base: Launcher_Base_F { displayName = "$STR_ACE_RealisticNames_launch_Titan_Name"; }; class launch_Titan_short_base: launch_Titan_base { displayName = "$STR_ACE_RealisticNames_launch_Titan_short_Name"; - }; + };*/ class launch_NLAW_F: Launcher_Base_F { displayName = "$STR_ACE_RealisticNames_launch_NLAW_Name"; From e613db1feadafd1f203b17d8e18c7e50f7a67303 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 12 May 2015 15:40:12 -0500 Subject: [PATCH 466/478] Add missing script_component include --- addons/common/functions/fnc_waveHeightAt.sqf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/common/functions/fnc_waveHeightAt.sqf b/addons/common/functions/fnc_waveHeightAt.sqf index fbfe5fb241..e05e4219b7 100644 --- a/addons/common/functions/fnc_waveHeightAt.sqf +++ b/addons/common/functions/fnc_waveHeightAt.sqf @@ -4,12 +4,13 @@ * Gets the wave height at a specific location. Uses a logic, so may be performance iffy * * Arguments: - * 0: Position ASL to get height at + * 0: Position ASL to get height at * * Return Value: * Wave height in meters * */ +#include "script_component.hpp" if(isNil QGVAR(waveHeightLogic)) then { GVAR(waveHeightLogic) = "Logic" createVehicleLocal [0,0,0]; From 1827d8ad959ad6d9c0c06f41033b6f022a0bdfa9 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 12 May 2015 16:04:42 -0500 Subject: [PATCH 467/478] Fix #1024 - Adjust self iMenu for wave height --- .../interact_menu/functions/fnc_keyDown.sqf | 7 +++++++ .../functions/fnc_renderActionPoints.sqf | 19 ++++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index 464466ae3a..5416440269 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -64,6 +64,13 @@ if (GVAR(useCursorMenu)) then { GVAR(selfMenuOffset) = ((positionCameraToWorld [0, 0, 2]) call EFUNC(common,positionToASL)) vectorDiff ((positionCameraToWorld [0, 0, 0]) call EFUNC(common,positionToASL)); +private ["_wavesAtOrigin", "_wavesAtVirtualPoint"]; + +_wavesAtOrigin = [(positionCameraToWorld [0, 0, 0])] call EFUNC(common,waveHeightAt); +_wavesAtVirtualPoint = [(positionCameraToWorld [0, 0, 2])] call EFUNC(common,waveHeightAt); +GVAR(selfMenuOffset) set [2, ((GVAR(selfMenuOffset) select 2) + _wavesAtOrigin - _wavesAtVirtualPoint)]; + + ["interactMenuOpened", [_menuType]] call EFUNC(common,localEvent); true diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index 8e6cb7d390..6579bd33e7 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -14,7 +14,7 @@ GVAR(currentOptions) = []; -private ["_player","_numInteractObjects","_numInteractions","_actionsVarName","_classActions","_target","_player","_action","_cameraPos","_cameraDir", "_lambda", "_nearestObjects", "_pos"]; +private ["_player","_numInteractObjects","_numInteractions","_actionsVarName","_classActions","_target","_player","_action","_cameraPos","_cameraDir", "_lambda", "_nearestObjects", "_pos", "_virtualPoint", "_wavesAtOrigin", "_wavesAtVirtualPoint"]; _player = ACE_player; _fnc_renderNearbyActions = { @@ -101,14 +101,19 @@ _fnc_renderSelfActions = { // Iterate through base level class actions and render them if appropiate _actionsVarName = format [QGVAR(SelfAct_%1), typeOf _target]; _classActions = missionNamespace getVariable [_actionsVarName, []]; + + _pos = if !(GVAR(useCursorMenu)) then { + _virtualPoint = (((positionCameraToWorld [0, 0, 0]) call EFUNC(common,positionToASL)) vectorAdd GVAR(selfMenuOffset)) call EFUNC(common,ASLToPosition); + _wavesAtOrigin = [(positionCameraToWorld [0, 0, 0])] call EFUNC(common,waveHeightAt); + _wavesAtVirtualPoint = [_virtualPoint] call EFUNC(common,waveHeightAt); + _virtualPoint set [2, ((_virtualPoint select 2) - _wavesAtOrigin + _wavesAtVirtualPoint)]; + _virtualPoint + } else { + [0.5, 0.5] + }; + { _action = _x; - - _pos = if !(GVAR(useCursorMenu)) then { - (((positionCameraToWorld [0, 0, 0]) call EFUNC(common,positionToASL)) vectorAdd GVAR(selfMenuOffset)) call EFUNC(common,ASLToPosition) - } else { - [0.5, 0.5] - }; [_target, _action, _pos] call FUNC(renderBaseMenu); } forEach _classActions; }; From 1227d6e3fb56b23bc186be96256ce7ada912474d Mon Sep 17 00:00:00 2001 From: Dharma Bellamkonda Date: Tue, 12 May 2015 18:28:18 -0600 Subject: [PATCH 468/478] Create missing documentation placeholders Creates placeholder documentation for modules which did not previously have any. If a module had the same name and apparent purpose as a module from AGM, AGM's documentation was imported into the placeholder. These documentation are useful to users for explaining what ACE3 changes. They are also useful to community admins who want to create a custom distribution of ACE3 and need to know which modules to disable. The documentation needs to be significantly fleshed out before it's ready for public consumption, but this should be a helpful start. --- documentation/feature/advanced_ballistics.md | 18 +++++++++++ documentation/feature/ai.md | 27 ++++++++++++++++ documentation/feature/aircraft.md | 25 +++++++++++++++ documentation/feature/apl.md | 18 +++++++++++ documentation/feature/atragmx.md | 18 +++++++++++ documentation/feature/attach.md | 18 +++++++++++ documentation/feature/backpacks.md | 16 ++++++++++ documentation/feature/ballistics.md | 28 ++++++++++++++++ documentation/feature/captives.md | 20 ++++++++++++ documentation/feature/difficulties.md | 16 ++++++++++ documentation/feature/disarming.md | 18 +++++++++++ documentation/feature/disposable.md | 16 ++++++++++ documentation/feature/dragging.md | 18 +++++++++++ documentation/feature/explosives.md | 20 ++++++++++++ documentation/feature/fcs.md | 21 ++++++++++++ documentation/feature/flashsuppressors.md | 18 +++++++++++ documentation/feature/frag.md | 18 +++++++++++ documentation/feature/gforces.md | 18 +++++++++++ documentation/feature/goggles.md | 18 +++++++++++ documentation/feature/grenades.md | 20 ++++++++++++ documentation/feature/hearing.md | 19 +++++++++++ documentation/feature/hitreactions.md | 18 +++++++++++ documentation/feature/interact_menu.md | 18 +++++++++++ documentation/feature/interaction.md | 18 +++++++++++ documentation/feature/inventory.md | 16 ++++++++++ documentation/feature/javelin.md | 17 +++++++--- documentation/feature/kestrel4500.md | 18 +++++++++++ documentation/feature/laser.md | 18 +++++++++++ documentation/feature/laser_selfdesignate.md | 18 +++++++++++ documentation/feature/laserpointer.md | 18 +++++++++++ documentation/feature/logistics_uavbattery.md | 18 +++++++++++ documentation/feature/logistics_wirecutter.md | 18 +++++++++++ documentation/feature/magazinerepack.md | 18 +++++++++++ documentation/feature/map.md | 18 +++++++++++ documentation/feature/maptools.md | 18 +++++++++++ documentation/feature/markers.md | 16 ++++++++++ documentation/feature/microdagr.md | 18 +++++++++++ documentation/feature/missileguidance.md | 18 +++++++++++ documentation/feature/missionmodules.md | 18 +++++++++++ documentation/feature/mk6mortar.md | 18 +++++++++++ documentation/feature/movement.md | 24 ++++++++++++++ documentation/feature/nametags.md | 16 ++++++++++ documentation/feature/nightvision.md | 23 +++++++++++++ documentation/feature/noidle.md | 18 +++++++++++ documentation/feature/noradio.md | 17 ++++++++++ documentation/feature/norearm.md | 18 +++++++++++ documentation/feature/optics.md | 18 +++++++++++ documentation/feature/optionsmenu.md | 18 +++++++++++ documentation/feature/ovepressure.md | 18 +++++++++++ documentation/feature/overheating.md | 27 ++++++++++++++++ documentation/feature/parachute.md | 22 +++++++++++++ documentation/feature/protection.md | 18 +++++++++++ documentation/feature/ragdolls.md | 16 ++++++++++ documentation/feature/realisticnames.md | 17 ++++++++++ documentation/feature/recoil.md | 20 ++++++++++++ documentation/feature/reload.md | 16 ++++++++++ documentation/feature/reloadlaunchers.md | 19 +++++++++++ documentation/feature/respawn.md | 20 ++++++++++++ documentation/feature/safemode.md | 16 ++++++++++ documentation/feature/scopes.md | 16 ++++++++++ documentation/feature/smallarms.md | 20 ++++++++++++ documentation/feature/switchunits.md | 18 +++++++++++ documentation/feature/testmissions.md | 18 +++++++++++ documentation/feature/thermals.md | 16 ++++++++++ documentation/feature/vector.md | 16 ++++++++++ documentation/feature/vehiclelock.md | 18 +++++++++++ documentation/feature/vehicles.md | 32 +++++++++++++++++++ documentation/feature/weaponselect.md | 24 ++++++++++++++ documentation/feature/weather.md | 18 +++++++++++ documentation/feature/windeflection.md | 16 ++++++++++ 70 files changed, 1313 insertions(+), 5 deletions(-) create mode 100644 documentation/feature/advanced_ballistics.md create mode 100644 documentation/feature/ai.md create mode 100644 documentation/feature/aircraft.md create mode 100644 documentation/feature/apl.md create mode 100644 documentation/feature/atragmx.md create mode 100644 documentation/feature/attach.md create mode 100644 documentation/feature/backpacks.md create mode 100644 documentation/feature/ballistics.md create mode 100644 documentation/feature/captives.md create mode 100644 documentation/feature/difficulties.md create mode 100644 documentation/feature/disarming.md create mode 100644 documentation/feature/disposable.md create mode 100644 documentation/feature/dragging.md create mode 100644 documentation/feature/explosives.md create mode 100644 documentation/feature/fcs.md create mode 100644 documentation/feature/flashsuppressors.md create mode 100644 documentation/feature/frag.md create mode 100644 documentation/feature/gforces.md create mode 100644 documentation/feature/goggles.md create mode 100644 documentation/feature/grenades.md create mode 100644 documentation/feature/hearing.md create mode 100644 documentation/feature/hitreactions.md create mode 100644 documentation/feature/interact_menu.md create mode 100644 documentation/feature/interaction.md create mode 100644 documentation/feature/inventory.md create mode 100644 documentation/feature/kestrel4500.md create mode 100644 documentation/feature/laser.md create mode 100644 documentation/feature/laser_selfdesignate.md create mode 100644 documentation/feature/laserpointer.md create mode 100644 documentation/feature/logistics_uavbattery.md create mode 100644 documentation/feature/logistics_wirecutter.md create mode 100644 documentation/feature/magazinerepack.md create mode 100644 documentation/feature/map.md create mode 100644 documentation/feature/maptools.md create mode 100644 documentation/feature/markers.md create mode 100644 documentation/feature/microdagr.md create mode 100644 documentation/feature/missileguidance.md create mode 100644 documentation/feature/missionmodules.md create mode 100644 documentation/feature/mk6mortar.md create mode 100644 documentation/feature/movement.md create mode 100644 documentation/feature/nametags.md create mode 100644 documentation/feature/nightvision.md create mode 100644 documentation/feature/noidle.md create mode 100644 documentation/feature/noradio.md create mode 100644 documentation/feature/norearm.md create mode 100644 documentation/feature/optics.md create mode 100644 documentation/feature/optionsmenu.md create mode 100644 documentation/feature/ovepressure.md create mode 100644 documentation/feature/overheating.md create mode 100644 documentation/feature/parachute.md create mode 100644 documentation/feature/protection.md create mode 100644 documentation/feature/ragdolls.md create mode 100644 documentation/feature/realisticnames.md create mode 100644 documentation/feature/recoil.md create mode 100644 documentation/feature/reload.md create mode 100644 documentation/feature/reloadlaunchers.md create mode 100644 documentation/feature/respawn.md create mode 100644 documentation/feature/safemode.md create mode 100644 documentation/feature/scopes.md create mode 100644 documentation/feature/smallarms.md create mode 100644 documentation/feature/switchunits.md create mode 100644 documentation/feature/testmissions.md create mode 100644 documentation/feature/thermals.md create mode 100644 documentation/feature/vector.md create mode 100644 documentation/feature/vehiclelock.md create mode 100644 documentation/feature/vehicles.md create mode 100644 documentation/feature/weaponselect.md create mode 100644 documentation/feature/weather.md create mode 100644 documentation/feature/windeflection.md diff --git a/documentation/feature/advanced_ballistics.md b/documentation/feature/advanced_ballistics.md new file mode 100644 index 0000000000..fd44bb21b9 --- /dev/null +++ b/documentation/feature/advanced_ballistics.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Advanced Ballistics +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/ai.md b/documentation/feature/ai.md new file mode 100644 index 0000000000..b82192b920 --- /dev/null +++ b/documentation/feature/ai.md @@ -0,0 +1,27 @@ +--- +layout: wiki +title: AI (Artifical Intelligence) +group: feature +order: 5 +parent: wiki +--- + +# Overview +## Adjusted AI skill values +The idea here is to reduce the AI's godlike aiming capabilties while retaining it's high intelligence. The AI should be smart enough to move through a town, but also be 'human' in their reaction time and aim. +Note: All these values can still be adjusted via scripts, these arrays just change what 0 & 1 are for setSkill. +## Firing in burst mode +AIs will now use the automatic mode of their weapons on short distances, instead of always relying on firing single shots in quick succession. +## Longer engagement ranges +The maximum engagement ranges are increased: AI will fire in bursts with variable length on high ranges of 500 - 700 meters, depending on their weapon and optic. +## No deadzones in CQB +Some weapons had minimum engagement ranges. If you were as close as 2 meters to an AAF soldier, he wouldn't open fire, because the AI couldn't find any valid fire mode for their weapon. AGM removes this behaviour mostly notable in CQB by adding a valid firing mode. +## No scripting +All changes of AGM AI are config based to ensure full compatibility with advanced AI modifications like ASR AI. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/aircraft.md b/documentation/feature/aircraft.md new file mode 100644 index 0000000000..6b99540466 --- /dev/null +++ b/documentation/feature/aircraft.md @@ -0,0 +1,25 @@ +--- +layout: wiki +title: Aircraft +group: feature +order: 5 +parent: wiki +--- +# Overview +## Adjusted flight behaviour +Changes the flight behaviour of various aircraft. +## Various adjustments to A2A, A2G and G2A munitions +- needs documentaion - +## Missile lock warnings +Adds missile-lock warning systems to helicopters and planes based on the various real life capabilities. +## Semi-automatic flare mode +Adds the semi-automatic flare mode known from Arma 2. The key to switch the mode still exists in Arma 3's key settings, but is unused. +### Ejecting from pilot and copilot seats +Pilots and copilots of all helicopters can now eject. +## Laser marker for wildcat +Adds a laser marker to the copilot seat of the Wildcat. +## HUD for AH-9 +Adds a HUD to the AH-9 based on the comanches HUD. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/apl.md b/documentation/feature/apl.md new file mode 100644 index 0000000000..fe69507f32 --- /dev/null +++ b/documentation/feature/apl.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: APL +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/atragmx.md b/documentation/feature/atragmx.md new file mode 100644 index 0000000000..77affe1326 --- /dev/null +++ b/documentation/feature/atragmx.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: ATragMX +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/attach.md b/documentation/feature/attach.md new file mode 100644 index 0000000000..7bf2c400e6 --- /dev/null +++ b/documentation/feature/attach.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Attach +group: feature +parent: wiki +--- +# Overview +## Attach items to uniform +Enables player to attach IR grenades and chemlights to themselves. +## IR Strobe +Adds an attachable IR strobe, which is only visible using night vision devices and offers better visibility than IR grenades.re 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/backpacks.md b/documentation/feature/backpacks.md new file mode 100644 index 0000000000..ade414525f --- /dev/null +++ b/documentation/feature/backpacks.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Backpacks +group: feature +parent: wiki +--- +# Overview +## Lock backpack +Adds the ability to lock backpacks. Locked backpacks can't be accessed by others. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/ballistics.md b/documentation/feature/ballistics.md new file mode 100644 index 0000000000..895f1e37ab --- /dev/null +++ b/documentation/feature/ballistics.md @@ -0,0 +1,28 @@ +--- +layout: wiki +title: Ballistics +group: feature +parent: wiki +--- +# Overview +## Realistic rifle ammunition +Changes include adjusted muzzle velocity, air friction and dispersion based on real life values. +## Body armour nerf +Nerfs protection values of vests, CSAT uniforms and various campaign only gear to more realistic levels comparable to Arma 2 levels. +## Realistic silencers and sub-sonic ammunition +Silencers no longer decrease the muzzle velocity and are generally less effective when used with normal ammunition. They now only remove the muzzle blast and flash. To prevent the crack caused by super sonic projectiles, AGM introduces sub sonic ammunition. This is also fully compatible with AI. Sub sonic ammunition is available for the calibers 5.56mm, 6.5mm and 7.62mm. +## Armour piercing ammunition +Armour piercing rounds have higher penetration values against light armoured targets or other obstacles on the battlefield. Their drawback is a slighly decreased man-stopping power. AP rounds are available for the calibers 5.56mm, 6.5mm and 7.62mm. +## IR-Dim tracer ammunition +IR-Dim ammunition is similar to tracer rounds, but their tracers are only visible using night vision devices. +## M118 Long range ammunition +The M14 EBR now uses ammunition with decreased muzzle velocity and air friction to improve precission on long ranges. +## Flash suppressors +Flash suppressors are similar to sound suppressors and prevent the muzzle flash reducing visibilty without decreasing combat effectiveness. Flash suppressors are available for the calibers 5.56mm, 6.5mm, 7.62mm, .45 ACP and 9mm. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/captives.md b/documentation/feature/captives.md new file mode 100644 index 0000000000..305610cdce --- /dev/null +++ b/documentation/feature/captives.md @@ -0,0 +1,20 @@ +--- +layout: wiki +title: Captives +group: feature +parent: wiki +--- +# Overview +## Take captives +Introduces a captivity system for taking and moving prisoners. +## Load and unload captives into / from vehicles +- needs documentaion - +## Frisk captives +- needs documentaion - + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/difficulties.md b/documentation/feature/difficulties.md new file mode 100644 index 0000000000..626576ee09 --- /dev/null +++ b/documentation/feature/difficulties.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Difficulties +group: feature +parent: wiki +--- +# Overview +## Elite mode adjustments +Adjusts the default settings for the hardest difficulty to more closely resemble A2 settings. (No crosshair, stat screen, death messages...) + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/disarming.md b/documentation/feature/disarming.md new file mode 100644 index 0000000000..7b30494adc --- /dev/null +++ b/documentation/feature/disarming.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Disarming +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/disposable.md b/documentation/feature/disposable.md new file mode 100644 index 0000000000..dd634eb9c1 --- /dev/null +++ b/documentation/feature/disposable.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Disposable +group: feature +parent: wiki +--- +# Overview +## NLAW disposable anti tank weapon +Makes the NLAW disposable and provides the tools for other addons to do the same. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/dragging.md b/documentation/feature/dragging.md new file mode 100644 index 0000000000..28d5c6089f --- /dev/null +++ b/documentation/feature/dragging.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Dragging +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/explosives.md b/documentation/feature/explosives.md new file mode 100644 index 0000000000..78f09d62bb --- /dev/null +++ b/documentation/feature/explosives.md @@ -0,0 +1,20 @@ +--- +layout: wiki +title: Explosives +group: feature +parent: wiki +--- +# Overview +## Advanced explosives placement +Enables more precise placement of explosives. +## More trigger types +Offers different trigger types, like clackers and dead man switches. +## Attack explosives to vehicles +Enables attaching explosives to vehicles. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/fcs.md b/documentation/feature/fcs.md new file mode 100644 index 0000000000..4eefe05e5b --- /dev/null +++ b/documentation/feature/fcs.md @@ -0,0 +1,21 @@ +--- +layout: wiki +title: FCS (Fire Control System) +group: feature +parent: wiki +--- +# Overview +## Fire control system +Offers a custom fire control system for tanks and helicopters. It enables engaging stationary and moving targets. +## Manual lasing targets +Changes the default rangefinders, including those in vehicles, to require manual lasing. +## Air burst ammunition +Anti air cannons can now use airburst ammunition. It will explode on the FCS' zeroed in range. + +# Usage +To engage moving targets, place the crosshair on the enemy vehicle and press and hold tab. Follow the moving target with your crosshair for about 2 seconds and release tab. The optic will now be adjusted sideways to ensure a hit. + +To use manual lasing, place the crosshair on the object to range and press and hold tab. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/flashsuppressors.md b/documentation/feature/flashsuppressors.md new file mode 100644 index 0000000000..4217299857 --- /dev/null +++ b/documentation/feature/flashsuppressors.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Flash Suppressors +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/frag.md b/documentation/feature/frag.md new file mode 100644 index 0000000000..4d30c8d9f9 --- /dev/null +++ b/documentation/feature/frag.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Frag +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/gforces.md b/documentation/feature/gforces.md new file mode 100644 index 0000000000..73c3b321ed --- /dev/null +++ b/documentation/feature/gforces.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: G-Forces +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/goggles.md b/documentation/feature/goggles.md new file mode 100644 index 0000000000..1d77e342d4 --- /dev/null +++ b/documentation/feature/goggles.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Goggles +group: feature +parent: wiki +--- +# Overview +## Visual Effects for eyewear +Adds color tint to sunglasses and other eyewear. Causes raindrops to appear on +the screen in rain. Causes dirt to appear on the screen when dirt is kicked up +nearby (e.g. explsions, rotor wash, bullet impacts). + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/grenades.md b/documentation/feature/grenades.md new file mode 100644 index 0000000000..67918ae77b --- /dev/null +++ b/documentation/feature/grenades.md @@ -0,0 +1,20 @@ +--- +layout: wiki +title: Grenades +group: feature +parent: wiki +--- +# Overview +## Throw modes +Provides different modes for throwing grenades (high throw, precision throw and drop mode). +## Hand flares +Adds throwable hand flares in the colors white, red, green and yellow. Additionally buffs existing flares. +## M84 stun grenade +Adds stun grenade. This will also affect AI. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/hearing.md b/documentation/feature/hearing.md new file mode 100644 index 0000000000..32d4fce986 --- /dev/null +++ b/documentation/feature/hearing.md @@ -0,0 +1,19 @@ +--- +layout: wiki +title: Hearing +group: feature +parent: wiki +--- +# Overview +## Hearing damage simulation +Introduces hearing damage caused by nearby explosions and large-caliber weapons. +## Earplugs +Adds ear plugs to mitigate that effect. Soldiers with high caliber weapons or +missile launchers will be equipped with those, but remember to put them in. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/hitreactions.md b/documentation/feature/hitreactions.md new file mode 100644 index 0000000000..c109f10ddd --- /dev/null +++ b/documentation/feature/hitreactions.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Hit Reactions +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/interact_menu.md b/documentation/feature/interact_menu.md new file mode 100644 index 0000000000..d00ba6f977 --- /dev/null +++ b/documentation/feature/interact_menu.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Interact Menu +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/interaction.md b/documentation/feature/interaction.md new file mode 100644 index 0000000000..36365342ae --- /dev/null +++ b/documentation/feature/interaction.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Interaction +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/inventory.md b/documentation/feature/inventory.md new file mode 100644 index 0000000000..8dac5b6644 --- /dev/null +++ b/documentation/feature/inventory.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Inventory +group: feature +parent: wiki +--- +# Overview +## Resized inventory UI +Makes the inventory dialog bigger and increases the number of items that can be seen in the list at once. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/javelin.md b/documentation/feature/javelin.md index b253a25fc9..78102840c1 100644 --- a/documentation/feature/javelin.md +++ b/documentation/feature/javelin.md @@ -1,13 +1,18 @@ --- layout: wiki -title: Javelin/Titan Locking and Firing +title: Javelin group: feature -order: 5 parent: wiki --- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. -## 1. Overview -Blah blah blah +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. Steps to lock titan/Javelin: @@ -17,5 +22,7 @@ Steps to lock titan/Javelin: 4. Hold TAB over a target, it will start beeping and the constraint boxes will appear 5. Once the beeping changes to LOCK tone, and the lock crosshairs appear, click fire without releasing tab - CTRL+TAB is default key to change firemode (configurable as a key) + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/kestrel4500.md b/documentation/feature/kestrel4500.md new file mode 100644 index 0000000000..0c6e03d304 --- /dev/null +++ b/documentation/feature/kestrel4500.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Kestrel 4500 +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/laser.md b/documentation/feature/laser.md new file mode 100644 index 0000000000..6e1de22002 --- /dev/null +++ b/documentation/feature/laser.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Laser +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/laser_selfdesignate.md b/documentation/feature/laser_selfdesignate.md new file mode 100644 index 0000000000..8405d57c43 --- /dev/null +++ b/documentation/feature/laser_selfdesignate.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Laser Self-Designate +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/laserpointer.md b/documentation/feature/laserpointer.md new file mode 100644 index 0000000000..c22471e320 --- /dev/null +++ b/documentation/feature/laserpointer.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Laser Pointer +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/logistics_uavbattery.md b/documentation/feature/logistics_uavbattery.md new file mode 100644 index 0000000000..6cd3bc0b3b --- /dev/null +++ b/documentation/feature/logistics_uavbattery.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Logistics - UAV Battery +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/logistics_wirecutter.md b/documentation/feature/logistics_wirecutter.md new file mode 100644 index 0000000000..97d684e697 --- /dev/null +++ b/documentation/feature/logistics_wirecutter.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Logistics - Wirecutter +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/magazinerepack.md b/documentation/feature/magazinerepack.md new file mode 100644 index 0000000000..e9ae26f315 --- /dev/null +++ b/documentation/feature/magazinerepack.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Magazine Repack +group: feature +parent: wiki +--- +# Overview +## Repacking magazines +Adds ability to repack magazines of the same type. An optional module provides +options to adjust the repacking time of single rounds and whole magazines to +the mission maker. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/map.md b/documentation/feature/map.md new file mode 100644 index 0000000000..88a3493d9e --- /dev/null +++ b/documentation/feature/map.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Map +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/maptools.md b/documentation/feature/maptools.md new file mode 100644 index 0000000000..6814a5c1f5 --- /dev/null +++ b/documentation/feature/maptools.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Map Tools +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/markers.md b/documentation/feature/markers.md new file mode 100644 index 0000000000..eae1bfe333 --- /dev/null +++ b/documentation/feature/markers.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Markers +group: feature +parent: wiki +--- +# Overview +## Improved marker placement +Expands the "Insert Marker" menu and allows to rotate map markers. Shows the currently selected channel to prevent misplacement. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/microdagr.md b/documentation/feature/microdagr.md new file mode 100644 index 0000000000..a98730c9f4 --- /dev/null +++ b/documentation/feature/microdagr.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: MicroDAGR +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/missileguidance.md b/documentation/feature/missileguidance.md new file mode 100644 index 0000000000..fe5aa792b3 --- /dev/null +++ b/documentation/feature/missileguidance.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Missile Guidance +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/missionmodules.md b/documentation/feature/missionmodules.md new file mode 100644 index 0000000000..771a5ef290 --- /dev/null +++ b/documentation/feature/missionmodules.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Mission Modules +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/mk6mortar.md b/documentation/feature/mk6mortar.md new file mode 100644 index 0000000000..af718eedce --- /dev/null +++ b/documentation/feature/mk6mortar.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Mk6 Mortar +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/movement.md b/documentation/feature/movement.md new file mode 100644 index 0000000000..f1d9d93df9 --- /dev/null +++ b/documentation/feature/movement.md @@ -0,0 +1,24 @@ +--- +layout: wiki +title: Movement +group: feature +parent: wiki +--- +# Overview +## Jumping +Adds the ability to jump when pressing the vault key while moving. (V - key) +## Minor animation tweaks +Walking slowly with the weapon lowered now has a less silly looking animation. +## Fatigue adjustments +Soldiers get fatigued slower, but regain their stamina slower aswell. Fatigued soldiers have a faster walking speed and no longer turn into snails. +## Weight display +Adds a weight of the current loadout display in the inventory to estimate the fatigue gain while moving in combat. Can be adjusted to display lb. instead of kg in the AGM Options Menu. +## Optics view in all stances +The player can now use the sights of rifles and pistols in all prone stances. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/nametags.md b/documentation/feature/nametags.md new file mode 100644 index 0000000000..10ff3404c0 --- /dev/null +++ b/documentation/feature/nametags.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Nametags +group: feature +parent: wiki +--- +# Overview +## Nametag and rank display +Adds nametags and soldier ranks to friendly players in multiplayer. This can be adjusted in the AGM Options Menu to not display the rank, display all nametags of nearby soldiers instead of those who are looked directly at, to require a button press to show the nametags or to disable them altogether. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/nightvision.md b/documentation/feature/nightvision.md new file mode 100644 index 0000000000..efdc5721c5 --- /dev/null +++ b/documentation/feature/nightvision.md @@ -0,0 +1,23 @@ +--- +layout: wiki +title: Nightvision +group: feature +parent: wiki +--- +# Overview +## Multiple Generation NVGs +Adds different night vision devices with varying image quality and field of +view. New Classnames for Generations 1, 2, and 4 NVGs (default ArmA3 NVGs +represents Generation 3) and a wide view NVG. +## Blending effects +Adds a blending effect depending on ammunition type when firing while using a +night vision device. Especially tracer rounds are bright, but you can use the + IR-dim tracers from AGM_Ballistics to reduce tis effect. +## Brightness adjustment +Enables the user to manually adjust NVG brightness. + +# Usage +Use Alt+PageUp and Alt+PageDown to adjust NVG brightness. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/noidle.md b/documentation/feature/noidle.md new file mode 100644 index 0000000000..aa6657728d --- /dev/null +++ b/documentation/feature/noidle.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: No Idle +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/noradio.md b/documentation/feature/noradio.md new file mode 100644 index 0000000000..f9a832abd0 --- /dev/null +++ b/documentation/feature/noradio.md @@ -0,0 +1,17 @@ +--- +layout: wiki +title: No Radio +group: feature +parent: wiki +--- +# Overview +## Silent avatar +Mutes the player's automatic callouts ("Enemy man, 100 meters, front!"). +Does not mute AI callouts. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/norearm.md b/documentation/feature/norearm.md new file mode 100644 index 0000000000..7ed7a5c515 --- /dev/null +++ b/documentation/feature/norearm.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: No Rearm +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/optics.md b/documentation/feature/optics.md new file mode 100644 index 0000000000..90b486bc88 --- /dev/null +++ b/documentation/feature/optics.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Optics +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/optionsmenu.md b/documentation/feature/optionsmenu.md new file mode 100644 index 0000000000..a0c9ad33da --- /dev/null +++ b/documentation/feature/optionsmenu.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Options Menu +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/ovepressure.md b/documentation/feature/ovepressure.md new file mode 100644 index 0000000000..af8e47ae0c --- /dev/null +++ b/documentation/feature/ovepressure.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Overpressure +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/overheating.md b/documentation/feature/overheating.md new file mode 100644 index 0000000000..3a10bf9f48 --- /dev/null +++ b/documentation/feature/overheating.md @@ -0,0 +1,27 @@ +--- +layout: wiki +title: Overheating +group: feature +parent: wiki +--- +# Overview +## Weapon Jamming +Adds a propability to jam a weapon when firing. Jams can be cleared by +reloading or by using the clear jam-key. +## Temperature simulation +Introduces weapon temperature simulation depending on weapon and bullet +mass. Hot weapons are more prone to jamming. Depending on weapon type +the accuracy and in extreme cases the muzzle velocity might be reduced +on high temperatues. Adds smoke puff and heat refraction effects to +indicate this. +## Spare barrels +Adds the ability to changes barrels on machine guns to compensate for those +effects. + +# Usage +To clear a jammed weapon, press Shift+R. + +*needs documentation on swapping barrels* + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/parachute.md b/documentation/feature/parachute.md new file mode 100644 index 0000000000..48ad0e9836 --- /dev/null +++ b/documentation/feature/parachute.md @@ -0,0 +1,22 @@ +--- +layout: wiki +title: Parachute +group: feature +parent: wiki +--- +# Overview +## Altimeter +Removes the altitude and descend speed UI elements when free-falling and +parachuting on higher difficulties and instead adds an altimeter watch type +item. +## Non-steerable parachute +Adds a non-steerable parachute variant for jet pilots. +## Landing animation +Smoothens parachute landing animation. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/protection.md b/documentation/feature/protection.md new file mode 100644 index 0000000000..2eb2a9aaef --- /dev/null +++ b/documentation/feature/protection.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Protection +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/ragdolls.md b/documentation/feature/ragdolls.md new file mode 100644 index 0000000000..585c6c71a8 --- /dev/null +++ b/documentation/feature/ragdolls.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Ragdolls +group: feature +parent: wiki +--- +# Overview +## Adjusted Ragdolls +Changes the ragdolls to react more to the force of shots and explosions. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/realisticnames.md b/documentation/feature/realisticnames.md new file mode 100644 index 0000000000..64d9a316cb --- /dev/null +++ b/documentation/feature/realisticnames.md @@ -0,0 +1,17 @@ +--- +layout: wiki +title: Realistic Names +group: feature +parent: wiki +--- +# Overview +## Real names +Changes the names of vehicles, magazines, weapons, grenades, explosive charges +and mines to their respective real-world counterparts whenever possible. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/recoil.md b/documentation/feature/recoil.md new file mode 100644 index 0000000000..919ab24836 --- /dev/null +++ b/documentation/feature/recoil.md @@ -0,0 +1,20 @@ +--- +layout: wiki +title: Recoil +group: feature +parent: wiki +--- +# Overview +## Recoil adjustment +Overhauls the recoil system reducing upwards recoil. +## Advanced cam shake +Introducing camshake when firing on foot or as vehicle gunner depending on stance and weapon type. +## Burst dispersion +Firing in longer burst (> 3 rounds per burst) slightly reduces the accuracy. Firing machine guns in bursts is now useful. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/reload.md b/documentation/feature/reload.md new file mode 100644 index 0000000000..f791521a63 --- /dev/null +++ b/documentation/feature/reload.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Reload +group: feature +parent: wiki +--- +# Overview +## Ammo count +Hides the actual round count of magazines and removes the icon when the current magazine is emptied. The player can instead check the magazine weight, but that gives only estimated values for magazines with more than 10 rounds. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/reloadlaunchers.md b/documentation/feature/reloadlaunchers.md new file mode 100644 index 0000000000..7b1f26cea1 --- /dev/null +++ b/documentation/feature/reloadlaunchers.md @@ -0,0 +1,19 @@ +--- +layout: wiki +title: Reload Launchers +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. +r \ No newline at end of file diff --git a/documentation/feature/respawn.md b/documentation/feature/respawn.md new file mode 100644 index 0000000000..6059f33c59 --- /dev/null +++ b/documentation/feature/respawn.md @@ -0,0 +1,20 @@ +--- +layout: wiki +title: Respawn +group: feature +parent: wiki +--- +# Overview +## Respawn with same gear +Requires the Respawn Gear module to be placed. Respawned soldiers now have their loadout when killed. +## Friendly Fire messages +Shows friendly fire warnings in system chat if the module is placed. Works even in higher difficulties where kill messages are normally disabled. +## Rallypoints +Adds rallypoints to all 3 sides to enable teleportation from base spawn to FOBs. Requires some setup from the mission maker. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/safemode.md b/documentation/feature/safemode.md new file mode 100644 index 0000000000..ea4f3fe902 --- /dev/null +++ b/documentation/feature/safemode.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Safe Mode +group: feature +parent: wiki +--- +# Overview +## Safety +You can now use the safety mode of any weapon. Switching weapon modes takes the safety off. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/scopes.md b/documentation/feature/scopes.md new file mode 100644 index 0000000000..fb29c7d6e1 --- /dev/null +++ b/documentation/feature/scopes.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Scopes +group: feature +parent: wiki +--- +# Overview +## Sniper Scope Adjustment +Enables snipers to adjust their scopes horizontally and vertically in mils. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/smallarms.md b/documentation/feature/smallarms.md new file mode 100644 index 0000000000..11e68d4373 --- /dev/null +++ b/documentation/feature/smallarms.md @@ -0,0 +1,20 @@ +--- +layout: wiki +title: Small Arms +group: feature +parent: wiki +--- +# Overview +## Magazine Names +Unifies the name formatting of magazines similar to Arma 2 standards. +## No tracers in non-tracer mags +Assault rifles no longer have tracer rounds in their non-tracer magazines. This doesn't effect the additional tracers in the last rounds of machine gun magazines. +## Real magazine round counts +All pistol and sub machine gun magazines now have adjusted capacaties to match their real life counterparts. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/switchunits.md b/documentation/feature/switchunits.md new file mode 100644 index 0000000000..71ace0e055 --- /dev/null +++ b/documentation/feature/switchunits.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Switch Units +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/testmissions.md b/documentation/feature/testmissions.md new file mode 100644 index 0000000000..7d7ac52af8 --- /dev/null +++ b/documentation/feature/testmissions.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Test Missions +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/thermals.md b/documentation/feature/thermals.md new file mode 100644 index 0000000000..12f79a311b --- /dev/null +++ b/documentation/feature/thermals.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Thermals +group: feature +parent: wiki +--- +# Overview +## Body Warmth +Adjusts the thermal properties of humans making them less like torches. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/vector.md b/documentation/feature/vector.md new file mode 100644 index 0000000000..277f5eb524 --- /dev/null +++ b/documentation/feature/vector.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Vector +group: feature +parent: wiki +--- +# Overview +## Vector IV Rangefinder +Adds the Vector IV rangefinder, including all real-life usage modes (distance between two points, angle between two points etc.) + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/vehiclelock.md b/documentation/feature/vehiclelock.md new file mode 100644 index 0000000000..239661d153 --- /dev/null +++ b/documentation/feature/vehiclelock.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Vehicle Lock +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/vehicles.md b/documentation/feature/vehicles.md new file mode 100644 index 0000000000..534bb35171 --- /dev/null +++ b/documentation/feature/vehicles.md @@ -0,0 +1,32 @@ +--- +layout: wiki +title: Vehicles +group: feature +parent: wiki +--- +# Overview +## Speedlimiter +Adds ability to limit the max. speed of any vehicle. +## Engine start delay +The engine has to be started before the vehicle can move. Starting the engine takes aprox. 1 to 2 seconds. +## Fuel capacity +The range of all vehicle gets signifigantly reduced to reflect ranges of their real life counterparts. Scaled down to match the relative short distances in Arma. A full vehicle on mission start should still most likely never need a refueling during a mission. +## Main gun muzzles +APCs and Tanks now share a muzzle for all ammunition types of their main guns. This prevents an exploit that skips the reloading time of a round or clip while changing the ammunition type. Also makes it possible to switch between ammunition types using the scroll wheel like in Arma 2. +## Boat machine gun tracers +NATO and AAF armed boats now use their respective tracer colours like any vehicle when they fire their rear gun. (Red for BluFor, yellow for Indep) +## Improved smoke launcher of Fennek (Strider) +Reduced smoke shell count and launch angle of the AAF Fennek to match the models smoke launcher. +## Stabilized optic of Fennek (Strider) +Stabilizes the commander's view in the Fennek (Strider). +## Vehicle mounted machine guns ROF +The rate of fire of vehicle mounted miniguns and machine guns is adjusted to match real life values. +## 120mm gun and mortar behavior +MBT main guns and mortars can no longer lock on enemies. The AT rounds of both now have raised cost values to encourage the AI to not use those rounds against foot soldiers over their machine guns or HE rounds. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/weaponselect.md b/documentation/feature/weaponselect.md new file mode 100644 index 0000000000..232f0221d5 --- /dev/null +++ b/documentation/feature/weaponselect.md @@ -0,0 +1,24 @@ +--- +layout: wiki +title: Weapon Select +group: feature +parent: wiki +--- +# Overview +## Weapon select +The number key can be used to quickly switch between weapons. (1 key - pistol, 2 key - rifle, 3 key - grenade launcher, 4 key - rocket launcher, 5 key - binocular) +Holster weapon +Adds the ability to holster a weapon on the back. (0 key) +Engine select +Quickly turn engine on and off (1 key - turn off, 2 key - turn on) +Weapon select +Quickly switch between vehicle weapons (1-3 key) +Grenade select +To prevent accidents a grenade has to be selected before it can be thrown. Toggles between explosive and non-explosive grenades. When spamming the throw key, the player won't automatically switch to frag grenades when all smokes are used up. Also shows an indicator to quickly see how many grenades are left when selecting and after throwing (6 key - switch between frag grenades, 7 key - switch between other grenades) + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/weather.md b/documentation/feature/weather.md new file mode 100644 index 0000000000..2cbeea5e7e --- /dev/null +++ b/documentation/feature/weather.md @@ -0,0 +1,18 @@ +--- +layout: wiki +title: Weather +group: feature +parent: wiki +--- +# Overview +## Sub-feature 1 +Short description of sub-feature 1. +## Sub-feature 2 +Short description of sub-feature 2. + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. diff --git a/documentation/feature/windeflection.md b/documentation/feature/windeflection.md new file mode 100644 index 0000000000..7bca0b0f60 --- /dev/null +++ b/documentation/feature/windeflection.md @@ -0,0 +1,16 @@ +--- +layout: wiki +title: Wind Deflection +group: feature +parent: wiki +--- +# Overview +## Wind Deflection +Adds ballistic influences of wind, air density and temperature + +# Usage +Short overview of how to use the feature, e.g. menu options, key bindings, +instructions. May not apply to all modules. + +# Dependencies +List of modules that must be present for this module to work. From 7c1875b624d2cdbfe41a061006a7d47fd1145374 Mon Sep 17 00:00:00 2001 From: Dharma Bellamkonda Date: Tue, 12 May 2015 18:31:03 -0600 Subject: [PATCH 469/478] add name to authors.txt --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index 862cb23413..9a6b836bea 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -94,3 +94,4 @@ Bla1337 nikolauska adam3adam Professor +Dharma Bellamkonda From b27d7eafa41e6871476242a90d775de2d35ff7c5 Mon Sep 17 00:00:00 2001 From: Dharma Bellamkonda Date: Tue, 12 May 2015 20:18:03 -0600 Subject: [PATCH 470/478] Fix headers in weapon select doc --- documentation/feature/weaponselect.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/feature/weaponselect.md b/documentation/feature/weaponselect.md index 232f0221d5..872e27cad0 100644 --- a/documentation/feature/weaponselect.md +++ b/documentation/feature/weaponselect.md @@ -7,13 +7,13 @@ parent: wiki # Overview ## Weapon select The number key can be used to quickly switch between weapons. (1 key - pistol, 2 key - rifle, 3 key - grenade launcher, 4 key - rocket launcher, 5 key - binocular) -Holster weapon +## Holster weapon Adds the ability to holster a weapon on the back. (0 key) -Engine select +## Engine select Quickly turn engine on and off (1 key - turn off, 2 key - turn on) -Weapon select +## Weapon select Quickly switch between vehicle weapons (1-3 key) -Grenade select +## Grenade select To prevent accidents a grenade has to be selected before it can be thrown. Toggles between explosive and non-explosive grenades. When spamming the throw key, the player won't automatically switch to frag grenades when all smokes are used up. Also shows an indicator to quickly see how many grenades are left when selecting and after throwing (6 key - switch between frag grenades, 7 key - switch between other grenades) # Usage From 3978445837cf613c91fef61029e22f003157ab5a Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 12 May 2015 23:01:59 -0500 Subject: [PATCH 471/478] Draggin Privates --- addons/dragging/functions/fnc_setCarryable.sqf | 3 ++- addons/dragging/functions/fnc_setDraggable.sqf | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/dragging/functions/fnc_setCarryable.sqf b/addons/dragging/functions/fnc_setCarryable.sqf index bc6da1f04d..2a10ca4897 100644 --- a/addons/dragging/functions/fnc_setCarryable.sqf +++ b/addons/dragging/functions/fnc_setCarryable.sqf @@ -14,7 +14,8 @@ */ #include "script_component.hpp" -private ["_object", "_enableCarry", "_position", "_direction"]; +private ["_carryAction", "_dropAction", "_object", "_enableCarry", "_position", "_direction"]; +//IGNORE_PRIVATE_WARNING("_player", "_target"); _this resize 4; diff --git a/addons/dragging/functions/fnc_setDraggable.sqf b/addons/dragging/functions/fnc_setDraggable.sqf index da2d0310b4..5a42f4e439 100644 --- a/addons/dragging/functions/fnc_setDraggable.sqf +++ b/addons/dragging/functions/fnc_setDraggable.sqf @@ -14,7 +14,8 @@ */ #include "script_component.hpp" -private ["_object", "_enableDrag", "_position", "_direction"]; +private ["_dragAction", "_dropAction", "_object", "_enableDrag", "_position", "_direction"]; +//IGNORE_PRIVATE_WARNING("_player", "_target"); _this resize 4; From 4185874a9abeacddc8df7a1854831e8ba1d1c5bf Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 12 May 2015 23:19:31 -0500 Subject: [PATCH 472/478] Frag Privates --- addons/frag/functions/fnc_doSpall.sqf | 7 ++----- addons/frag/functions/fnc_frago.sqf | 7 +------ 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index 990fb80f8d..d2e64dbbfb 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -4,11 +4,8 @@ GVAR(traceFrags) = true; #endif // ACE_player sideChat "WAAAAAAAAAAAAAAAAAAAAA"; -private ["_params", "_initialData", "_hpData", "_roundType", "_round", "_object", "_caliber", "_explosive", - "_idh", "_alive", "_exit", "_vm", "_velocity", "_unitDir", "_oldVelocity", "_curVelocity", "_diff", "_polar", - "_pos", "_spallPos", "_i", "_pos1", "_pos2", "_blah", "_data", "_spallPolar", "_c", "_warn", "_m", "_k", - "_gC", "_shellType", "_fragPower", "_spread", "_spallCount", "_elev", "_dir", "_vel", "_spallFragVect", - "_fragment", "_index", "_hitData", "_fragTypes", "_fragType", "_foundObjects"]; + +private ["_params", "_hitData", "_initialData", "_hpData", "_object", "_foundObjects", "_index", "_foundObjecsts", "_roundType", "_round", "_caliber", "_explosive", "_idh", "_alive", "_exit", "_vm", "_velocity", "_oldVelocity", "_curVelocity", "_diff", "_polar", "_unitDir", "_spallPos", "_pos1", "_i", "_pos2", "_blah", "_data", "_spallPolar", "_warn", "_c", "_m", "_k", "_gC", "_fragPower", "_fragTypes", "_spread", "_spallCount", "_elev", "_dir", "_vel", "_spallFragVect", "_fragType", "_fragment", "_pos"]; _params = _this select 0; [(_this select 1)] call cba_fnc_removePerFrameHandler; diff --git a/addons/frag/functions/fnc_frago.sqf b/addons/frag/functions/fnc_frago.sqf index de7c6986d9..43eb9d5a67 100644 --- a/addons/frag/functions/fnc_frago.sqf +++ b/addons/frag/functions/fnc_frago.sqf @@ -9,13 +9,8 @@ if(!isServer) exitWith { }; // _startTime = diag_tickTime; -private ["_round", "_lastPos", "_lastVel", "_shellType", "_gun", "_fragTypes", "_warn", "_atlPos", "_isArmed", - "_fuseDist", "_indirectHitRange", "_fragRange", "_c", "_m", "_k", "_gC", "_fragPower", "_fragPowerRandom", - "_manObjects", "_objects", "_crew", "_fragCount", "_fragArcs", "_doRandom", "_target", "_boundingBox", - "_targetPos", "_distance", "_add", "_bbX", "_bbY", "_bbZ", "_cubic", "_targetVel", "_baseVec", "_dir", - "_currentCount", "_count", "_vecVar", "_i", "_vec", "_fp", "_vel", "_fragType", "_fragObj", "_randomCount", - "_sectorSize", "_sectorOffset", "_randomDir", "_endTime"]; +private ["_startTime", "_round", "_lastPos", "_lastVel", "_shellType", "_gun", "_fragTypes", "_warn", "_atlPos", "_isArmed", "_fuseDist", "_indirectHitRange", "_fragRange", "_c", "_m", "_k", "_gC", "_fragPower", "_fragPowerRandom", "_manObjects", "_objects", "_crew", "_fragCount", "_fragArcs", "_doRandom", "_boundingBox", "_targetPos", "_distance", "_add", "_bbX", "_bbY", "_bbZ", "_cubic", "_targetVel", "_baseVec", "_dir", "_currentCount", "_count", "_vecVar", "_vec", "_fp", "_vel", "_fragType", "_fragObj", "_randomCount", "_sectorSize", "_sectorOffset", "_i", "_randomDir", "_endTime", "_target"]; _round = _this select 0; _lastPos = _this select 1; From a4d0af4b679e171ba4d63ec2f657c688dca52ccb Mon Sep 17 00:00:00 2001 From: Glowbal Date: Wed, 13 May 2015 15:55:03 +0200 Subject: [PATCH 473/478] Fix medical vehicle return value Could fix #1142 --- addons/medical/functions/fnc_isMedicalVehicle.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/medical/functions/fnc_isMedicalVehicle.sqf b/addons/medical/functions/fnc_isMedicalVehicle.sqf index 5635700fe0..5e9283852f 100644 --- a/addons/medical/functions/fnc_isMedicalVehicle.sqf +++ b/addons/medical/functions/fnc_isMedicalVehicle.sqf @@ -15,4 +15,4 @@ private ["_vehicle"]; _vehicle = _this select 0; -_vehicle getVariable [QGVAR(medicClass), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant") == 1] +(_vehicle getVariable [QGVAR(medicClass), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "attendant")]) > 0 From a57ea7dc79e6ea516cf8fd73d66ca16bc98cc50f Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 13 May 2015 12:18:40 -0700 Subject: [PATCH 474/478] Changed: Enabled ace_javelin to the RHS javelin optionals compat pbo. --- optionals/compat_rhs_usf3/CfgWeapons.hpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index 72ea2db1e7..75cf369d75 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -83,4 +83,14 @@ class CfgWeapons ACE_ScopeAdjust_Horizontal[] = { -6, 6 }; ACE_ScopeAdjust_Increment = 0.1; }; + + class rhs_weap_fgm148 : launch_O_Titan_F { + ace_javelin_enabled = 1; + weaponInfoType = "ACE_RscOptics_javelin"; + modelOptics = "\z\ace\addons\javeline\data\reticle_titan.p3d"; + + canLock = 0; + lockingTargetSound[] = {"",0,1}; + lockedTargetSound[] = {"",0,1}; + }; }; \ No newline at end of file From 021d277b123cef12e65a83940765871c834193d4 Mon Sep 17 00:00:00 2001 From: jaynus Date: Wed, 13 May 2015 12:19:00 -0700 Subject: [PATCH 475/478] Added class. --- optionals/compat_rhs_usf3/CfgWeapons.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index 75cf369d75..f4ad30c912 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -4,6 +4,8 @@ class CfgWeapons class Pistol_Base_F; class Rifle_Base_F; class srifle_EBR_F; + class launch_O_Titan_F; + class rhs_weap_XM2010_Base_F: Rifle_Base_F { ACE_barrelTwist=254.0; From 8de611d559a2c47172a42c4fbdd784baf378d2c9 Mon Sep 17 00:00:00 2001 From: Alessandro Foresi Date: Wed, 13 May 2015 23:20:33 +0200 Subject: [PATCH 476/478] Fixed: Safe mode Italian translation --- addons/safemode/stringtable.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index b31b5ab25f..e824f2340c 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -34,7 +34,7 @@ Biztonsági kapcsoló helyretolása Поставить на предохранитель Sécurité mise - Metti la sicura + Sicura inserita Colocar Segurança From 72715dd34dec0e5cfc49e2fd0be937e1d8da09c5 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 13 May 2015 17:04:27 -0500 Subject: [PATCH 477/478] Fix RHS_Javelin Comp Path --- optionals/compat_rhs_usf3/CfgWeapons.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/optionals/compat_rhs_usf3/CfgWeapons.hpp b/optionals/compat_rhs_usf3/CfgWeapons.hpp index f4ad30c912..1cceb9a76b 100644 --- a/optionals/compat_rhs_usf3/CfgWeapons.hpp +++ b/optionals/compat_rhs_usf3/CfgWeapons.hpp @@ -89,7 +89,7 @@ class CfgWeapons class rhs_weap_fgm148 : launch_O_Titan_F { ace_javelin_enabled = 1; weaponInfoType = "ACE_RscOptics_javelin"; - modelOptics = "\z\ace\addons\javeline\data\reticle_titan.p3d"; + modelOptics = "\z\ace\addons\javelin\data\reticle_titan.p3d"; canLock = 0; lockingTargetSound[] = {"",0,1}; From ddbf274c89b99bd27e90255cb8f620a7c7532f16 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 14 May 2015 11:23:44 +0200 Subject: [PATCH 478/478] ace_ballistics README.md update --- addons/ballistics/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/ballistics/README.md b/addons/ballistics/README.md index 2bf158cebc..ac727f83c6 100644 --- a/addons/ballistics/README.md +++ b/addons/ballistics/README.md @@ -1,12 +1,12 @@ ace_ballistics ============== -Changes to weapon and ammunition values. - +Changes to weapon, magazine and ammunition values. ## Maintainers The people responsible for merging changes to this component or answering potential questions. +- [Ruthberg] (http://github.com/Ulteq) - [KoffeinFlummi](https://github.com/KoffeinFlummi) - [commy2](https://github.com/commy2)

    N?ALv$D{& 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 Z&jR}_u+IYfEU?c4`z)}}0)LAI{vYVgXJr5Y literal 788480 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�pj2i6C)i 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 z

    u}Brag87Y59x{G~?4z@bUs2u{)pr%Y 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 diff --git a/ace_fcs.dll b/ace_fcs.dll index 71fbba7d924bed48d439068714078f3bfa864f62..4d8790b150909314ec9dc27e99083dc276ffcd99 100644 GIT binary patch literal 784384 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

o3UNeTZ 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%0Aj_ee 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 VA6KT3vn~)fH6>a6)2Cs9{{dTCiedl& diff --git a/extensions/clipboard/ace_clipboard.cpp b/extensions/clipboard/ace_clipboard.cpp index 619ba0485d..5ec807746d 100644 --- a/extensions/clipboard/ace_clipboard.cpp +++ b/extensions/clipboard/ace_clipboard.cpp @@ -29,8 +29,6 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) { return; } - else { - #ifdef _WIN32 HGLOBAL glob = GlobalAlloc(GMEM_FIXED, input.length()+1); From 8d92d9cc7dfb5acbf5136001796f6ee31d12ca8b Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sat, 2 May 2015 18:25:35 -0300 Subject: [PATCH 289/478] Add ace_clipboard to ACE_Extensions --- addons/optionsmenu/config.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/optionsmenu/config.cpp b/addons/optionsmenu/config.cpp index 69249b36c4..36389568d3 100644 --- a/addons/optionsmenu/config.cpp +++ b/addons/optionsmenu/config.cpp @@ -37,3 +37,7 @@ class ACE_Settings { values[] = {"$str_medium", "$str_large", "$str_very_large"}; }; }; + +class ACE_Extensions { + extensions[] += {"ace_clipboard"}; +}; From 717d7c874f5dcf5adaaf61e48b14348c2a98de6d Mon Sep 17 00:00:00 2001 From: jaynus Date: Sat, 2 May 2015 15:28:40 -0700 Subject: [PATCH 290/478] Data chunking. Feature complete. --- ace_clipboard.dll | Bin 417792 -> 426496 bytes .../functions/fnc_exportSettings.sqf | 18 ++++- extensions/clipboard/ace_clipboard.cpp | 70 ++++++++++++------ 3 files changed, 64 insertions(+), 24 deletions(-) diff --git a/ace_clipboard.dll b/ace_clipboard.dll index 540d089582b9f6e1813f53cdada2a7b45f946c8e..4f77d63f1f26f0ab9080be5cf30297754a09a994 100644 GIT binary patch delta 125154 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�Vs%1RGb+?(LOu@|Wq>v}?Q6XxOmTiJnJ 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

+pii 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%0A@OvCUc<|H}&o15tQb{n|?KV1hx%k3OG%oylZn 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 +#include + +extern "C" { + __declspec (dllexport) void __stdcall RVExtension(char *output, int outputSize, const char *function); +}; + +void __stdcall RVExtension(char *output, int outputSize, const char *function) { + std::string input(function); + std::string result; + + if (input.length() < 1) + return; + + #ifdef _WIN32 + + HGLOBAL glob = GlobalAlloc(GMEM_FIXED, input.length()+1); + + memcpy(glob, input.c_str(), input.length()); + ((char *)glob)[input.length() + 1] = 0x00; + + if (!OpenClipboard(NULL)) { + result = "OpenClipboard() failed, GetLastError=" + GetLastError(); + } else { + if (!EmptyClipboard()) { + result = "OpenClipboard() failed, GetLastError=" + GetLastError(); + } else { + if (!SetClipboardData(CF_TEXT, glob)) { + result = "SetClipboardData() failed, GetLastError=" + GetLastError(); + } else { + if (!CloseClipboard()) { + result = "CloseClipboard() failed, GetLastError=" + GetLastError(); + } + } + } + } + + end: + memcpy(output, result.c_str(), result.length()+1); + + #endif + + +} + From 233ca372191764c75394ce2181a71bad4533b91b Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Sat, 2 May 2015 17:52:37 -0300 Subject: [PATCH 284/478] Export settings to clipboard using ace_clipboard. Deprecate exporting through diag_log --- addons/optionsmenu/functions/fnc_exportSettings.sqf | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/addons/optionsmenu/functions/fnc_exportSettings.sqf b/addons/optionsmenu/functions/fnc_exportSettings.sqf index f98c3548e8..654b2a5f80 100644 --- a/addons/optionsmenu/functions/fnc_exportSettings.sqf +++ b/addons/optionsmenu/functions/fnc_exportSettings.sqf @@ -55,13 +55,10 @@ class %1 { force = 1; };", _name, _value, format['"%1"', _typeName]]; - //clipboard seems to be getting cuttoff, so do a backup dump to rpt: - diag_log text _compiledConfigEntry; - _compiledConfig = _compiledConfig + _compiledConfigEntry; }; } forEach EGVAR(common,settings); -copyToClipboard format["%1",_compiledConfig]; +"ace_clipboard" callExtension format["%1",_compiledConfig]; ["STR_ACE_OptionsMenu_settingsExported"] call EFUNC(common,displayTextStructured); From 0fd783082dfdc11922f88ba0432ea828d5ac1533 Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 2 May 2015 22:53:23 +0200 Subject: [PATCH 285/478] don't close menu when no action is selected --- addons/interact_menu/functions/fnc_handlePlayerChanged.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf index cff8bb1048..cb21d218db 100644 --- a/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf +++ b/addons/interact_menu/functions/fnc_handlePlayerChanged.sqf @@ -16,7 +16,7 @@ EXPLODE_2_PVT(_this,_newUnit,_oldUnit); // add to new unit private "_ehid"; _ehid = [_newUnit, "DefaultAction", {GVAR(openedMenuType) >= 0}, { - if !(GVAR(actionOnKeyRelease)) then { + if (!GVAR(actionOnKeyRelease) && GVAR(actionSelected)) then { [GVAR(openedMenuType),true] call FUNC(keyUp); }; }] call EFUNC(common,addActionEventHandler); From f44aaee7c79cf8e44ce36f4f6ee4a7a7265d54fc Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 2 May 2015 23:02:40 +0200 Subject: [PATCH 286/478] also in cursor mode --- addons/interact_menu/functions/fnc_keyDown.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index d4e460c10f..464466ae3a 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -54,7 +54,7 @@ if (GVAR(useCursorMenu)) then { }]; // handles LMB in cursor mode when action on keyrelease is disabled ((finddisplay 91919) displayctrl 91921) ctrlAddEventHandler ["MouseButtonDown", { - if !(GVAR(actionOnKeyRelease)) then { + if (!GVAR(actionOnKeyRelease) && GVAR(actionSelected)) then { [GVAR(openedMenuType),true] call FUNC(keyUp); }; }]; From c192d7eadcafeab4fa2f9db481c58ce8306804b7 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sat, 2 May 2015 14:18:42 -0700 Subject: [PATCH 287/478] Return version. --- extensions/clipboard/ace_clipboard.cpp | 94 ++++++++++++++------------ 1 file changed, 51 insertions(+), 43 deletions(-) diff --git a/extensions/clipboard/ace_clipboard.cpp b/extensions/clipboard/ace_clipboard.cpp index 59c0f802fc..619ba0485d 100644 --- a/extensions/clipboard/ace_clipboard.cpp +++ b/extensions/clipboard/ace_clipboard.cpp @@ -1,31 +1,38 @@ -/* - * ace_clipboard.cpp - * - * Takes a string and copies it to the clipboard; bypasses arma 8k clippy limit. - * - * Takes: - * Localized string as string - * - * Returns: - * None - */ -#include "ace_common.h" -#include -#include - -extern "C" { - __declspec (dllexport) void __stdcall RVExtension(char *output, int outputSize, const char *function); -}; - -void __stdcall RVExtension(char *output, int outputSize, const char *function) { - std::string input(function); - std::string result; - - if (input.length() < 1) - return; - - #ifdef _WIN32 - +/* + * ace_clipboard.cpp + * + * Takes a string and copies it to the clipboard; bypasses arma 8k clippy limit. + * + * Takes: + * Localized string as string + * + * Returns: + * None + */ +#include "ace_common.h" +#include +#include + +extern "C" { + __declspec (dllexport) void __stdcall RVExtension(char *output, int outputSize, const char *function); +}; + +void __stdcall RVExtension(char *output, int outputSize, const char *function) { + std::string input(function); + std::string result; + + if (input.length() < 1) + return; + + if (!strcmp(function, "version")) { + strncpy(output, ACE_FULL_VERSION_STR, outputSize); + return; + } + + else { + + #ifdef _WIN32 + HGLOBAL glob = GlobalAlloc(GMEM_FIXED, input.length()+1); memcpy(glob, input.c_str(), input.length()); @@ -40,18 +47,19 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) { if (!SetClipboardData(CF_TEXT, glob)) { result = "SetClipboardData() failed, GetLastError=" + GetLastError(); } else { - if (!CloseClipboard()) { - result = "CloseClipboard() failed, GetLastError=" + GetLastError(); - } - } - } - } - - end: - memcpy(output, result.c_str(), result.length()+1); - - #endif - - -} - + if (!CloseClipboard()) { + result = "CloseClipboard() failed, GetLastError=" + GetLastError(); + } + } + } + } + +end: + if(result.length() > 1) + memcpy(output, result.c_str(), result.length()+1); + + #endif + + +} + From bb429e7704fe26f347539e501019a59fe6515b11 Mon Sep 17 00:00:00 2001 From: jaynus Date: Sat, 2 May 2015 14:20:37 -0700 Subject: [PATCH 288/478] i hate @esteldunedain --- ace_clipboard.dll | Bin 419328 -> 417792 bytes extensions/clipboard/ace_clipboard.cpp | 2 -- 2 files changed, 2 deletions(-) diff --git a/ace_clipboard.dll b/ace_clipboard.dll index c7d98f7ec3772b540ba315aa860c14b680fd8ba8..540d089582b9f6e1813f53cdada2a7b45f946c8e 100644 GIT binary patch delta 123241 zcmce;dt8j^|35x6od%^)gs4$bbKc?>E2a067IM5J?{o<=NpvYe*?8~NFKMw% zdK=5$(}P%F>R(rS@6?;5_Wol>XvkakAOERUGFczFgO6-_XVt)RT%kY&kyWeZPV;!jfD+zpX%`+ z?PMWR*D?@qFUyxN_pT+B$d#?Ps=(R>7!G0kC7Dd-C6mQBojP*3cDPJda2B|D&}8A= zOK7U7Rk^S|ieC0InJeBEg(!t*1+bPmqE=U!huUP+6sR>4wxgDani93f!gX{$*a$_; zQPvpmmWSUcT;%$5I~B5`XR&fw(Y7rzSy7l8)sbgV?eZI{BXdxVZUj*KPk=h70c4AT zZTk~I!c|-JwFBs~&qh|X>?E+8o|DxdD4mJ{;$wRNug7T1orku&#VGC5qxAX_N=6sG zovf(YZPYvVLfv~CO3@7g;yZ%j6L(<4-=lhRH$W3&$7};#k0gNT<)}XD2e8qAsn+2X zLdjaU6qBW90AB#0kGR&A=4KPyU>FDuGm zqh&A}^J}AYNDJ!i9BG}1w)U(JECIvO6ydqKXls#-YVc%$upQ_z5)t{6OHp4w!co&4%wW+_F6= zeOe4~M+Z>34?vv_pu6D<@L~=~W>E5rW&&KvLp5YC5Un4A?i)_O?s1e1ltL6so$jD* zHwPNXxedOc$Go0rqJEWX;X@71HvyPP6Egs%npCbsIbb~~34@rAqO@@lu;;s>>J$!= z-??>fP4>w?}~Mfo#wHcA`xC zir7eiEIrYc|?CQBWE0fbirjdr$|Z9Zl=R%9_&Mm3vk%n^BpkX1Z9k*~ z?4u6|Uk_}vq399R4h;KnO{+=)YSGxHvRY^c_=B5hoCrF3Cje6)5GPMZTheHhQfcHK z8>oM;z5&BweZc=L+1M{fX`m4_i3aqm{yp0KW&+Ho5BQCyetHK;My>@gE<@jzS!na= z51`hg+v5fxK26#U+C1o*>MaCVJPB>j=Ad+aKR6$m z3I={Oh7Ai*s#6~zV+-Tu@duzOqWK2}qcQ0#w4H8^YF(~`n~f7 z@Mwj39B+uyx(OgYyb)L>wR-DvwCzX+*iTn|oH03nJW3l1Q8F+{rcrH&a65BOqg(aw z0LCq_f&QhBMB^c@$>Do|y$1ozb^yIMfTqe)biVW>z=2rM?WWT7;#8}5MBCy%AQ?%O z3Zxa@q#^C?0>tPeDD|ZIe3%6gwGAYfyJM>Pk5G-~;(nfslK$NR6z_4u@zDSyMu29# z-6b^&Y-O_yDfPQ;-5I&4(jR5E$Gqq8&vy@ z22e8Gf1-N(-3D;r)_u4^{Y#)|Hpip%n!czr?OjEu)yflXt+;o!5h{z;|B7k`^O2!c z%)hyTjugO4x|ip)_Z#FtlR`hpX)QR6YRFbpR}KYuL@Vhv7Ql-N?1csEi!{_*Ekpa$ z1TKQJ{)!ftZVUcdbZH61K8XalObwfVABbAy8bQPInTqO8I%orZqKw8ngc+F81QJiC ze)le*?GRJ5rgMRas*CEh!N3;i$zdYVS_&ze>pagiYzA}Yp^RtOP6Aw{Z9BI|=hZZ^ zNk0J8%m8q_2*e;dk!cNp%{YvOGG&x_6KzwXng4xY zEEv`u_2AiHBZQ)~il#nQ09e-%puGnD4p5uont=5g4N8-kDF4iPjOT{=(S}0Xp_E9= zd|^WAyJjG6!F01BwdYVraOs_lY7={e=(;^o(py-(NvUMg`Peh}wV|g?`3a?(?E&6U zTdynyXwKo1x%nk)Kr*v2svSmybsbt}stmwm53t`=1)|Q+K>WB0z;GUIo~0 z0mLFY#_4rX8czP>DbN?x$;yEMMNG(=55O29LjX)pX!{Ggt1nu@nB-Il>MrX*({?#Z zHBN!%0XOhZiqN|jO26g<@v#=blrf;&Y_K`@|AuQiocU)BL%Yk7SMgD+DGOLj|bLg(>-2+_@hS2VefIZiux}KanQK>z7KKP3Xb=WZg1%>x#bASbtsDH!H zg3WEFL&|NSuDcH4#Z91p*a>iE55QI)&&C9RZa#H+B$aE12)ZJQqA6GWM@zI#-Hhs? z{s4WLEg$m-)61O4m7@SAvj3g3Y^q1K{dCaj9hpR&N}rU|7FP;#XStfap9Gniz~ z1tM-2+J0LGaO@4*ek7X`4rks8>cC!-ob z1{qBOq!8MdQhl9{cq~R@)>Ar%0*P9bDPl` zrN5luI<&E<&Sl8^m0@JS3xJ$+AfCgs^T`>gUMIf;wAN3(o^vzn%t%Vyv@)ES|XGWTG7oZwuq%T^>6^~>Fxv3bX)Rq9NDci(gfW4nk ztwRnsDBCet0ZQrvh<1>|YC6;lOcCWwGN+QY69ds~ z*#RW^UQgB=MgikVJ6=BvjXfDi+e82nOf^2<9f-e}E z?H2t`|Hr5(sJ8zKbaR+H?jEOr{#6P9deC^(r;z_?`pDwJ zpl+A}F#I&A-H!nbl4Hdem<}Gk3=;GA=rM>#$DOI5`)e9N0ag3)PJm|10JM!kcceN> zvE=-b2Ixk6T)GscGhCOx57QO*1?cQWZJnnDc*@OsNhkPz7)rIN%i9@j9NeQ9INAAO(corN#2e@X)1->;&+s$WrN=c27n1`^(ba>*5fq* zy?djv4dX*Y0o4)Fz@u-?bZUo=?uV(K#*)-j^Spt1E|9JKBdAPz6UUP7`ioh zif)cn$6Mc`+G8oey(geMNP^~D+DVk=GzXBf;O<=FWX8R}D981@R#?eQ@bPAV#e=}m za|%dOssbEjoc_dheWF3PNwBA71h3~+KK5IwoVIsrWY&f9{q0$d+^~EsuQQO8~ycxB!CmW0oE-C_8cRiX%$HJ&jT2ugxaPt zD|3*9&H%eR2#9<#)wkVT@?s3Hu zG~VGZw(5Xt-L2sN6;r>NmwdY|#8kTY6a%_tb4E6FmfqY%pHm>&%Frdw0FX^b zTOil|s2RY0MzXtCWxLqF{I7kZRX%~E{;j?+z~ zWdb{kM`ZVKfJX!Lm*{4qB6kYQ=my;$ezTUFyJ%@ z8*_E9xf~VEf3*|Zve|a82Z){ap<02H3E*iei&`=H8L&S401gMDN9aA244nBfKa>_S zk`4I@2>nBfrfVGP3MM3TkD#Qb_#?vrE;9Pp{2Ha7xQGK^1N=>0*g#FcYXgM9BgN!q zKy+Yex1<7bfyvS9nP>}$LG}J1fC5I{myEjoi&6cV8RNUTOqVkcgTu5fXiTBkzBvJy zPE^NV$T0WzqjT zsU#N1VOkSL0XSe!^+i>TXq=ahdTYiYPkIAK$}x=h5_g+|^`x)SdF>5wofQkP?jEX< zbU6!Wqck`lblz0x`PBXrDtq>xSbAXMb+F!O&+Kg-tDktXo<^zW%*KrL zCA8E)dah**?ZfC^ovZt z8)!TYBR;F#+O-H>NwR$lf(!3jB7?*?6uSWo) z8By+qq7?KJp!!DixI7mmFWaNrB<@D#A5ksjsq`#&_TW>rE$@T2KvsX^>Bq#io}?ze zWwz4)D)p~5UGQE8gs4eqd`}D6ehB?K(xO)`M89$0pi36D`Y^$yIsk*|9Rv0N8=M7f zGm8J?R{$oS_tsVct4cFbjrahPAC3YP+(vae89e9)(2^nUqn>$~iT67e=4RcRpc>0X zyyIMdjsVCGK-=KN+Bku(q==>ob|N`SBvy#KpH zQ{P_)gaf$|MK4h8$=uAS1Gvv=b>!-LYcWW2BHGr>MVp2ss~ON=k-=$VUo`^gJ_M|q zGP}6QIK8fbIAr^zg-NF zSOMUnJ+Ps4=N)LMcYX&5;}I))EQmF|z`$b~Nbc}E1LJBzC_sZ>K~k66Y4`@EX1pIZM53y81nB)8K;yok(=Q_R7;=b-187B^Z@m;< zjJ$Kaxf-RGB-~4X)r-8f;g%c5L1ym>WdZ~LVX)G zvnt0txB;b^obaA)D0NRkDU%BKiMi9?H^6@(l`EF>$YE*cJb+JB$43(Y7SZKoR0h}> zf*x%ssIAns-irVRoCTt{8g0WF>~8Dnr5+{%9H&OKrv4pfGO&dgtkMSrb5D#ZsDSN8 z$GBV#Hg`UOE}9F=SPHrf1FBz9!xnK6r$12YN@uxl6u?%d_$9njx=jld*&8q7;k8b%2|8v)QY8P%_NGV4u#`j`Bca(p1b(_W~j)1^f$0ihQ+em@cxyBhWpv1K5%YL>-*}a7O8Y`VP+H z;z0DP#I-N-LiMlK=+ctAF@6`SmnoUe9RZ}T%1>zY=V)T>s1RPWK<85zB}EF_S~o!7 z0TsY+#|V^0(uQ&d0BrRHNp&jDMkdPo2&Qk3DI`TaKr7~#=}dMz@UUg#3G@|Hzt`Dl zJGBhp;@3btq?Ie^xTIJTjG3#9D9zz@Mj{b462Nr* zXvW_bl>9EDZ}Q|fkpg&Y0O&#uyWJaYLq>yS^;NW8odl4>WFWC7dQ78rO^8CoNg_UQ?Of4lH~wf zq4-wp8+~mMj=YV=E424a?)G+DfLbR}?Lwy#6bF)^<7m6a@bfzbFpa}~qG>S|8V^A}VnGp{}OH?XVL0<=iy{mXXB_R~?Y8O{kGX2!9Z z>GF{@l(fqL1|A^8B!D;F!Qn^t@LB_e!()`zvpQfps=$`aMvExL+gQNnil961JE|Y0_w-y&k4tXJv{@Zxs_4+c>_vS zxlN1P1LRFWw-hFxGnfJl8VT(EJ^(J9!n;o(xyPH5;1H1990m6H(HDeA)i9o=;vb<+ zDFT6BcLnHm710()Z<9yD!lwY)0>GaG0T$AC^y26)tI)%D9>CaGAdW`>m>&VLPz5dv zm!Ntm8`Yb=QR+zci#fV)JFq`H4b>I!75X9@&boRI8XLy|yjqCr1*+M&Z$a}dBipup zXj5|FJh~h?Gpld7L+=?G+!zWRDSpQxsJ>)4mN7GV(gMsI%x2v-%r z?CWTIqo)ZkpADMIbPU~}qgv-6KpeHn^E?RCXn?Xgs0N(|$+tRy`q2Q2>Hsx)^DuJ^ zN~h?2YNb(nX-_s-e(5>C+f@*uF>CyT0fBw6`A(AnuXEM-($;QbS zAe>h7_gPT);2;AinV#I<@0sfSaS7Eh3eR;M+T5A#?`KM08V6uQpSYFkIF(Z{GMjDO z0;NVgr%dNS+7+PFds9Ka_QVb!33=dLrouUen(~!7Z_VEMFE_41Go_j zUbZWNSUU#bB2$r9Ort+h7ix1${Fss6`~a|Q7pjwJ!PBb)`;_iAcq5&WkHiW-P@TP)*K>=e zQI16dVf#~(L4j5KM987KvYwTP?C)D7KQFs8`UezP`ckAbZ5EZ zpLzqlY>YPXJxX(!5(V}JsL51hJ>B8rn*9FOQI1B-WYEO2-=k^(lbZolVS;^*XPICk zf(RPTK)>Kvlzy89psR&}6S=*?{C$^-`*)Qt{#WY!m3Wkf9tOC^z!^ImZFL#MYKEaC zlC!?G6Y8C*QgV8X=ATdsqUBecgQ}?)s(VfVtZ9WV^=_dwlV{>xEdd%{0f=e^;uR(k z$8q4kw6htE^y8^Gf6-{Fav@dtd8j2xQdB5CV@zwfT#x!C?m=WC8Xr?MPBidTf_Q56 zY~>fbZU!i(39zfxO!=uon43POzxr9XLzsi5?t1_Knd0m(-0T8v@Mj}Ess0)?B>j*)jJG* zQ|XNDn8tj=YtPb|sD{%NGY*BRD%*C_4x;}+ zwSX%=*c9M2baO_)I`tV3a!eOtLYn!DPj*#04 z??<>+ReRaHyxJBwdh1*iw&(%Un~$^g5JE;a?;V+Gu_VrQk!b@v@=qkDHcSok>2S$; zVF$EFh+T6m7SkoedE4a6&Pj?x7E5ZVkD;*881^AHM=kmROI((7(({8BOZxC2d4pai zm7}55;=JfETC6MsOe*D0Pv_*#XfcI-0C&S`6a%sirMAusOeh*keWojm<`W;Tj1Uud zN_>UQFMSTHM@7ly_k|s!JryT1gw1zr3SKRpg_6-;RijKVP2F7$r7lw|gs3g8MfbBp zi!q(OJTokoVX^0IWv1KFsk7ya6Vrc34hW-4%p5AT z)dbX71*sU$JC;qQQi$m~Cv!lUt?42kFPzrYRQMbeytfZZkIz@w3-)6h2_a)A3+k~h z!ojhg^7%sk*f!O&50vvTUB_BWsx)v~44cOCLU0;flpNG}1_{aEf^celCwIZPxAMsC#h9Lbu7o6bp9<8Iv1ZQ9eX9 z6bh%f2w5Y&gs60v6;lI+kg2{MS8gxg;k-Oks7sD@_pK0nZYXXEb+>m3x?og&h%)J1 zqD^y^xvD~HP+}(`;@4{W>!}g)#qvzunx>`w>wN)4QmA4O*>na;ADhyeQq|3UeL0M+I+F6E6 z^5iVtaEM>C65XQ3B)S8bldjb8$z`f@s$+LK4B}~O_*3!0cS4p}qiNhQ+PqT;W&%u} z_}zDO8y|wMi3O)odPYr4?IKqv$SiKQ@xta`-Sqt+1(WI__$J6Mb_cSaR)G zP7o$e^YGb(F>~cB0n2paAG&@Lo%=-4)oLPlpJ?X-yQj*K#Pl+?yKS!hcyu&)$qe!E z2yl^xEL*i`-Xgr77Fa_<)sq>%vX%8$i+i?MEHN?g0O_Gu<<*3~TBTzA1YwZY!;f^P zYyxZ!bp{BE^sT+QKold4N^FSOcb8!{Hpg}fz_x@H^c&X zY~u_^Q?7*an(m>@lqOj!jiFx*bgq3VS9nnhMplbU4YkdcbKPq3%`tG27X3xz&;PA4 z@4q!3`)`d~${Y20UocHAZ~d}y=6`D(@!uNz{g#EkzE^ZffS z#&7#2=DRO3wqIiAeTm6m@x=^!eTi95ObtCPp|tXh$rj(_Ba37%nQGWhY))pD_2oZF zs_nGCl#``ey!Dl7eYs4L8WXKAD9?(>4IT<;!)#? z#xo4hC_LlwOv5u9&wM;7c$VQ=jb{U%3_L=WmVxOZBN3iv&33HbvWmTn8ZKUP6sp(s z6ygu-h0(J;t9n$EP_OA4#BEa2p#Qpht@e8mo!6jSs_Hd@!X-)1b)V4{iI!C@N8gpu zs?X^Ah@+aY&uCFXyOpCub`zcU8Lh<7YVjHTrPZ>^+>@c$B{jSR?oMpH5%lqxXsW72 zEuQ*DnESQ6zCW3ier7`ZREw$qVv^|#&N-$~WVJfG%$cB|kwVMOo@Co%Gt3sKs)o5r zi_Ss3w+u1BPV~o%=;rhf$ywTh*fOtbon6u6eHKdxr%DX9I>oD;q77++=N!KZI?M;X z{tNMU=Wf228 zi>2_RrV>LZnbs{z)F(?T(N;u^Pf$Qemg*L}k`~B0vO>fy-&!m=2=C&-gO>Cu!{s%Q ztTxdnIBG6Y7F{sk%_L3E(%T|m=ohw?HPKP{4_PQAS=@){#9(NQ!A}xU`J8HFPDlo@ zJyjNQ)sRztQON-E&N%#Gp6eRJH)qMe)c6VX{7qy-w); z6*(!wQ@wZXO)&Z#XeNCs;&QG%8|ZY8ngp-J2HrGT9)!v)Chr$B$53YmoXMZvF&NpPjj*iSAFBKHK@fx{aXKbQ^l5tJR}OBdT6=Nb%FE zFD;mMMnS|vXEYUTWm)2VD0ECrxitYjzu4CX+gU?A*~eA}OS4N*#9V8*wKT}y#pv{! z(5-~9PBCFCk+9=az|s08ZZ0kHUgBgcz3LRQb&1_W>E(A742Ak{Sm6j8xmOM2*UimvGgo7&jv#X&G# zNgk3gJgmZ)*4ru!9H0N+gz^7X7E%9G7*8RL|3?v&uQ*(3Ora303p}<*T41~MG#@O` z%etaTz5ah%(SIz+6Wd$(zpO}zO7gG59WC2D>r#YeN%fsw&}x2YUDJf!(wchl62_t8 zsMj*Xs8Shk7Ce({262DQqY)+57PrRnRIt(@)oYxrcu(5^h3jK{otgOb>K&F;?ZOx23Xtz(T#R2RmBX0@JI4S2em7Fm~pKjES#sP zvKpSGer)Ec!60mrl_T~?_&X>^9{_QlHGbF-(FxZaj6mWAct7*+;xa@ass0TDin&PY zQ|4Oo^2AR#&5HAZ5m#>(Rxk3^k4N`^EEg0j;Cy*iq?!+>i;m(FTo@qKHHO=cDO&cm z)e%6e5n5$Bhl_UC7}dm&^y;}dabj%S7Fn@5;)I1#r6T(71g{u#k=SRg)KmpcQx-^E z6-(y}9a8H1kcmudpE%c1rmIcgvNXvWsvClib=7loxwvM&ke9M( zh%=Z&J8;~}Rqb?>$wG2fduh=|)e(zZO9(nDb&%!lgH+W{qpCDjatgH`U>85-Slohv zPF0m+@7kh-DC*>VH0SNz+F9Oq974GHv5)nB&SI?S9Fr(T=v37y(1*ke?u-2u-QtBV zi`B|=UI-B2CahcBMKNRnj``JG4Sr<76H`?5nG{ERm$NBOLK9Qnim0YlMm5bDRc|j% z$zhqxNDD5eWinGYUl-$eUzb!o0fl9^T$4=$S`?6#q1Yob=t0*CbzHol*cHX-E;K&p zBwSs~f-W2DkSHk2c}tY3m5Z0~#?(ZCm*0|+)$RgexFI)oWWj82!dqCs#9dE5#zD5m zFkGIM8r6;_mAFd=m#1|y+)$KJD}u7#X7k@=(S{qY+veJF5PC%;#($A=0?c1@NF)+>D;o56ow}@hIh)Tjb3fD_^u*0&6InBSOfk^5l2Izjm;%w^?4i6 z%{TQD@p$*)`ytwtC^X(EykFKpk-1UuN%Q5aXPSo}Ii>cL9l&cno|Sl(;7P(W2agud z_>IEiv@lmvnk?j;kLMwtl8wUiw2{FBHWBgm9>%jp5!}jW_Rc!90M2aCx6;f=oTfo} z37#Y03JaHeDh6y4b}aYj>*n%6KT?2)5-%4#?s&ZL_~Qx0(-u$fO+x(@VXoGJN1|ao zo;i5ZHXUBD;+2BAk>1qD*D;#c!Yd%8s7TX2lh)Vu?L~^rG{@IPR|!IOPR2dF%-mqH zz2Txf#les(Hx$XW0mvnrSt)hTO!q*i8*cc;MqBM4GElTJnB}_PskcLh#pPIcN?X00 ziL*Xw4Oo|L;BQtgS}PX)-V7Orp31l!V+}*DEeHMfgyqwxc_w?Cd_##P=$xs#;iBy> znOr_!`!MO2wsF!MZQZx$WHO6P>&Q3K#q-7*X7~9|Ech;uQe~9TjFN58EpYYAMMg@- zjzL*Qtc-)`-e4Kd$urB3KGRpGs{|*7{7}q8a{}^M>;FCJ0)$@|K$y^wW z4yF%Qq^=Ph*OVwOOoeapP7kzG*a^OC`&Pq0uj0a_8Hwo!&cLltypX)MpHt3iEH2F7 z*w(*1gU~w&;`{Cj09ui_2N*3&Zyx22X8REmU9Utynw-yxr{K+C|lBVZgfH ziuEbN=5?Wp80)J#U-g8Z-#9xwoXo|$;D;LWn!=`3pa0#8mHYoUD<<~8TCvAI$yVHn zhgGddHLWqgAUt#SNmi`fFIh2Ov|@6C%~*gh#`6@}`IB`eN2@Y#w7p!k2W;+^P#8Id?G6Xl0^Y!66QoN++1V!UX@qyUdWc*Wz<;F*kP zCZ0q*DR{m)AX%|>;3H@_g(nYB;eo^bH@#Qb_#|7>L(*(&r|0*Q+bb+d!p%d?6xWl4 zty^387ih4LB{9iwv^6bla3>yz;0=v5T}L#;*+h9U#8w_9YLkSITRSRRB?-Y9&D?h3 zm}u&*H1&0~xe?^pHf~sK(Q2cRnBm`qi3@H7psq5LgQ4`3*2&b**5-PUW1twpPCb;S zeva09s8RSaqr2kuD51`_x;+L>w?lmJ)bK6l&7*GMV6Lr<%T?+mn+@lcrhy1Ej^cW~ zb&dl|+o>J3F4E~Y%5+H_I!;)yt?d|2BFc32gmg}I8wc9|m`b}8v_+RsrG?m#b=B** zVMB1Kob!3cRoVQ-j1{bhmzZvwdMZWNMfgIHR5|hJ=g3PtJG{M*vu3u%f}b8h0$r8j z!VyB{9ZeN?7YdzrjP$rL%VG)23VIN9Ip|i9#qu16f(V@;>#wPQOgOV+R&7q5Cq3{& zAXX{M^MBOS-=9&m7nbZCs=uVe;T)G1E}A?5WI{)1@aM~qb(%t=?h-sDUM}Ku>zDXa zqDlxp5U&um|HivQ*cwLycYp*NalpUuPMSdC{0Ul47qq*2RxXy(h7#vP&OGA?S9i6m z9?xV*>u5dm1YKI>Y_3EB)!N;rMiC3w!s} z!oc#q)f)T{`JTgl0Qi9ySlW`G#VuZegQEkjAV6n&O^w1@x2F(>B%Jdx>ly{I$X58mNavb46i zjYmgAeHnu0{7>wndj|jh&$?T&V{Flk7$)&W+KCnm>KIWRi(*XqB}7@7K6@uIcv{*;GlNoMuz4N#O)YrM@g?n8Y6U8u*%;_pi3h*{5VKIho0TLbLsDb;{TZ zgZ}4Gh6zH={mrYZ|JC2hGkAg!zkji*v9Jc8Vv!Jw7WeQY_TS;&cE?4*R3)zZMa1P?lNPzH>(jiAW zoQ1?oWe0JFj)${<9md41Q>2sDsw{{Qe&F}1n1MtANlCj~Rdm)`f-GVObOwQTx&^yRAfBV^4WS+@Ecr!04dyvTC^_iL z@NIv{yFytKUU!%fc<5`J7h}H+JXgmu@aWf#{c_(iQwR(EDtA=2vB#~JTAT%f&#Giq z)y-aBP|H$_wgJ9fDj~VbYVkP5SR!F!67aeDD&-#&CGMESFT-ExELcQ|6VWPp61_6P zPAt@b7LKEg%FvPgEjpW^temK5tH-dkVw@SVO2w4fJMC_#LqPa^#V>s5{{mB%U zr*E`XqpTf7l{5{gNjY_p#av!AeF}PG7bULKSkmiUwe{0$#x=*4?DRPn%T^8+gB9wy z>l%teEk4A^(#@=c=#8B=Kl|72=jDBt3ZzlFAEfFeEyJn;v{|dcluc|YxFu)B#5k|Q z*_znAba9g$-^UMoD1II#+&t`6@$4vEImHaQe9logwAQsEbi&0AI+2_p)I8GDV-j?; z?55J}7nIdj^?D-UAMx%TnXar;=OHKIkXJRY!2 zDqzC<4V`SOupR