diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..af1c2ff31 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true +charset = utf-8 +indent_style = space +indent_size = 4 +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..2462fa3c3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,14 @@ +* text=auto +*.png binary +*.jpg binary +*.paa binary + +# Change GitHub language categorization +addons/**/*.cpp linguist-language=SQF +addons/**/*.hpp linguist-language=SQF + +optionals/**/*.cpp linguist-language=SQF +optionals/**/*.hpp linguist-language=SQF + +# Do not count hemtt includes in language usage stats +include/* linguist-vendored diff --git a/.github/workflows/arma.yml b/.github/workflows/arma.yml new file mode 100644 index 000000000..890909f06 --- /dev/null +++ b/.github/workflows/arma.yml @@ -0,0 +1,31 @@ +name: Arma + +on: + push: + branches: + - master + pull_request: + +jobs: + validate: + runs-on: ubuntu-latest + steps: + - name: Checkout the source code + uses: actions/checkout@master + - name: Validate SQF + run: python3 tools/sqf_validator.py + - name: Validate Config + run: python3 tools/config_style_checker.py + - name: Validate Stringtables + run: python3 tools/stringtable_validator.py + - name: Check Strings + run: python3 tools/check_strings.py + + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout the source code + uses: actions/checkout@master + - name: Lint (sqflint) + uses: arma-actions/sqflint@master + continue-on-error: true # No failure due to many false-positives diff --git a/Makefile b/Makefile deleted file mode 100644 index e517d7fbb..000000000 --- a/Makefile +++ /dev/null @@ -1,91 +0,0 @@ -VERSION = $(shell cat "VERSION") -PREFIX = kat -BIN = @kat_aceAdvMedical -ZIP = kat_aceAdvMedical -FLAGS = -i include -w unquoted-string -w redefinition-wo-undef -VERSION_FILES = README.md mod.cpp - -MAJOR = $(word 1, $(subst ., ,$(VERSION))) -MINOR = $(word 2, $(subst ., ,$(VERSION))) -PATCH = $(word 3, $(subst ., ,$(VERSION))) -BUILD = $(word 4, $(subst ., ,$(VERSION))) -VERSION_S = $(MAJOR).$(MINOR).$(PATCH) -GIT_HASH = $(shell git log -1 --pretty=format:"%H" | head -c 8) - -ifeq ($(OS), Windows_NT) - ARMAKE = ./tools/armake.exe # Downloaded via make.ps (rename armake_wXY.exe otherwise) -else - ARMAKE = armake -endif - -$(BIN)/addons/$(PREFIX)_%.pbo: addons/% - @mkdir -p $(BIN)/addons - @echo " PBO $@" - @${ARMAKE} build ${FLAGS} -f -e "version=$(GIT_HASH)" $< $@ - -$(BIN)/optionals/$(PREFIX)_%.pbo: optionals/% - @mkdir -p $(BIN)/optionals - @echo " PBO $@" - @${ARMAKE} build ${FLAGS} -f -e "version=$(GIT_HASH)" $< $@ - -# Shortcut for building single addons (eg. "make .pbo") -%.pbo: - "$(MAKE)" $(MAKEFLAGS) $(patsubst %, $(BIN)/addons/$(PREFIX)_%, $@) - -all: $(patsubst addons/%, $(BIN)/addons/$(PREFIX)_%.pbo, $(wildcard addons/*)) \ - $(patsubst optionals/%, $(BIN)/optionals/$(PREFIX)_%.pbo, $(wildcard optionals/*)) - -filepatching: - "$(MAKE)" $(MAKEFLAGS) FLAGS="-w unquoted-string -p" - -$(BIN)/keys/%.biprivatekey: - @mkdir -p $(BIN)/keys - @echo " KEY $@" - @${ARMAKE} keygen -f $(patsubst $(BIN)/keys/%.biprivatekey, $(BIN)/keys/%, $@) - -$(BIN)/addons/$(PREFIX)_%.pbo.$(PREFIX)_$(VERSION)-$(GIT_HASH).bisign: $(BIN)/addons/$(PREFIX)_%.pbo $(BIN)/keys/$(PREFIX)_$(VERSION).biprivatekey - @echo " SIG $@" - @${ARMAKE} sign -f -s $@ $(BIN)/keys/$(PREFIX)_$(VERSION).biprivatekey $< - -$(BIN)/optionals/$(PREFIX)_%.pbo.$(PREFIX)_$(VERSION)-$(GIT_HASH).bisign: $(BIN)/optionals/$(PREFIX)_%.pbo $(BIN)/keys/$(PREFIX)_$(VERSION).biprivatekey - @echo " SIG $@" - @${ARMAKE} sign -f -s $@ $(BIN)/keys/$(PREFIX)_$(VERSION).biprivatekey $< - -signatures: $(patsubst addons/%, $(BIN)/addons/$(PREFIX)_%.pbo.$(PREFIX)_$(VERSION)-$(GIT_HASH).bisign, $(wildcard addons/*)) \ - $(patsubst optionals/%, $(BIN)/optionals/$(PREFIX)_%.pbo.$(PREFIX)_$(VERSION)-$(GIT_HASH).bisign, $(wildcard optionals/*)) - -#extensions: $(wildcard extensions/*/*) -# cd extensions/build && cmake .. && make -# find ./extensions/build/ \( -name "*.so" -o -name "*.dll" \) -exec cp {} ./ \; - -#extensions-win64: $(wildcard extensions/*/*) -# cd extensions/build && CXX=$(eval $(which g++-w64-mingw-i686)) cmake .. && make - -version: - @echo " VER $(VERSION)" - $(shell sed -i -r -s 's/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/$(VERSION)/g' $(VERSION_FILES)) - $(shell sed -i -r -s 's/[0-9]+\.[0-9]+\.[0-9]+/$(VERSION_S)/g' $(VERSION_FILES)) - @echo -e "#define MAJOR $(MAJOR)\n#define MINOR $(MINOR)\n#define PATCHLVL $(PATCH)\n#define BUILD $(BUILD)" > "addons/main/script_version.hpp" - #$(shell sed -i -r -s 's/ACE_VERSION_MAJOR [0-9]+/ACE_VERSION_MAJOR $(MAJOR)/g' extensions/CMakeLists.txt) - #$(shell sed -i -r -s 's/ACE_VERSION_MINOR [0-9]+/ACE_VERSION_MINOR $(MINOR)/g' extensions/CMakeLists.txt) - #$(shell sed -i -r -s 's/ACE_VERSION_REVISION [0-9]+/ACE_VERSION_REVISION $(PATCH)/g' extensions/CMakeLists.txt) - -commit: - @echo " GIT commit release preparation" - @git add -A - @git diff-index --quiet HEAD || git commit -am "Prepare release $(VERSION_S)" -q - -push: commit - @echo " GIT push release preparation" - @git push -q - -release: clean version commit - @"$(MAKE)" $(MAKEFLAGS) signatures - @echo " ZIP $(ZIP)_$(VERSION_S).zip" - @cp mod.cpp $(BIN) - @zip -qr $(ZIP)_$(VERSION_S).zip $(BIN) - -clean: - rm -rf $(BIN) $(ZIP)_*.zip - -.PHONY: all filepatching signatures extensions extensions-win64 version commit push release clean diff --git a/addons/airway/ACE_Medical_Treatment_Actions.hpp b/addons/airway/ACE_Medical_Treatment_Actions.hpp index 331b04a0a..12ebb82ea 100644 --- a/addons/airway/ACE_Medical_Treatment_Actions.hpp +++ b/addons/airway/ACE_Medical_Treatment_Actions.hpp @@ -86,7 +86,7 @@ class ACE_Medical_Treatment_Actions { callbackSuccess = QFUNC(treatmentAdvanced_CancelRecoveryPosition); }; class CheckPulse; - class CheckAirway: checkPulse { + class CheckAirway: CheckPulse { displayName = CSTRING(checkAirway); displayNameProgress = CSTRING(action_checking); category = "airway"; diff --git a/addons/airway/functions/fnc_updateInjuryList.sqf b/addons/airway/functions/fnc_updateInjuryList.sqf index 0c8f2b07c..036650150 100644 --- a/addons/airway/functions/fnc_updateInjuryList.sqf +++ b/addons/airway/functions/fnc_updateInjuryList.sqf @@ -164,12 +164,12 @@ if (_target getVariable [QGVAR(recovery), false]) then { // Display cyanosis in overview tab, only when head/arms are selected if (EGVAR(breathing,cyanosisShowInMenu) && (_selectionN in [0,2,3])) then { - private _spO2 = 0; - - if (alive _target) then { + private _spO2 = 0; + + if (alive _target) then { _spO2 = GET_SPO2(_target); - }; - + }; + if (_spO2 <= EGVAR(breathing,slightValue) || HAS_TOURNIQUET_APPLIED_ON(_target,_selectionN)) then { private _cyanosisArr = switch (true) do { case (HAS_TOURNIQUET_APPLIED_ON(_target,_selectionN)); diff --git a/addons/airway/stringtable.xml b/addons/airway/stringtable.xml index 46470733e..bd3b0bc80 100644 --- a/addons/airway/stringtable.xml +++ b/addons/airway/stringtable.xml @@ -1,7 +1,7 @@ - - - + + + ACE-Airway injuries activated? ACE-Atemwegverletzungen aktiviert? ACE- Czy urazy dróg oddechowych mają być aktywowane? @@ -17,7 +17,7 @@ KAM-Airway を有効化しますか? ACE - Lesões nas vias aéreas ativadas? - + Probability for an obstructed airway Atemwegsverlegungswahrscheinlichkeit Szansa na zator dróg oddechowych @@ -33,7 +33,7 @@ 気道閉塞の確率 Probabilidade de obstrução das vias aéreas - + Probability for airway occluding Atemwegsverlegungswahrscheinlichkeit durch Erbrochenes Szansa na zablokowanie się dróg oddechowych @@ -49,7 +49,7 @@ 気道異物の確率 Probabilidade de oclusão das vias aéreas - + Occlusion repeat timer Zeit für die Wiederholung des Erbrechens 구토 반복 타이머 @@ -62,7 +62,7 @@ Tiempo de repetición de las oclusiones Temporizador de repetição de oclusão - + Activate the puking sound? Erbrechengeräusch abspielen? Czy dźwięk wymiotowania ma być włączony? @@ -78,7 +78,7 @@ 嘔吐音を再生しますか? Ativar o som de vomitar? - + Community called keko had addon for AFK players. They were put unconscious so others could drag them away. That triggered chances for airway problems. This string prevents that from happening when they get unconscious by that AFK addon. Die Community namens Keko hatte ein Addon für AFK-Spieler. Sie wurden bewusstlos gemacht, damit andere sie wegziehen konnten. Das löste Chancen für Atemwegsprobleme aus. Diese Zeichenfolge verhindert, dass dies geschieht, wenn sie von diesem AFK-Addon bewusstlos werden. Społeczność zwana keko miała dodatek dla graczy AFK. Byli nieprzytomni, żeby inni mogli ich odciągnąć. Spowodowało to problemy z drogami oddechowymi. Ten ciąg zapobiega temu, gdy stracą przytomność przez ten dodatek AFK. @@ -94,7 +94,7 @@ kekoというコミュニティにはAFKプレーヤー用のアドオンがありました。他の人がそれらを引き離すことができるように、彼らは無意識に置かれました。それが気道の問題の可能性を引き起こしました。この文字列は、AFKアドオンによって意識が失われたときにそれが発生するのを防ぎます。 A comunidade Keko tinha um addon para os jogadores AFK. Eles foram colocados inconscientes para que outros pudessem arrastá-los. Isso desencadeou chances de problemas nas vias aéreas. Esta corda evita que isso aconteça quando eles ficam inconscientes por causa do addon. - + Check Airways Überprüfe Atemwege Sprawdź drogi oddechowe @@ -110,7 +110,7 @@ 気道を確認する Verificar as vias aéreas - + %1 checked airways: %2, %3 %1 überprüfte Atemwege: %2, %3 %1 sprawdził drogi oddechowe: %2, %3 @@ -124,7 +124,7 @@ %1 が気道を確認しました: %2, %3 %1 verificou as vias aéreas: %2, %3 - + %1 inserted a %2 %1 intubierte mit %2 %1 intubował %2 @@ -140,7 +140,7 @@ %1 は %2 を挿管しました %1 intubou com %2 - + Occluded Verstopft Zator @@ -156,7 +156,7 @@ 異物発生 Ocluída - + Obstruction Obstruktion Niedrożne @@ -172,7 +172,7 @@ 閉塞発生 Obstruída - + Mitigated obstruction Ręcznie udrożnione 閉塞軽減中 @@ -185,7 +185,7 @@ Obstrucción mitigada Obstrução mitigada - + Obstruction is temporarily mitigated Drogi oddechowe są ręcznie udrożnione L'obstruction a été temporairement atténuée @@ -197,7 +197,7 @@ 혀막힘이 일시적으로 완화되었습니다. Obstrução temporariamente mitigada - + Airways are clear Atemwege sind frei Drogi oddechowe są czyste @@ -213,7 +213,7 @@ 気道は確保されています As vias aéreas estão limpas - + No medical suction needed Absaugen nicht notwendig Brak konieczności odsysania @@ -229,7 +229,7 @@ 医療吸引は必要ありません Não é necessária sucção médica - + Airway management needed Atemwegsmanagement erforderlich Potrzebne udrażnianie dróg oddechowych @@ -245,7 +245,7 @@ 気道管理が必要です Necessidade de gerenciamento das vias aéreas - + Medical suction needed Absaugen notwendig Potrzebne odsysanie @@ -261,7 +261,7 @@ 医療吸引が必要です Sucção médica necessária - + Airway management has already been performed Atemwegsmanagement wurde bereits durchgeführt Drogi oddechowe są udrażniane @@ -277,7 +277,7 @@ 気道管理はすでに行われています O gerenciamento das vias aéreas já foi realizado - + Airways are clear Atemwege sind frei Drogi oddechowe są czyste @@ -293,7 +293,7 @@ 気道は確保されています As vias aéreas estão limpas - + Occlusion removed Verstopfung entfernt Zablokowanie usunięte @@ -309,7 +309,7 @@ 異物が除去されました Oclusão removida - + Item could not be used, airways are not clear Gegenstand konnte nicht verwendet werden, Atemwege sind nicht frei Przedmiot nie może zostać użyty, drogi oddechowe nie są czyste @@ -325,7 +325,7 @@ 使用できませんでした、気道が詰まっています O item não pôde ser usado, as vias aéreas estão bloqueadas - + Hyperextending Head Kopf überstrecken Odchyl głowę @@ -341,7 +341,7 @@ 気道確保 (頭部後屈あご先挙上法) Hiperextensão de cabeça - + Hyperextended Head Kopf überstreckt Głowa odchylona @@ -357,7 +357,7 @@ 気道確保中 (頭部後屈あご先挙上法) Cabeça hiperextendida - + Extending Kopf überstrecken Odchylanie głowy @@ -373,7 +373,7 @@ 気道確保実施中 Hiperextendendo cabeça - + Hyperextending Head canceled Kopf überstrecken abgebrochen Przestałeś odchylać głowę @@ -389,7 +389,7 @@ 気道確保が中断されました Hiperextensão cancelada - + Don't run away, you're saving a life! Renne nicht weg, du rettest ein Leben! Nie uciekaj, ratujesz życie! @@ -405,7 +405,7 @@ 移動しないでください、 あなたは気道確保中です! Não fuja, você está salvando uma vida! - + Head turn performed, airways are still not clear Kopfdrehung durchgeführt, Atemwege sind noch nicht frei Obrót głowy wykonany, drogi oddechowe wciąż nie są czyste @@ -421,7 +421,7 @@ 試みましたが、異物がまだ残っています Giro de cabeça executada, as vias aéreas ainda estão bloqueadas - + Head turning Kopf zur Seite drehen Obróć głowę @@ -437,7 +437,7 @@ 異物の除去 Virar cabeça - + Turning the head Kopf zur Seite drehen Obracanie głowy @@ -453,7 +453,7 @@ 異物を除去しようとしています Virando a cabeça - + Medical suction not needed Absaugen nicht notwendig Odsysanie nie jest potrzebne @@ -469,7 +469,7 @@ 医療吸引は必要ありません Sucção médica não necessária - + Checking Airway Atemwege Kontrollieren Sprawdzanie dróg oddechowych @@ -485,7 +485,7 @@ 気道を確認する Verificando as vias aéreas - + Placing Platziere Zakładanie @@ -501,7 +501,7 @@ 装着中 Colocando - + King LT Larynxtubus Rurka krtaniowa @@ -517,7 +517,7 @@ King LT (喉頭エアウェイ) Tubo Laríngeo - + The King LT is used to save the airways Der Larynxtubus ist ein Hilfsmittel zur Atemwegssicherung Rurka krtaniowa służy do ratowania dróg oddechowych @@ -533,7 +533,7 @@ King LT (喉頭エアウェイ)は気道を確保するために使用されます O Tubo Laríngeo evita obstruções e oclusões - + Guedel Tube Guedeltubus Rurka ustno-gardłowa @@ -549,7 +549,7 @@ ゲデルチューブ (口咽頭エアウェイ) Cânula de Guedel - + The Guedel Tube is used to save the airways Der Guedeltubus ist ein Hilfsmittel zur Atemwegssicherung Rurka ustno-gardłowa zabezpiecza drogi oddechowe @@ -565,7 +565,7 @@ ゲデルチューブ (口咽頭エアウェイ)は気道を確保するために使用されます A Cânula de Guedel evita obstruções - + ACCUVAC is a medical suction device for airway suction with battery drive for mobile use in emergency medicine. Der ACCUVAC ist ein medizinisches Absauggerät zur Atemwegsabsaugung mit Akkubetrieb für den mobilen Einsatz in der Notfallmedizin. ACCUVAC jest to ssak elektryczny do użytku mobilnego. @@ -581,7 +581,7 @@ ACCUVACは、救急医療で携帯使用するための電源を備えた気道吸引用の医療用吸引装置です。 ACCUVAC é uma unidade de sucção portátil utilizada para tratar vias aéreas em caso de emergência médica. - + Vomit (Small) Erbrochenes (Klein) Wymiociny(małe) @@ -597,7 +597,7 @@ 吐瀉物 (小) Vômito (Pequeno) - + Success probability for head-turning Erfolgsrate für Kopf zur Seite drehen Prawdopodobieństwo sukcesu w obróceniu głowy @@ -613,7 +613,7 @@ 異物の除去の成功確率 Probabilidade de sucesso ao virar a cabeça - + Higher, the better the probability of success Größer = höhere Chance auf Erfolg Im wyższa, tym większe prawdopodobieństwo sukcesu @@ -629,7 +629,7 @@ 高いほど、成功の可能性が高くなります Quanto maior, melhor a probabilidade de sucesso - + Allow Larynxtubus Larynxtubus erlauben Pozwól na użycie rurki krtaniowej @@ -645,7 +645,7 @@ 喉頭エアウェイ(King LT)の許可 Permitir Tubo Laríngeo - + Training level required to use a Larynxtubus - KingLT Benötigtes Training Level um den Larynxtubus - KingLT zu nutzen Poziom wyszkolenia wymagany do korzystania z rurki krtaniowej @@ -661,7 +661,7 @@ 喉頭エアウェイ(King LT)の使用に訓練レベルを必要とさせます。 Nível de treinamento necessário para usar um Tubo Laríngeo - + Allow Guedeltubus Guedeltubus erlauben Pozwól na użycie rurki ustno-gardłowej @@ -677,7 +677,7 @@ 口咽頭エアウェイ(ゲデルチューブ)の許可 Permitir Cânula de Guedel - + Training level required to use a Guedeltubus Benötigtes Trainings Level um den Guedeltubus zu nutzen Poziom wyszkolenia wymagany do korzystania z rurki ustno-gardłowej @@ -693,7 +693,7 @@ 口咽頭エアウェイ(ゲデルチューブ)の使用に訓練レベルを必要とさせます。 Nível de treinamento necessário para usar uma Cânula de Guedel - + Allow Accuvac Accuvac erlauben Pozwól na użycie Accuvac @@ -709,7 +709,7 @@ Accuvacの許可 Permitir ACCUVAC - + Training level required to use an Accuvac Benötigtes Trainings Level um den Accuvac zu nutzen Poziom wyszkolenia wymagany do korzystania z Accuvac @@ -725,7 +725,7 @@ Accuvacの使用に訓練レベルを必要とさせます。 Nível de treinamento necessário para usar um ACCUVAC - + Time to check Airways Zeit um Atemwege zu prüfen Czas sprawdzenia dróg oddechowych @@ -741,7 +741,7 @@ 気道の確認にかかる時間 Tempo para verificar as vias aéreas - + How long it will take to check Airways Wie lange es dauert, um die Atemwege zu prüfen Ile czasu zajmie sprawdzenie dróg oddechowych @@ -757,7 +757,7 @@ 気道の確認を完了するのにどのくらい時間がかかるか設定します Quanto tempo levará para verificar as vias aéreas - + Time for head turning Zeit um den Kopf zu drehen Czas na obrócenie głowy @@ -773,7 +773,7 @@ 異物の除去にかかる時間 Tempo para virar a cabeça - + Time for overstretch the head Zeit um den Kopf zu überstrecken Czas na odchylenie głowy @@ -789,7 +789,7 @@ 気道確保にかかる時間 Tempo para hiperextender a cabeça - + How long it will take to overstretch the head Wie lange es dauert, um den Kopf zu überstrecken Ile czasu zajmie odchylenie głowy @@ -805,7 +805,7 @@ 気道確保 (頭部後屈あご先挙上法) を完了するのにどのくらい時間がかかるか設定します Quanto tempo demorará para hiperextender a cabeça - + How long it will take to turn head Wie lange dauert es, den Kopf zur Seite zu drehen Ile czasu zajmie obrócenie głowy @@ -821,7 +821,7 @@ 異物の除去を完了するのにどのくらい時間がかかるか設定します Quanto tempo demorará para virar a cabeça - + Time for Accuvac Zeit um den Accuvac zu nutzen Czas na użycie Accuvac @@ -837,7 +837,7 @@ Accuvacにかかる時間 Tempo para ACCUVAC - + How long it will take to use Accuvac Wie lange dauert es, den Accuvac zu nutzen Ile czasu zajmie użycie Accuvac'a @@ -853,7 +853,7 @@ Accuvacを使用するのにどのくらい時間がかかるか設定します Quanto tempo demorará para usar ACCUVAC - + Time for Larynxtubus Zeit um den Larynxtubus zu nutzen Czas na użycie rurki krtaniowej @@ -869,7 +869,7 @@ 喉頭エアウェイ(King LT)にかかる時間 Tempo para Tubo Laríngeo - + How long it will take to use Larynxtubus Wie lange dauert es, den Laryxtubus zu nutzen Ile czasu zajmie użycie rurki krtaniowej @@ -885,7 +885,7 @@ 喉頭エアウェイ(King LT)を使用するのにどのくらい時間がかかるか設定します Quanto tempo demorará para usar um Tubo Laríngeo - + Time for Geudeltubus Zeit um den Geudeltubus zu nutzen Czas na użycie rurki ustno-gardłowej @@ -901,7 +901,7 @@ 口咽頭エアウェイ(ゲデルチューブ)にかかる時間 Tempo para usar uma Cânula de Guedel - + How long it will take to use Guedeltubus Wie lange dauert es, den Guedeltubus zu nutzen Jak długo potrwa użycie rurki ustno-gardłowej @@ -917,7 +917,7 @@ 口咽頭エアウェイ(ゲデルチューブ)を使用するのにどのくらい時間がかかるか設定します Quanto tempo demorará para usar uma Cânula de Guedel - + Colored activitylogs (AED-X/Pulseoximeter) Bunte Activitylogs (AED-X/Pulseoximeter) Kolorowe logi aktywności (AED-X/Pulsoksymetr) @@ -933,7 +933,7 @@ 色付きの活動ログ(AED-X /パルスオキシメーター) Registros de atividade colorizados (DEA-X\Oxímetro) - + Colors the Activitylogs of AED-X or Pulseoximeter red, if any value is critical Färbt die Activitylogs von AED-X oder Pulsoximeter rot, wenn ein Wert kritisch ist Zabarwia logi AED-X lub pulsoksymetru na czerwono, jeśli jakaś wartość jest krytyczna @@ -949,7 +949,7 @@ 値が重要な場合は、AED-Xまたはパルスオキシメーターのアクティビティログを赤に着色します Exibe os registros de atividade em vermelhos se algum valor for crítico - + Established in recovery position In die stabile Seitenlage gebracht Ułożony w pozycji bezpiecznej @@ -963,7 +963,7 @@ Posición lateral de seguridad establecida Posição de recuperação estabelecida - + Establish recovery position In die stabile Seitenlage legen Ułóż w pozycji bezpiecznej @@ -977,7 +977,7 @@ Establecer posición lateral de seguridad Estabelecer posição de recuperação - + Establishing recovery position In die stabile Seitenlage legen Układanie w pozycji @@ -991,7 +991,7 @@ Moviendo a posición lateral de seguridad Estabelecendo posição de recuperação - + Recovery position established successfully Erfolgreich in die stabile Seitenlage gelegt Pomyślnie ułożono w pozycji bezpiecznej @@ -1005,7 +1005,7 @@ Posición lateral de seguridad establecida Posição de recuperação estabelecida com sucesso - + Recovery position cancelled Stabile Seitenlage abgebrochen Przerwano pozycję bezpieczną @@ -1019,7 +1019,7 @@ Cambio de posición cancelado Posição de recuperação cancelada - + %1 established recovery position %1 hat die stabile Seitenlage durchgeführt %1 ułożył w pozycji bezpiecznej @@ -1033,7 +1033,7 @@ %1 estableció la posición lateral de seguridad %1 estabeleceu a posição de recuperação - + Time for recovery position Zeit für die stabile Seitenlage Czas na ułożenie w pozycji bezpiecznej @@ -1047,7 +1047,7 @@ Tiempo para establecer en posición lateral de seguridad Tempo para estabelecimento de posição de recuperação - + How long it will take to establish recovery position Die Zeit, wie lange es dauert, eine erfolgreiche stabile Seitenlage durchzuführen Jak długo potrwa ułożenie w pozycji bocznej bezpiecznej @@ -1061,7 +1061,7 @@ Cuanto tiempo tomará establecer la posición de lateral de seguridad Quanto tempo demora para estabelecer a posição de recuperação - + Cancel recovery position Stabile Seitenlage abbrechen Przerwij pozycję bezpieczną @@ -1075,7 +1075,7 @@ Cancelar posición lateral de seguridad Cancelar posição de recuperação - + Cancelling recovery position Stabile Seitenlage abbrechen Przerywanie pozycji bezpiecznej @@ -1089,7 +1089,7 @@ Cancelando la posición lateral de seguridad Cancelando posição de recuperação - + Time for cancelling recovery position Die Zeit, wie lange es dauert, eine stabile Seitenlage abzubrechen Czas na przerwanie pozycji bezpiecznej @@ -1103,7 +1103,7 @@ Tiempo para cancelar la posición lateral de seguridad Tempo para cancelamento de posição de recuperação - + How long it will take to establish recovery position Die Zeit, wie lange es dauert, eine stabile Seitenlage abzubrechen Jak długo potrwa przerwanie pozycji bocznej bezpiecznej @@ -1117,7 +1117,7 @@ Cuanto tiempo tomará cancelar la posición lateral de seguridad Quanto tempo demora para cancelar a posição de recuperação - + Not obstructed Nicht obstruiert Drożne @@ -1132,7 +1132,7 @@ 无阻塞 Não obstruída - + Not occluded Nicht verstopft Brak zatoru @@ -1147,7 +1147,7 @@ 无闭塞 Não ocluída - + Basic Settings Podstawowe Ustawienia Impostazioni base @@ -1160,19 +1160,19 @@ Parámetros básicos Configurações básicas - + Recovery position + Overstretch Settings Impostazioni posizione laterale di sicurezza e stiramento Nastavení stabilizované polohy a narovnávání hlavy Paramètres de position latérale de sécurité + hyperextension 회복 자세 + 머리 젖히기 설정 - Wiederherstellungsposition + Überdehnungseinstellungen + Einstellungen der stabilen Seitenlage + Überstreckung 恢复体态设置 回復体位設定 Parámetros de posición lateral de seguridad e hiperextensión de cabeza Configurações de posição de recuperação + hiperextensão de cabeça - + Airway items Settings Impostazione oggetti vie aeree Nastavení předmětů dýchacích cest diff --git a/addons/breathing/ACE_Medical_Treatment_Actions.hpp b/addons/breathing/ACE_Medical_Treatment_Actions.hpp index 067745318..78023d5ba 100644 --- a/addons/breathing/ACE_Medical_Treatment_Actions.hpp +++ b/addons/breathing/ACE_Medical_Treatment_Actions.hpp @@ -162,7 +162,7 @@ class ACE_Medical_Treatment_Actions { animationPatientUnconscious = "AinjPpneMstpSnonWrflDnon_rolltoback"; animationPatientUnconsciousExcludeOn[] = {"ainjppnemstpsnonwrfldnon"}; }; - class CheckCyanosis: CheckPulse{ + class CheckCyanosis: CheckPulse { displayName = CSTRING(CheckCyanosis_Name); displayNameProgress = CSTRING(CheckCyanosis_Progress); treatmentTime = 3; diff --git a/addons/breathing/functions/fnc_fullHealLocal.sqf b/addons/breathing/functions/fnc_fullHealLocal.sqf index 5baa569d4..d2ed5b252 100644 --- a/addons/breathing/functions/fnc_fullHealLocal.sqf +++ b/addons/breathing/functions/fnc_fullHealLocal.sqf @@ -48,8 +48,8 @@ _unit setVariable [QEGVAR(chemical,isTreated) ,true,true]; _unit setVariable [QEGVAR(chemical, CS), false, true]; _unit setVariable [QEGVAR(chemical,timeleft), missionNamespace getVariable [QEGVAR(chemical,infectionTime), 60], true]; if (_unit getVariable [QEGVAR(chemical, painEffect), 0] != 0) then { - KAT_PAIN_EFFECT ppEffectEnable false; - }; + KAT_PAIN_EFFECT ppEffectEnable false; +}; // Tourniquets { @@ -150,14 +150,14 @@ TRACE_1("after FullHeal",_state); if (ACEGVAR(advanced_fatigue,enabled)) then { ["PDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); - ["EDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); + ["EDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); ["LSDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); ACEGVAR(advanced_fatigue,swayFactor) = EGVAR(pharma,originalSwayFactor); } else { _unit enableStamina true; - _unit setAnimSpeedCoef 1; + _unit setAnimSpeedCoef 1; _unit setCustomAimCoef 1; }; diff --git a/addons/breathing/stringtable.xml b/addons/breathing/stringtable.xml index 4cadc1b7d..4cf756483 100644 --- a/addons/breathing/stringtable.xml +++ b/addons/breathing/stringtable.xml @@ -1,7 +1,7 @@ - - - + + + ACE-Breathing activated? ACE-Atmung aktiviert? ACE-Czy zaawansowane oddychanie ma być włączone? @@ -17,7 +17,7 @@ KAM-Breathing を有効化しますか? ACE - Respiração ativada? - + Lethal SpO2 value Tödlicher SpO2 Wert Wartość śmiertelna SpO2 @@ -33,7 +33,7 @@ SpO2の致命値 Valor letal de SpO2 - + Activate lethal SpO2 value Tödlichen SpO2 Wert aktivieren Aktywuj śmiertelną wartość SpO2 @@ -49,7 +49,7 @@ SpO2の致命値を有効化 Ativar o valor letal de SpO2 - + SpO2 positive multiplier SpO2 positiver Multiplikator SpO2正の乗数 @@ -63,7 +63,7 @@ Multiplicador positivo de SpO2 Multiplicador positivo de SpO2 - + SpO2 negative multiplier SpO2 negativer Multiplikator SpO2負の乗数 @@ -77,7 +77,7 @@ Multiplicador negativo de SpO2 Multiplicador negativo de SpO2 - + Enable cardiac arrest SpO2 reduction Aktivieren von SpO2-Verlust bei Herzstillstand 心停止時のSpO2低下を有効化 @@ -91,7 +91,7 @@ Habilitar la reducción de SpO2 en paro cardiaco Habilitar a redução de SpO2 na parada cardíaca - + Perfusion multiplier Perfusionsindex 관류 계수 @@ -103,7 +103,7 @@ Multiplicador de perfusión Multiplicador de perfusão - + Probability for a pneumothorax Wahrscheinlichkeit für einen Pneumothorax Probabilidad de un neumotórax @@ -119,7 +119,7 @@ 気胸の確率 Probabilidade de um pneumotórax - + Attach Pulse Oximeter Benutze Pulsoximeter Załóż Pulsoksymetr @@ -135,7 +135,7 @@ パルスオキシメーターを取り付ける Conectar Oxímetro de Pulso - + Remove Pulse Oximeter Entferne Pulsoximeter Zdejmij Pulsoksymetr @@ -151,7 +151,7 @@ パルスオキシメーターを取り外します Remover Oxímetro de Pulso - + Pulse Oximeter Pulsoximeter Pulsoksymetr @@ -167,7 +167,7 @@ パルスオキシメーター Oxímetro de Pulso - + Placing Anlegen Zakładanie @@ -183,7 +183,7 @@ 装着中 Colocando - + Removing Entferne Usuwanie @@ -199,7 +199,7 @@ 取り外し中 Removendo - + Pulse Oximeter: HR: %1 SpO2: %2 Pulsoximeter: HR: %1 SpO2: %2 Pulsoksymetr: HR: %1 SpO2: %2 @@ -215,7 +215,7 @@ パルスオキシメーター: HR: %1 SpO2: %2 Oxímetro de Pulso: HR: %1 SpO2: %2 - + %1 connected Pulseoximeter %1 hat Pulsoximeter angelegt %1 założył Pulsoksymetr @@ -231,7 +231,7 @@ %1 がパルスオキシメーターを装着 %1 conectou um Oxímetro de Pulso - + 1x Pneumothorax 1x Pneumothorax 1x Odma opłucnowa @@ -247,7 +247,7 @@ 1x 気胸 1x Pneumotórax - + Treating Behandle Tratando @@ -263,7 +263,7 @@ 治療中 Tratando - + Chest Seal Chest Seal Chest Seal @@ -279,7 +279,7 @@ チェストシール Selo Torácico - + Chest Seal is engineered to treat, seal, and reseal open chest wounds under most circumstances. Das Chest Seal ist so konzipiert, dass offene Brustwunden in den meisten Fällen behandelt, versiegelt und sie wieder verschlossen werden. Chest Seal służy do leczenia, tamowania i zamykania ran klatki piersiowej w każdych warunkach. Leczy odmę opłucnową. @@ -295,7 +295,7 @@ チェストシールはほとんどの状況下で、胸部への穿通創の閉塞と開放による治療ができるように設計されています。 O Selo Torácico é projetado para tratar, selar e reselar feridas no peito abertas na maioria das circunstâncias. - + Allow Pulseoximeter Pulsoximeter erlauben Zezwalaj na pulsoksymetr @@ -311,7 +311,7 @@ パルスオキシメータの許可 Permitir Oxímetro de Pulso - + Training level required to use a Pulseoximeter Benötigtes Trainings Level um ein Pulsoximeter zu nutzen Poziom wyszkolenia wymagany do korzystania z pulsoksymetru @@ -327,7 +327,7 @@ パルスオキシメータの使用に訓練レベルを必要とさせます。 Nível de treinamento necessário para usar um Oxímetro de Pulso - + Allow Chest Seal Chest Seal erlauben Pozwól na użycie Chest Seal @@ -343,7 +343,7 @@ チェストシールの許可 Permitir Selo Torácico - + Training level required to use a Chest Seal Benötigtes Trainings Level um ein Chest Seal zu nutzen Poziom wyszkolenia wymagany do korzystania z Chest Seal'a @@ -359,7 +359,7 @@ チェストシールの使用に訓練レベルを必要とさせます。 Nível de treinamento necessário para usar um Selo Torácico - + Allow Chest Seal self treatment チェストシールでの自己治療を許可 允许自我施用临时气胸密封贴 @@ -373,7 +373,7 @@ Permitir autotratarse con un sello torácico Permitir auto-tratamento com Selo Torácico - + Stable SpO2 value to gain consciousness Stabiler SpO2-Wert, um Bewusstsein zu erlangen Stabilna wartość SpO2 żeby odzyskać przytomność @@ -389,7 +389,7 @@ 意識を取り戻すために必要なSpO2値 Valor estável de SpO2 para recuperar consciência - + After reaching more than selected value (default 85), only then patient can get conscious Wenn mehr als der ausgewählte Wert (Standard 85) erreicht ist, kann der Patient erst dann das Bewusstsein wieder erlangen Po osiągnięciu wartości większej niż wybrana, pacjent może stać się przytomny. (Domyślna wartość to 85%) @@ -405,7 +405,7 @@ 設定した値 (デフォルトは85)を超えた後、患者は意識を取り戻すことができます Depois de atingir mais do que o valor selecionado (por padrão 85), somente então o paciente pode ficar consciente - + Drain Fluid Flüssigkeit ablassen Drenar fluido @@ -421,7 +421,7 @@ 胸腔ドレナージ Drenar fluido - + 1x Hemopneumothorax 1x Hämatopneumothorax 1x Krwiak opłucnej @@ -437,7 +437,7 @@ 1x 血気胸 1x Hemopneumotórax - + Needle Decompression Nadel Dekompression Descompresión con aguja @@ -453,7 +453,7 @@ 胸腔穿刺減圧 Agulha de Descompressão - + Needle Decompression (NCD Kit) Nadel Dekompression (NDK Kit) Igła dekompresyjna (NCD Kit) @@ -464,7 +464,7 @@ Decompressione con ago (NCD Kit) Agulha de Descompressão (Kit NCD) - + 1x Tension Pneumothorax 1x Spannungspneumothorax 1x Odma prężna @@ -480,7 +480,7 @@ 1x 緊張性気胸 1x Pneumotórax de tensão - + AAT Kit AAT Kit AAT Kit @@ -496,7 +496,7 @@ AATキット Kit AAT - + The Advanced Airway Treatment Kit is a single use kit designed to treat advanced airway conditions, like hemopneumothorax Das erweiterte Atemwegsbehandlung-Kit ist ein Einweg-Kit zur Behandlung fortgeschrittener Atemwegserkrankungen wie Hämatopneumothorax "Zaawansowany zestaw do leczenia dróg oddechowych" to zestaw jednorazowego użytku przeznaczony do leczenia zaawansowanych chorób dróg oddechowych, takich jak krwiak opłucnej lub odmę prężną. Zawiera igłę do odbarczania oraz drenażu @@ -512,7 +512,7 @@ AATキット (Advanced Airway Treatment, 高度気道治療)は、血気胸などの重度な呼吸器症状を治療するために設計された使い捨てキットです。 O AAT é um kit de uso único projetado para tratar problemas avançados de vias aéreas, como o hemopneumotórax. - + NCD Kit NDK Kit Zestaw NCD @@ -523,9 +523,9 @@ NCD Kit Kit NCD - + The Needle Chest Decompression Kit is a single use kit designed to treat a tensionpneumothorax. - Das Nadeldekompressions Kit ist ein Einweg-Kit das zur Behandlung eines Spannungspneumothorax vorgesehen ist. + Das Nadeldekompressions-Kit ist ein Einweg-Kit, das zur Behandlung eines Spannungspneumothorax vorgesehen ist. Zestaw NCD to zestaw jednorazowego użytku przeznaczony do leczenia odmy prężnej. NCDキット (Needle Chest Decompression, 胸部針減圧術)は、緊張性気胸の治療用に設計された使い捨てキットです。 NCD Kit je sada pro ošetření tenzního pneumotoraxu. Jedná se o jednorázový předmět. @@ -534,7 +534,7 @@ Il kit decompressione con ago è un kit a singolo uso adibito al trattamento del pneumotorace da tensione. O NCD é um kit de único uso projetado para tratar o pneumotórax hipertensivo - + Hemopneumothorax Chance Hämatopneumothorax Chance Szansa na wystąpienie krwiaka opłucnej @@ -546,7 +546,7 @@ Probabilità Emopneumotorace Probabilidade de hemopneumotórax - + Sets the chance for hemopneumothorax. Also sets the chance for tenstion pneumothorax (60% Hemo = 40% Tension) Ustawia szansę na krwiaka opłucnej. \nPonadto ustawia szansę dla odmy prężnej (60% Krwiak = 40% Prężna) 血気胸の発生確率を設定します。 緊張性気胸の発生確率も設定します。 (60% 血気胸 = 40% 緊張性) @@ -554,9 +554,10 @@ Règle la chance d'avoir un hémopneumothorax. Règle également la chance d'un pneumothorax sous tension (60% Hémo = 40% Tension) 혈기흉의 확률을 설정합니다. 또한 긴장성 기흉의 확률을 설정합니다. (혈기흉 60% = 긴장성 기흉 40%) Imposta la probabilità per l'emopneumotorace. Imposta inoltre la probabilità per pneumotorace da tensione. (60% Emopn. = 40% Pneum. tensione) + Legt die Wahrscheinlichkeit für einen Hämatopneumothorax fest. Legt auch die Wahrscheinlichkeit auf einen Spannungspneumothorax fest(60 % Hämo = 40 % Spannungspneu Define a chance de hemopneumotórax. Também define a chance de pneumotórax hipertensivo (60% Hemo = 40% Hipertensivo) - + Enable Advanced Pneumothoraxes Włącz zaawansowane odmiany odmy opłucnowej 高度な気胸を有効化 @@ -564,9 +565,10 @@ Activer les pneumothorax avancés 고급 기흉 활성화 Abilità pneumotorace avanzato + Ausgeprägte Pneumothoraces aktivieren Habilitar pneumotóraxes avançados - + Enables advanced pneumothoraxes - hemopneumothorax and tensionpneumothorax Włącza zaawansowane odmiany odmy opłucnowej - krwiaka opłucnej oraz odmę prężną 血気胸および緊張性気胸を有効化します @@ -574,9 +576,10 @@ Active les pneumothorax avancés - Hémopneumothorax et pneumothorax sous tension 고급 기흉을 활성화합니다. - 혈기흉 및 긴장성 기흉 Abilità la pneumotorace avanzato - emopneumotorace e pneumotorace da tensione + Aktiviert Ausgeprägte Pneumothoraces - Hämatopneumothoraces und Spannungspneumothoraces Permite pneumotóraxes avançados - hemopneumotórax e pneumotórax hipertensivo - + Advanced Pneumothorax Chance Szansa na wystąpienie zaawansowanych odmian odmy 高度な気胸の発生確率 @@ -584,9 +587,10 @@ Chance de pneumothorax avancé 고급 기흉 확률 Probabilità di pneumotorace avanzato + Wahrscheinlichkeit für ausgeprägten Pneumothorax Probabilidade de pneumotórax avançado - + The percentage chance that a patient will suffer from a hemopneumotorax or tension pneumothorax after they are treated for a pneumothorax. Treatment requires the draining of fluids with the use of an AAT Kit. Procentowa szansa, że pacjent będzie cierpieć na krwiaka opłucnej lub odmę prężną w tym samym czasie, gdy cierpi na odmę opłucnową. Zabieg wymaga drenażu opłucnej za pomocą zestawu AAT. La probabilidad de que un paciente sufra un hemotórax/neumotórax a tensión al mismo tiempo que padece un neumotórax. El tratamiento requiere el uso de un kit AAT. @@ -601,7 +605,7 @@ 気胸の治療を受けた後、患者が血気胸または緊張性気胸に苦しむ可能性の割合。治療には、AATキットを使用して体液を排出する必要があります。 A porcentagem de chance de um paciente sofrer de um pneumotórax avançado após a falta de tratamento de um pneumotórax simples. O tratamento requer a drenagem de fluidos com o uso do kit AAT. - + Hemothorax / Tension Pnuemothorax Treament Minimum Level Hämatopneumothorax / Spannungspneumothorax minimales Trainings Level Minimalny poziom wyszkolenia do leczenia krwiaka opłucnej lub odmy prężnej @@ -617,7 +621,7 @@ 血気胸/緊張性気胸治療の許可 Nível mínimo exigido para tratar hemopneumotórax/pneumotórax hipertensivo - + The minimum medical level required for someone to be able to perform the Needle Decompression and Drain Fluids treatment actions, used to treat Hemothorax or Tension Pneumothorax. Das minimale Trainingslevel, das benötigt wird, um das AAT Kit nutzen zu können. Dieses wird für die Behandlung eines Hämatopneumothorax oder Spannungspneumothorax benutzt. Minimalny poziom wyszkolenia medycznego wymagany, aby ktoś był w stanie wykonać leczenie igłą dekompresyjną i drenaż opłucnej, stosowane w leczeniu krwiaka opłucnej lub odmy prężnej. @@ -633,7 +637,7 @@ 胸腔穿刺減圧および胸腔ドレナージに訓練レベルを必要とさせます。 O nível médico mínimo exigido para que alguém possa realizar as ações de tratamento de Descompressão de Agulha e Drenagem de Fluidos, usados ​​para tratar Hemotórax ou Pneumotórax Hipertensivo. - + Pneumothorax Damage Threshold Schadensschwellwert Pneumothorax Próg obrażeń, aby wystąpiła odma opłucnowa @@ -649,7 +653,7 @@ 負傷による気胸発生のしきい値 Dano mínimo para causar pneumotórax - + The amount of damage in a single impact, on a scale of 0 to 1, that needs to occur before there is a chance of pneumothorax. Lower values means that pneumothorax is more likely to occurr. Setting the value very low, or to zero, may cause unexpected behavior or pneumothorax from unexpected injuries. Die Höhe des Schadens bei einem einzigen Aufprall, welcher auf einer Skala von 0 bis 1 auftreten muss, bevor die Chance eines Pneumothoraxes besteht. Niedrigere Werte bedeuten, dass ein Pneumothorax wahrscheinlicher ist. Wird der Wert sehr niedrig oder auf null gesetzt, kann dies zu unerwartetem Verhalten oder zu einem Pneumothorax aufgrund unerwarteter Verletzungen führen. Poziom obrażeń w jednym uderzeniu w skali od 0 do 1, który musi wystąpić, zanim zaistnieje odma opłucnowa. Niższa wartość skutkuje większą szansą wystąpienia odmy. Ustawienie wartości bliskiej lub równej zeru może spowodować nieoczekiwane zachowanie lub skutkować uzyskaniem odmy płucnej od niewłaściwych ran. @@ -665,21 +669,21 @@ 一度の負傷で発生する気胸へのダメージ。値が低いほど、気胸が発生する可能性が高くなります。値を非常に低く設定するか、0に設定すると、予期しない動作や予期しない怪我による気胸を引き起こす可能性があります。 A quantidade de dano em um único impacto, em uma escala de 0 a 1, que precisa ocorrer antes que haja uma chance de pneumotórax. Valores mais baixos significam que o pneumotórax é mais provável de ocorrer. Definir o valor muito baixo ou zero pode causar um comportamento inesperado ou pneumotórax devido a lesões inesperadas. - + Hemopneumothorax internal bleeding amount 血気胸時の内出血量 혈기흉 내 출혈량 Quantità di sanguinamento interno da emopneumotorace Quantidade de hemorragia interna causada por hemopneumotórax - + Sets amount of internal bleeding that is applied while suffering from hemopneumothorax 血気胸時に発生する内出血の流出量を設定します 혈기흉을 앓는 동안 적용되는 내부 출혈량으 설정합니다. Imposta la quantità di sanguinamento interno che avviene quando hai un emopneumotorace Define a quantidade de hemorragia interna que ocorre enquanto sofre de hemopneumotórax - + Hardcore pneumothorax Trudna odma opłucnowa Erweitertes Pneumothoraxsystem @@ -695,7 +699,7 @@ 高度な気胸診断を有効化 Pneumotórax hardcore - + Enables hardcore mod for pneumothorax by not making it appear in medical menu - Stethoscope might be helpful Włącza tryb trudny dla odmy opłucnowej przez nie pojawianie się w menu medycznym - Stetoskop może być pomocny Aktiviert das erweiterte Pneumothoraxsystem, indem der Pneumothorax nicht im medizinischen Menü erscheint - Stethoskop könnte hilfreich sein @@ -711,7 +715,7 @@ 気胸診断のハードコアモードを有効にします。気胸が発生しても医療メニューに表示しません。-聴診器が役立つ場合があります Ativa o modo hardcore para pneumotórax que o torna identificável apenas com uso de estetoscópio (não aparece no menu médico) - + Hardcore tension pneumothorax and hemothorax Trudna odma prężna i krwiak opłucnej Erweitertes System für Spannungspneumothorax / Hemopneumothorax @@ -727,7 +731,7 @@ 高度な緊張性気胸と血気胸診断を有効化 Hemopneumotórax/pneumotórax hipertensivo hardcore - + Enables hardcore mod for tension and hemothorax by not making it appear in medical menu - Stethoscope might be helpful Włącza tryb trudny dla odmy prężnej i krwiaka opłucnej przez nie pojawianie się w menu medycznym - Stetoskop może być pomocny Aktiviert das erweiterte System für Spannungspneumothorax / Hemopneumothorax, indem der Spannungspneumothorax / Hemopneumothorax nicht im medizinischen Menü erscheint - Stethoskop könnte hilfreich sein @@ -743,7 +747,7 @@ 緊張性気胸診断と血気胸診断のハードコアモードを有効にします。それらが発生しても医療メニューに表示しません。-聴診器が役立つ場合があります Ativa o modo hardcore para hemopneumotórax e pneumotórax hipertensivo que os tornam identificáveis apenas com uso de estetoscópio (não aparecem no menu médico) - + Stethoscope Stetoskop Stethoskop @@ -759,7 +763,7 @@ 聴診器 Estetoscópio - + Allows you to auscultate lung sounds Pozwala na osłuchiwanie płuc Erlaubt die Lunge zu untersuchen @@ -775,7 +779,7 @@ 呼吸音を聴診することができます Permite auscultar sons pulmonares - + Auscultate Lung Sounds Osłuchaj płuca Lungengeräusche abhören @@ -791,7 +795,7 @@ 呼吸音を聴診する Auscultar sons pulmonares - + Listening Osłuchiwanie Abhören @@ -807,7 +811,7 @@ 聴診中 Escutando - + Stethoscope Sound Volume Głośność Stetoskopu Stethoskop Lautstärke @@ -823,7 +827,7 @@ 聴診器の音量 Volume do som do estetoscópio - + Determines how loud the breathing sounds are when using the stethoscope Określa jak głośne są dźwięki klatki piersiowej podczas używania Stetoskopu Bestimmt, wie laut die Thoraxgeräusche bei der Verwendung des Stethoskops sind @@ -839,7 +843,7 @@ 聴診器を使用した際の呼吸音の音の大きさを設定します Determina quão altos são os sons respiratórios ao usar o estetoscópio - + Unconscious SpO2 value Wartość SpO2 powodująca nieprzytomność SpO2 Grenzwert für Bewusstlosigkeit @@ -855,7 +859,7 @@ Бессознательное значение SpO2 Valor de SpO2 para inconsciência - + SpO2 value that will cause unconscious when dropped below that value Powoduje nieprzytomność gdy SpO2 spadnie poniżej tej wartości Verursacht Ohnmacht, wenn SpO2 wert unter diesen Wert fällt @@ -871,7 +875,7 @@ Значение SpO2, которое приведет к потере сознания при падении ниже этого значения Valores de SpO2 abaixo deste resultam em perda de consciência - + Show pneumothorax duplicate Ukázat duplikát pneumotoraxu Pneumothorax dupliziert anzeigen @@ -885,7 +889,7 @@ Mostrar neumotórax duplicada Mostrar pneumotórax duplicado - + Default is disabled. If enabled, units with tension pneumothorax or hemopneumothorax will also have pneumothorax injury displayed in medical menu. Výchozí nastavení zakázáno. Pokud povoleno, jednotky s tenzním pneumotoraxem a nebo hemotoraxem budou mít též zranění pneumotorax ukázán ve zdravotnické nabídce. Standardmäßig ist diese Option deaktiviert. Wenn aktiviert, wird bei Einheiten mit Spannungspneumothorax oder Hämopneumothorax auch die Pneumothorax-Verletzung im medizinischen Menü angezeigt. @@ -899,7 +903,7 @@ Deshabilitado en predeterminado. Si se habilita, las unidades con hemotórax/neumotórax a tensión tambien tendran la herida neumotórax mostrada en el menú médico. O padrão é desabilitado. Se ativado, as unidades com pneumotórax hipertensivo ou hemopneumotórax também exibirão lesões por pneumotórax no menu médico. - + Check Cyanosis Zyanose überprüfen Sprawdź sinicę @@ -914,7 +918,7 @@ Diagnosticar Cianosis Verificar Cianose - + Checking Cyanosis Zyanose prüfen Sprawdzanie sinicy @@ -929,7 +933,7 @@ Buscando signos de Cianosis Verificando Cianose - + Cyanosis Status: %1 Status der Zyanose: %1 Status sinicy: %1 @@ -944,7 +948,7 @@ Estado de Cianosis: %1 Estado de Cianose: %1 - + No Cyanosis Keine Zyanose Brak sinicy @@ -959,7 +963,7 @@ No hay Cianosis Sem Cianose - + Slight Cyanosis Leichte Zyanose Lekka sinica @@ -974,7 +978,7 @@ Cianosis ligera Cianose ligeira - + Mild Cyanosis Mittelschwere Zyanose Umiarkowana sinica @@ -989,7 +993,7 @@ Cianosis moderada Cianose média - + Severe Cyanosis Schwere Zyanose Ciężka sinica @@ -1004,7 +1008,7 @@ Cianosis severa Cianose severa - + Enable cyanosis diagnose Zyanose-Diagnose aktivieren Włącz diagnozę sinicy @@ -1019,7 +1023,7 @@ Permitir el diagnóstico de cianosis Ativar diagnóstico de cianose - + Enables cyanosis diagnose Aktiviert die Zyanose-Diagnose Włącza diagnozę sinicy @@ -1034,21 +1038,21 @@ Permitir el diagnóstico de cianosis Permite o diagnóstico de cianose - + Show cyanosis in overview tab オーバービューにチアノーゼの症状を表示 개요 탭에 치아노제 표시 Mostra la cianosi nella tabella di overview Mostrar cianose na guia de visão geral - + Shows cyanosis of patient in overview tab and hides cyanosis diagnose action オーバービューに患者のチアノーゼの症状を表示し、チアノーゼ診断アクションを非表示にします 개요 탭에 환자의 치아노제를 표시하고 치아노제 진단 행동을 숨깁니다. Mostra la cianosi del paziente nella tabella overview e nascondi l'azione di diagnosi della cianosi Mostra a cianose do paciente na guia de visão geral e oculta a ação de diagnóstico de cianose - + Slight cyanosis SpO2 value Leichter Zyanose SpO2-Wert Poziom SpO2 dla lekkiej sinicy @@ -1063,7 +1067,7 @@ Valor SpO2 de Cianosis ligera Valor de SpO2 para cianose ligeira - + Slight cyanosis value - default 90 SpO2 Leichte Zyanose - Standardwert 90 SpO2 Poziom SpO2 dla lekkiej sinicy - domyślnie 90 SpO2 @@ -1078,7 +1082,7 @@ Valor SpO2 de Cianosis ligera - Predeterminado en 90 SpO2 Valor de SpO2 para cianose ligeira - predeterminado em 90 SpO2 - + Mild cyanosis SpO2 value Mittelschwere Zyanose SpO2-Wert Poziom SpO2 dla umiarkowanej sinicy @@ -1093,7 +1097,7 @@ Valor SpO2 de Cianosis moderada Valor de SpO2 para cianose média - + Mild cyanosis value - default 75 SpO2 Mittelschwere Zyanose - Standardwert 75 SpO2 Poziom SpO2 dla umiarkowanej sinicy - domyślnie 75 SpO2 @@ -1108,7 +1112,7 @@ Valor SpO2 de Cianosis intermedia - Predeterminado en 75 SpO2 Valor de SpO2 para cianose média - predeterminado em 75 SpO2 - + Severe cyanosis SpO2 value Schwere Zyanose SpO2-Wert Poziom SpO2 dla ciężkiej sinicy @@ -1123,7 +1127,7 @@ Valor SpO2 de Cianosis severa Valor de SpO2 para cianose severa - + Severe cyanosis value - default 66 SpO2 \nShould be little bit higher than lethal SpO2 value Schwere Zyanose - Standardwert 66 SpO2 \nSollte etwas höher sein als der tödliche SpO2-Wert Poziom SpO2 dla ciężkiej sinicy - domyślnie 66 SpO2 \nPowinien być minimalnie wyższy niż wartość śmiertelna SpO2 @@ -1138,7 +1142,7 @@ Valor SpO2 de Cianosis severa - Predeterminado en 66 SpO2 \nEste valor deberia de ser un poco mas alto que el valor letal de SpO2 Valor de SpO2 para cianose severa - predeterminado em 66 SpO2\nDeve estar um pouco acima do valor letal de SpO2 - + Check Cyanosis Minimum Level Zyanose prüfen Trainingslevel Minimalny poziom wyszkolenia do sprawdzenia sinicy @@ -1152,7 +1156,7 @@ Nivel médico minimo requerido para analizar la cianosis Nível médico mínimo requerido para verificação de cianose - + The minimum medical level required for someone to be able to check cyanosis. Das Medic Level, das erforderlich ist, damit jemand eine Zyanose feststellen kann. Minimalny poziom wyszkolenia medycznego wymagany, aby ktoś był w stanie sprawdzić sinicę. @@ -1166,7 +1170,7 @@ Nivel médico minimo requerido para que alguien pueda analizar la cianosis O nível médico mínimo requerido para que alguém verifique a cianose - + Pneumothorax deterioration chance Possibilità di deterioramento del pneumotorace Šance na zhoršení pneumotoraxu @@ -1179,7 +1183,7 @@ Probabilidad de deterioro de un neumotórax Probabilidade de deterioração do pneumotórax - + Chance for pneumothorax to deteriorate into tension pneumothorax Possibilità che il pneumotorace possa peggiorare in pneumotorace tensivo Šance na zhoršení pneumotoraxu do tenzního pneumotoraxu @@ -1192,7 +1196,7 @@ Probabilidad que un neumotórax se deteriore a un neumotórax a tensión Probabilidade de pneumotórax se deteriorar em pneumotórax hipertensivo - + Deteriorating pneumothorax countdown Conto alla rovescia del pneumotorace in peggioramento Odpočet pro zhoršení pneumotoraxu @@ -1205,7 +1209,7 @@ Tiempo para la deterioración de un neumotórax Contagem regressiva para deterioração de um pneumotórax - + After this countdown a chance will be rolled whether or not the pneumothorax will deteriorate into tension pneumothorax Dopo questo conto alla rovescia verrà lanciata una possibilità se il pneumotorace si deteriorerà o meno in pneumotorace tensivo Poté co proběhne tento odpočet bude zkontrolována šance, zda se pneumotorax zhorší na tenzní pneumotorax @@ -1218,7 +1222,7 @@ Después de esta cuenta atrás, entrará la posibilidad de que un neumotórax deteriore a un neumotórax a tensión Após essa contagem regressiva, haverá uma chance de o pneumotórax se deteriorar ou não em pneumotórax hipertensivo. - + Basic Settings Podstawowe Ustawienia Impostazioni di base @@ -1231,7 +1235,7 @@ Parámetros básicos Configurações básicas - + Breathing items Settings Impostazioni oggetti respirazione Nastavení dýchacích předmětů @@ -1243,7 +1247,7 @@ Parámetros para las herramientas (Respiración) Configurações de itens de respiração - + Thorax injuries Settings Impostazioni lesioni al torace Nastavení zranění toraxu @@ -1255,7 +1259,7 @@ Parámetros para las heridas del pecho Configurações de ferimentos torácicos - + Cyanosis Settings Impostazioni di cianosi Nastavení cyanózy @@ -1267,7 +1271,7 @@ Parámetros para la cianosis Configurações de cianose - + [KAM] General Items [KAM] Podstawowe przedmioty [KAM] Obecné předměty @@ -1278,7 +1282,7 @@ [KAM] 일반 아이템 [KAM] Itens gerais - + Enable low SPO2 warning Aktiviere Schwarz aufleuchten bei niedrigen SPO2 Autoriser les alertes de SpO2 basse @@ -1287,7 +1291,7 @@ Abilità l'allerta di basso SPO2 Habilita aviso de baixo nível de SpO2 - + Makes your Screen flash black if you are below 90% SPO2 (default value) Lässt deinen Bildschirm Schwarz aufleuchten wenn du unter 90% SPO2 bist (Standard Wert) Fait flasher l'écran en noir si la valeur de SpO2 est en dessous de 90% (Valeur par défaut) @@ -1296,7 +1300,7 @@ Rendi lampeggiante il tuo schermo se sei sotto al 90% di SPO2 (valore standard) Faz sua tela piscar em preto se você estiver abaixo de 90% de SpO2 (valor padrão) - + Enable Stamina loss on low SPO2 Aktiviere Ausdauer verlust bei niedrigem SPO2 Autoriser la perte d'endurance en cas de SpO2 basse @@ -1305,7 +1309,7 @@ Abilita la perdità di stamina con bassa pressione SPO2 Ativar perda de stamina sob baixo SpO2 - + Makes you lose stamina if you are under 90% SPO2 (default value) Lässt dich Ausdauer verlieren wenn du unter 90% SPO2 bist (Standard Wert) Fait perdre de l'endurance si la valeur de SpO2 est en dessous de 90% (Valeur par défaut) @@ -1314,7 +1318,7 @@ Perdi stamina se sei sotto il 90% SPO2 (valore standard) Faz você perder stamina se estiver abaixo de 90% SpO2 (valor padrão) - + Low SPO2 warning level Niedrige SPO2 warn Level Niveau d'alerte de SpO2 basse @@ -1323,7 +1327,7 @@ Livello di allerta bassa SPO2 Nível de alerta de SpO2 baixo - + Lets you change the SPO2 Value at which you get the Flashing warning indicator and stamina loss effect Lässt dich das SPO2 Wert änder ab wann du das Schwarze aufleuchten und den Ausdauer verlust bekommst Règle la valeur de SpO2 à laquelle les flashs d'alerte et la perte d'endurance apparaissent diff --git a/addons/chemical/CfgAmmo.hpp b/addons/chemical/CfgAmmo.hpp index c776e9536..655e1e97a 100644 --- a/addons/chemical/CfgAmmo.hpp +++ b/addons/chemical/CfgAmmo.hpp @@ -29,11 +29,11 @@ class cfgAmmo }; class SmokeShell; - class KAT_G_M7A3: SmokeShell - { - KAT_csGas = 1; - model = QPATHTOF(ui\m7a3_throw.p3d); - dangerRadiusHit = -1; + class KAT_G_M7A3: SmokeShell + { + KAT_csGas = 1; + model = QPATHTOF(ui\m7a3_throw.p3d); + dangerRadiusHit = -1; suppressionRadiusHit = 20; typicalSpeed = 22; cost = 40; @@ -46,8 +46,8 @@ class cfgAmmo smokeColor[] = {0,0,0,0}; effectsSmoke = "ACE_M84FlashbangEffect"; whistleDist = 0; - grenadeFireSound[] = {}; - }; + grenadeFireSound[] = {}; + }; class APERSTripMine_Wire_Ammo; class KAT_Gas_TripWireMine_Ammo: APERSTripMine_Wire_Ammo { @@ -75,45 +75,45 @@ class cfgAmmo }; class BombCore; - //class Bo_GBU12_LGB; + //class Bo_GBU12_LGB; class BombCluster_01_Ammo_F; class KAT_CAS_M43_Ammo: BombCluster_01_Ammo_F { - aiAmmoUsageFlags = "64 + 128 + 512"; - allowAgainstInfantry = 1; - autoSeekTarget = 1; - canLock=1; - cameraViewAvailable = 1; - CraterEffects = "BombCrater"; - CraterWaterEffects = "ImpactEffectsWaterExplosion"; - cost = 0.1; - explosionTime = 2; - explosionForceCoef = 5; - explosive = 0.95; - ExplosionEffects = "BombExplosion"; - flightProfiles[] = {"LoalAltitude"}; - hit = 0; - indirectHit = 0; - indirectHitRange = 0; - irLock = 0; - laserLock = 1; - lightColor[] = {1, 0.15, 0, 1}; - maneuvrability = 16; - model = "\A3\Weapons_F\Ammo\Bomb_01_fly_F"; - nvLock = 1; - simulation = "shotMissile"; - soundFly[] = {"A3\Sounds_F\arsenal\weapons\Launchers\RPG32\Fly_RPG32",1,1,500}; - weaponLockSystem = 4; - weaponType = "Default"; + aiAmmoUsageFlags = "64 + 128 + 512"; + allowAgainstInfantry = 1; + autoSeekTarget = 1; + canLock=1; + cameraViewAvailable = 1; + CraterEffects = "BombCrater"; + CraterWaterEffects = "ImpactEffectsWaterExplosion"; + cost = 0.1; + explosionTime = 2; + explosionForceCoef = 5; + explosive = 0.95; + ExplosionEffects = "BombExplosion"; + flightProfiles[] = {"LoalAltitude"}; + hit = 0; + indirectHit = 0; + indirectHitRange = 0; + irLock = 0; + laserLock = 1; + lightColor[] = {1, 0.15, 0, 1}; + maneuvrability = 16; + model = "\A3\Weapons_F\Ammo\Bomb_01_fly_F"; + nvLock = 1; + simulation = "shotMissile"; + soundFly[] = {"A3\Sounds_F\arsenal\weapons\Launchers\RPG32\Fly_RPG32",1,1,500}; + weaponLockSystem = 4; + weaponType = "Default"; triggerDistance = 250; triggerSpeedCoef[] = {0.8,1}; submunitionAmmo="KAT_CAS_M43_Ammo_sub"; - class CamShakeExplode - { - power = 20; - duration = 2; - frequency = 5; - distance = 250; - }; + class CamShakeExplode + { + power = 20; + duration = 2; + frequency = 5; + distance = 250; + }; }; diff --git a/addons/chemical/CfgCloudlets.hpp b/addons/chemical/CfgCloudlets.hpp index 3e0d0ffef..81c4127fb 100644 --- a/addons/chemical/CfgCloudlets.hpp +++ b/addons/chemical/CfgCloudlets.hpp @@ -125,22 +125,22 @@ class KAT_GASTripEffect { class KAT_GAS_ClusterExplosion { class ExplosionEffect { - simulation = "particles"; - type = "CAS_GAS_Explosion_FX"; + simulation = "particles"; + type = "CAS_GAS_Explosion_FX"; position = "explosionPos"; lifeTime = 2; - particleFSLoop = 1; + particleFSLoop = 1; }; class CAS_GAS_Effect { simulation = "particles"; - type = "CAS_GAS_FX"; + type = "CAS_GAS_FX"; position = "explosionPos"; lifeTime = 240; - particleFSLoop = 1; + particleFSLoop = 1; }; class GAS_Script { simulation = "particles"; - type = "CAS_GAS_Explosion_FX_Script"; + type = "CAS_GAS_Explosion_FX_Script"; position = "explosionPos"; }; }; @@ -148,14 +148,14 @@ class KAT_GAS_ClusterExplosion { class KAT_CAS_R_HYDRA_Explosion { class CAS_R_GAS_Effect { simulation = "particles"; - type = "CAS_GAS_FX"; + type = "CAS_GAS_FX"; position = "explosionPos"; lifeTime = 240; - particleFSLoop = 1; + particleFSLoop = 1; }; class R_GAS_Script { simulation = "particles"; - type = "CAS_GAS_Explosion_FX_Script"; + type = "CAS_GAS_Explosion_FX_Script"; position = "explosionPos"; }; }; diff --git a/addons/chemical/CfgMagazineGroups.hpp b/addons/chemical/CfgMagazineGroups.hpp index a7f7b72eb..9bf796ae2 100644 --- a/addons/chemical/CfgMagazineGroups.hpp +++ b/addons/chemical/CfgMagazineGroups.hpp @@ -1,6 +1,6 @@ //class ace_csw_groups; class ace_csw_groups { - class KAT_1Rnd_82mm_Mo_Type0 { - KAT_1Rnd_82mm_Mo_Type0 = 1; - }; + class KAT_1Rnd_82mm_Mo_Type0 { + KAT_1Rnd_82mm_Mo_Type0 = 1; + }; }; \ No newline at end of file diff --git a/addons/chemical/CfgMagazines.hpp b/addons/chemical/CfgMagazines.hpp index 59afa0fff..4355d6b66 100644 --- a/addons/chemical/CfgMagazines.hpp +++ b/addons/chemical/CfgMagazines.hpp @@ -1,14 +1,14 @@ class cfgMagazines { - class ACE_1Rnd_82mm_Mo_HE; - class KAT_1Rnd_82mm_Mo_Type0: ACE_1Rnd_82mm_Mo_HE - { - author="DiGii"; - ammo="Sh_82mm_AMOS_Type0"; - displayNameMFDFormat= CSTRING(ToxicGas_MFDNAME); - displayNameShort= CSTRING(ToxicGas_MFDNAME); - displayName= CSTRING(ToxicGas_DisplayName); - }; + class ACE_1Rnd_82mm_Mo_HE; + class KAT_1Rnd_82mm_Mo_Type0: ACE_1Rnd_82mm_Mo_HE + { + author="DiGii"; + ammo="Sh_82mm_AMOS_Type0"; + displayNameMFDFormat= CSTRING(ToxicGas_MFDNAME); + displayNameShort= CSTRING(ToxicGas_MFDNAME); + displayName= CSTRING(ToxicGas_DisplayName); + }; class KAT_5Rnd_82mm_Mo_Type0_AI: KAT_1Rnd_82mm_Mo_Type0 { scope = 1; @@ -17,10 +17,10 @@ class cfgMagazines class KAT_1Rnd_82mm_Mo_TypeCS: ACE_1Rnd_82mm_Mo_HE { author="DiGii"; - ammo="Sh_82mm_AMOS_TypeCS"; - displayNameMFDFormat= CSTRING(CSGas_MFDNAME); - displayNameShort= CSTRING(CSGas_MFDNAME); - displayName= CSTRING(CSGas_DisplayName); + ammo="Sh_82mm_AMOS_TypeCS"; + displayNameMFDFormat= CSTRING(CSGas_MFDNAME); + displayNameShort= CSTRING(CSGas_MFDNAME); + displayName= CSTRING(CSGas_DisplayName); }; class KAT_3Rnd_82mm_Mo_TypeCS_AI: KAT_1Rnd_82mm_Mo_TypeCS { @@ -29,68 +29,68 @@ class cfgMagazines }; class HandGrenade; - class KAT_M7A3: HandGrenade - { - author = "DiGi"; - displayname = CSTRING(M7A3_CSGrenade_DisplayName); - descriptionShort = CSTRING(M7A3_DcsShort); - displayNameShort = CSTRING(M7A3_CSGrenade_ShortName); - model = QPATHTOF(ui\m7a3.p3d); - picture = QPATHTOF(ui\KAT_m7a3_ca.paa); - ammo = "KAT_G_M7A3"; - mass = 4; - }; + class KAT_M7A3: HandGrenade + { + author = "DiGi"; + displayname = CSTRING(M7A3_CSGrenade_DisplayName); + descriptionShort = CSTRING(M7A3_DcsShort); + displayNameShort = CSTRING(M7A3_CSGrenade_ShortName); + model = QPATHTOF(ui\m7a3.p3d); + picture = QPATHTOF(ui\KAT_m7a3_ca.paa); + ammo = "KAT_G_M7A3"; + mass = 4; + }; - class APERSTripMine_Wire_Mag; - class KAT_Gas_TripWireMine_Mag: APERSTripMine_Wire_Mag { - author = "DiGii"; - ammo = "KAT_Gas_TripWireMine_Ammo"; - ace_explosives_SetupObject = "ACE_Explosives_Place_APERSTripwireMine"; - displayName = CSTRING(TriWire_Gas_Name); - descriptionShort = CSTRING(TriWire_Gas_Desc); - class Library {libTextDesc = CSTRING(TriWire_Gas_Desc);}; - }; + class APERSTripMine_Wire_Mag; + class KAT_Gas_TripWireMine_Mag: APERSTripMine_Wire_Mag { + author = "DiGii"; + ammo = "KAT_Gas_TripWireMine_Ammo"; + ace_explosives_SetupObject = "ACE_Explosives_Place_APERSTripwireMine"; + displayName = CSTRING(TriWire_Gas_Name); + descriptionShort = CSTRING(TriWire_Gas_Desc); + class Library {libTextDesc = CSTRING(TriWire_Gas_Desc);}; + }; - class Default; // External class reference - class VehicleMagazine; - class PylonMissile_Bomb_GBU12_x1; - class PylonRack_Bomb_GBU12_x2; - class KAT_CAS_M43_Mag: PylonMissile_Bomb_GBU12_x1 { + class Default; // External class reference + class VehicleMagazine; + class PylonMissile_Bomb_GBU12_x1; + class PylonRack_Bomb_GBU12_x2; + class KAT_CAS_M43_Mag: PylonMissile_Bomb_GBU12_x1 { - ammo = "KAT_CAS_M43_Ammo"; - author = "DiGii"; - count = 1; - initSpeed = 0; - displayName = CSTRING(M43_DisplayName_1x); - displayNameShort = CSTRING(M43_ShortName_1x); - descriptionShort = CSTRING(M43_desc); - hardpoints[] = {"RHS_HP_KMGU2","RHS_HP_PTB1150","RHS_HP_JDAM_1000","RHS_HP_HELLFIRE_RACK","RHS_HP_BOMB_500","RHS_HP_LGB_500","I_GBU12","B_GBU12","B_BOMB_PYLON", "B_ASRAAM", "CUP_PylonPod_19Rnd_Rocket_FFAR_plane_M", "DAR","CUP_NATO_HELO_SMALL","CUP_NATO_HELO_LARGE","CUP_NATO_HELO_ROCKETS","CUP_19Rnd_FFAR", "RHS_HP_LONGBOW_RACK", "B_BOMB_FFAR21", "B_BOMB_FFAR7", "FIR_F16_Combined_HP","FIR_F16_AG_HP","FIR_FA18EF_Combined_HP","FIR_A10_BOMB_HP","FIR_AV8B_AG_HP","FIR_SH_AG_HP","FIR_BLUFOR_AG_HP","FIR_BLUFOR_Combined_HP","FIR_FA181E_AG_HP","FIR_F35B_Combined_HP","FIR_FA18_Combined_HP","RHS_HP_FFAR_ARMY","RHS_HP_FFAR_USMC","B_MISSILE_PYLON","B_AGM65_RAIL","I_AGM65_RAIL", "FIR_FA18_Wingtip_HP","FIR_F15E_AA_HP","FIR_F15C_AA_HP","FIR_F15A_AA_HP","FIR_F16_AA_HP","FIR_F16_Combined_HP","FIR_F2A_AA_HP","FIR_F2A_Combined_HP","FIR_BLUFOR_AA_HP","FIR_BLUFOR_Combined_HP", "FIR_F14_SW_LAU138_HP", "FIR_F14_AA_HP", "RHS_HP_INGWE", "RHS_HP_MELB_R", "RHS_HP_MELB","B_AH_99_PYLON","I_BOMB_PYLON","I_MISSILE_PYLON","RHS_HP_B8V20", "pook_SOV_AS18", "POOK_MIG25_CENTERLINE", "CUP_SUPER_PYLON","CUP_EAST_HELO_SMALL","CUP_EAST_HELO_LARGE","CUP_32Rnd_S5", "RHS_HP_INGWE", "RHS_HP_UB32","CUP_O_AA_MISSILE_PYLON","CUP_PylonPod_1Rnd_R73_Vympel", "FIR_OPFOR_Combined_HP","FIR_OPFOR_AG_HP","FIR_Su25_AG_HP","O_BOMB_PYLON","O_MISSILE_PYLON","O_KH25", "RHS_HP_9m120_Mi28", "pook_RPOD", "pook_BMB","pook_HELI_BMB", "pook_HELI_MISSILERACK", "POOK_GUNPOD","CUP_GSh23"}; - mass = 100; - pylonWeapon = "KAT_CAS_M43_Bomb"; - }; + ammo = "KAT_CAS_M43_Ammo"; + author = "DiGii"; + count = 1; + initSpeed = 0; + displayName = CSTRING(M43_DisplayName_1x); + displayNameShort = CSTRING(M43_ShortName_1x); + descriptionShort = CSTRING(M43_desc); + hardpoints[] = {"RHS_HP_KMGU2","RHS_HP_PTB1150","RHS_HP_JDAM_1000","RHS_HP_HELLFIRE_RACK","RHS_HP_BOMB_500","RHS_HP_LGB_500","I_GBU12","B_GBU12","B_BOMB_PYLON", "B_ASRAAM", "CUP_PylonPod_19Rnd_Rocket_FFAR_plane_M", "DAR","CUP_NATO_HELO_SMALL","CUP_NATO_HELO_LARGE","CUP_NATO_HELO_ROCKETS","CUP_19Rnd_FFAR", "RHS_HP_LONGBOW_RACK", "B_BOMB_FFAR21", "B_BOMB_FFAR7", "FIR_F16_Combined_HP","FIR_F16_AG_HP","FIR_FA18EF_Combined_HP","FIR_A10_BOMB_HP","FIR_AV8B_AG_HP","FIR_SH_AG_HP","FIR_BLUFOR_AG_HP","FIR_BLUFOR_Combined_HP","FIR_FA181E_AG_HP","FIR_F35B_Combined_HP","FIR_FA18_Combined_HP","RHS_HP_FFAR_ARMY","RHS_HP_FFAR_USMC","B_MISSILE_PYLON","B_AGM65_RAIL","I_AGM65_RAIL", "FIR_FA18_Wingtip_HP","FIR_F15E_AA_HP","FIR_F15C_AA_HP","FIR_F15A_AA_HP","FIR_F16_AA_HP","FIR_F16_Combined_HP","FIR_F2A_AA_HP","FIR_F2A_Combined_HP","FIR_BLUFOR_AA_HP","FIR_BLUFOR_Combined_HP", "FIR_F14_SW_LAU138_HP", "FIR_F14_AA_HP", "RHS_HP_INGWE", "RHS_HP_MELB_R", "RHS_HP_MELB","B_AH_99_PYLON","I_BOMB_PYLON","I_MISSILE_PYLON","RHS_HP_B8V20", "pook_SOV_AS18", "POOK_MIG25_CENTERLINE", "CUP_SUPER_PYLON","CUP_EAST_HELO_SMALL","CUP_EAST_HELO_LARGE","CUP_32Rnd_S5", "RHS_HP_INGWE", "RHS_HP_UB32","CUP_O_AA_MISSILE_PYLON","CUP_PylonPod_1Rnd_R73_Vympel", "FIR_OPFOR_Combined_HP","FIR_OPFOR_AG_HP","FIR_Su25_AG_HP","O_BOMB_PYLON","O_MISSILE_PYLON","O_KH25", "RHS_HP_9m120_Mi28", "pook_RPOD", "pook_BMB","pook_HELI_BMB", "pook_HELI_MISSILERACK", "POOK_GUNPOD","CUP_GSh23"}; + mass = 100; + pylonWeapon = "KAT_CAS_M43_Bomb"; + }; - class KAT_CAS_M43_Mag_x2 : PylonRack_Bomb_GBU12_x2 - { - ammo = "KAT_CAS_M43_Ammo"; - author = "DiGii"; - count = 2; - initSpeed = 0; - displayName = CSTRING(M43_DisplayName_2x); - displayNameShort = CSTRING(M43_ShortName_2x); - descriptionShort = CSTRING(M43_desc); - hardpoints[] = {"RHS_HP_KMGU2","RHS_HP_PTB1150","RHS_HP_JDAM_1000","RHS_HP_HELLFIRE_RACK","RHS_HP_BOMB_500","RHS_HP_LGB_500","I_GBU12","B_GBU12","B_BOMB_PYLON", "B_ASRAAM", "CUP_PylonPod_19Rnd_Rocket_FFAR_plane_M", "DAR","CUP_NATO_HELO_SMALL","CUP_NATO_HELO_LARGE","CUP_NATO_HELO_ROCKETS","CUP_19Rnd_FFAR", "RHS_HP_LONGBOW_RACK", "B_BOMB_FFAR21", "B_BOMB_FFAR7", "FIR_F16_Combined_HP","FIR_F16_AG_HP","FIR_FA18EF_Combined_HP","FIR_A10_BOMB_HP","FIR_AV8B_AG_HP","FIR_SH_AG_HP","FIR_BLUFOR_AG_HP","FIR_BLUFOR_Combined_HP","FIR_FA181E_AG_HP","FIR_F35B_Combined_HP","FIR_FA18_Combined_HP","RHS_HP_FFAR_ARMY","RHS_HP_FFAR_USMC","B_MISSILE_PYLON","B_AGM65_RAIL","I_AGM65_RAIL", "FIR_FA18_Wingtip_HP","FIR_F15E_AA_HP","FIR_F15C_AA_HP","FIR_F15A_AA_HP","FIR_F16_AA_HP","FIR_F16_Combined_HP","FIR_F2A_AA_HP","FIR_F2A_Combined_HP","FIR_BLUFOR_AA_HP","FIR_BLUFOR_Combined_HP", "FIR_F14_SW_LAU138_HP", "FIR_F14_AA_HP", "RHS_HP_INGWE", "RHS_HP_MELB_R", "RHS_HP_MELB","B_AH_99_PYLON","I_BOMB_PYLON","I_MISSILE_PYLON","RHS_HP_B8V20", "pook_SOV_AS18", "POOK_MIG25_CENTERLINE", "CUP_SUPER_PYLON","CUP_EAST_HELO_SMALL","CUP_EAST_HELO_LARGE","CUP_32Rnd_S5", "RHS_HP_INGWE", "RHS_HP_UB32","CUP_O_AA_MISSILE_PYLON","CUP_PylonPod_1Rnd_R73_Vympel", "FIR_OPFOR_Combined_HP","FIR_OPFOR_AG_HP","FIR_Su25_AG_HP","O_BOMB_PYLON","O_MISSILE_PYLON","O_KH25", "RHS_HP_9m120_Mi28", "pook_RPOD", "pook_BMB","pook_HELI_BMB", "pook_HELI_MISSILERACK", "POOK_GUNPOD","CUP_GSh23"}; - mass = 200; - pylonWeapon = "KAT_CAS_M43_Bomb"; - }; - - class PylonRack_19Rnd_Rocket_Skyfire; - class KAT_CAS_R_80mm_GAS_MAG: PylonRack_19Rnd_Rocket_Skyfire { - ammo = "KAT_CAS_R_80mm_GAS_AMMO"; - author = "DiGii"; - descriptionShort = CSTRING(HydraGas_desc); - displayName = CSTRING(HydraGas_DisplayName); - displayNameShort = CSTRING(HydraGas_ShortName); - pylonWeapon = "KAT_CAS_R_80mm_GAS_POD"; - hardpoints[] = {"RHS_HP_UPK23_KA52","RHS_HP_9m120_Mi28","RHS_HP_KH55SM_INT","RHS_HP_TU95MS6_INT","RHS_HP_FFAR_ARMY","RHS_HP_MELB","O_MISSILE_PYLON","O_SKYFIRE","B_MISSILE_PYLON","DAGR","DAR","B_SHIEKER","CUP_PylonPod_19Rnd_Rocket_FFAR_plane_M","CUP_NATO_HELO_ROCKETS","CUP_19Rnd_FFAR","B_AH_99_PYLON","CUP_SUPER_PYLON","CUP_32Rnd_S5","pook_RPOD","RHS_HP_FFAR_USMC", "RHS_HP_INGWE", "RHS_HP_MELB_R", "RHS_HP_MELB","RHS_HP_UB32","pook_HELI_BMB","pook_HELI_MISSILERACK"}; - }; + class KAT_CAS_M43_Mag_x2 : PylonRack_Bomb_GBU12_x2 + { + ammo = "KAT_CAS_M43_Ammo"; + author = "DiGii"; + count = 2; + initSpeed = 0; + displayName = CSTRING(M43_DisplayName_2x); + displayNameShort = CSTRING(M43_ShortName_2x); + descriptionShort = CSTRING(M43_desc); + hardpoints[] = {"RHS_HP_KMGU2","RHS_HP_PTB1150","RHS_HP_JDAM_1000","RHS_HP_HELLFIRE_RACK","RHS_HP_BOMB_500","RHS_HP_LGB_500","I_GBU12","B_GBU12","B_BOMB_PYLON", "B_ASRAAM", "CUP_PylonPod_19Rnd_Rocket_FFAR_plane_M", "DAR","CUP_NATO_HELO_SMALL","CUP_NATO_HELO_LARGE","CUP_NATO_HELO_ROCKETS","CUP_19Rnd_FFAR", "RHS_HP_LONGBOW_RACK", "B_BOMB_FFAR21", "B_BOMB_FFAR7", "FIR_F16_Combined_HP","FIR_F16_AG_HP","FIR_FA18EF_Combined_HP","FIR_A10_BOMB_HP","FIR_AV8B_AG_HP","FIR_SH_AG_HP","FIR_BLUFOR_AG_HP","FIR_BLUFOR_Combined_HP","FIR_FA181E_AG_HP","FIR_F35B_Combined_HP","FIR_FA18_Combined_HP","RHS_HP_FFAR_ARMY","RHS_HP_FFAR_USMC","B_MISSILE_PYLON","B_AGM65_RAIL","I_AGM65_RAIL", "FIR_FA18_Wingtip_HP","FIR_F15E_AA_HP","FIR_F15C_AA_HP","FIR_F15A_AA_HP","FIR_F16_AA_HP","FIR_F16_Combined_HP","FIR_F2A_AA_HP","FIR_F2A_Combined_HP","FIR_BLUFOR_AA_HP","FIR_BLUFOR_Combined_HP", "FIR_F14_SW_LAU138_HP", "FIR_F14_AA_HP", "RHS_HP_INGWE", "RHS_HP_MELB_R", "RHS_HP_MELB","B_AH_99_PYLON","I_BOMB_PYLON","I_MISSILE_PYLON","RHS_HP_B8V20", "pook_SOV_AS18", "POOK_MIG25_CENTERLINE", "CUP_SUPER_PYLON","CUP_EAST_HELO_SMALL","CUP_EAST_HELO_LARGE","CUP_32Rnd_S5", "RHS_HP_INGWE", "RHS_HP_UB32","CUP_O_AA_MISSILE_PYLON","CUP_PylonPod_1Rnd_R73_Vympel", "FIR_OPFOR_Combined_HP","FIR_OPFOR_AG_HP","FIR_Su25_AG_HP","O_BOMB_PYLON","O_MISSILE_PYLON","O_KH25", "RHS_HP_9m120_Mi28", "pook_RPOD", "pook_BMB","pook_HELI_BMB", "pook_HELI_MISSILERACK", "POOK_GUNPOD","CUP_GSh23"}; + mass = 200; + pylonWeapon = "KAT_CAS_M43_Bomb"; + }; + + class PylonRack_19Rnd_Rocket_Skyfire; + class KAT_CAS_R_80mm_GAS_MAG: PylonRack_19Rnd_Rocket_Skyfire { + ammo = "KAT_CAS_R_80mm_GAS_AMMO"; + author = "DiGii"; + descriptionShort = CSTRING(HydraGas_desc); + displayName = CSTRING(HydraGas_DisplayName); + displayNameShort = CSTRING(HydraGas_ShortName); + pylonWeapon = "KAT_CAS_R_80mm_GAS_POD"; + hardpoints[] = {"RHS_HP_UPK23_KA52","RHS_HP_9m120_Mi28","RHS_HP_KH55SM_INT","RHS_HP_TU95MS6_INT","RHS_HP_FFAR_ARMY","RHS_HP_MELB","O_MISSILE_PYLON","O_SKYFIRE","B_MISSILE_PYLON","DAGR","DAR","B_SHIEKER","CUP_PylonPod_19Rnd_Rocket_FFAR_plane_M","CUP_NATO_HELO_ROCKETS","CUP_19Rnd_FFAR","B_AH_99_PYLON","CUP_SUPER_PYLON","CUP_32Rnd_S5","pook_RPOD","RHS_HP_FFAR_USMC", "RHS_HP_INGWE", "RHS_HP_MELB_R", "RHS_HP_MELB","RHS_HP_UB32","pook_HELI_BMB","pook_HELI_MISSILERACK"}; + }; }; \ No newline at end of file diff --git a/addons/chemical/CfgVehicles.hpp b/addons/chemical/CfgVehicles.hpp index ec3ee6807..f607950ec 100644 --- a/addons/chemical/CfgVehicles.hpp +++ b/addons/chemical/CfgVehicles.hpp @@ -73,19 +73,19 @@ class CfgVehicles { class Logic; class Module_F: Logic - { - class AttributesBase - { + { + class AttributesBase + { class Default; - class Edit; // Default edit box (i.e., text input field) - class Combo; // Default combo box (i.e., drop-down menu) - class Checkbox; // Default checkbox (returned value is Boolean) - class CheckboxNumber; // Default checkbox (returned value is Number) - class ModuleDescription; // Module description - class Units; - }; + class Edit; // Default edit box (i.e., text input field) + class Combo; // Default combo box (i.e., drop-down menu) + class Checkbox; // Default checkbox (returned value is Boolean) + class CheckboxNumber; // Default checkbox (returned value is Number) + class ModuleDescription; // Module description + class Units; + }; class ModuleDescription; - }; + }; class kat_module_gas: Module_F { @@ -94,7 +94,7 @@ class CfgVehicles { displayName = CSTRING(GasModule_Displayname); category = QEGVAR(zeus,KAM); function = QFUNC(gasmodule); - isTriggerActivated = 0; + isTriggerActivated = 0; functionPriority = 1; isGlobal = 1; @@ -161,7 +161,7 @@ class CfgVehicles { displayName = CSTRING(GasModule_Displayname); category = QEGVAR(zeus,KAM); curatorInfoType = QGVAR(kat_RscGasModul); - isTriggerActivated = 0; + isTriggerActivated = 0; functionPriority = 1; isGlobal = 1; }; diff --git a/addons/chemical/CfgWeapons.hpp b/addons/chemical/CfgWeapons.hpp index c078bae1b..e397c0b1d 100644 --- a/addons/chemical/CfgWeapons.hpp +++ b/addons/chemical/CfgWeapons.hpp @@ -29,74 +29,74 @@ class CfgWeapons { }; class CannonCore; - class mortar_82mm: CannonCore - { - magazines[]+= - { - "KAT_1Rnd_82mm_Mo_Type0", + class mortar_82mm: CannonCore + { + magazines[]+= + { + "KAT_1Rnd_82mm_Mo_Type0", "KAT_5Rnd_82mm_Mo_Type0_AI", "KAT_1Rnd_82mm_Mo_TypeCS", "KAT_3Rnd_82mm_Mo_TypeCS_AI" - }; - }; - class ACE_mortar_82mm: mortar_82mm - { - magazines[] += - { - "KAT_1Rnd_82mm_Mo_Type0", + }; + }; + class ACE_mortar_82mm: mortar_82mm + { + magazines[] += + { + "KAT_1Rnd_82mm_Mo_Type0", "KAT_1Rnd_82mm_Mo_TypeCS" - }; - }; + }; + }; class GrenadeLauncher; - class Throw: GrenadeLauncher { - muzzles[] += {ACE_M7A3Muzzle}; + class Throw: GrenadeLauncher { + muzzles[] += {ACE_M7A3Muzzle}; - class ThrowMuzzle; - class ACE_M7A3Muzzle: ThrowMuzzle { + class ThrowMuzzle; + class ACE_M7A3Muzzle: ThrowMuzzle { magazines[] = {"KAT_M7A3"}; }; - }; + }; class Default; - class Put: Default - { - muzzles[]+= - { - "ace_explosives_muzzle" - }; - class PutMuzzle: Default {}; - class ace_explosives_muzzle: PutMuzzle - { - magazines[]+= - { - "KAT_Gas_TripWireMine_Mag" - }; - }; - }; + class Put: Default + { + muzzles[]+= + { + "ace_explosives_muzzle" + }; + class PutMuzzle: Default {}; + class ace_explosives_muzzle: PutMuzzle + { + magazines[]+= + { + "KAT_Gas_TripWireMine_Mag" + }; + }; + }; class weapon_GBU12Launcher; class KAT_CAS_M43_Bomb: weapon_GBU12Launcher { - author = "DiGii"; - canLock = 2; - scope=2; - displayName = "M43 BZ LGB"; - maxRange = 5000; - maxRangeProbab = 0.8; - midRange = 2000; - midRangeProbab = 0.85; - minRange = 150; - minRangeProbab = 0.6; - magazines[] = {"KAT_CAS_M43_Mag","KAT_CAS_M43_Mag_x2"}; - maxControlRange = 8000; - weaponLockDelay = 3; - weaponLockSystem = 4; + author = "DiGii"; + canLock = 2; + scope=2; + displayName = "M43 BZ LGB"; + maxRange = 5000; + maxRangeProbab = 0.8; + midRange = 2000; + midRangeProbab = 0.85; + minRange = 150; + minRangeProbab = 0.6; + magazines[] = {"KAT_CAS_M43_Mag","KAT_CAS_M43_Mag_x2"}; + maxControlRange = 8000; + weaponLockDelay = 3; + weaponLockSystem = 4; }; class rockets_Skyfire; class KAT_CAS_R_80mm_GAS_POD: rockets_Skyfire { - displayName = "Hydra GAS 19x"; - magazines[] = {"KAT_CAS_R_80mm_GAS_MAG"}; - scope=2; + displayName = "Hydra GAS 19x"; + magazines[] = {"KAT_CAS_R_80mm_GAS_MAG"}; + scope=2; }; }; \ No newline at end of file diff --git a/addons/chemical/XEH_postInit.sqf b/addons/chemical/XEH_postInit.sqf index d5fa37ccb..d26bbbd2c 100644 --- a/addons/chemical/XEH_postInit.sqf +++ b/addons/chemical/XEH_postInit.sqf @@ -18,11 +18,11 @@ KAT_ProjectileChache = ("([_x, 'KAT_porjectile', 0] call BIS_fnc_returnConfigEnt ppBlur_priority = 399; [{ - ppBlur_priority = ppBlur_priority + 1; - ppBlur = ppEffectCreate ["DynamicBlur", ppBlur_priority]; - ppBlur != -1 + ppBlur_priority = ppBlur_priority + 1; + ppBlur = ppEffectCreate ["DynamicBlur", ppBlur_priority]; + ppBlur != -1 }, { - ppBlur ppEffectEnable false; - ppBlurAmount = 0; - ppBluring = false; + ppBlur ppEffectEnable false; + ppBlurAmount = 0; + ppBluring = false; }] call CBA_fnc_waitUntilAndExecute; \ No newline at end of file diff --git a/addons/chemical/functions/fnc_AttributeRadius.sqf b/addons/chemical/functions/fnc_AttributeRadius.sqf index e9c5211ad..4d08a0b62 100644 --- a/addons/chemical/functions/fnc_AttributeRadius.sqf +++ b/addons/chemical/functions/fnc_AttributeRadius.sqf @@ -50,9 +50,9 @@ private _fnc_onKeyUp = { private _maxEdit = _display displayCtrl 1611; - private _minEdit = _display displayCtrl 1612; + private _minEdit = _display displayCtrl 1612; private _maxradius = parseNumber (ctrlText _maxEdit); - private _minradius = parseNumber (ctrlText _minEdit); + private _minradius = parseNumber (ctrlText _minEdit); // Handle invalid radius (non-numerical input) if (_maxradius == 0) then { @@ -61,10 +61,10 @@ private _fnc_onKeyUp = { } else { _maxEdit ctrlSetTooltip ""; _maxEdit ctrlSetTextColor [1,1,1,1]; - _display setVariable [QGVAR(ui_radiusMax),_maxradius]; + _display setVariable [QGVAR(ui_radiusMax),_maxradius]; }; - if (_minradius == 0) then { + if (_minradius == 0) then { _minEdit ctrlSetTooltip (localize "STR_ACE_Zeus_AttributeRadiusInvalid"); _minEdit ctrlSetTextColor [1,0,0,1]; } else { diff --git a/addons/chemical/functions/fnc_addLoadAction.sqf b/addons/chemical/functions/fnc_addLoadAction.sqf index 1cefa2013..7622f0adf 100644 --- a/addons/chemical/functions/fnc_addLoadAction.sqf +++ b/addons/chemical/functions/fnc_addLoadAction.sqf @@ -16,14 +16,14 @@ * This adds the function to Load gas mortar rounds into a mortar using the CSW function from ace */ private _condition = { //IGNORE_PRIVATE_WARNING ["_target", "_player"]; - // If magazine handling is enabled or weapon assembly/disassembly is enabled we enable ammo handling - if ((ace_csw_ammoHandling == 0) && {!([false, true, true, ace_csw_defaultAssemblyMode] select (_target getVariable [ace_csw_assemblyMode, 3]))}) exitWith { false }; - [_player, _target, ["isNotSwimming", "isNotSitting"]] call ace_common_canInteractWith; + // If magazine handling is enabled or weapon assembly/disassembly is enabled we enable ammo handling + if ((ace_csw_ammoHandling == 0) && {!([false, true, true, ace_csw_defaultAssemblyMode] select (_target getVariable [ace_csw_assemblyMode, 3]))}) exitWith { false }; + [_player, _target, ["isNotSwimming", "isNotSitting"]] call ace_common_canInteractWith; }; private _childenCode = { - private _ret = (call ace_csw_reload_actionsLoad) + (call ace_csw_reload_actionsUnload); - _ret + private _ret = (call ace_csw_reload_actionsLoad) + (call ace_csw_reload_actionsUnload); + _ret }; private _magazineLocation = getText (configFile >> "CfgVehicles" >> "Mortar_01_base_F" >> "ace_csw" >> "magazineLocation"); diff --git a/addons/chemical/functions/fnc_canReplaceFilter.sqf b/addons/chemical/functions/fnc_canReplaceFilter.sqf index f6b0a7845..d7be51742 100644 --- a/addons/chemical/functions/fnc_canReplaceFilter.sqf +++ b/addons/chemical/functions/fnc_canReplaceFilter.sqf @@ -17,7 +17,7 @@ params ["_target"]; if (goggles _target in GVAR(availGasmaskList) && 'kat_gasmaskFilter' in items _target) then { - true + true } else { - false + false }; \ No newline at end of file diff --git a/addons/chemical/functions/fnc_chemDetector.sqf b/addons/chemical/functions/fnc_chemDetector.sqf index d89bede50..ef45399f3 100644 --- a/addons/chemical/functions/fnc_chemDetector.sqf +++ b/addons/chemical/functions/fnc_chemDetector.sqf @@ -20,49 +20,49 @@ private _ui = uiNamespace getVariable "RscWeaponChemicalDetector"; private _obj = _ui displayCtrl 101; if(!(_unit getVariable [QGVAR(enteredPoison),false])) then { - _obj ctrlAnimateModel ["Threat_Level_Source", 0, true]; + _obj ctrlAnimateModel ["Threat_Level_Source", 0, true]; }; [ - { - params["_unit"]; - _unit getVariable[QGVAR(enteredPoison),false] - }, - { - params["_unit", "_obj"]; - [ - { - params["_args", "_pfhHandler"]; - _args params ["_unit", "_obj"]; - - private _percent = _unit getVariable [QGVAR(gasPercentage),0]; - private _thread = parseNumber (_percent toFixed 1); - if(_thread < 0) then { _thread = 0}; - if(_thread > 1) then { _thread = 1}; - _obj ctrlAnimateModel ["Threat_Level_Source", _thread, true]; + { + params["_unit"]; + _unit getVariable[QGVAR(enteredPoison),false] + }, + { + params["_unit", "_obj"]; + [ + { + params["_args", "_pfhHandler"]; + _args params ["_unit", "_obj"]; + + private _percent = _unit getVariable [QGVAR(gasPercentage),0]; + private _thread = parseNumber (_percent toFixed 1); + if(_thread < 0) then { _thread = 0}; + if(_thread > 1) then { _thread = 1}; + _obj ctrlAnimateModel ["Threat_Level_Source", _thread, true]; - if (!("ChemicalDetector_01_watch_F" in (assigneditems _unit)) || !(_unit getVariable[QGVAR(enteredPoison),false])) exitWith { - [_pfhHandler] call CBA_fnc_removePerFrameHandler; - [_unit] call FUNC(chemDetector); - }; - }, - 1, [_unit, _obj]] call CBA_fnc_addPerFramehandler; - [ - { - params["_args", "_pfhHandler"]; - _args params ["_unit"]; + if (!("ChemicalDetector_01_watch_F" in (assigneditems _unit)) || !(_unit getVariable[QGVAR(enteredPoison),false])) exitWith { + [_pfhHandler] call CBA_fnc_removePerFrameHandler; + [_unit] call FUNC(chemDetector); + }; + }, + 1, [_unit, _obj]] call CBA_fnc_addPerFramehandler; + [ + { + params["_args", "_pfhHandler"]; + _args params ["_unit"]; - if (_unit getVariable [QGVAR(chemDetectorState), true] && _unit getVariable [QGVAR(gasPercentage), 0] >= 0.1 && "ChemicalDetector_01_watch_F" in (assigneditems _unit)) then { - playSound3D [QPATHTOF(audio\chemDetector.ogg), _unit, false, getPosASL _unit, 4, 1, 10]; - }; + if (_unit getVariable [QGVAR(chemDetectorState), true] && _unit getVariable [QGVAR(gasPercentage), 0] >= 0.1 && "ChemicalDetector_01_watch_F" in (assigneditems _unit)) then { + playSound3D [QPATHTOF(audio\chemDetector.ogg), _unit, false, getPosASL _unit, 4, 1, 10]; + }; - if (!("ChemicalDetector_01_watch_F" in (assigneditems _unit)) || !(_unit getVariable[QGVAR(enteredPoison),false])) exitWith { - [_pfhHandler] call CBA_fnc_removePerFrameHandler; - }; + if (!("ChemicalDetector_01_watch_F" in (assigneditems _unit)) || !(_unit getVariable[QGVAR(enteredPoison),false])) exitWith { + [_pfhHandler] call CBA_fnc_removePerFrameHandler; + }; - }, - 6, [_unit]] call CBA_fnc_addPerFramehandler; - }, - [_unit, _obj] + }, + 6, [_unit]] call CBA_fnc_addPerFramehandler; + }, + [_unit, _obj] ] call CBA_fnc_waitUntilAndExecute; diff --git a/addons/chemical/functions/fnc_coughing.sqf b/addons/chemical/functions/fnc_coughing.sqf index d74a21c82..37dd2a6a3 100644 --- a/addons/chemical/functions/fnc_coughing.sqf +++ b/addons/chemical/functions/fnc_coughing.sqf @@ -16,54 +16,54 @@ params ["_unit"]; [ - { - params["_unit"]; - _unit getVariable [QGVAR(airPoisoning),false] - }, - { - params["_unit"]; - private _lastcought = CBA_missionTime; - [ - { - params ["_args", "_pfhID"]; - _args params ["_unit", "_lastcought"]; - if (_unit getVariable ["ACE_isUnconscious", false] || !(alive _unit) || !(_unit getVariable [QGVAR(airPoisoning), false])) exitWith { - [_pfhID] call CBA_fnc_removePerFrameHandler; - [_unit] call FUNC(coughing); - }; - private _nextcought = random [20,50,80]; - [ - { - params["_unit","_lastcought","_nextcought"]; - (CBA_missionTime - (_unit getVariable [QGVAR(lastCought), 0])) > _nextcought - }, - { - params["_unit"]; - if (_unit getVariable [QGVAR(airPoisoning),false]) then { - _unit say3D QGVAR(cough_1); - addCamShake [3, 4, 0]; + { + params["_unit"]; + _unit getVariable [QGVAR(airPoisoning),false] + }, + { + params["_unit"]; + private _lastcought = CBA_missionTime; + [ + { + params ["_args", "_pfhID"]; + _args params ["_unit", "_lastcought"]; + if (_unit getVariable ["ACE_isUnconscious", false] || !(alive _unit) || !(_unit getVariable [QGVAR(airPoisoning), false])) exitWith { + [_pfhID] call CBA_fnc_removePerFrameHandler; + [_unit] call FUNC(coughing); + }; + private _nextcought = random [20,50,80]; + [ + { + params["_unit","_lastcought","_nextcought"]; + (CBA_missionTime - (_unit getVariable [QGVAR(lastCought), 0])) > _nextcought + }, + { + params["_unit"]; + if (_unit getVariable [QGVAR(airPoisoning),false]) then { + _unit say3D QGVAR(cough_1); + addCamShake [3, 4, 0]; - _unit setVariable [QGVAR(lastCought), CBA_missionTime, true]; + _unit setVariable [QGVAR(lastCought), CBA_missionTime, true]; - private _effect = ppEffectCreate ["ChromAberration",2005]; - KAT_PAIN_EFFECT = _effect; - _unit setVariable [QGVAR(painEffect),KAT_PAIN_EFFECT,true]; - KAT_PAIN_EFFECT ppEffectAdjust [0, 0, false]; - KAT_PAIN_EFFECT ppEffectCommit 0; - KAT_PAIN_EFFECT ppEffectEnable true; - private _intensity = linearConversion [0, 1, 0.5, 0, 0.06, true]; - private _initialAdjust = [_intensity , _intensity , true]; - private _delayedAdjust = [_intensity * 0.15, _intensity * 0.15, true]; - KAT_PAIN_EFFECT ppEffectAdjust _initialAdjust; - KAT_PAIN_EFFECT ppEffectCommit 0.3; + private _effect = ppEffectCreate ["ChromAberration",2005]; + KAT_PAIN_EFFECT = _effect; + _unit setVariable [QGVAR(painEffect),KAT_PAIN_EFFECT,true]; + KAT_PAIN_EFFECT ppEffectAdjust [0, 0, false]; + KAT_PAIN_EFFECT ppEffectCommit 0; + KAT_PAIN_EFFECT ppEffectEnable true; + private _intensity = linearConversion [0, 1, 0.5, 0, 0.06, true]; + private _initialAdjust = [_intensity , _intensity , true]; + private _delayedAdjust = [_intensity * 0.15, _intensity * 0.15, true]; + KAT_PAIN_EFFECT ppEffectAdjust _initialAdjust; + KAT_PAIN_EFFECT ppEffectCommit 0.3; - [{ - params ["_adjust"]; - KAT_PAIN_EFFECT ppEffectAdjust _adjust; - KAT_PAIN_EFFECT ppEffectCommit 0.7; - }, [_delayedAdjust], 3] call CBA_fnc_waitAndExecute; - }; - }, - [_unit,_lastcought,_nextcought]] call CBA_fnc_waitUntilAndExecute; - }, 1, [_unit, _lastcought]] call CBA_fnc_addPerFrameHandler; - }, [_unit]] call CBA_fnc_waitUntilAndExecute; + [{ + params ["_adjust"]; + KAT_PAIN_EFFECT ppEffectAdjust _adjust; + KAT_PAIN_EFFECT ppEffectCommit 0.7; + }, [_delayedAdjust], 3] call CBA_fnc_waitAndExecute; + }; + }, + [_unit,_lastcought,_nextcought]] call CBA_fnc_waitUntilAndExecute; + }, 1, [_unit, _lastcought]] call CBA_fnc_addPerFrameHandler; + }, [_unit]] call CBA_fnc_waitUntilAndExecute; diff --git a/addons/chemical/functions/fnc_createSealAction.sqf b/addons/chemical/functions/fnc_createSealAction.sqf index 88126b237..31190b663 100644 --- a/addons/chemical/functions/fnc_createSealAction.sqf +++ b/addons/chemical/functions/fnc_createSealAction.sqf @@ -16,44 +16,44 @@ params["_target"]; private _action = [ - "kat_gas_interaction", - LLSTRING(sealLeak), - "", - { - params["_target", "_player"]; - - [_player, "Acts_carFixingWheel"] call ACEFUNC(common,doAnimation); + "kat_gas_interaction", + LLSTRING(sealLeak), + "", + { + params["_target", "_player"]; + + [_player, "Acts_carFixingWheel"] call ACEFUNC(common,doAnimation); - //add time to addon options - [ - 20, - [_target,_player], - { - params["_args"]; - _args params ["_target","_player"]; - _target setVariable [QGVAR(gas_active), false,true]; - [_target, 0, ["ACE_MainActions", "kat_gas_interaction"]] call ACEFUNC(interact_menu,removeActionFromObject); - [_player, "kat_sealant"] call ACEFUNC(common,useItem); - }, - { - params["_args"]; - _args params ["_target","_player"]; - [_player, "",1] call ACEFUNC(common,doAnimation); - }, - LLSTRING(GasModule_SealLeak), - {[_player,_player,["kat_sealant"]] call ACEFUNC(medical_treatment,hasItem);},//conditions - ["isNotInside"] - ] call ace_common_fnc_progressBar; - }, - { - params["_target","_player"]; + //add time to addon options + [ + 20, + [_target,_player], + { + params["_args"]; + _args params ["_target","_player"]; + _target setVariable [QGVAR(gas_active), false,true]; + [_target, 0, ["ACE_MainActions", "kat_gas_interaction"]] call ACEFUNC(interact_menu,removeActionFromObject); + [_player, "kat_sealant"] call ACEFUNC(common,useItem); + }, + { + params["_args"]; + _args params ["_target","_player"]; + [_player, "",1] call ACEFUNC(common,doAnimation); + }, + LLSTRING(GasModule_SealLeak), + {[_player,_player,["kat_sealant"]] call ACEFUNC(medical_treatment,hasItem);},//conditions + ["isNotInside"] + ] call ace_common_fnc_progressBar; + }, + { + params["_target","_player"]; - [_player, _target] call ACEFUNC(common,canInteractWith); - [_player,_player,["kat_sealant"]] call ACEFUNC(medical_treatment,hasItem); + [_player, _target] call ACEFUNC(common,canInteractWith); + [_player,_player,["kat_sealant"]] call ACEFUNC(medical_treatment,hasItem); - }, - {}, - [] + }, + {}, + [] ] call ACEFUNC(interact_menu,createAction); [_target, 0, ["ACE_MainActions"],_action] call ACEFUNC(interact_menu,addActionToObject); diff --git a/addons/chemical/functions/fnc_createZone.sqf b/addons/chemical/functions/fnc_createZone.sqf index 9f3d5461b..c7e9a83a5 100644 --- a/addons/chemical/functions/fnc_createZone.sqf +++ b/addons/chemical/functions/fnc_createZone.sqf @@ -36,13 +36,13 @@ if(_gastype isEqualTo "CS") then {[getPosASL _logic, _radius, _lifetime] call FU private _currentTime = CBA_missionTime; [{ - //condition + //condition params["_logic","_lifetime","_currentTime"]; - (CBA_missionTime - (_currentTime)) > _lifetime + (CBA_missionTime - (_currentTime)) > _lifetime }, { - //code + //code params["_logic"]; - _logic setVariable [QGVAR(gas_active),false,true]; - deleteVehicle _logic; + _logic setVariable [QGVAR(gas_active),false,true]; + deleteVehicle _logic; },[_logic,_lifetime,_currentTime]] call CBA_fnc_waitUntilAndExecute; diff --git a/addons/chemical/functions/fnc_csGrenadeThrownFuze.sqf b/addons/chemical/functions/fnc_csGrenadeThrownFuze.sqf index 3c7c673fe..a801d1fb3 100644 --- a/addons/chemical/functions/fnc_csGrenadeThrownFuze.sqf +++ b/addons/chemical/functions/fnc_csGrenadeThrownFuze.sqf @@ -16,9 +16,9 @@ params ["_projectile"]; if (alive _projectile) then { - playSound3D ["A3\Sounds_F\weapons\Explosion\explosion_mine_1.wss", _projectile, false, getPosASL _projectile, 1, 1.2, 400]; + playSound3D ["A3\Sounds_F\weapons\Explosion\explosion_mine_1.wss", _projectile, false, getPosASL _projectile, 1, 1.2, 400]; - private _lifetime = 60 + random[-5,0,9]; + private _lifetime = 60 + random[-5,0,9]; - [getPosASL _projectile,_lifetime,6,1] call FUNC(createZone); + [getPosASL _projectile,_lifetime,6,1] call FUNC(createZone); }; \ No newline at end of file diff --git a/addons/chemical/functions/fnc_displayGasMaskDur.sqf b/addons/chemical/functions/fnc_displayGasMaskDur.sqf index 7a58970ac..977be2a4c 100644 --- a/addons/chemical/functions/fnc_displayGasMaskDur.sqf +++ b/addons/chemical/functions/fnc_displayGasMaskDur.sqf @@ -21,7 +21,7 @@ private _durabilityStructuredText = if(_durability >= 0) then { private _color = [((2 * (1 - _durability / 10)) min 1), ((2 * _durability / 10) min 1), 0]; - private _string = ""; + private _string = ""; for "_a" from 1 to _durability do { _string = _string + "|"; }; diff --git a/addons/chemical/functions/fnc_gasAI.sqf b/addons/chemical/functions/fnc_gasAI.sqf index 42916f65c..f19258b24 100644 --- a/addons/chemical/functions/fnc_gasAI.sqf +++ b/addons/chemical/functions/fnc_gasAI.sqf @@ -37,8 +37,8 @@ params ["_unit", "_logic", "_pos", "_radius_max", "_gastype"]; private _skill = _unit skill "aimingAccuracy"; [ - { - params["_args","_handler"]; + { + params["_args","_handler"]; _args params ["_unit", "_logic", "_pos", "_radius_max", "_gastype"]; if(!(_logic getVariable [QGVAR(gas_active), false]) || isNull _logic || !(alive _unit) || _unit getVariable ["ACE_isUnconscious", false]) exitWith { @@ -102,7 +102,7 @@ private _skill = _unit skill "aimingAccuracy"; }; }; }; - }, + }, 5, [_unit,_logic,_pos,_radius_max,_gastype] ] call CBA_fnc_addPerFrameHandler; diff --git a/addons/chemical/functions/fnc_gasCheck.sqf b/addons/chemical/functions/fnc_gasCheck.sqf index 7f3c7154d..1a78d14ee 100644 --- a/addons/chemical/functions/fnc_gasCheck.sqf +++ b/addons/chemical/functions/fnc_gasCheck.sqf @@ -30,53 +30,53 @@ _logic setVariable [QGVAR(gas_pos), _pos, true]; private _checkplayers = [{ - params ["_args"]; - _args params ["_logic","_pos","_radius_max","_radius_min","_gastype"]; - private _playerARR = _logic getVariable [QGVAR(gas_playerArr),[]]; - private _allUnits = if (missionNamespace getVariable [QGVAR(affectAI), false]) then {allUnits} else {allPlayers}; - { - private _posString = toString (_pos); - private _logicPos = toString (getpos _logic); - if (_posString != _logicPos) then { _pos = getpos _logic; _logic setVariable [QGVAR(gas_pos), _pos, true];}; - private _distance = position _x distance _pos; - if (isPlayer _x) then { + params ["_args"]; + _args params ["_logic","_pos","_radius_max","_radius_min","_gastype"]; + private _playerARR = _logic getVariable [QGVAR(gas_playerArr),[]]; + private _allUnits = if (missionNamespace getVariable [QGVAR(affectAI), false]) then {allUnits} else {allPlayers}; + { + private _posString = toString (_pos); + private _logicPos = toString (getpos _logic); + if (_posString != _logicPos) then { _pos = getpos _logic; _logic setVariable [QGVAR(gas_pos), _pos, true];}; + private _distance = position _x distance _pos; + if (isPlayer _x) then { - if (_x getVariable [QGVAR(isTreated), false]) then { - _x setVariable [QGVAR(isTreated), false, true]; - private _arrPos = _playerARR find _x; - _playerARR deleteAt _arrPos; - _logic setVariable [QGVAR(gas_playerArr), _playerARR, true]; - }; + if (_x getVariable [QGVAR(isTreated), false]) then { + _x setVariable [QGVAR(isTreated), false, true]; + private _arrPos = _playerARR find _x; + _playerARR deleteAt _arrPos; + _logic setVariable [QGVAR(gas_playerArr), _playerARR, true]; + }; - if(_x in _playerARR && _distance > _radius_max) then { - private _arrPos = _playerARR find _x; - _playerARR deleteAt _arrPos; - _logic setVariable [QGVAR(gas_playerArr), _playerARR, true]; - }; + if(_x in _playerARR && _distance > _radius_max) then { + private _arrPos = _playerARR find _x; + _playerARR deleteAt _arrPos; + _logic setVariable [QGVAR(gas_playerArr), _playerARR, true]; + }; - if (!(_x in _playerARR) && _distance < _radius_max) then { - _playerARR pushBack _x; - _logic setVariable [QGVAR(gas_playerArr), _playerARR, true]; - [QGVAR(gasCheck_local), [_x, _logic, _pos, _radius_max, _radius_min, _gastype], _x] call CBA_fnc_targetEvent; - }; + if (!(_x in _playerARR) && _distance < _radius_max) then { + _playerARR pushBack _x; + _logic setVariable [QGVAR(gas_playerArr), _playerARR, true]; + [QGVAR(gasCheck_local), [_x, _logic, _pos, _radius_max, _radius_min, _gastype], _x] call CBA_fnc_targetEvent; + }; - } else { - if (_distance < _radius_max && alive _x && !(_x getVariable [QGVAR(enteredPoison), false])) then { - [QGVAR(gasCheck_ai), [_x, _logic, _pos, _radius_max, _gastype], _x] call CBA_fnc_targetEvent; - }; - }; - } forEach _allUnits; + } else { + if (_distance < _radius_max && alive _x && !(_x getVariable [QGVAR(enteredPoison), false])) then { + [QGVAR(gasCheck_ai), [_x, _logic, _pos, _radius_max, _gastype], _x] call CBA_fnc_targetEvent; + }; + }; + } forEach _allUnits; }, 3, [_logic,_pos,_radius_max,_radius_min,_gastype]] call CBA_fnc_addPerFrameHandler; [{ - params["_args","_pfhHandle"]; - _args params["_logic","_checkplayers"]; - if (isNull _logic || !alive _logic || !(_logic getVariable [QGVAR(gas_active),false])) exitWith { - _logic setVariable [QGVAR(gas_active), false, true]; - [_checkplayers] call CBA_fnc_removePerFrameHandler; - [_pfhHandle] call CBA_fnc_removePerFrameHandler; - }; + params["_args","_pfhHandle"]; + _args params["_logic","_checkplayers"]; + if (isNull _logic || !alive _logic || !(_logic getVariable [QGVAR(gas_active),false])) exitWith { + _logic setVariable [QGVAR(gas_active), false, true]; + [_checkplayers] call CBA_fnc_removePerFrameHandler; + [_pfhHandle] call CBA_fnc_removePerFrameHandler; + }; }, 0, [_logic,_checkplayers]]call CBA_fnc_addPerFrameHandler; \ No newline at end of file diff --git a/addons/chemical/functions/fnc_getChemDetectorState.sqf b/addons/chemical/functions/fnc_getChemDetectorState.sqf index 865483c7a..5c6ca4296 100644 --- a/addons/chemical/functions/fnc_getChemDetectorState.sqf +++ b/addons/chemical/functions/fnc_getChemDetectorState.sqf @@ -18,7 +18,7 @@ params["_unit", "_isOnOff"]; private _currentState = _unit getVariable [QGVAR(chemDetectorState), false]; if("ChemicalDetector_01_watch_F" in (assigneditems _unit) && _currentState == _isOnOff) then { - true + true } else { - false + false }; \ No newline at end of file diff --git a/addons/chemical/functions/fnc_giveUnitGasMask.sqf b/addons/chemical/functions/fnc_giveUnitGasMask.sqf index 4a3490ebc..1c2f83d66 100644 --- a/addons/chemical/functions/fnc_giveUnitGasMask.sqf +++ b/addons/chemical/functions/fnc_giveUnitGasMask.sqf @@ -23,28 +23,28 @@ private _playerGasMask = ""; { if(_x in GVAR(availGasmaskList)) then {_playerhasGasmask = true; _playerGasMask = _x} } forEach _itemArr; private _fnc_replaceItem = { - params["_medic","_patient","_playerGasMask"]; - if(goggles _patient == "") then { - _patient linkItem _playerGasMask; - } else { - private _pCurGoggles = goggles _patient; - if(_patient canAdd _pCurGoggles) then{ - _patient addItem _pCurGoggles - } else { - if(_medic canAdd _pCurGoggles) then { _medic addItem _pCurGoggles} else { - private _weaponHolder = createVehicle ["Weapon_Empty", getPosATL player, [], 0, "CAN_COLLIDE"]; - _weaponHolder addItemCargo [_pCurGoggles, 1]; - }; - }; - _patient linkItem _playerGasMask; - }; + params["_medic","_patient","_playerGasMask"]; + if(goggles _patient == "") then { + _patient linkItem _playerGasMask; + } else { + private _pCurGoggles = goggles _patient; + if(_patient canAdd _pCurGoggles) then{ + _patient addItem _pCurGoggles + } else { + if(_medic canAdd _pCurGoggles) then { _medic addItem _pCurGoggles} else { + private _weaponHolder = createVehicle ["Weapon_Empty", getPosATL player, [], 0, "CAN_COLLIDE"]; + _weaponHolder addItemCargo [_pCurGoggles, 1]; + }; + }; + _patient linkItem _playerGasMask; + }; }; if(_playerhasGasmask) then { - [_medic,_playerGasMask] call ACEFUNC(common,useItem); - [_medic,_patient,_playerGasMask] call _fnc_replaceItem; + [_medic,_playerGasMask] call ACEFUNC(common,useItem); + [_medic,_patient,_playerGasMask] call _fnc_replaceItem; } else { - _itemArr = _patient call ACEFUNC(common,uniqueItems); - { if(_x in GVAR(availGasmaskList)) then {_playerGasMask = _x} } forEach _itemArr; - [_medic,_patient,_playerGasMask] call _fnc_replaceItem; + _itemArr = _patient call ACEFUNC(common,uniqueItems); + { if(_x in GVAR(availGasmaskList)) then {_playerGasMask = _x} } forEach _itemArr; + [_medic,_patient,_playerGasMask] call _fnc_replaceItem; }; \ No newline at end of file diff --git a/addons/chemical/functions/fnc_handleCSGas.sqf b/addons/chemical/functions/fnc_handleCSGas.sqf index 330e81572..915ede624 100644 --- a/addons/chemical/functions/fnc_handleCSGas.sqf +++ b/addons/chemical/functions/fnc_handleCSGas.sqf @@ -16,34 +16,34 @@ */ params ["_logic","_radius"]; [{ - params["_params","_handler"]; - _params params["_unit"]; - if(_unit getVariable[QGVAR(enteredPoison),false]) then { - if (_unit getVariable ["ace_medical_pain", -1] < 0.25) then {_unit setVariable ["ace_medical_pain", 0.41]}; - if (goggles _unit in GVAR(availGasmaskList)) then {_unit setVariable[QGVAR(enteredPoison),false,true]}; - _unit setVariable [QGVAR(CS),true,true]; - _unit say3D QGVAR(cough_1); - private _rndBlur = selectRandom[5,6,7,8]; - ppBlur ppEffectAdjust [_rndBlur]; - ppBlur ppEffectEnable true; - ppBlur ppEffectCommit 5; - } else { - ppBlur ppEffectAdjust [0]; - ppBlur ppEffectEnable true; - ppBlur ppEffectCommit 20; - _unit setVariable [QGVAR(CS),false,true]; - [_handler] call CBA_fnc_removePerFrameHandler; - - }; + params["_params","_handler"]; + _params params["_unit"]; + if(_unit getVariable[QGVAR(enteredPoison),false]) then { + if (_unit getVariable ["ace_medical_pain", -1] < 0.25) then {_unit setVariable ["ace_medical_pain", 0.41]}; + if (goggles _unit in GVAR(availGasmaskList)) then {_unit setVariable[QGVAR(enteredPoison),false,true]}; + _unit setVariable [QGVAR(CS),true,true]; + _unit say3D QGVAR(cough_1); + private _rndBlur = selectRandom[5,6,7,8]; + ppBlur ppEffectAdjust [_rndBlur]; + ppBlur ppEffectEnable true; + ppBlur ppEffectCommit 5; + } else { + ppBlur ppEffectAdjust [0]; + ppBlur ppEffectEnable true; + ppBlur ppEffectCommit 20; + _unit setVariable [QGVAR(CS),false,true]; + [_handler] call CBA_fnc_removePerFrameHandler; + + }; }, 5, [player]] call CBA_fnc_addPerFrameHandler; //Pos Check [{ - params ["_param","_handler"]; - _param params ["_logic","_radius","_unit"]; - private _pos = _logic getVariable [QGVAR(gas_pos),[0,0,0]]; - if ( _unit distance _pos > _radius || !(_logic getVariable[QGVAR(gas_active),false]) || isNull _logic ) exitWith { - _unit setVariable[QGVAR(enteredPoison),false,true]; - [_handler] call CBA_fnc_removePerFrameHandler; - }; + params ["_param","_handler"]; + _param params ["_logic","_radius","_unit"]; + private _pos = _logic getVariable [QGVAR(gas_pos),[0,0,0]]; + if ( _unit distance _pos > _radius || !(_logic getVariable[QGVAR(gas_active),false]) || isNull _logic ) exitWith { + _unit setVariable[QGVAR(enteredPoison),false,true]; + [_handler] call CBA_fnc_removePerFrameHandler; + }; },2,[_logic,_radius,player]] call CBA_fnc_addPerFrameHandler; \ No newline at end of file diff --git a/addons/chemical/functions/fnc_handleGasMaskDur.sqf b/addons/chemical/functions/fnc_handleGasMaskDur.sqf index 1da9c677a..bd43ac83b 100644 --- a/addons/chemical/functions/fnc_handleGasMaskDur.sqf +++ b/addons/chemical/functions/fnc_handleGasMaskDur.sqf @@ -17,59 +17,59 @@ params["_unit"]; [ - { - params["_unit"]; - !isNil QGVAR(availGasmaskList) && _unit getVariable [QGVAR(enteredPoison), false] - }, - { - params["_unit"]; - if(_unit getVariable [QGVAR(enteredPoison), false] && goggles _unit in GVAR(availGasmaskList)) then { - private _timeEntered = CBA_missionTime; - private _maxTime = missionNamespace getVariable [QGVAR(gasmask_durability),900]; - private _maxDura = 10; - private _currentDura = _unit getVariable [QGVAR(gasmask_durability),10]; - [{ - params["_args","_handler"]; - _args params ["_unit","_timeEntered","_maxTime","_maxDura","_currentDura"]; - private _currentDura = _unit getVariable[QGVAR(gasmask_durability),10]; + { + params["_unit"]; + !isNil QGVAR(availGasmaskList) && _unit getVariable [QGVAR(enteredPoison), false] + }, + { + params["_unit"]; + if(_unit getVariable [QGVAR(enteredPoison), false] && goggles _unit in GVAR(availGasmaskList)) then { + private _timeEntered = CBA_missionTime; + private _maxTime = missionNamespace getVariable [QGVAR(gasmask_durability),900]; + private _maxDura = 10; + private _currentDura = _unit getVariable [QGVAR(gasmask_durability),10]; + [{ + params["_args","_handler"]; + _args params ["_unit","_timeEntered","_maxTime","_maxDura","_currentDura"]; + private _currentDura = _unit getVariable[QGVAR(gasmask_durability),10]; - if (_unit getVariable [QGVAR(gasmask_durability_reset),false]) then { - _unit setVariable [QGVAR(gasmask_durability_reset),false,true]; - [_handler] call CBA_fnc_removePerFrameHandler; - [_unit] spawn FUNC(handleGasMaskDur); - }; + if (_unit getVariable [QGVAR(gasmask_durability_reset),false]) then { + _unit setVariable [QGVAR(gasmask_durability_reset),false,true]; + [_handler] call CBA_fnc_removePerFrameHandler; + [_unit] spawn FUNC(handleGasMaskDur); + }; - private _timeLeft = _maxTime - (CBA_missionTime - _timeEntered); - private _percent = round((10/_maxTime)*_timeLeft); - - if(_currentDura != _percent) then { - _unit setVariable [QGVAR(gasmask_durability),_percent]; - }; - - if(_currentDura <= 0 || _percent <= 0 || !(alive _unit)) exitWith { - [_handler] call CBA_fnc_removePerFrameHandler; - _unit setVariable [QGVAR(gasmask_durability),0]; - [_unit] spawn FUNC(handleGasMaskDur); - }; + private _timeLeft = _maxTime - (CBA_missionTime - _timeEntered); + private _percent = round((10/_maxTime)*_timeLeft); + + if(_currentDura != _percent) then { + _unit setVariable [QGVAR(gasmask_durability),_percent]; + }; + + if(_currentDura <= 0 || _percent <= 0 || !(alive _unit)) exitWith { + [_handler] call CBA_fnc_removePerFrameHandler; + _unit setVariable [QGVAR(gasmask_durability),0]; + [_unit] spawn FUNC(handleGasMaskDur); + }; - if !(_unit getVariable [QGVAR(enteredPoison), false]) exitWith{ - [_handler] call CBA_fnc_removePerFrameHandler; - [_unit] spawn FUNC(handleGasMaskDur); - }; + if !(_unit getVariable [QGVAR(enteredPoison), false]) exitWith{ + [_handler] call CBA_fnc_removePerFrameHandler; + [_unit] spawn FUNC(handleGasMaskDur); + }; - },1,[_unit,_timeEntered,_maxTime,_maxDura,_currentDura]] call CBA_fnc_addPerFrameHandler; - } else { - [ - { - params["_unit"]; - _unit getVariable [QGVAR(enteredPoison), false] || goggles _unit in GVAR(availGasmaskList) - }, - { - [_unit] call FUNC(handleGasMaskDur); - }, - [_unit] - ] call CBA_fnc_waitUntilAndExecute; - }; - }, - [_unit] + },1,[_unit,_timeEntered,_maxTime,_maxDura,_currentDura]] call CBA_fnc_addPerFrameHandler; + } else { + [ + { + params["_unit"]; + _unit getVariable [QGVAR(enteredPoison), false] || goggles _unit in GVAR(availGasmaskList) + }, + { + [_unit] call FUNC(handleGasMaskDur); + }, + [_unit] + ] call CBA_fnc_waitUntilAndExecute; + }; + }, + [_unit] ] call CBA_fnc_waitUntilAndExecute; \ No newline at end of file diff --git a/addons/chemical/functions/fnc_spawnGasSmoke.sqf b/addons/chemical/functions/fnc_spawnGasSmoke.sqf index 8eefc5f38..0d03fb237 100644 --- a/addons/chemical/functions/fnc_spawnGasSmoke.sqf +++ b/addons/chemical/functions/fnc_spawnGasSmoke.sqf @@ -19,43 +19,43 @@ params ["_position", "_radius", "_lifetime"]; private _fnc_getEllipsoidArea = { - params ["_a", "_b", "_c"]; - - (4 * pi * (((((_a * _b) ^ 1.6) + ((_a * _c) ^ 1.6) + ((_c * _b) ^ 1.6)) / 3) ^ (1/1.6))); + params ["_a", "_b", "_c"]; + + (4 * pi * (((((_a * _b) ^ 1.6) + ((_a * _c) ^ 1.6) + ((_c * _b) ^ 1.6)) / 3) ^ (1/1.6))); }; //An easy little polar coordinate function private _fnc_getSpherePolarCoordinates = { - params ["_theta", "_phi", "_distance", "_vert"]; - [_distance * (cos _theta) * (sin _phi), _distance * (sin _theta) * (sin _phi), _vert * (cos _phi) * 0.33]; + params ["_theta", "_phi", "_distance", "_vert"]; + [_distance * (cos _theta) * (sin _phi), _distance * (sin _theta) * (sin _phi), _vert * (cos _phi) * 0.33]; }; for "_i" from 1 to floor ((([_radius, _radius, 2] call _fnc_getEllipsoidArea) / 10) * 1) do { - private _particleSource = "#particlesource" createVehicle _position; - - //Particle options - _particleSource setParticleParams [ - ["\A3\data_f\cl_basic",1,0,1], // File,Ntieth,Index,Count,Loop - "", //Animation name - "Billboard", //Type - 0.1 + random 5, //Timer Period (We do this to spread the updates out and reduce overhead) - _lifetime - random 2, //Lifetime - [random 360, random 360, _radius * sqrt (random 1), 2] call _fnc_getSpherePolarCoordinates,//) + [-2 - (random _verticleSpread)], //Position relative to the particle source (Don't mind da maffs) - [0,0,(-0.003 - random 0.5)], //Move velocity - 5 + random 10, //Rotation velocity - 10, //Weight - 7.843, //Volume - 0.05 + random 0.05, //Rubbing - [5,5,5], //Size - [[0.9294,0.9843,1] + [0.001], [0.9294,0.9843,1] + [0.1], [1,1,1,0]], //Color - [0,0], //Animation speed - 0, //Random direction period - 0, //Random direction intensity - "", - "", //Before destroy script - _particleSource //This - ]; - _particleSource setDropInterval 100; - - [{deleteVehicle _this}, _particleSource, 0.5] call CBA_fnc_waitAndExecute; + private _particleSource = "#particlesource" createVehicle _position; + + //Particle options + _particleSource setParticleParams [ + ["\A3\data_f\cl_basic",1,0,1], // File,Ntieth,Index,Count,Loop + "", //Animation name + "Billboard", //Type + 0.1 + random 5, //Timer Period (We do this to spread the updates out and reduce overhead) + _lifetime - random 2, //Lifetime + [random 360, random 360, _radius * sqrt (random 1), 2] call _fnc_getSpherePolarCoordinates,//) + [-2 - (random _verticleSpread)], //Position relative to the particle source (Don't mind da maffs) + [0,0,(-0.003 - random 0.5)], //Move velocity + 5 + random 10, //Rotation velocity + 10, //Weight + 7.843, //Volume + 0.05 + random 0.05, //Rubbing + [5,5,5], //Size + [[0.9294,0.9843,1] + [0.001], [0.9294,0.9843,1] + [0.1], [1,1,1,0]], //Color + [0,0], //Animation speed + 0, //Random direction period + 0, //Random direction intensity + "", + "", //Before destroy script + _particleSource //This + ]; + _particleSource setDropInterval 100; + + [{deleteVehicle _this}, _particleSource, 0.5] call CBA_fnc_waitAndExecute; }; \ No newline at end of file diff --git a/addons/chemical/functions/fnc_updateBodyImage.sqf b/addons/chemical/functions/fnc_updateBodyImage.sqf index 76898c096..69f5bf6cd 100644 --- a/addons/chemical/functions/fnc_updateBodyImage.sqf +++ b/addons/chemical/functions/fnc_updateBodyImage.sqf @@ -17,14 +17,14 @@ */ [] spawn { - disableSerialization; - private _display = uiNamespace getVariable ["ace_medical_gui_menuDisplay", displayNull]; - private _ctrlBodyImage = _display displayCtrl IDC_BODY_GROUP; - private _torso_infectet = _display ctrlCreate ["RscPicture", 6011,_ctrlBodyImage]; - _torso_infectet ctrlShow false; - _torso_infectet ctrlSetText QPATHTOF(data\body_image\torso_i.paa); - _torso_infectet ctrlSetPosition[0,0,POS_W(12.33),POS_H(12.33)]; - _torso_infectet ctrlCommit 0; + disableSerialization; + private _display = uiNamespace getVariable ["ace_medical_gui_menuDisplay", displayNull]; + private _ctrlBodyImage = _display displayCtrl IDC_BODY_GROUP; + private _torso_infectet = _display ctrlCreate ["RscPicture", 6011,_ctrlBodyImage]; + _torso_infectet ctrlShow false; + _torso_infectet ctrlSetText QPATHTOF(data\body_image\torso_i.paa); + _torso_infectet ctrlSetPosition[0,0,POS_W(12.33),POS_H(12.33)]; + _torso_infectet ctrlCommit 0; }; @@ -47,15 +47,15 @@ private _bodyPartBloodLoss = [0, 0, 0, 0, 0, 0]; { _x params ["_bodyPartIDC", ["_tourniquetIDC", -1], ["_fractureIDC", -1], ["_infectedIDC", -1]]; - if (_infectedIDC != -1) then { + if (_infectedIDC != -1) then { private _ctrlairInfected = _ctrlGroup controlsGroupCtrl _infectedIDC; if(_target getVariable [QGVAR(airPoisoning),false]) then{ _ctrlairInfected ctrlShow true; } else { _ctrlairInfected ctrlShow false; }; - - }; + + }; // Show or hide the tourniquet icon if (_tourniquetIDC != -1) then { diff --git a/addons/chemical/stringtable.xml b/addons/chemical/stringtable.xml index 7e77d27e9..db0a788f9 100644 --- a/addons/chemical/stringtable.xml +++ b/addons/chemical/stringtable.xml @@ -1,7 +1,7 @@ - - - + + + Accepted gas masks Akzeptierte Gasmasken Masques à gaz acceptés @@ -10,43 +10,43 @@ Maschere a gas accettate Permitir máscaras de gás - + Enter here the classname of the masks that should work with the system. - Hier die classname der Masken eintragen die mit dem System funktionieren sollen. + Um externe Gasmasken zu integrieren, hier Classnames eintragen. Entrez ici le classname des masques à gaz fonctionnant avec le système システムで動作するマスクのクラス名をここに入力します。 시스템에서 작동해야 하는 마스크의 클래스네임을 입력합니다. Inserisci qui la classname delle maschere a gas che dovrebbero funzionare con il sistema. Digite aqui o classname das máscaras que devem funcionar com o sistema. - + Gas masks durability - Gasmasken Haltbarkeit + Haltbarkeit der Gasmaske Durabilité des masques à gaz 방독면의 지속시간 ガスマスクの耐久寿命 Durabilità delle maschere a gas Durabilidade das máscaras de gás - + Determines how long you can stand in the gas with a gas mask without getting infected. - Bestimmt wie lange man mit einer Gasmaske im Gas stehen kann ohne infiziert zu werden. + Bestimmt die Dauer mit welcher man mit Gasmaske im Gas stehen kann ohne infiziert zu werden. Détermine la durée où vous pouvez tenir dans un gaz avec un masque à gaz sans être infecté 방독면을 사용하여 중독되지 않고 가스에 얼마나 오래 있을 수 있는지 결정합니다. ガスマスクを使用しながらガスの中にどれだけ長く感染せずにいられるかを設定します。 Determina per quanto tempo puoi stare nel gas con la maschera a gas prima di risultare intossicato. Determina quanto tempo você pode ficar no gás com uma máscara de gás sem ser infectado. - + Time until infection - Zeit bis Infektion + Zeit bis zur Infektion Durée avec l'infection 感染までの時間 중독까지 걸리는 시간 Tempo massimo prima dell'intossicazione Tempo até a infecção - + Time you can stand in the gas before you get infected or need a gas mask. Zeit die man im Gas stehen kann bevor man infiziert wird bzw eine Gasmaske benötigt. Durée où vous pouvez tenir dans un gaz avant d'être infecté ou d'avoir besoin d'un masque à gaz @@ -55,25 +55,25 @@ Tempo che puoi restare nel gas prima di rimanere intossicato o aver bisogno di una maschera a gas. Tempo que você pode ficar no gás antes de ser infectado ou precisar de uma máscara de gás. - + Gas Affects AI - Gas betrifft KI + Gas beeinflusst KI Le gaz affecte les IA ガスがAIに影響を与えるか 가스가 인공지능에게도 영향을 미침 Il gas è efficace contro la AI O gás afeta a IA - + Determines if AI is affected by gas (If you are running this on a local server this can cause perfomance problems) - Betimmt ob KI von Gas betroffen ist(Wenn dies auf einem lokalen Server ausgeführt wird, kann es zu Leistungsproblemen führen) + Bestimmt ob KI von Gas beinflusst wird (Kann auf lokalen Servern zu Leistungsproblemen führen) Détermine si les IA sont affectées par le gaz (Si cette option est activée sur des serveurs locaux cela peut créer des problèmes de performance) AIがガスの影響を受けるかどうか設定します (ローカル サーバーで実行している場合、パフォーマンスに影響する可能性があります) 인공지능이 가스에 영향을 받는지 결정합니다.(로컬 서버에서 이를 실행하는 경우 성능 문제가 발생할 수 있음) Determina se la AI subisce il gas (se stai eseguendo questo in un server locale questa può causare problemi di prestazioni) Determina se a IA é afetada pelo gás (se você estiver executando isso em um servidor local, isso pode causar problemas de desempenho) - + Gas mask filter Gasmaskenfilter Filtre de masque à gaz @@ -82,7 +82,7 @@ Filtro della maschera a gas Filtro de máscara de gás - + Replacement filter for gas mask Filtre de rechange pour masque à gaz Ersatzfilter für Gasmaske @@ -91,7 +91,7 @@ Filtro di ricambio per la maschera a gas Filtro substituto para máscara de gás - + Sealant tube Dichtmitteltube Tube de mastic @@ -100,16 +100,16 @@ Tubo sigillante Tubo de vedação - + Sealant which is used to seal objects when e.g. a toxic substance leaks out - Dichtmittel welches zum abdichen von objekten genutzt wird wenn z.b. ein giftstoff austritt + Dichtmittel, welches zum Abdichen von Gegenständen genutzt wird. z.B. bei Austritt von Giftstoffen Mastic servant à sceller les objets quand par exemple une substance toxique en sort 독성 물질이 누출될 때 물체를 밀봉하는 데 사용되는 밀봉제 毒物が漏れ出した際などに対象物をシールするために使用されるシーリング材入りチューブ。 Sigillante che è utilizzato per sigillare oggetti quanto per esemipo la sostanza tossica fuoriesce. Selante que é usado para selar objetos quando, por exemplo, há vazamento de substância tóxica - + Put on gas mask Gasmaske aufsetzen Mettre le masque à gaz @@ -118,16 +118,16 @@ Indossa la maschera a gas Colocar máscara de gás - + Put on gas mask... - Setzte gasmaske auf... + Gasmaske wird aufgesetzt... Mise en place du masque à gaz... 방독면 착용시키는 중... ガスマスクを装備させています… Indossando la maschera a gas... Colocando máscara de gás... - + Check gas mask durability Haltbarkeit der Gasmaske prüfen Vérifier la durabilité du masque à gaz @@ -136,7 +136,7 @@ Controlla la durabilità della maschera a gas Checar a durabilidade da máscara de gás - + Replace gas mask filter Gasmasken Filter austauschen Remplacer le filtre du masque à gaz @@ -145,25 +145,25 @@ Sostituisci il filtro della maschera a gas Substituir o filtro da máscara de gás - + Mute Chemical Detector. - Chemischen Detektor Stummschalten. + Chemischen Detektor stumm schalten.. Désactiver le son du détecteur de produits chimiques 화학물 탐지기 음소거 化学検知器をミュート Silenzia il rilevatore chimico Silenciar detector químico - + Unmute Chemical Detector. - Chemischen Detektor entmuten. + Chemischen Detektor laut schalten. Activer le son du détecteur de produits chimiques 化学検知器をミュート解除 화학물 탐지기 음소거 해제 Smuta il rilevatore chimico Ativar som de detector químico - + Create contaminated area / object Kontaminierten Bereich / Gegenstand erstellen Créer une zone / objet contaminé.e @@ -172,61 +172,61 @@ Crea un oggetto/zona contaminata Criar área/objeto contaminado - + Raduis around the module which is filled with gas. - Raduis um das Modul welcher mit Gas gefüllt ist. + Radius um das Modul, welcher mit Gas gefüllt ist. Zone autour du module remplie de gaz モジュール周囲の半径がガスで満たされます 가스로 채워진 모듈 주변 반경을 설정합니다. Raggio attorno al modulo che sarà riempito di gas. Raio ao redor do módulo que está cheio de gás. - + The Minimal Range describes the area around the module where the gas is most lethal - Der Minimal Rangebeschreibt den bereich um das modul herum in dem das Gas am tötlichsten ist + Die minimale Reichweite beschreibt den Bereich im Umkreis des Moduls, in dem das Gas am tötlichsten wirkt. Le rayon minimal décrit la zone autour du module ou le gaz est le plus létal 最小範囲は、ガスが最も致死的であるモジュールの周辺を表します。 최소 범위는 가스가 가장 치명적으로 작동하는 모듈 주변 영역을 나타냅니다. Il raggio minimo descrive l'area attorno al modulo dove il gas è più letale O Alcance Mínimo descreve a área ao redor do módulo onde o gás é mais letal - + The Maximum Range is a range around the Minimal Range where the gas is less lethal and you have a longer chance of survival.(distance from module to outer ring) - Der Maximum Rangeist ein bereich um den Minimal Range in dem das Gas weniger tötlich ist und man eine längere überlebens chance hat. (distanz von modul bis äußerer ring) + Die maximale Reichweite ist der Bereich über der minimalen Reichweite hinaus, in welcher das Gas weniger tötlich wirkt und man eine längere Überlebenschance hat (Distanz von Modul bis äußerer Ring). Le rayon maximal est le rayon autour du rayon minimal où le gaz est moins létal et où vous avez une plus longue chance de survie. (Distance depuis le module jusqu'au cercle extérieur) 最大範囲は、ガスの致死量が少なく、生存率が高くなる最小範囲の周辺を指します(モジュールから外周範囲までの距離) 최대 범위는 가스가 덜 치명적이고 생존 가능성이 더 긴 최소 범위 주변의 범위입니다.(모듈에서 외부 고리까지의 거리) Il raggio massimo è un raggio attorno al raggio minimo dove il gas è meno letale e hai una possibilità maggiore di sopravvivenza (distanza dal modulo all'anello esterno) O Alcance Máximo é um alcance ao redor do Alcance Mínimo onde o gás é menos letal e você tem uma chance maior de sobrevivência (distância do módulo ao anel externo) - + You are about to create a contaminated Object. - Du erstellst gerade einen Kontaminierten Gegenstand. + Du erstellst gerade einen kontaminierten Gegenstand. Vous êtes sur le point de créer un objet contaminé. 汚染されたオブジェクトを作成しようとしています。 오염된 개체를 생성 중입니다. Stai creando un oggetto contaminato. Você está prestes a criar um objeto contaminado. - + You are about to create a contaminated Zone. - Du erstellst gerade eine Kontaminierte Zone. + Du erstellst gerade eine kontaminierte Zone. Vous êtes sur le point de créer une zone contaminée. 汚染されたゾーンを作成しようとしています。 오염지대를 생성 중입니다. Stao creando una zona contaminata. Você está prestes a criar uma zona contaminada. - + To create a contaminated object place the module on a empty object. - Um einen Kontaminierten Gegenstand zu erstellen, platziere das Modul auf einem leeren Object. + Um einen kontaminierten Gegenstand zu erstellen, platziere das Modul auf einem leeren Objekt. Pour créer un objet contaminé placez le module sur un objet vide. 汚染されたオブジェクトを作成するには、モジュールを空のオブジェクトに配置します。 오염된 개체를 만들려면 모듈을 비어있는 개체 위에 놓아야 합니다. Per creare un oggetto contaminato piazza il modulo su un oggetto vuoto. Para criar um objeto contaminado, coloque o módulo em um objeto vazio. - + Seal leack Leck versiegeln Sceller la fuite @@ -235,7 +235,7 @@ Fuga di gas Vazamento de gás - + Seal leak Leck abdichten Sceller la fuite @@ -244,16 +244,16 @@ Fuga di gas Vazamento de gás - + Minimal Range need to be less than Maximum Range! - Minimal Range muss kleiner als Maximum Range sein! + Minimale Reichweite muss kleiner als maximale Reichweite sein! Le rayon minimal a besoin d'être plus petit que le rayon maximal ! 最小範囲は最大範囲よりも小さくする必要があります! 최소 범위는 반드시 최대 범위보다 작아야 합니다! Il raggio minimo deve essere minore del raggio massimo! O Alcance Mínimo precisa ser menor que o Alcance Máximo! - + Intoxication Intoxikation Intoxication @@ -262,7 +262,7 @@ Intossicazione Intoxicação - + [ACE] 82mm Gas Rounds Box [ACE] 82mm Gaspatronenkiste [ACE] Boîte de cartouches de gaz de 82mm @@ -271,79 +271,79 @@ [ACE] Box colpi a gas 82mm [ACE] Caixa de cartuchos de gás tóxico de 82 mm - + The M7A3 CS gas grenade is a non-lethal tear gas grenade that causes severe burning of the mucous membranes and eyes on contact. - Die M7A3 CS Gas Granate ist eine nicht tödliche Tränen Gas Granate die bei Kontakt starkes Brennen der Schleimhäute und Augen auslöst. + Die M7A3 CS Reizgas Granate ist eine nicht tödliche Tränengas Granate, die bei Kontakt starkes Brennen der Schleimhäute und Augen auslöst. La grenade à gaz M7A3 CS est une grenade à gaz lacrymogène non-létale qui crée de graves brûlures sur les membranes muqueuses et les yeux au contact. M7A3 CSガス手榴弾は、接触すると粘膜や目に激しい火傷のような痛みを負わせる非致死性の催涙ガス手榴弾である。 M7A3 CS 가스 수류탄은 접촉 시 점막과 눈에 심한 화상을 입히는 비치명적 최루탄입니다. La granata a gas M7A3 CS è una granata con gas non letale che causa bruciature importanti alle membrane mucose e al contatto con gli occhi. A granada de gás M7A3 CS é uma granada de gás lacrimogêneo não letal que causa queimaduras graves nas membranas mucosas e nos olhos ao entrar em contato. - + Tripwire Gas - Stolperdraht-Gas + Stolperdraht-Falle Senfgas Grenade Tripwire 仕掛け型ガス地雷 인계철선 가스지뢰 Innesco a cavo GAS Gás Tripwire - + Type: Tripwire gas - Sprays a poisonous gas when triggered.<br />Rounds: 1<br />Used on: Ground - Typ: Stolperdraht-Gas - Versprüht bei Auslösung ein gifitges Gas.<br />Ladungen: 1<br />Benutzt auf: Boden + Typ: Stolperdraht-Falle Senfgas - Versprüht bei Auslösung ein gifitges Gas.<br />Ladungen: 1<br />Benutzt auf: Boden Type : Gaz Tripwire - Spraye un gaz empoisonné quand activé.<br />Munitions: 1<br />Utilisé sur : le sol タイプ: 対人仕掛け線ガス地雷 - 作動で毒ガスを噴霧します<br />弾薬: 1<br />使用: 地上 유형: 인계철선 가스 - 작동 시 독가스를 분사합니다.<br />탄수: 1<br />사용: 지상 Tipo: Innesco a cavo GAS - Spruzza un gas velenoso quando innescato <br />Colpi: 1<br />Usabile: Suolo Tipo: Tripwire gas - Espalha um gás venenoso quando acionado.<br />Projéteis: 1<br />Usado em: Solo - + Toxic gas - Toxic gas + Senfgas (Giftgas) Gaz toxique 有毒ガス 유독가스 Gas tossico Gás tóxico - + 82mm Toxic Gas Round - 82mm Senf Gas Patrone + [CSW] 82mm Senfgas Mörser Granate Cartouche de 82mm de gaz toxique [CSW] 82mm 有毒ガス弾 - [CSW]82mm 유독가스탄 + [CSW] 82mm 유독가스탄 Colpo 82mm di gas tossico Cartucho de gás tóxico de 82mm - + CS-Gas - CS-Gas + CS-Gas (Reizgas) Gaz CS CSガス CS가스 CS-Gas Gás CS - + 82mm CS-Gas Round - 82mm CS-Gas MörserGranate + [CSW] 82mm Reizgas Mörser Granate Cartouche de 82mm de gaz CS [CSW] 82mm CSガス弾 [CSW] 82mm CS가스탄 Colpo 82mm di CS-Gas Cartucho de gás CS de 82mm - + M7A3 Riot CS gas grenade - M7A3 Riot CS gas grenade + M7A3 CS Reizgas Granate Grenace à gaz CS anti-émeute M7A3 M7A3 鎮圧CSガス手榴弾 M7A3 진압용 CS가스 수류탄 Granate CS-Gas antisommossa M7A3 Granada de gás CS M7A3 - + M7A3 M7A3 M7A3 @@ -352,7 +352,7 @@ M7A3 M7A3 - + M43 BZ LGB M43 BZ LGB M43 BZ LGB @@ -361,7 +361,7 @@ M43 BZ LGB M43 BZ LGB - + M43 BZ LGB M43 BZ LGB M43 BZ LGB @@ -370,16 +370,16 @@ M43 BZ LGB M43 BZ LGB - - Laser Guided Cluster Bomb with an chemical gas payload. - Laser gelenkte Senfgas Cluster Bombe. + + Laser Guided Cluster Bomb with a chemical gas payload. + Laser gelenkte Streubombe mit Senfgas Gefechtskopf. Bombe à sous-munitions à guidée laser contenant un gaz chimique. 化学ガスを搭載したレーザー誘導クラスター爆弾。 화학가스가 탑재된 레이저 유도 집속탄입니다. Bombe cluster laser guidate con un carico di gas tossico. Bomba de fragmentação guiada por laser com uma carga útil de gás químico. - + 2x M43 BZ LGB 2x M43 BZ LGB 2x M43 BZ LGB @@ -388,7 +388,7 @@ 2x M43 BZ LGB 2x M43 BZ LGB - + 2x M43 BZ LGB 2x M43 BZ LGB 2x M43 BZ LGB @@ -397,16 +397,16 @@ 2x M43 BZ LGB 2x M43 BZ LGB - + Unguided rockets with Toxic-gas warhead. - Ungelengte Racketen mit Senfgas sprengkopf. + Ungelenkte Raketen mit Senfgas Gefechtskopf. Roquettes non-guidées contenant un gaz toxique 有毒ガス弾頭を搭載した無誘導ロケット。 독성 가스 탄두가 장착된 무유도 로켓입니다. Razzo non guidato con una carica di gas tossico. Foguetes não guiados com ogiva de gás tóxico. - + Hydra GAS 19x Hydra GAS 19x Hydra GAS 19x @@ -415,7 +415,7 @@ Hydra GAS 19x Hydra GAS 19x - + 70mm GAS 70mm GAS 70mm GAS @@ -424,16 +424,16 @@ 70mm GAS 70mm GAS - + Toxic gas (Level 1) - Toxic gas (Level 1) + Senfgas (Level 1) Gaz toxique (Niveau 1) 有毒ガス (レベル1) 유독가스 (레벨 1) Gas tossico (Livello 1) Gás tóxico (Nível 1) - + Maximum Range. Maximale Reichweite. Portée maximum @@ -442,7 +442,7 @@ Raggio massimo. Alcance Máximo - + Minimal Range. Minimale Reichweite. Portée minimale @@ -451,7 +451,7 @@ Raggio minimo. Alcance Mínimo - + Is sealable? Versiegelbar? Scellable ? @@ -460,16 +460,16 @@ E' perforabile? (creare una fuga di gas) É vedável? - + ONLY WORKS IF LOGIC IS SYNCED WITH AN OBJECT! - Funktioniert nur wenn das modul auf einem object ist! + FUNKTIONIERT NUR, WENN DAS MODUL MIT EINEM OBJEKT SYNCHRONISIERT IST! FONTIONNE UNIQUEMENT SI LE MODULE EST SYNCHRONISE AVEC UN OBJET! ロジックがオブジェクトと同期している場合にのみ機能します! 논리가 개체와 동기화된 경우에만 작동합니다! FUNZIONA SOLO SE LA LOGICA E' LEGATA CON UN OGGETTO! SÓ FUNCIONA SE A LÓGICA ESTIVER SINCRONIZADA COM UM OBJETO! - + Select Gas: Gas wählen: Gaz sélectionné: @@ -478,7 +478,7 @@ Seleziona Gas: Seleção de Gás: - + Gas Type: Gas Typ: Type de gaz: diff --git a/addons/circulation/functions/fnc_bloodType.sqf b/addons/circulation/functions/fnc_bloodType.sqf index 486753475..18dc6f412 100644 --- a/addons/circulation/functions/fnc_bloodType.sqf +++ b/addons/circulation/functions/fnc_bloodType.sqf @@ -19,10 +19,10 @@ params ["_unit"]; if (_unit != player) then { - if (isNil {_unit getVariable QGVAR(bloodtype)}) then { - private _randomBloodType = selectRandomWeighted ["O",0.35,"O_N",0.13,"A",0.3,"A_N",0.08,"B",0.08,"B_N",0.02,"AB",0.02,"AB_N",0.01]; - _unit setVariable [QGVAR(bloodtype), _randomBloodType, true]; - _unit setVariable [QACEGVAR(dogtags,dogtagData), nil, true]; + if (isNil {_unit getVariable QGVAR(bloodtype)}) then { + private _randomBloodType = selectRandomWeighted ["O",0.35,"O_N",0.13,"A",0.3,"A_N",0.08,"B",0.08,"B_N",0.02,"AB",0.02,"AB_N",0.01]; + _unit setVariable [QGVAR(bloodtype), _randomBloodType, true]; + _unit setVariable [QACEGVAR(dogtags,dogtagData), nil, true]; }; }; diff --git a/addons/circulation/stringtable.xml b/addons/circulation/stringtable.xml index 3acfa0188..1916201e4 100644 --- a/addons/circulation/stringtable.xml +++ b/addons/circulation/stringtable.xml @@ -1,7 +1,7 @@ - - - + + + ACE-Circulation activated? ACE-Kreislauf aktivieren? ACE-Czy zaawansowane krążenie ma być włączone? @@ -17,7 +17,7 @@ KAM-Circulation を有効化しますか? ACE - Circulação ativada? - + Advanced Rhythm activated? Fortgeschrittenen Rhythmus aktivieren? Activer rythme avancé? @@ -33,7 +33,7 @@ Продвинутый ритм активирован? Ritmo avançado ativado? - + Blood IV (1000ml) BT: 0+ Blut IV (1000ml) BG: 0+ Krew IV (1000ml) GK: 0+ @@ -49,7 +49,7 @@ 血液 IV (1000ml) O+型 Sangue IV (1000ml) TS: O+ - + Blood IV (1000ml) BT: 0- Blut IV (1000ml) BG: 0- Krew IV (1000ml) GK: 0- @@ -65,7 +65,7 @@ 血液 IV (1000ml) O-型 Sangue IV (1000ml) TS: O- - + Blood IV (1000ml) BT: A+ Blut IV (1000ml) BG: A+ Krew IV (1000ml) GK: A+ @@ -81,7 +81,7 @@ 血液 IV (1000ml) A+型 Sangue IV (1000ml) TS: A+ - + Blood IV (1000ml) BT: A- Blut IV (1000ml) BG: A- Krew IV (1000ml) GK: A- @@ -97,7 +97,7 @@ 血液 IV (1000ml) A-型 Sangue IV (1000ml) TS: A- - + Blood IV (1000ml) BT: B+ Blut IV (1000ml) BG: B+ Krew IV (1000ml) GK: B+ @@ -113,7 +113,7 @@ 血液 IV (1000ml) B+型 Sangue IV (1000ml) TS: B+ - + Blood IV (1000ml) BT: B- Blut IV (1000ml) BG: B- Krew IV (1000ml) GK: B- @@ -129,7 +129,7 @@ 血液 IV (1000ml) B-型 Sangue IV (1000ml) TS: B- - + Blood IV (1000ml) BT: AB+ Blut IV (1000ml) BG: AB+ Krew IV (1000ml) GK: AB+ @@ -145,7 +145,7 @@ 血液 IV (1000ml) AB+型 Sangue IV (1000ml) TS: AB+ - + Blood IV (1000ml) BT: AB- Blut IV (1000ml) BG: AB- Krew IV (1000ml) GK: AB- @@ -161,7 +161,7 @@ 血液 IV (1000ml) AB-型 Sangue IV (1000ml) TS: AB- - + Blood IV (500ml) BT: 0+ Blut IV (500ml) BG: 0+ Krew IV (500ml) GK: 0+ @@ -177,7 +177,7 @@ 血液 IV (500ml) O+型 Sangue IV (500ml) TS: O+ - + Blood IV (500ml) BT: 0- Blut IV (500ml) BG: 0- Krew IV (500ml) GK: 0- @@ -193,7 +193,7 @@ 血液 IV (500ml) O-型 Sangue IV (500ml) TS: O- - + Blood IV (500ml) BT: A+ Blut IV (500ml) BG: A+ Krew IV (500ml) GK: A+ @@ -209,7 +209,7 @@ 血液 IV (500ml) A+型 Sangue IV (500ml) TS: A+ - + Blood IV (500ml) BT: A- Blut IV (500ml) BG: A- Krew IV (500ml) GK: A- @@ -225,7 +225,7 @@ 血液 IV (500ml) A-型 Sangue IV (500ml) TS: A- - + Blood IV (500ml) BT: B+ Blut IV (500ml) BG: B+ Krew IV (500ml) GK: B+ @@ -241,7 +241,7 @@ 血液 IV (500ml) B+型 Sangue IV (500ml) TS: B+ - + Blood IV (500ml) BT: B- Blut IV (500ml) BG: B- Krew IV (500ml) GK: B- @@ -257,7 +257,7 @@ 血液 IV (500ml) B-型 Sangue IV (500ml) TS: B- - + Blood IV (500ml) BT: AB+ Blut IV (500ml) BG: AB+ Krew IV (500ml) GK: AB+ @@ -273,7 +273,7 @@ 血液 IV (500ml) AB+型 Sangue IV (500ml) TS: AB+ - + Blood IV (500ml) BT: AB- Blut IV (500ml) BG: AB- Krew IV (500ml) GK: AB- @@ -289,7 +289,7 @@ 血液 IV (500ml) AB-型 Sangue IV (500ml) TS: AB- - + Blood IV (250ml) BT: 0+ Blut IV (250ml) BG: 0+ Krew IV (250ml) GK: 0+ @@ -305,7 +305,7 @@ 血液 IV (250ml) O+型 Sangue IV (250ml) TS: O+ - + Blood IV (250ml) BT: 0- Blut IV (250ml) BG: 0- Krew IV (250ml) GK: 0- @@ -321,7 +321,7 @@ 血液 IV (250ml) O-型 Sangue IV (250ml) TS: O- - + Blood IV (250ml) BT: A+ Blut IV (250ml) BG: A+ Krew IV (250ml) GK: A+ @@ -337,7 +337,7 @@ 血液 IV (250ml) A+型 Sangue IV (250ml) TS: A+ - + Blood IV (250ml) BT: A- Blut IV (250ml) BG: A- Krew IV (250ml) GK: A- @@ -353,7 +353,7 @@ 血液 IV (250ml) A-型 Sangue IV (250ml) TS: A- - + Blood IV (250ml) BT: B+ Blut IV (250ml) BG: B+ Krew IV (250ml) GK: B+ @@ -369,7 +369,7 @@ 血液 IV (250ml) B+型 Sangue IV (250ml) TS: B+ - + Blood IV (250ml) BT: B- Blut IV (250ml) BG: B- Krew IV (250ml) GK: B- @@ -385,7 +385,7 @@ 血液 IV (250ml) B-型 Sangue IV (250ml) TS: B- - + Blood IV (250ml) BT: AB+ Blut IV (250ml) BG: AB+ Krew IV (250ml) GK: AB+ @@ -401,7 +401,7 @@ 血液 IV (250ml) AB+型 Sangue IV (250ml) TS: AB+ - + Blood IV (250ml) BT: AB- Blut IV (250ml) BG: AB- Krew IV (250ml) GK: AB- @@ -417,7 +417,7 @@ 血液 IV (250ml) AB-型 Sangue IV (250ml) TS: AB- - + Give Blood IV (1000ml) BT: 0+ Bluttransfusion IV (1000ml) BG: 0+ Podaj Krew IV (1000ml) GK: 0+ @@ -433,7 +433,7 @@ 血液 IV (1000ml) O+型 を投与 Transfusão de sangue IV (1000ml) TS: O+ - + Give Blood IV (1000ml) BT: 0- Bluttransfusion IV (1000ml) BG: 0- Podaj Krew IV (1000ml) GK: 0- @@ -449,7 +449,7 @@ 血液 IV (1000ml) O-型 を投与 Transfusão de sangue IV (1000ml) TS: O- - + Give Blood IV (1000ml) BT: A+ Bluttransfusion IV (1000ml) BG: A+ Podaj Krew IV (1000ml) GK: A+ @@ -465,7 +465,7 @@ 血液 IV (1000ml) A+型 を投与 Transfusão de sangue IV (1000ml) TS: A+ - + Give Blood IV (1000ml) BT: A- Bluttransfusion IV (1000ml) BG: A- Podaj Krew IV (1000ml) GK: A- @@ -481,7 +481,7 @@ 血液 IV (1000ml) A-型 を投与 Transfusão de sangue IV (1000ml) TS: A- - + Give Blood IV (1000ml) BT: B+ Bluttransfusion IV (1000ml) BG: B+ Podaj Krew IV (1000ml) GK: B+ @@ -497,7 +497,7 @@ 血液 IV (1000ml) B+型 を投与 Transfusão de sangue IV (1000ml) TS: B+ - + Give Blood IV (1000ml) BT: B- Bluttransfusion IV (1000ml) BG: B- Podaj Krew IV (1000ml) GK: B- @@ -513,7 +513,7 @@ 血液 IV (1000ml) B-型 を投与 Transfusão de sangue IV (1000ml) TS: B- - + Give Blood IV (1000ml) BT: AB+ Bluttransfusion IV (1000ml) BG: AB+ Podaj Krew IV (1000ml) GK: AB+ @@ -529,7 +529,7 @@ 血液 IV (1000ml) AB+型 を投与 Transfusão de sangue IV (1000ml) TS: AB+ - + Give Blood IV (1000ml) BT: AB- Bluttransfusion IV (1000ml) BG: AB- Podaj Krew IV (1000ml) GK: AB- @@ -545,7 +545,7 @@ 血液 IV (1000ml) AB-型 を投与 Transfusão de sangue IV (1000ml) TS: AB- - + Give Blood IV (500ml) BT: 0+ Bluttransfusion IV (500ml) BG: 0+ Podaj Krew IV (500ml) GK: 0+ @@ -561,7 +561,7 @@ 血液 IV (500ml) O+型 を投与 Transfusão de sangue IV (500ml) TS: O+ - + Give Blood IV (500ml) BT: 0- Bluttransfusion IV (500ml) BG: 0- Podaj Krew IV (500ml) GK: 0- @@ -577,7 +577,7 @@ 血液 IV (500ml) O-型 を投与 Transfusão de sangue IV (500ml) TS: O- - + Give Blood IV (500ml) BT: A+ Bluttransfusion IV (500ml) BG: A+ Podaj Krew IV (500ml) GK: A+ @@ -593,7 +593,7 @@ 血液 IV (500ml) A+型 を投与 Transfusão de sangue IV (500ml) TS: A+ - + Give Blood IV (500ml) BT: A- Bluttransfusion IV (500ml) BG: A- Podaj Krew IV (500ml) GK: A- @@ -609,7 +609,7 @@ 血液 IV (500ml) A-型 を投与 Transfusão de sangue IV (500ml) TS: A- - + Give Blood IV (500ml) BT: B+ Bluttransfusion IV (500ml) BG: B+ Podaj Krew IV (500ml) GK: B+ @@ -625,7 +625,7 @@ 血液 IV (500ml) B+型 を投与 Transfusão de sangue IV (500ml) TS: B+ - + Give Blood IV (500ml) BT: B- Bluttransfusion IV (500ml) BG: B- Podaj Krew IV (500ml) GK: B- @@ -641,7 +641,7 @@ 血液 IV (500ml) B-型 を投与 Transfusão de sangue IV (500ml) TS: B- - + Give Blood IV (500ml) BT: AB+ Bluttransfusion IV (500ml) BG: AB+ Podaj Krew IV (500ml) GK: AB+ @@ -657,7 +657,7 @@ 血液 IV (500ml) AB+型 を投与 Transfusão de sangue IV (500ml) TS: AB+ - + Give Blood IV (500ml) BT: AB- Bluttransfusion IV (500ml) BG: AB- Podaj Krew IV (500ml) GK: AB- @@ -673,7 +673,7 @@ 血液 IV (500ml) AB-型 を投与 Transfusão de sangue IV (500ml) TS: AB- - + Give Blood IV (250ml) BT: 0+ Bluttransfusion IV (250ml) BG: 0+ Podaj Krew IV (250ml) GK: 0+ @@ -689,7 +689,7 @@ 血液 IV (250ml) O+型 を投与 Transfusão de sangue IV (250ml) TS: O+ - + Give Blood IV (250ml) BT: 0- Bluttransfusion IV (250ml) BG: 0- Podaj Krew IV (250ml) GK: 0- @@ -705,7 +705,7 @@ 血液 IV (250ml) O-型 を投与 Transfusão de sangue IV (250ml) TS: O- - + Give Blood IV (250ml) BT: A+ Bluttransfusion IV (250ml) BG: A+ Podaj Krew IV (250ml) GK: A+ @@ -721,7 +721,7 @@ 血液 IV (250ml) A+型 を投与 Transfusão de sangue IV (250ml) TS: A+ - + Give Blood IV (250ml) BT: A- Bluttransfusion IV (250ml) BG: A- Podaj Krew IV (250ml) GK: A- @@ -737,7 +737,7 @@ 血液 IV (250ml) A-型 を投与 Transfusão de sangue IV (250ml) TS: A- - + Give Blood IV (250ml) BT: B+ Bluttransfusion IV (250ml) BG: B+ Podaj Krew IV (250ml) GK: B+ @@ -753,7 +753,7 @@ 血液 IV (250ml) B+型 を投与 Transfusão de sangue IV (250ml) TS: B+ - + Give Blood IV (250ml) BT: B- Bluttransfusion IV (250ml) BG: B- Podaj Krew IV (250ml) GK: B- @@ -769,7 +769,7 @@ 血液 IV (250ml) B-型 を投与 Transfusão de sangue IV (250ml) TS: B- - + Give Blood IV (250ml) BT: AB+ Bluttransfusion IV (250ml) BG: AB+ Podaj Krew IV (250ml) GK: AB+ @@ -785,7 +785,7 @@ 血液 IV (250ml) AB+型 を投与 Transfusão de sangue IV (250ml) TS: AB+ - + Give Blood IV (250ml) BT: AB- Bluttransfusion IV (250ml) BG: AB- Podaj Krew IV (250ml) GK: AB- @@ -801,7 +801,7 @@ 血液 IV (250ml) AB-型 を投与 Transfusão de sangue IV (250ml) TS: AB- - + Using Schlucke Używanie @@ -817,7 +817,7 @@ 使用中 Usando - + Check Rhythm Rhythmus prüfen 리듬 확인 @@ -833,7 +833,7 @@ Проверьте ритм Checar rítmo - + Check Dogtags Überprüfe Hundemarke Sprawdź nieśmiertelniki @@ -849,7 +849,7 @@ ドッグタグを確認する Checar placa de identificação - + Checking Überprüfe Sprawdzanie @@ -865,7 +865,7 @@ 確認中 Checando - + Already one connected Bereits einer verbunden Jeden jest już podłączony @@ -881,7 +881,7 @@ すでに1つ接続されています Já há um conectado - + AED X-Series AED X-Series AED X-Series @@ -897,7 +897,7 @@ AED Xシリーズ DEA Serie-X - + Used to monitor vital values and to resuscitate persons Überwacht Vitalwerte und kann Personen wiederbeleben Używany do monitorowania parametrów życiowych i defibrylacji. @@ -913,7 +913,7 @@ バイタルの値を監視し、人を蘇生させるために使用されます Usado para monitorar valores vitais e para ressuscitar pessoas - + Monitor vitals Überwache Werte Monitoruj parametry życiowe @@ -929,7 +929,7 @@ バイタルを監視する Monitorar sinais vitais - + Use AED defibrillator Benutze AED Defibrillator Użyj defibrylatora AED @@ -945,7 +945,7 @@ AED 除細動器を使用する Usar desfibrilador DEA - + Use AED Station Benutze AED Station Użyj stacji AED @@ -961,7 +961,7 @@ AEDステーションを使用する Usar estação DEA - + Using the defibrillator... Setze Defibrillator ein... 使用除顫器中... @@ -977,7 +977,7 @@ 除細動器の使用... Usando o desfibrilador... - + Use AED-X defibrillator Benutze AED-X Defibrillator Użyj defibrylatora AED-X @@ -993,7 +993,7 @@ AED-X 除細動器を使用する Usar desfibrilador DEA-X - + Remove monitoring Entferne Überwachung Przestań monitorować @@ -1009,7 +1009,7 @@ モニターを取り外す Remover monitoramento - + Vehicle: Use AED-X Fahrzeug: AED-X nutzen Pojazd: Użyj AED-X @@ -1025,7 +1025,7 @@ Транспортное средство: Используйте AED-X Veículo: Utilizar DEA-X - + Vehicle: Attach AED-X Fahrzeug: AED-X anschließen Pojazd: Podłącz AED-X @@ -1041,7 +1041,7 @@ Транспортное средство: прикрепите AED-X Veículo: Colocar DEA-X - + Vehicle: Remove AED-X Fahrzeug: AED-X entfernen Pojazd: Odłącz AED-X @@ -1057,7 +1057,7 @@ Транспортное средство: удалить AED-X Veículo: Remover DEA-X - + Using AED-X defibrillator Benutze AED-X Defibrillator Korzystanie z defibrylatora AED-X @@ -1073,7 +1073,7 @@ AED-X 除細動器の使用 Usando desfibrilador DEA-X - + Connecting Anschließen Łączenie @@ -1089,7 +1089,7 @@ 接続中 Conectando - + Disconnecting Entfernen Rozłączanie @@ -1105,7 +1105,7 @@ 切断中 Disconectando - + Turn down volume of AED X AED-X leiser schalten Wycisz dźwięki AED X @@ -1121,7 +1121,7 @@ AED Xの音量を下げる Abaixar o volume do DEA-X - + Turn up volume of AED X AED-X lauter schalten Włącz dźwięki AED X @@ -1137,7 +1137,7 @@ AED Xの音量を上げる Aumentar o volume do DEA-X - + [KAM] Medical Blood bank [KAM] Medizinische Blutbank [KAM] Bank krwi @@ -1153,7 +1153,7 @@ [KAM] 医療血液バンク [KAM] Banco de Sangue Médico - + Open blood groups cheat sheet Öffne Blutgruppentabelle Otwórz tabele grup krwi @@ -1169,7 +1169,7 @@ 血液型適合確認シートを開く Abrir tabela de compatibilidade sanguínea - + Place AED AED platzieren Połóż AED @@ -1185,7 +1185,7 @@ AEDを設置 Colocar DEA - + Pickup AED AED aufheben Podnieś AED @@ -1201,7 +1201,7 @@ AEDを拾う Recolher DEA - + Blood groups cheat sheet Blutgruppentabelle Tabela grup krwi @@ -1217,7 +1217,7 @@ 血液型適合確認シート Tabela de compatibilidade sanguínea - + A wrong combination of donor and recipient blood can even have deadly consequences. Eine falsche Kombination von Spender- und Empfängerblut kann sogar tödliche Folgen haben. Zła kombinacja krwi dawcy i biorcy może mieć śmiertelne konsekwencje. @@ -1233,7 +1233,7 @@ ドナーと患者の血液の間違った組み合わせは、致命的な結果をもたらす可能性さえあります。 Uma combinação errada de sangue de doador e receptor pode trazer consequências fatais - + Blood group Blutgruppe Grupa krwi @@ -1249,7 +1249,7 @@ 血液型 Tipo sanguíneo - + Locations AED Orte für AED AED使用場合 @@ -1265,7 +1265,7 @@ AEDが使用できる場所 Posição do DAE - + Where can the AED be used? Wo kann der AED verwendet werden? 哪裡可以使用AED? @@ -1281,7 +1281,7 @@ AEDが使用できる場所を指定 Onde o DEA pode ser usado? - + Automated External Defibrillator Automatisierter Externer Defibrillator 自動體外除顫器 @@ -1297,7 +1297,7 @@ AED (自動体外式除細動器) Desfibrilador Externo Automático - + Use to resuscitate player Stellt Puls wieder her 用來甦醒玩家 @@ -1313,7 +1313,7 @@ 人を蘇生させるために使用されます Use para ressuscitar jogadores - + %1 performed AED %1 użył AED %1 hat den AED benutzt @@ -1329,7 +1329,7 @@ %1 はAEDを実行しました %1 usou o DEA - + %1 performed AED Station %1 użył stacji AED %1 hat die AED Station benutzt @@ -1345,7 +1345,7 @@ %1 はAEDステーションを実行しました %1 usou a estação DEA - + %1 performed AED-X %1 użył AED-X %1 hat den AED-X benutzt @@ -1361,7 +1361,7 @@ %1 はAED-Xを実行しました %1 usou o DEA-X - + Max Success chance for AED-X Massima probabilità di successo per DAE-X Max šance úspěchu pro AED-X @@ -1373,7 +1373,7 @@ Maksymalna szansa na sukces dla AED-X Probabilidade máxima de sucesso para DEA-X - + Max Success chance for AED Massima probabilità di successo per DAE Max šance úspěchu pro AED @@ -1385,7 +1385,7 @@ Maksymalna szansa na sukces dla AED Probabilidade máxima de sucesso para DEA - + Min Success chance for AED-X Minima probabilità di successo per DAE-X Min šance úspěchu pro AED-X @@ -1397,7 +1397,7 @@ Minimalna szansa na sukces dla AED-X Probabilidade mínima de sucesso para DEA-X - + Min Success chance for AED Minima probabilità di successo per DAE Min šance úspěchu pro AED @@ -1409,7 +1409,7 @@ Minimalna szansa na sukces dla AED Probabilidade mínima de sucesso para DEA - + Allow AED Ograniczenie użycia AED AED erlauben @@ -1425,10 +1425,10 @@ AEDの許可 Permitir DEA - + Training level required to use an AED Poziom wyszkolenia wymagany do korzystania z AED - Benötigtes Trainingslevel, um den AED zu nutzen + Benötigter medizinischer Grad, um den AED zu nutzen Nivel de entrenamiento requerido para usar un DEA 使用AED所需的培訓水平 使用AED所需的医疗培训水平 @@ -1441,7 +1441,7 @@ AEDの使用に訓練レベルを必要とさせます。 Nível de treinamento necessário para usar um DEA - + Allow AED-X Ograniczenie użycia AED-X AED-X erlauben @@ -1457,10 +1457,10 @@ AED-Xの許可 Permitir DEA-X - + Training level required to use an AED-X Poziom wyszkolenia wymagany do korzystania z AED-X - Benötigtes Trainingslevel, um den AED-X zu nutzen + Benötigter medizinischer Grad, um den AED-X zu nutzen Nivel de entrenamiento requerido para usar un DEA-X 使用AED-X所需的培訓水平 使用AED-X的医疗培训水平 @@ -1473,7 +1473,7 @@ AED-Xの使用に訓練レベルを必要とさせます。 Nível de treinamento necessário para usar um DEA-X - + Distance limit for AED-X in meters Limit odległości dla AED-X w metrach Maximale Entfernung für den AED-X in Meter @@ -1489,7 +1489,7 @@ AED-Xの距離制限 (メートル単位) Limite de distância para DEA-X em metros - + Time limit for monitor of AED-X in seconds Limit czasu dla monitora AED-X w sekundach Zeitlimit der Überwachung des AED-X in Sekunden @@ -1505,7 +1505,7 @@ AED-Xのモニターの制限時間 (秒単位) Limite de tempo para monitoramento do DEA-X em segundos - + Deactivate Monitor while using AED-X Dezaktywuj monitor podczas korzystania z AED-X AED-X Monitor während dem defibrillieren deaktivieren @@ -1521,10 +1521,10 @@ AED-Xの使用中にモニターを非アクティブ化する Desativar o Monitor enquanto estiver usando o DEA-X - + Enable different CPR chances per medical level Włącz różne szanse resuscytacji, zależne od wyszkolenia medycznego - Aktiviere verschiedene HLW Erfolgsraten für verschiedene Medic Level + Aktiviere verschiedene HLW Erfolgsraten für verschiedene medizinische Grade Permite diferentes probabilidades de RCP exitoso por nivel médico 每個醫療級別啟用不同的CPR機會 每个医疗水平启用不同的CPR几率 @@ -1537,7 +1537,7 @@ 医療レベルごとにCPRの成功率を変更する Habilite diferentes chances de SBV por nível médico - + Max CPR Chance for Doctors Massima probabilità RCP per i dottori Max šance úspěchu resuscitace pro Doktory @@ -1550,7 +1550,7 @@ Probabilidad exitosa max. de RCP para doctores Probabilidade máxima de êxito de SBV para doutores - + Max CPR Chance for Regular medics Max šance úspěchu resuscitace pro Zdravotníky Massima probabilità RCP per i medici @@ -1563,7 +1563,7 @@ Probabilidad exitosa max. de RCP para médicos Probabilidade máxima de êxito de SBV para médicos - + Max CPR Chance for Default Massima probabilità RCP per i default Max šance úspěchu resuscitace pro Základní @@ -1576,7 +1576,7 @@ Probabilidad exitosa max. de RCP para el resto Probabilidade máxima de êxito de SBV para não-médicos - + Min CPR Chance for Doctors Minima probabilità RCP per i dottori Min šance úspěchu resuscitace pro Doktory @@ -1589,7 +1589,7 @@ Probabilidad exitosa min. de RCP para doctores Probabilidade mínima de êxito de SBV para doutores - + Min CPR Chance for Regular medics Min šance úspěchu resuscitace Zdravotníky Minima probabilità RCP per i medici @@ -1602,7 +1602,7 @@ Probabilidad exitosa min. de RCP para médicos Probabilidade mínima de êxito de SBV para médicos - + Min CPR Chance for Default Minima probabilità RCP per i default Min šance úspěchu resuscitace pro Základní @@ -1615,7 +1615,7 @@ Probabilidad exitosa min. de RCP para el resto Probabilidade mínima de êxito de SBV para não-médicos - + Field Blood Transfusion Kit (500ml) Zestaw do pobierania krwi w terenie (500ml) Bluttransfusionsset (500ml) @@ -1631,7 +1631,7 @@ 前線輸血キット (500ml) Kit de Transfusão de Sangue de Campo (500ml) - + Field Blood Transfusion Kit (250ml) Zestaw do pobierania krwi w terenie (250ml) Bluttransfusionsset (250ml) @@ -1647,7 +1647,7 @@ 前線輸血キット (250ml) Kit de Transfusão de Sangue de Campo (250ml) - + Allows you to draw blood and use it Pozwala pobierać krew i używać jej Ermöglicht die Entnahme von Blut und dessen Verwendung @@ -1663,7 +1663,7 @@ 採血して使用することができます Permite extrair sangue e usá-lo - + Draw Blood (500ml) Pobierz krew (500ml) Blut abnehmen (500ml) @@ -1679,7 +1679,7 @@ 採血する (500ml) Extrair sangue (500ml) - + Draw Blood (250ml) Pobierz krew (250ml) Blut abnehmen (250ml) @@ -1695,7 +1695,7 @@ 採血する (250ml) Extrair sangue (250ml) - + Drawing Blood Pobieranie krwi Entnehme Blut @@ -1711,7 +1711,7 @@ 採血中 Extraindo sangue - + Use Bloodgroups for drawing blood? Blutgruppen für die Blutentnahme verwenden? Używaj grup krwi do pobieranie krwi? @@ -1727,7 +1727,7 @@ Использовать группы крови для забора крови? Usar tipos sanguíneos para extração de sangue? - + Enable self blood draw Włącz samodzielne pobieranie krwi Selbstblutentnahme aktivieren @@ -1743,7 +1743,7 @@ 自己採血を有効にする Habilitar auto-extração de sangue - + Drawing time for 500ml Kit Czas pobierania 500ml krwi Blutentnahmezeit für 500ml Kit @@ -1759,7 +1759,7 @@ 500mlキットの採血時間 Tempo de extração para o kit de 500ml - + Drawing time for 250ml Kit Czas pobierania 250ml krwi Blutentnahmezeit für 250ml Kit @@ -1775,7 +1775,7 @@ 250mlキットの採血時間 Tempo de extração para o kit de 250ml - + Minimum blood volume for donor (liters) Mindestblutmenge für Spender (Liter) Minimalna ilość krwi u dawcy (litry) @@ -1791,7 +1791,7 @@ 採血できる最小血液量(リットル) Volume mínimo de sangue para o doador (litro) - + Minimum volume of blood allowed to drain a donor to, to ignore this setting set to 0 Mindestblutmenge, bis zu der ein Spender entnommen werden darf; um diese Einstellung zu ignorieren, setzen Sie sie auf 0 Minimalna ilość krwi którą dawca musi mieć by pobrać z niego krew, ustaw 0 by wyłączyć @@ -1807,7 +1807,7 @@ ドナーから採血できる最小量の血液。0に設定で無視。 O volume mínimo de sangue que um doador pode retirar. Para ignorar este parâmetro é definido como 0 - + AED Beep and Charge sound Dźwięki defibrylacji AED AED Signal- und Ladeton @@ -1823,7 +1823,7 @@ AEDビープ音と充電音 Som de bipe e carga do DEA - + Enables Beep and Charge sound for AED/AED-X Włącza dźwięki defibrylacji AED/AED-X Aktiviert Signal- und Ladeton für AED/AED-X @@ -1839,7 +1839,7 @@ AED/AED-Xのビープ音と充電音を有効にします Ativa o som de bipe e carga para DEA/DEA-X - + Checking Rhythm Sprawdzanie rytmu Rhythmus kontrollieren @@ -1855,7 +1855,7 @@ 心電図を検査中 Verificando ritmo cardíaco - + Basic Settings Podstawowe Ustawienia Impostazioni base @@ -1868,7 +1868,7 @@ Parámetros básicos Configurações básicas - + AED + AED-X Settings Impostazioni DAE e DAE-X Nastavení AED + AED-X @@ -1881,7 +1881,7 @@ Parámetros del DEA / DEA-X Configurações de DEA/DEA-X - + CPR Settings Impostazioni RCP Nastavení resuscitace @@ -1894,7 +1894,7 @@ Parámetros del RCP Configurações de SBV - + Blood draw Settings Impostazioni prelievo sangue Nastavení odběru krve @@ -1907,7 +1907,7 @@ Parámetros de extracción de sangre Configurações de extração de sangue - + AED-X: HR: %1 BP: %2/%3 SpO2: %4 AED-X: HR: %1 BP: %2/%3 SpO2: %4 AED-X: FC: %1 PS: %2/%3 SpO2: %4 diff --git a/addons/gui/stringtable.xml b/addons/gui/stringtable.xml index 5668dd089..d35460bc4 100644 --- a/addons/gui/stringtable.xml +++ b/addons/gui/stringtable.xml @@ -1,7 +1,7 @@ - - - + + + dummy for tabler application diff --git a/addons/main/stringtable.xml b/addons/main/stringtable.xml index 7bf1193db..f90f2db72 100644 --- a/addons/main/stringtable.xml +++ b/addons/main/stringtable.xml @@ -1,7 +1,7 @@ - - - + + + https://github.com/Tomcat-SG/KAM diff --git a/addons/misc/functions/fnc_handleRespawn.sqf b/addons/misc/functions/fnc_handleRespawn.sqf index 17c30270d..04f6c8fde 100644 --- a/addons/misc/functions/fnc_handleRespawn.sqf +++ b/addons/misc/functions/fnc_handleRespawn.sqf @@ -225,14 +225,14 @@ if (EGVAR(pharma,coagulation)) then { if (ACEGVAR(advanced_fatigue,enabled)) then { ["PDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); - ["EDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); + ["EDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); ["LSDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); ACEGVAR(advanced_fatigue,swayFactor) = EGVAR(pharma,originalSwayFactor); } else { _unit enableStamina true; - _unit setAnimSpeedCoef 1; + _unit setAnimSpeedCoef 1; _unit setCustomAimCoef 1; }; diff --git a/addons/misc/functions/fnc_incompatibilityWarning.sqf b/addons/misc/functions/fnc_incompatibilityWarning.sqf index 382bd66ba..61cd19a59 100644 --- a/addons/misc/functions/fnc_incompatibilityWarning.sqf +++ b/addons/misc/functions/fnc_incompatibilityWarning.sqf @@ -20,14 +20,14 @@ private _foundIncompatibleAddons = []; //Checks if incompatible addons are loaded { if (isClass(configFile >> "CfgPatches" >> _x)) then { - _foundIncompatibleAddons append [_x]; - //Incompatible addons - //Here is the Wiki page with current list: https://github.com/Tomcat-SG/KAM/wiki/Incompatible-addons + _foundIncompatibleAddons append [_x]; + //Incompatible addons + //Here is the Wiki page with current list: https://github.com/Tomcat-SG/KAM/wiki/Incompatible-addons }; } forEach ["KATMEDICALSTATIC","kat_evac","KATMEDICALsteth","adv_aceCPR","aceP_main"]; if ((count _foundIncompatibleAddons) > 0) then { - diag_log format [LLSTRING(incompatibilityWarning_Desc), _foundIncompatibleAddons]; - private _text = format [LLSTRING(incompatibilityWarning_Desc), _foundIncompatibleAddons]; + diag_log format [LLSTRING(incompatibilityWarning_Desc), _foundIncompatibleAddons]; + private _text = format [LLSTRING(incompatibilityWarning_Desc), _foundIncompatibleAddons]; if (hasInterface) then { _text = composeText [lineBreak, parseText format ["%1", _text]]; private _rscLayer = "ACE_RscErrorHint" call BIS_fnc_rscLayer; @@ -36,9 +36,9 @@ if ((count _foundIncompatibleAddons) > 0) then { private _ctrlHint = uiNamespace getVariable "ACE_ctrlErrorHint"; _ctrlHint ctrlSetStructuredText _text; - //Removes Warning message after 60 seconds - [{params ["_rscLayer"]; + //Removes Warning message after 60 seconds + [{params ["_rscLayer"]; _rscLayer cutFadeOut 0.2; - }, [_rscLayer], 60] call CBA_fnc_waitAndExecute; + }, [_rscLayer], 60] call CBA_fnc_waitAndExecute; }; }; diff --git a/addons/misc/stringtable.xml b/addons/misc/stringtable.xml index fd3284812..f5ef2b813 100644 --- a/addons/misc/stringtable.xml +++ b/addons/misc/stringtable.xml @@ -1,7 +1,7 @@ - - - + + + ACE-Misc activated? ACE-Sonstiges aktivieren? ACE-Inne aktywowane? @@ -17,7 +17,7 @@ KAM-Misc を有効化しますか? ACE - Miscelâneo ativado? - + Attaching IV IV wird angehangen Zakładanie IV @@ -33,7 +33,7 @@ IVを取り付ける Colocando IV - + Attach IV (1000ml) IV anhängen (1000ml) Załóż IV (1000ml) @@ -49,7 +49,7 @@ IVを取り付ける (1000ml) Administrar IV (1000ml) - + Attach IV (500ml) IV anhängen (500ml) Załóż IV (500ml) @@ -65,7 +65,7 @@ IVを取り付ける (500ml) Administrar IV (500ml) - + Attach IV (250ml) IV anhängen (250ml) Załóż IV (250ml) @@ -81,7 +81,7 @@ IVを取り付ける (250ml) Administrar IV (250ml) - + Stand: Saline IV (1000ml) Ständer: Kochsalzlösung IV (1000ml) Stojak: Sól fizjologiczna IV (1000ml) @@ -97,7 +97,7 @@ スタンド: 生理食塩水IV (1000ml) Suporte: Soro fisiológico IV (1000ml) - + Stand: Saline IV (500ml) Ständer: Kochsalzlösung IV (500ml) Stojak: Sól fizjologiczna IV (500ml) @@ -113,7 +113,7 @@ スタンド: 生理食塩水IV (500ml) Suporte: Soro fisiológico IV (500ml) - + Stand: Saline IV (250ml) Ständer: Kochsalzlösung IV (250ml) Stojak: Sól fizjologiczna IV (250ml) @@ -129,7 +129,7 @@ スタンド: 生理食塩水IV (250ml) Suporte: Soro fisiológico IV (250ml) - + Disassemble stretcher Trage einklappen Złóż nosze @@ -145,7 +145,7 @@ 担架を分解する Desmontar maca - + Attach to Anhängen an Przyczep do @@ -161,7 +161,7 @@ 取り付ける Anexar a - + Attach Stretcher Przyczep nosze Trage befestigen @@ -177,7 +177,7 @@ 担架を取り付ける Anexar maca - + Lower Stretcher By 10m Opuść nosze o 10m Trage um 10m absenken @@ -193,7 +193,7 @@ 担架を10m下げる Abaixar a maca em 10m - + Raise Stretcher By 10m Wciągnij nosze o 10m Trage um 10m anheben @@ -209,7 +209,7 @@ 担架を10m上げる Elevar a maca em 10m - + Raise Stretcher Wciągnij nosze Trage anheben @@ -225,7 +225,7 @@ 担架を載せる Elevar a maca - + Lower Stretcher Opuść nosze Trage absenken @@ -241,7 +241,7 @@ 担架を降ろす Abaixar a maca - + Flip Stretcher Obróć nosze Trage flippen @@ -257,7 +257,7 @@ 担架をひっくり返す Virar a maca - + The vehicle you are looking at is not a helicopter! Pojazd na który patrzysz nie jest śmigłowcem! Dieses Fahrzeug ist kein Helikopter! @@ -273,7 +273,7 @@ あなたが見ている車両はヘリコプターではありません! O veículo que você está olhando não é um helicóptero! - + You must be within 15m of the helicopter and look at it! Musisz być w zasięgu 15m od śmigłowca i patrzeć w jego kierunku! Sie müssen sich in einem Umkreis von 15 Metern um den Hubschrauber aufhalten und ihn anschauen! @@ -289,7 +289,7 @@ あなたはヘリコプターから15メートル以内にいて、視線を合わせる必要があります! Você deve estar a 15m do helicóptero e olhando para ele! - + Attachable Helistretcher Nosze śmigłowcowe Anbringbare Helitrage @@ -305,7 +305,7 @@ ヘリコプター用担架 Maca de helicóptero acoplável - + Allows you to attach a stretcher to a helicopter(Double click) Pozwala podczepić nosze do śmigłowca(Podwójne kliknięcie) Ermöglicht das Anbringen einer Trage am Hubschrauber (Doppelklick) @@ -321,9 +321,9 @@ ヘリコプターに担架を取り付けることができます(ダブルクリック) Permite anexar uma maca a um helicóptero (clique duplo) - + Incompatible addon warning - Inkompatible Mods Warnung + Warnung inkompatibler Mods Varování nekompatibilního addonu 호환되지 않는 애드온 경고 互換性のないアドオンの警告 @@ -333,7 +333,7 @@ Advertencia: Addon incompatible Aviso de addon incompatível - + Throws a warning and add line to RPT log if incompatible addons(Listed by us - developers) that could negatively affect correct functionality of KAT are used.\n Warning disappears after 60 seconds. Wirft eine Warnung aus und fügt eine Zeile in das RPT-Protokoll ein, wenn inkompatible Addons (von uns aufgelistet - Entwickler) verwendet werden, die die korrekte Funktionalität von KAT beeinträchtigen könnten. Die Warnung verschwindet nach 60 Sekunden. Vyhodí varování a přidá řádek do RPT logu pokud jsou použity nekompatibilní addony(Zanesené námi - vývojáři), které by mohli negativně ovlivnit správnou funkcionalitu KATu.\n Varování zmizí po 60 sekundách. @@ -345,7 +345,7 @@ Muestra una advertencia y agrega una lina al log RPT si hay addons incompatibles(Listados por los desarolladores) que podrian afectar negativamente el funcionamiento de KAT.\n La advertencia desaparece 60 segundos mas tarde. Mostra um aviso e adiciona uma linha ao log do RPT se forem usados ​​complementos incompatíveis (listados por nós - desenvolvedores) que podem afetar negativamente a funcionalidade correta do KAT.\n O aviso desaparece após 60 segundos. - + [KAM WARNING] Incompatible addon(s) that could negatively affect correct functionality detected. KAT - Advanced Medical REWRITE Development Team strongly advises to remove these addons: %1 [KAM WARNUNG] Es wurden inkompatible Addons entdeckt, die die korrekte Funktionalität beeinträchtigen könnten. Das KAT - Advanced Medical REWRITE Development Team rät dringend, diese Addons zu entfernen: %1 [KAM VAROVÁNÍ] Nekompatibilní addon(y), které by mohly negativně ovlivnit správnou funkcionalitu detekovány. KAT - Advanced Medical REWRITE Developerský Tým silně doporučuje odebrat tyto addony: %1 @@ -357,7 +357,7 @@ [ADVERTENCIA DE KAM] Addon(s) incompatibles que podrían afectar negativamente el funcionamiento del mod fueron detectados. El equipo de desarollo de KAT - Advanced Medical REWRITE recomienda fuertemente de remover estos addons. %1 [AVISO DE KAM] Detectados addons incompatíveis que podem afetar negativamente a funcionalidade correta. KAT - A equipe de desenvolvimento do Advanced Medical REWRITE recomenda fortemente a remoção destes complementos: %1 - + Basic Settings Podstawowe Ustawienia Impostazioni di base @@ -370,7 +370,7 @@ Parámetros básicos Configurações básicas - + Arsenal Medical category Zdravotnická kategorie arzenálu Catégorie médicale pour l'arsenal @@ -382,7 +382,7 @@ 아스널 의료 카테고리 Categoria Médica do Arsenal - + Enable medical category for arsenal and relocate all medical related items to it? Povolit zdravotnickou kategorii pro arzenál a přemístit do ní všechny zdravotnické věci? Active la catégorie médicale pour l'arsenal et y affecte tous les objets médicaux ? @@ -394,7 +394,7 @@ 아스널의 의료 카테고리를 활성화하고 모든 의료 관련 아이템을 아스널로 재배치합니까? Ativar categoria médica para arsenal e realocar todos os itens médicos relacionados a ela? - + Stretcher 担架 擔架 @@ -410,7 +410,7 @@ Sedye Maca - + Stretcher (Packed) 担架 (折り畳み) 擔架(打包) diff --git a/addons/pharma/ACE_Medical_Treatment.hpp b/addons/pharma/ACE_Medical_Treatment.hpp index dbacedc21..00116a485 100644 --- a/addons/pharma/ACE_Medical_Treatment.hpp +++ b/addons/pharma/ACE_Medical_Treatment.hpp @@ -1,5 +1,5 @@ class ADDON { - class Medication { + class Medication { class Epinephrine { painReduce = 0; hrIncreaseLow[] = {10, 20}; diff --git a/addons/pharma/XEH_postInit.sqf b/addons/pharma/XEH_postInit.sqf index 7c9a805bb..4059f7eba 100644 --- a/addons/pharma/XEH_postInit.sqf +++ b/addons/pharma/XEH_postInit.sqf @@ -30,34 +30,34 @@ if (!local _patient) exitWith {["ace_treatmentSucceded", _this, _patient] call CBA_fnc_targetEvent}; if (_classname == "Epinephrine") then { - if (ACE_Player != _patient) exitWith {}; - if (ACEGVAR(advanced_fatigue,enabled)) then { - params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,anReserve) = ACEGVAR(advanced_fatigue,anReserve) + 300; - ["EDF", 0.5] call ACEFUNC(advanced_fatigue,addDutyFactor); + if (ACE_Player != _patient) exitWith {}; + if (ACEGVAR(advanced_fatigue,enabled)) then { + params ["_patient"]; + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,anReserve) = ACEGVAR(advanced_fatigue,anReserve) + 300; + ["EDF", 0.5] call ACEFUNC(advanced_fatigue,addDutyFactor); - [{ - params ["_patient"]; - ["EDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); - }, - [_patient], - 120] call CBA_fnc_waitAndExecute; - - } else { - - params ["_patient"]; + [{ + params ["_patient"]; + ["EDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); + }, + [_patient], + 120] call CBA_fnc_waitAndExecute; + + } else { + + params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setAnimSpeedCoef 1.2; - _patient setStamina 180; - - [{ - params ["_patient"]; - _patient setAnimSpeedCoef 1; - }, - [_patient], - 120] call CBA_fnc_waitAndExecute; - }; + if !(alive _patient) exitWith {}; + _patient setAnimSpeedCoef 1.2; + _patient setStamina 180; + + [{ + params ["_patient"]; + _patient setAnimSpeedCoef 1; + }, + [_patient], + 120] call CBA_fnc_waitAndExecute; + }; }; }] call CBA_fnc_addEventHandler; \ No newline at end of file diff --git a/addons/pharma/XEH_preInit.sqf b/addons/pharma/XEH_preInit.sqf index 27a7dcc23..ced0fa27c 100644 --- a/addons/pharma/XEH_preInit.sqf +++ b/addons/pharma/XEH_preInit.sqf @@ -178,12 +178,12 @@ PREP_RECOMPILE_END; //Lorazepam Settings Category [ - QGVAR(medLvl_Lorazepam), - "LIST", - [LLSTRING(medLvl_Lorazepam)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Lorazepam)], - [[0, 1, 2], [ACELSTRING(medical_treatment,Anyone), ACELSTRING(medical_treatment,Medics), ACELSTRING(medical_treatment,Doctors)], 0], - true + QGVAR(medLvl_Lorazepam), + "LIST", + [LLSTRING(medLvl_Lorazepam)], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Lorazepam)], + [[0, 1, 2], [ACELSTRING(medical_treatment,Anyone), ACELSTRING(medical_treatment,Medics), ACELSTRING(medical_treatment,Doctors)], 0], + true ] call CBA_Settings_fnc_init; [ @@ -197,12 +197,12 @@ PREP_RECOMPILE_END; //Etomidate Settings Category [ - QGVAR(medLvl_Etomidate), - "LIST", - [LLSTRING(medLvl_Etomidate)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Etomidate)], - [[0, 1, 2], [ACELSTRING(medical_treatment,Anyone), ACELSTRING(medical_treatment,Medics), ACELSTRING(medical_treatment,Doctors)], 0], - true + QGVAR(medLvl_Etomidate), + "LIST", + [LLSTRING(medLvl_Etomidate)], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Etomidate)], + [[0, 1, 2], [ACELSTRING(medical_treatment,Anyone), ACELSTRING(medical_treatment,Medics), ACELSTRING(medical_treatment,Doctors)], 0], + true ] call CBA_Settings_fnc_init; [ @@ -216,12 +216,12 @@ PREP_RECOMPILE_END; //FLumazenil Settings Category [ - QGVAR(medLvl_Flumezenil), - "LIST", - [LLSTRING(medLvl_Flumazenil)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Flumazenil)], - [[0, 1, 2], [ACELSTRING(medical_treatment,Anyone), ACELSTRING(medical_treatment,Medics), ACELSTRING(medical_treatment,Doctors)], 0], - true + QGVAR(medLvl_Flumezenil), + "LIST", + [LLSTRING(medLvl_Flumazenil)], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Flumazenil)], + [[0, 1, 2], [ACELSTRING(medical_treatment,Anyone), ACELSTRING(medical_treatment,Medics), ACELSTRING(medical_treatment,Doctors)], 0], + true ] call CBA_Settings_fnc_init; [ @@ -273,27 +273,27 @@ PREP_RECOMPILE_END; ] call CBA_Settings_fnc_init; [ - QGVAR(weapon_sway_pervitin), - "CHECKBOX", - [LLSTRING(SETTING_Weapon_Sway_Pervitin), LLSTRING(SETTING_Weapon_Sway_Pervitin_DESC)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Pervitin)], - [true], - true + QGVAR(weapon_sway_pervitin), + "CHECKBOX", + [LLSTRING(SETTING_Weapon_Sway_Pervitin), LLSTRING(SETTING_Weapon_Sway_Pervitin_DESC)], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Pervitin)], + [true], + true ] call CBA_Settings_fnc_init; [ - QGVAR(chromatic_aberration_checkbox_pervitin), - "CHECKBOX", - [LLSTRING(SETTING_Chromatic_Aberration_Checkbox_Pervitin), LLSTRING(SETTING_Chromatic_Aberration_Checkbox_Pervitin_DESC)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Pervitin)], - [true], - true + QGVAR(chromatic_aberration_checkbox_pervitin), + "CHECKBOX", + [LLSTRING(SETTING_Chromatic_Aberration_Checkbox_Pervitin), LLSTRING(SETTING_Chromatic_Aberration_Checkbox_Pervitin_DESC)], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Pervitin)], + [true], + true ] call CBA_Settings_fnc_init; [ QGVAR(chromatic_aberration_slider_pervitin), "SLIDER", - [LLSTRING(SETTING_Chromatic_Aberration_Slider_Pervitin), LLSTRING(SETTING_Chromatic_Aberration_Slider_Pervitin_DESC)], + [LLSTRING(SETTING_Chromatic_Aberration_Slider_Pervitin), LLSTRING(SETTING_Chromatic_Aberration_Slider_Pervitin_DESC)], [CBA_SETTINGS_CAT, LSTRING(SubCategory_Pervitin)], [0.1, 10, 1, 1], true @@ -302,7 +302,7 @@ PREP_RECOMPILE_END; [ QGVAR(pervitinSpeed), "SLIDER", - [LLSTRING(SETTING_PervitinSpeed_displayName), LLSTRING(SETTING_PervitinSpeed_DESC)], + [LLSTRING(SETTING_PervitinSpeed_displayName), LLSTRING(SETTING_PervitinSpeed_DESC)], [CBA_SETTINGS_CAT, LSTRING(SubCategory_Pervitin)], [1, 1.5, 1.15, 2], true @@ -481,18 +481,18 @@ PREP_RECOMPILE_END; ] call CBA_Settings_fnc_init; [ - QGVAR(chromatic_aberration_checkbox_ketamine), - "CHECKBOX", - [LLSTRING(SETTING_Chromatic_Aberration_Checkbox_Ketamine), LLSTRING(SETTING_Chromatic_Aberration_Checkbox_Ketamine_DESC)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Ketamine)], - [true], - true + QGVAR(chromatic_aberration_checkbox_ketamine), + "CHECKBOX", + [LLSTRING(SETTING_Chromatic_Aberration_Checkbox_Ketamine), LLSTRING(SETTING_Chromatic_Aberration_Checkbox_Ketamine_DESC)], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Ketamine)], + [true], + true ] call CBA_Settings_fnc_init; [ QGVAR(chromatic_aberration_slider_ketamine), "SLIDER", - [LLSTRING(SETTING_Chromatic_Aberration_Slider_Ketamine), LLSTRING(SETTING_Chromatic_Aberration_Slider_Ketamine_DESC)], + [LLSTRING(SETTING_Chromatic_Aberration_Slider_Ketamine), LLSTRING(SETTING_Chromatic_Aberration_Slider_Ketamine_DESC)], [CBA_SETTINGS_CAT, LSTRING(SubCategory_Ketamine)], [0.1, 10, 0.8, 1], true @@ -518,18 +518,18 @@ PREP_RECOMPILE_END; ] call CBA_Settings_fnc_init; [ - QGVAR(chromatic_aberration_checkbox_fentanyl), - "CHECKBOX", - [LLSTRING(SETTING_Chromatic_Aberration_Checkbox_Fentanyl), LLSTRING(SETTING_Chromatic_Aberration_Checkbox_Fentanyl_DESC)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fentanyl)], - [true], - true + QGVAR(chromatic_aberration_checkbox_fentanyl), + "CHECKBOX", + [LLSTRING(SETTING_Chromatic_Aberration_Checkbox_Fentanyl), LLSTRING(SETTING_Chromatic_Aberration_Checkbox_Fentanyl_DESC)], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fentanyl)], + [true], + true ] call CBA_Settings_fnc_init; [ QGVAR(chromatic_aberration_slider_fentanyl), "SLIDER", - [LLSTRING(SETTING_Chromatic_Aberration_Slider_Fentanyl), LLSTRING(SETTING_Chromatic_Aberration_Slider_Fentanyl_DESC)], + [LLSTRING(SETTING_Chromatic_Aberration_Slider_Fentanyl), LLSTRING(SETTING_Chromatic_Aberration_Slider_Fentanyl_DESC)], [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fentanyl)], [0.1, 10, 1, 1], true @@ -555,30 +555,30 @@ PREP_RECOMPILE_END; ] call CBA_Settings_fnc_init; [ - QGVAR(kidneyAction), - "CHECKBOX", - [LLSTRING(SETTING_Kidney_Action), LLSTRING(SETTING_Kidney_Action_DESC)], - [CBA_SETTINGS_CAT], - [false], - true + QGVAR(kidneyAction), + "CHECKBOX", + [LLSTRING(SETTING_Kidney_Action), LLSTRING(SETTING_Kidney_Action_DESC)], + [CBA_SETTINGS_CAT], + [false], + true ] call CBA_Settings_fnc_init; [ - QGVAR(blockChance), - "SLIDER", - [LLSTRING(SETTING_Block_Chance), LLSTRING(SETTING_Block_Chance_DESC)], - CBA_SETTINGS_CAT, - [0, 100, 20, 0], - true + QGVAR(blockChance), + "SLIDER", + [LLSTRING(SETTING_Block_Chance), LLSTRING(SETTING_Block_Chance_DESC)], + CBA_SETTINGS_CAT, + [0, 100, 20, 0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(coagulation), - "CHECKBOX", - [LLSTRING(SETTING_Coagulation), LLSTRING(SETTING_Coagulation_DESC)], - CBA_SETTINGS_CAT, - [false], - true + QGVAR(coagulation), + "CHECKBOX", + [LLSTRING(SETTING_Coagulation), LLSTRING(SETTING_Coagulation_DESC)], + CBA_SETTINGS_CAT, + [false], + true ] call CBA_Settings_fnc_init; ADDON = true; diff --git a/addons/pharma/functions/fnc_fentanylPP.sqf b/addons/pharma/functions/fnc_fentanylPP.sqf index be3b90910..a25c255de 100644 --- a/addons/pharma/functions/fnc_fentanylPP.sqf +++ b/addons/pharma/functions/fnc_fentanylPP.sqf @@ -19,45 +19,45 @@ /// ChromAberration effect if (GVAR(chromatic_aberration_checkbox_pervitin)) then { - [{ - params ["_target"]; - - if !(alive _target) exitWith {}; - ["ChromAberration", 200, [(GVAR(chromatic_aberration_slider_fentanyl)/100), (GVAR(chromatic_aberration_slider_fentanyl)/100), true ], "", _target] spawn { - - params ["_name", "_priority", "_effect", "_handle", "_target"]; - while { - _handle = ppEffectCreate[_name, _priority]; - _handle < 0 - } do { - _priority = _priority + 1; - }; - _handle ppEffectEnable true; - _handle ppEffectAdjust _effect; - _handle ppEffectCommit 360; - - [{ params["_handle"]; - - [{ params["_handle"]; - ppEffectCommitted _handle - }, - { params["_handle"]; - _handle ppEffectAdjust [0.005, 0.005, false]; - _handle ppEffectCommit 480; //lowering until 15m - - [{ params["_handle"]; - ppEffectCommitted _handle - }, - { params["_handle"]; - _handle ppEffectEnable false; - ppEffectDestroy _handle; - - }, [_handle]] call CBA_fnc_waitUntilAndExecute; - - }, [_handle]] call CBA_fnc_waitUntilAndExecute; - }, - [_handle], 360] call CBA_fnc_waitAndExecute; // wait until 7m for change to lower again - }; - }, - [_target], 60] call CBA_fnc_waitAndExecute; // 60s chroma start + [{ + params ["_target"]; + + if !(alive _target) exitWith {}; + ["ChromAberration", 200, [(GVAR(chromatic_aberration_slider_fentanyl)/100), (GVAR(chromatic_aberration_slider_fentanyl)/100), true ], "", _target] spawn { + + params ["_name", "_priority", "_effect", "_handle", "_target"]; + while { + _handle = ppEffectCreate[_name, _priority]; + _handle < 0 + } do { + _priority = _priority + 1; + }; + _handle ppEffectEnable true; + _handle ppEffectAdjust _effect; + _handle ppEffectCommit 360; + + [{ params["_handle"]; + + [{ params["_handle"]; + ppEffectCommitted _handle + }, + { params["_handle"]; + _handle ppEffectAdjust [0.005, 0.005, false]; + _handle ppEffectCommit 480; //lowering until 15m + + [{ params["_handle"]; + ppEffectCommitted _handle + }, + { params["_handle"]; + _handle ppEffectEnable false; + ppEffectDestroy _handle; + + }, [_handle]] call CBA_fnc_waitUntilAndExecute; + + }, [_handle]] call CBA_fnc_waitUntilAndExecute; + }, + [_handle], 360] call CBA_fnc_waitAndExecute; // wait until 7m for change to lower again + }; + }, + [_target], 60] call CBA_fnc_waitAndExecute; // 60s chroma start }; \ No newline at end of file diff --git a/addons/pharma/functions/fnc_ketaminePP.sqf b/addons/pharma/functions/fnc_ketaminePP.sqf index 2563c7996..34f5de042 100644 --- a/addons/pharma/functions/fnc_ketaminePP.sqf +++ b/addons/pharma/functions/fnc_ketaminePP.sqf @@ -40,10 +40,10 @@ if (GVAR(chromatic_aberration_checkbox_ketamine)) then { _handle ppEffectCommit 660; /// Wearoff after 13m (after injection) [ - { params ["_handle"]; + { params ["_handle"]; ppEffectCommitted _handle; }, - { params ["_handle"]; + { params ["_handle"]; _handle ppEffectEnable false; ppEffectDestroy _handle; }, @@ -56,45 +56,45 @@ if (GVAR(chromatic_aberration_checkbox_ketamine)) then { if (GVAR(chromatic_aberration_checkbox_pervitin)) then { - [{ - params ["_target"]; + [{ + params ["_target"]; - if !(alive _target) exitWith {}; - ["ChromAberration", 200, [(GVAR(chromatic_aberration_slider_ketamine)/100), (GVAR(chromatic_aberration_slider_ketamine)/100), true ], "", _target] spawn { + if !(alive _target) exitWith {}; + ["ChromAberration", 200, [(GVAR(chromatic_aberration_slider_ketamine)/100), (GVAR(chromatic_aberration_slider_ketamine)/100), true ], "", _target] spawn { - params ["_name", "_priority", "_effect", "_handle", "_target"]; - while { - _handle = ppEffectCreate[_name, _priority]; - _handle < 0 - } do { - _priority = _priority + 1; - }; - _handle ppEffectEnable true; - _handle ppEffectAdjust _effect; - _handle ppEffectCommit 360; - - [{ params["_handle"]; - - [{ params["_handle"]; - ppEffectCommitted _handle - }, - { params["_handle"]; - _handle ppEffectAdjust [0.005, 0.005, false]; - _handle ppEffectCommit 480; //lowering until 15m + params ["_name", "_priority", "_effect", "_handle", "_target"]; + while { + _handle = ppEffectCreate[_name, _priority]; + _handle < 0 + } do { + _priority = _priority + 1; + }; + _handle ppEffectEnable true; + _handle ppEffectAdjust _effect; + _handle ppEffectCommit 360; + + [{ params["_handle"]; + + [{ params["_handle"]; + ppEffectCommitted _handle + }, + { params["_handle"]; + _handle ppEffectAdjust [0.005, 0.005, false]; + _handle ppEffectCommit 480; //lowering until 15m - [{ params["_handle"]; - ppEffectCommitted _handle - }, - { params["_handle"]; - _handle ppEffectEnable false; - ppEffectDestroy _handle; + [{ params["_handle"]; + ppEffectCommitted _handle + }, + { params["_handle"]; + _handle ppEffectEnable false; + ppEffectDestroy _handle; - }, [_handle]] call CBA_fnc_waitUntilAndExecute; + }, [_handle]] call CBA_fnc_waitUntilAndExecute; - }, [_handle]] call CBA_fnc_waitUntilAndExecute; - }, - [_handle], 360] call CBA_fnc_waitAndExecute; // wait until 7m for change to lower again - }; - }, - [_target], 60] call CBA_fnc_waitAndExecute; // 60s chroma start + }, [_handle]] call CBA_fnc_waitUntilAndExecute; + }, + [_handle], 360] call CBA_fnc_waitAndExecute; // wait until 7m for change to lower again + }; + }, + [_target], 60] call CBA_fnc_waitAndExecute; // 60s chroma start }; \ No newline at end of file diff --git a/addons/pharma/functions/fnc_pervitinPP.sqf b/addons/pharma/functions/fnc_pervitinPP.sqf index a3742050d..db511c974 100644 --- a/addons/pharma/functions/fnc_pervitinPP.sqf +++ b/addons/pharma/functions/fnc_pervitinPP.sqf @@ -19,58 +19,58 @@ params ["_target"]; if (GVAR(chromatic_aberration_checkbox_pervitin)) then { - [{ - params ["_target"]; + [{ + params ["_target"]; - if !(alive _target) exitWith {}; - ["ChromAberration", 200, [ (GVAR(chromatic_aberration_slider_pervitin)/100), (GVAR(chromatic_aberration_slider_pervitin)/100), true ], "", _target] spawn { + if !(alive _target) exitWith {}; + ["ChromAberration", 200, [ (GVAR(chromatic_aberration_slider_pervitin)/100), (GVAR(chromatic_aberration_slider_pervitin)/100), true ], "", _target] spawn { - params ["_name", "_priority", "_effect", "_handle", "_target"]; - while { - _handle = ppEffectCreate[_name, _priority]; - _handle < 0 - } do { - _priority = _priority + 1; - }; - _handle ppEffectEnable true; - _handle ppEffectAdjust _effect; - _handle ppEffectCommit 120; - [LLSTRING(Pervitin_chrom), 2, _target] call ACEFUNC(common,displayTextStructured); - - [{ params["_handle"]; - - [{ params["_handle"]; - ppEffectCommitted _handle - }, - { params["_handle"]; - _handle ppEffectAdjust [0.005, 0.005, false]; - _handle ppEffectCommit 257.5; //lowering until 9m + params ["_name", "_priority", "_effect", "_handle", "_target"]; + while { + _handle = ppEffectCreate[_name, _priority]; + _handle < 0 + } do { + _priority = _priority + 1; + }; + _handle ppEffectEnable true; + _handle ppEffectAdjust _effect; + _handle ppEffectCommit 120; + [LLSTRING(Pervitin_chrom), 2, _target] call ACEFUNC(common,displayTextStructured); + + [{ params["_handle"]; + + [{ params["_handle"]; + ppEffectCommitted _handle + }, + { params["_handle"]; + _handle ppEffectAdjust [0.005, 0.005, false]; + _handle ppEffectCommit 257.5; //lowering until 9m - [{ params["_handle"]; - ppEffectCommitted _handle - }, - { params["_handle"]; - _handle ppEffectEnable false; - ppEffectDestroy _handle; + [{ params["_handle"]; + ppEffectCommitted _handle + }, + { params["_handle"]; + _handle ppEffectEnable false; + ppEffectDestroy _handle; - }, [_handle]] call CBA_fnc_waitUntilAndExecute; + }, [_handle]] call CBA_fnc_waitUntilAndExecute; - }, [_handle]] call CBA_fnc_waitUntilAndExecute; - }, - [_handle], 257.5] call CBA_fnc_waitAndExecute; // wait until 4:30m for change to lower again - }; - }, - [_target], 25] call CBA_fnc_waitAndExecute; // 25s chroma start + }, [_handle]] call CBA_fnc_waitUntilAndExecute; + }, + [_handle], 257.5] call CBA_fnc_waitAndExecute; // wait until 4:30m for change to lower again + }; + }, + [_target], 25] call CBA_fnc_waitAndExecute; // 25s chroma start }; // CamShake effect [{ - if !(alive _target) exitWith {}; - [LLSTRING(Pervitin_chrom2), 2, _target] call ACEFUNC(common,displayTextStructured); - addCamShake[1, 180, 2]; // wearoff after 9m - [{ - [LLSTRING(Pervitin_chrom3), 2, _target] call ACEFUNC(common,displayTextStructured); - }, - [_target], 180] call CBA_fnc_waitAndExecute; + if !(alive _target) exitWith {}; + [LLSTRING(Pervitin_chrom2), 2, _target] call ACEFUNC(common,displayTextStructured); + addCamShake[1, 180, 2]; // wearoff after 9m + [{ + [LLSTRING(Pervitin_chrom3), 2, _target] call ACEFUNC(common,displayTextStructured); + }, + [_target], 180] call CBA_fnc_waitAndExecute; }, [_target], 360] call CBA_fnc_waitAndExecute; // after 6m start \ No newline at end of file diff --git a/addons/pharma/functions/fnc_treatmentAdvanced_CaffeineLocal.sqf b/addons/pharma/functions/fnc_treatmentAdvanced_CaffeineLocal.sqf index c141d8734..0982c0fea 100644 --- a/addons/pharma/functions/fnc_treatmentAdvanced_CaffeineLocal.sqf +++ b/addons/pharma/functions/fnc_treatmentAdvanced_CaffeineLocal.sqf @@ -21,18 +21,18 @@ if (ACE_Player != _patient) exitWith {}; /// ACE Fatigue if (ACEGVAR(advanced_fatigue,enabled)) then { - [{ - params ["_patient"]; - ACEGVAR(advanced_fatigue,anReserve) = ACEGVAR(advanced_fatigue,anReserve) + 1500; - }, - [_patient], 2.5] call CBA_fnc_waitAndExecute; - + [{ + params ["_patient"]; + ACEGVAR(advanced_fatigue,anReserve) = ACEGVAR(advanced_fatigue,anReserve) + 1500; + }, + [_patient], 2.5] call CBA_fnc_waitAndExecute; + } else { - [{ - params ["_patient"]; - _patient setStamina(getStamina _patient + 300); - }, - [_patient], 2.5] call CBA_fnc_waitAndExecute; + [{ + params ["_patient"]; + _patient setStamina(getStamina _patient + 300); + }, + [_patient], 2.5] call CBA_fnc_waitAndExecute; }; \ No newline at end of file diff --git a/addons/pharma/functions/fnc_treatmentAdvanced_Flush.sqf b/addons/pharma/functions/fnc_treatmentAdvanced_Flush.sqf index 0d43f128d..ca0d77204 100644 --- a/addons/pharma/functions/fnc_treatmentAdvanced_Flush.sqf +++ b/addons/pharma/functions/fnc_treatmentAdvanced_Flush.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" /* - * Author: Katalam - * Airway Management for occluding + * Author: 2LT.Mazinski + * Flushing IV access with saline * * Arguments: * 0: Medic @@ -12,7 +12,7 @@ * None * * Example: - * [player, cursorTarget, "LeftArm"] call kat_airway_fnc_treatmentAdvanced_accuvac; + * [player, cursorTarget, "LeftArm"] call kat_pharma_fnc_treatmentAdvanced_Flush; * * Public: Yes */ diff --git a/addons/pharma/functions/fnc_treatmentAdvanced_FlushLocal.sqf b/addons/pharma/functions/fnc_treatmentAdvanced_FlushLocal.sqf index a2341ec8b..8fefe6ad8 100644 --- a/addons/pharma/functions/fnc_treatmentAdvanced_FlushLocal.sqf +++ b/addons/pharma/functions/fnc_treatmentAdvanced_FlushLocal.sqf @@ -1,17 +1,18 @@ #include "script_component.hpp" /* * Author: 2LT.Mazinski - * Locates and Removes 1x Morphine after the administration of Naloxone. + * Flushing IV access with saline * * Arguments: * 0: Medic - * 1: Medication + * 1: Patient + * 2: Body Part * * Return Value: * None * * Example: - * [player, "Naloxone"] call aceP_circulation_fnc_treatmentAdvanced_NaloxoneLocal; + * [player, cursorTarget, "LeftArm"] call kat_pharma_fnc_treatmentAdvanced_FlushLocal; * * Public: No */ diff --git a/addons/pharma/functions/fnc_treatmentAdvanced_PervitinLocal.sqf b/addons/pharma/functions/fnc_treatmentAdvanced_PervitinLocal.sqf index 08be8be94..a8da7008d 100644 --- a/addons/pharma/functions/fnc_treatmentAdvanced_PervitinLocal.sqf +++ b/addons/pharma/functions/fnc_treatmentAdvanced_PervitinLocal.sqf @@ -22,341 +22,341 @@ if (ACE_Player != _patient) exitWith {}; /// ACE Fatigue if (ACEGVAR(advanced_fatigue,enabled)) then { - - [{ - params ["_patient"]; + + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,anReserve) = ACEGVAR(advanced_fatigue,anReserve) + 3000; - ["PDF", 0] call ACEFUNC(advanced_fatigue,addDutyFactor); - [LLSTRING(Pervitin_start), 2, _patient] call ACEFUNC(common,displayTextStructured); + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,anReserve) = ACEGVAR(advanced_fatigue,anReserve) + 3000; + ["PDF", 0] call ACEFUNC(advanced_fatigue,addDutyFactor); + [LLSTRING(Pervitin_start), 2, _patient] call ACEFUNC(common,displayTextStructured); - if (!isNil QACEGVAR(advanced_fatigue,setAnimExclusions)) then { - ACEGVAR(advanced_fatigue,setAnimExclusions) pushBack "PervitinOverride"; - }; - _patient setAnimSpeedCoef (GVAR(pervitinSpeed)); - }, - [_patient], 10] call CBA_fnc_waitAndExecute; + if (!isNil QACEGVAR(advanced_fatigue,setAnimExclusions)) then { + ACEGVAR(advanced_fatigue,setAnimExclusions) pushBack "PervitinOverride"; + }; + _patient setAnimSpeedCoef (GVAR(pervitinSpeed)); + }, + [_patient], 10] call CBA_fnc_waitAndExecute; - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - ["PDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); - [LLSTRING(Pervitin_mid), 2, _patient] call ACEFUNC(common,displayTextStructured); + if !(alive _patient) exitWith {}; + ["PDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); + [LLSTRING(Pervitin_mid), 2, _patient] call ACEFUNC(common,displayTextStructured); - _patient setAnimSpeedCoef 1; - if (!isNil QACEGVAR(advanced_fatigue,setAnimExclusions)) then { - _index = ACEGVAR(advanced_fatigue,setAnimExclusions) find "PervitinOverride"; - if (_index != -1) then { - ACEGVAR(advanced_fatigue,setAnimExclusions) deleteAt _index; - }; - }; - }, - [_patient], 180] call CBA_fnc_waitAndExecute; /// 3m + _patient setAnimSpeedCoef 1; + if (!isNil QACEGVAR(advanced_fatigue,setAnimExclusions)) then { + _index = ACEGVAR(advanced_fatigue,setAnimExclusions) find "PervitinOverride"; + if (_index != -1) then { + ACEGVAR(advanced_fatigue,setAnimExclusions) deleteAt _index; + }; + }; + }, + [_patient], 180] call CBA_fnc_waitAndExecute; /// 3m - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,anReserve) = ACEGVAR(advanced_fatigue,anReserve) + 3000; - ["PDF", 0.4] call ACEFUNC(advanced_fatigue,addDutyFactor); - [LLSTRING(Pervitin_mid2), 2, _patient] call ACEFUNC(common,displayTextStructured); - }, - [_patient], 240] call CBA_fnc_waitAndExecute; /// 4m + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,anReserve) = ACEGVAR(advanced_fatigue,anReserve) + 3000; + ["PDF", 0.4] call ACEFUNC(advanced_fatigue,addDutyFactor); + [LLSTRING(Pervitin_mid2), 2, _patient] call ACEFUNC(common,displayTextStructured); + }, + [_patient], 240] call CBA_fnc_waitAndExecute; /// 4m - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,anReserve) = ACEGVAR(advanced_fatigue,anReserve) + 3000; - ["PDF", 0.6] call ACEFUNC(advanced_fatigue,addDutyFactor); - [LLSTRING(Pervitin_mid3), 2, _patient] call ACEFUNC(common,displayTextStructured); - }, - [_patient], 360] call CBA_fnc_waitAndExecute; /// 6m + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,anReserve) = ACEGVAR(advanced_fatigue,anReserve) + 3000; + ["PDF", 0.6] call ACEFUNC(advanced_fatigue,addDutyFactor); + [LLSTRING(Pervitin_mid3), 2, _patient] call ACEFUNC(common,displayTextStructured); + }, + [_patient], 360] call CBA_fnc_waitAndExecute; /// 6m - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - ["PDF", 2] call ACEFUNC(advanced_fatigue,addDutyFactor); - [LLSTRING(Pervitin_mid4), 2, _patient] call ACEFUNC(common,displayTextStructured); - }, - [_patient], 510] call CBA_fnc_waitAndExecute; /// 8:30m + if !(alive _patient) exitWith {}; + ["PDF", 2] call ACEFUNC(advanced_fatigue,addDutyFactor); + [LLSTRING(Pervitin_mid4), 2, _patient] call ACEFUNC(common,displayTextStructured); + }, + [_patient], 510] call CBA_fnc_waitAndExecute; /// 8:30m - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - ["PDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); - [LLSTRING(Pervitin_end), 2, _patient] call ACEFUNC(common,displayTextStructured); - }, - [_patient], 600] call CBA_fnc_waitAndExecute; /// 10m + if !(alive _patient) exitWith {}; + ["PDF"] call ACEFUNC(advanced_fatigue,removeDutyFactor); + [LLSTRING(Pervitin_end), 2, _patient] call ACEFUNC(common,displayTextStructured); + }, + [_patient], 600] call CBA_fnc_waitAndExecute; /// 10m - /// ACE Fatigue Weapon Sway + /// ACE Fatigue Weapon Sway - if (GVAR(weapon_sway_pervitin)) then { + if (GVAR(weapon_sway_pervitin)) then { - if (isNil GVAR(originalSwayFactor)) then { - GVAR(originalSwayFactor) = ACEGVAR(advanced_fatigue,swayFactor); - }; + if (isNil GVAR(originalSwayFactor)) then { + GVAR(originalSwayFactor) = ACEGVAR(advanced_fatigue,swayFactor); + }; - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,swayFactor) = GVAR(originalSwayFactor) * 0.3; - }, - [_patient], 15] call CBA_fnc_waitAndExecute; + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,swayFactor) = GVAR(originalSwayFactor) * 0.3; + }, + [_patient], 15] call CBA_fnc_waitAndExecute; - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,swayFactor) = GVAR(originalSwayFactor) * 0.5 ; - }, - [_patient], 60] call CBA_fnc_waitAndExecute; + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,swayFactor) = GVAR(originalSwayFactor) * 0.5 ; + }, + [_patient], 60] call CBA_fnc_waitAndExecute; - - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,swayFactor) = GVAR(originalSwayFactor) * 1; - }, - [_patient], 90] call CBA_fnc_waitAndExecute; + + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,swayFactor) = GVAR(originalSwayFactor) * 1; + }, + [_patient], 90] call CBA_fnc_waitAndExecute; - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 1.3) min 2; - }, - [_patient], 120] call CBA_fnc_waitAndExecute; /// 2m + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 1.3) min 2; + }, + [_patient], 120] call CBA_fnc_waitAndExecute; /// 2m - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 1.5) min 2; - }, - [_patient], 150] call CBA_fnc_waitAndExecute; + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 1.5) min 2; + }, + [_patient], 150] call CBA_fnc_waitAndExecute; - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 1.7) min 2; - }, - [_patient], 180] call CBA_fnc_waitAndExecute; /// 3m + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 1.7) min 2; + }, + [_patient], 180] call CBA_fnc_waitAndExecute; /// 3m - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 2) min 2; - }, - [_patient], 210] call CBA_fnc_waitAndExecute; + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 2) min 2; + }, + [_patient], 210] call CBA_fnc_waitAndExecute; - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 1.7) min 2; - }, - [_patient], 240] call CBA_fnc_waitAndExecute; /// 4m + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 1.7) min 2; + }, + [_patient], 240] call CBA_fnc_waitAndExecute; /// 4m - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 1.4) min 2; - }, - [_patient], 300] call CBA_fnc_waitAndExecute; /// 5m + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 1.4) min 2; + }, + [_patient], 300] call CBA_fnc_waitAndExecute; /// 5m - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 1.2) min 2; - }, - [_patient], 420] call CBA_fnc_waitAndExecute; /// 7m + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,swayFactor) = (GVAR(originalSwayFactor) * 1.2) min 2; + }, + [_patient], 420] call CBA_fnc_waitAndExecute; /// 7m - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - ACEGVAR(advanced_fatigue,swayFactor) = GVAR(originalSwayFactor); - }, - [_patient], 540] call CBA_fnc_waitAndExecute; /// 9m - }; + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + ACEGVAR(advanced_fatigue,swayFactor) = GVAR(originalSwayFactor); + }, + [_patient], 540] call CBA_fnc_waitAndExecute; /// 9m + }; } else { - /// Normal Stamina & Weapon Sway + /// Normal Stamina & Weapon Sway - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setAnimSpeedCoef (GVAR(pervitinSpeed)); - _patient enableStamina false; - [LLSTRING(Pervitin_start), 2, _patient] call ACEFUNC(common,displayTextStructured); - }, - [_patient], 10] call CBA_fnc_waitAndExecute; + if !(alive _patient) exitWith {}; + _patient setAnimSpeedCoef (GVAR(pervitinSpeed)); + _patient enableStamina false; + [LLSTRING(Pervitin_start), 2, _patient] call ACEFUNC(common,displayTextStructured); + }, + [_patient], 10] call CBA_fnc_waitAndExecute; - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient enableStamina true; - _patient setAnimSpeedCoef 1; - [LLSTRING(Pervitin_mid), 2, _patient] call ACEFUNC(common,displayTextStructured); - }, - [_patient], 180] call CBA_fnc_waitAndExecute; /// 3m + if !(alive _patient) exitWith {}; + _patient enableStamina true; + _patient setAnimSpeedCoef 1; + [LLSTRING(Pervitin_mid), 2, _patient] call ACEFUNC(common,displayTextStructured); + }, + [_patient], 180] call CBA_fnc_waitAndExecute; /// 3m - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setStamina(getStamina _patient + 300); - [LLSTRING(Pervitin_mid2), 2, _patient] call ACEFUNC(common,displayTextStructured); - }, - [_patient], 240] call CBA_fnc_waitAndExecute; /// 4m + if !(alive _patient) exitWith {}; + _patient setStamina(getStamina _patient + 300); + [LLSTRING(Pervitin_mid2), 2, _patient] call ACEFUNC(common,displayTextStructured); + }, + [_patient], 240] call CBA_fnc_waitAndExecute; /// 4m - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setStamina(getStamina _patient + 300); - [LLSTRING(Pervitin_mid3), 2, _patient] call ACEFUNC(common,displayTextStructured); - }, - [_patient], 360] call CBA_fnc_waitAndExecute; /// 6m + if !(alive _patient) exitWith {}; + _patient setStamina(getStamina _patient + 300); + [LLSTRING(Pervitin_mid3), 2, _patient] call ACEFUNC(common,displayTextStructured); + }, + [_patient], 360] call CBA_fnc_waitAndExecute; /// 6m - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setStamina(getStamina _patient - 60); - [LLSTRING(Pervitin_mid4), 2, _patient] call ACEFUNC(common,displayTextStructured); - }, - [_patient], 510] call CBA_fnc_waitAndExecute; /// 8:30m + if !(alive _patient) exitWith {}; + _patient setStamina(getStamina _patient - 60); + [LLSTRING(Pervitin_mid4), 2, _patient] call ACEFUNC(common,displayTextStructured); + }, + [_patient], 510] call CBA_fnc_waitAndExecute; /// 8:30m - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - [LLSTRING(Pervitin_end), 2, _patient] call ACEFUNC(common,displayTextStructured); - }, - [_patient], 600] call CBA_fnc_waitAndExecute; /// 10m + if !(alive _patient) exitWith {}; + [LLSTRING(Pervitin_end), 2, _patient] call ACEFUNC(common,displayTextStructured); + }, + [_patient], 600] call CBA_fnc_waitAndExecute; /// 10m - ///Weapon sway normal arma + ///Weapon sway normal arma - if (GVAR(weapon_sway_pervitin)) then { + if (GVAR(weapon_sway_pervitin)) then { - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setCustomAimCoef 1; - _patient setCustomAimCoef(getCustomAimCoef _patient) - 0.7; - }, - [_patient], 15] call CBA_fnc_waitAndExecute; + if !(alive _patient) exitWith {}; + _patient setCustomAimCoef 1; + _patient setCustomAimCoef(getCustomAimCoef _patient) - 0.7; + }, + [_patient], 15] call CBA_fnc_waitAndExecute; - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setCustomAimCoef(getCustomAimCoef _patient) + 0.2; - }, - [_patient], 60] call CBA_fnc_waitAndExecute; + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + _patient setCustomAimCoef(getCustomAimCoef _patient) + 0.2; + }, + [_patient], 60] call CBA_fnc_waitAndExecute; - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setCustomAimCoef(getCustomAimCoef _patient) + 0.5; - }, - [_patient], 90] call CBA_fnc_waitAndExecute; + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + _patient setCustomAimCoef(getCustomAimCoef _patient) + 0.5; + }, + [_patient], 90] call CBA_fnc_waitAndExecute; - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setCustomAimCoef(getCustomAimCoef _patient) + 0.3; - }, - [_patient], 120] call CBA_fnc_waitAndExecute; /// 2m + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + _patient setCustomAimCoef(getCustomAimCoef _patient) + 0.3; + }, + [_patient], 120] call CBA_fnc_waitAndExecute; /// 2m - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setCustomAimCoef(getCustomAimCoef _patient) + 0.5; - }, - [_patient], 150] call CBA_fnc_waitAndExecute; + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + _patient setCustomAimCoef(getCustomAimCoef _patient) + 0.5; + }, + [_patient], 150] call CBA_fnc_waitAndExecute; - [{ - params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setCustomAimCoef(getCustomAimCoef _patient) + 0.2; - }, - [_patient], 180] call CBA_fnc_waitAndExecute; /// 3m + [{ + params ["_patient"]; + if !(alive _patient) exitWith {}; + _patient setCustomAimCoef(getCustomAimCoef _patient) + 0.2; + }, + [_patient], 180] call CBA_fnc_waitAndExecute; /// 3m - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setCustomAimCoef(getCustomAimCoef _patient) + 0.3; + if !(alive _patient) exitWith {}; + _patient setCustomAimCoef(getCustomAimCoef _patient) + 0.3; - }, - [_patient], 210] call CBA_fnc_waitAndExecute; + }, + [_patient], 210] call CBA_fnc_waitAndExecute; - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setCustomAimCoef(getCustomAimCoef _patient) - 0.3; + if !(alive _patient) exitWith {}; + _patient setCustomAimCoef(getCustomAimCoef _patient) - 0.3; - }, - [_patient], 240] call CBA_fnc_waitAndExecute; /// 4m + }, + [_patient], 240] call CBA_fnc_waitAndExecute; /// 4m - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setCustomAimCoef(getCustomAimCoef _patient) - 0.3; + if !(alive _patient) exitWith {}; + _patient setCustomAimCoef(getCustomAimCoef _patient) - 0.3; - }, - [_patient], 300] call CBA_fnc_waitAndExecute; /// 5m + }, + [_patient], 300] call CBA_fnc_waitAndExecute; /// 5m - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setCustomAimCoef(getCustomAimCoef _patient) - 0.2; + if !(alive _patient) exitWith {}; + _patient setCustomAimCoef(getCustomAimCoef _patient) - 0.2; - }, - [_patient], 420] call CBA_fnc_waitAndExecute; /// 7m + }, + [_patient], 420] call CBA_fnc_waitAndExecute; /// 7m - [{ - params ["_patient"]; + [{ + params ["_patient"]; - if !(alive _patient) exitWith {}; - _patient setCustomAimCoef 1; + if !(alive _patient) exitWith {}; + _patient setCustomAimCoef 1; - }, - [_patient], 540] call CBA_fnc_waitAndExecute; /// 9m - }; + }, + [_patient], 540] call CBA_fnc_waitAndExecute; /// 9m + }; }; /// ChromAberration & CamShake effect diff --git a/addons/pharma/stringtable.xml b/addons/pharma/stringtable.xml index 2630140ec..7fcd9f50a 100644 --- a/addons/pharma/stringtable.xml +++ b/addons/pharma/stringtable.xml @@ -1,7 +1,7 @@ - - - + + + Allow applying IV Poziom wyszkolenia medycznego dla IV 允许使用IV @@ -14,7 +14,7 @@ Permitir colocar IV Permitir aplicar IV - + Changes what medical level is required to set IVs Ändert, welcher medizinische Grad für das Legen von IVs erforderlich ist Poziom wyszkolenia medycznego potrzebnego do założenia kaniul IV @@ -30,7 +30,7 @@ Изменяет медицинский уровень, необходимый для установки IV. Muda qual nível médico é necessário para aplicar IVs - + Allow applying IO Poziom wyszkolenia medycznego dla IO 允许使用IO @@ -43,7 +43,7 @@ Permitir colocar IO Permitir aplicar IO - + Changes what medical level is required to set IOs Poziom wyszkolenia medycznego potrzebnego do założenia IO 更改设置 IO 所需的医疗级别 @@ -56,7 +56,7 @@ Cambia el nivel médico que se requiere para colocar las IOs Muda qual nível médico é necessário para aplicar IOs - + Enables IV/IO drop times Aktiviert das herausfallen von IOs/IVs Włącz wypadanie IV/IO @@ -72,7 +72,7 @@ Включает время сброса IV/IO Habilita tempo de queda de IV/IO - + IV/IO drop time IOs/IVs Herausfallzeit Temps de chute de l'IV/IO @@ -81,9 +81,9 @@ Tempo di staccamento IV/IO Tempo de queda de IV/IO - + Changes the time at which IVs/IOs fall out of a patient - Ändert den Zeitpunkt, zu dem IVs/IOs aus einem Patienten herausfallen + Ändert den Zeitpunkt, nachdem IVs/IOs aus einem Patienten herausfallen Czas samoistnego wypadnięcia IV/IO z pacjenta Temps au bout du quel l'IV/IO tombe du patient 改变病人的静脉注射/IOs脱落的时间 @@ -97,7 +97,7 @@ Изменяет время выпадения IV/IO капельниц у пациента Altera o tempo em que IVs/IOs caem de um paciente - + Sets if IV/IO needles are reusable Ändert ob IVs/IOs wiederverwendbar sind Czy igły IV/IO są do ponownego użytku @@ -113,7 +113,7 @@ Устанавливает, можно ли использовать иглы для IV/IO повторно Define se as agulhas IV/IO são reutilizáveis - + Time to establish IVs Zeit zum Anlegen von IVs Czas zakładania IV @@ -129,7 +129,7 @@ Время устанавливать IV Tempo de estabelecimento de IV - + Time to establish IOs Zeit zum Anlegen von IOs Czas zakładania IO @@ -145,7 +145,7 @@ Время устанавливать IO Tempo de estabelecimento de IO - + Used to suppress pain Zur Unterdrückung von Schmerzen Używany do zwalczania bólu @@ -161,7 +161,7 @@ Используется для подавления боли Utilizado para suprimir a dor - + Painkillers Lek przeciwbólowy 止痛藥 @@ -177,7 +177,7 @@ Обезболивающие Analgésicos - + Push Painkillers Użyj leku przeciwbólowego 服用止痛藥 @@ -193,7 +193,7 @@ Принимайте обезболивающие Administrar analgésicos - + Used to restore consciousness Wird zur Wiederherstellung des Bewusstseins verwendet Używane w celu przywrócenia przytomności @@ -209,7 +209,7 @@ Используется для восстановления сознания Usado para restaurar a consciência - + Ammonium Carbonate Ammoniumkarbonat Sole trzeźwiące @@ -225,7 +225,7 @@ Карбонат аммония Carbonato de Amônio - + Use Carbonate Ammoniumkarbonat verwenden Użyj soli trzeźwiących @@ -241,7 +241,7 @@ Используйте карбонат Administrar Carbonato de Amônio - + Used to reverse opioid overdoses Zur Umkehrung einer Opioid-Überdosis Używany do zwalczania przedawkowania opioidów @@ -257,7 +257,7 @@ Используется для устранения передозировок опиоидами. Usado para reverter overdoses de opioides - + Naloxone Naloxone Nalokson @@ -273,7 +273,7 @@ Налоксон Naloxona - + Use Naloxone Naloxone verwenden Użyj Naloksonu @@ -289,7 +289,7 @@ Используйте налоксон Administrar Naloxona - + Used to combat cardiac arrest Einsatz zur Bekämpfung des Herzstillstands Używany do zwalczania zatrzymania akcji serca @@ -305,7 +305,7 @@ Используется для борьбы с остановкой сердца Usado para combater a parada cardíaca - + Amiodarone Amiodaron Amiodaron @@ -321,7 +321,7 @@ Амиодарон Amiodarona - + Push Amiodarone Amiodaron verabreichen Wstrzyknij Amiodaron @@ -337,7 +337,7 @@ Ввести амиодарон Administrar Amiodarona - + Used to combat cardiac arrest Einsatz zur Bekämpfung des Herzstillstands Używany do zwalczania zatrzymania akcji serca @@ -353,7 +353,7 @@ Используется для борьбы с остановкой сердца Usado para combater a parada cardíaca - + Lidocaine Lidocain Lidokaina @@ -369,7 +369,7 @@ Лидокаин Lidocaína - + Push Lidocaine Lidocain verabreichen Wstrzyknij Lidokainę @@ -385,7 +385,7 @@ Ввести Лидокаин Administrar Lidocaína - + Used to treat bradycardia Zur Behandlung von Bradykardie Używany do zwalczania bradykardii @@ -401,7 +401,7 @@ Используется для лечения брадикардии Usado para tratar bradicardia - + Atropine Atropin Atropina @@ -417,7 +417,7 @@ Атропин Atropina - + Push Atropine Atropin verabreichen Wstrzyknij Atropinę @@ -433,7 +433,7 @@ Ввести Атропин Administrar Atropina - + Encourages clot formation Fördert die Gerinnungsbildung Wspomaga tworzenie skrzepów @@ -449,7 +449,7 @@ Способствует образованию тромбов Favorece a coagulação - + TXA TXA TXA @@ -465,7 +465,7 @@ TXA TXA - + Push TXA TXA verabreichen Wstrzyknij TXA @@ -481,7 +481,7 @@ Ввести TXA Administrar TXA - + Used to raise blood pressure Wird zur Erhöhung des Blutdrucks verwendet Używana do podniesienia ciśnienia krwi @@ -497,7 +497,7 @@ Используется для повышения артериального давления Usado para aumentar a pressão arterial - + Norepinephrine Noradrenalin Noradrenalina @@ -513,7 +513,7 @@ Норадреналин Norepinefrina - + Push Norepinephrine Noradrenalin verabreichen Wstrzyknij Noradrenalinę @@ -529,7 +529,7 @@ Ввести Норадреналин Administrar Norepinefrina - + Used to raise blood pressure Wird zur Erhöhung des Blutdrucks verwendet Używana do podniesienia ciśnienia krwi @@ -545,7 +545,7 @@ Используется для повышения артериального давления Usado para aumentar a pressão arterial - + Phenylephrine Phenylephrin Fenylefryna @@ -561,7 +561,7 @@ Фенилэфрин Fenilefrina - + Push Phenylephrine Phenylephrin verabreichen Wstrzyknij Fenylefrynę @@ -577,7 +577,7 @@ Ввести Фенилэфрин Administrar Fenilefrina - + Used to lower blood pressure Zur Senkung des Blutdrucks Używana do obniżenia ciśnienia krwi @@ -593,7 +593,7 @@ Используется для снижения артериального давления Usado para baixar a pressão arterial - + Nitroglycerin Nitroglycerin Nitrogliceryna @@ -609,7 +609,7 @@ Нитроглицерин Nitroglicerina - + Push Nitroglycerin Nitroglycerin verabreichen Wstrzyknij Nitroglicerynę @@ -625,7 +625,7 @@ Ввести Нитроглицерин Administrar Nitroglicerina - + Reorient Patient Patient umorientieren Ocuć pacjenta @@ -640,7 +640,7 @@ Переориентация пациента Reorientar Paciente - + Reorienting Umorientieren Cucenie @@ -656,7 +656,7 @@ Переориентация Reorientando - + You hit the cheek, but patient still asleep! Du hast die Wange getroffen, aber Patient schläft noch! Uderzyłeś w policzek, ale pacjent nadal śpi! @@ -672,7 +672,7 @@ あなたは頬を叩きましたが、患者はまだ眠っています! Após a bofetada, o paciente continua desacordado! - + Patient woke up with a hard hit! Patient wachte mit einem harten Schlag auf! Pacjent obudził się z mocnym uderzeniem! @@ -688,7 +688,7 @@ 患者は強打で飛び起きた! O bofetão acorda o paciente! - + Using Benutzen Używanie @@ -704,7 +704,7 @@ С использованием Usando - + Pushing Verabreichen Wstrzykiwanie @@ -720,7 +720,7 @@ Ввести Administrando - + %1 pushed %2 %1 verabreichte %2 %1 wstrzyknął %2 @@ -736,7 +736,7 @@ %1 нажал %2 %1 administrou %2 - + %1 injected %2 %1 verabreichte %2 %1 włożył %2 @@ -752,7 +752,7 @@ %1 введено %2 %1 injetou %2 - + %1 used %2 %1 nutzte %2 %1 użył %2 @@ -768,7 +768,7 @@ %1 использует %2 %1 usou %1 - + 16g IV 16g IV 16g IV @@ -784,7 +784,7 @@ 16г IV 16g IV - + Intravenous Needle Intravenöse Kanüle Kaniula dożylna (wenflon) @@ -800,7 +800,7 @@ Внутривенное игла Cateter Intravenoso - + FAST IO FAST IO FAST IO @@ -816,7 +816,7 @@ FAST IO FAST IO - + Intraosseous Needle Intraossäre Kanüle Igła doszpikowa @@ -832,7 +832,7 @@ Внутривенное игла Infusão Intraóssea - + Establish 16g IV 16g IV einrichten Załóż 16G IV @@ -848,7 +848,7 @@ Настройка 16г IV Inserir 16g IV - + Establish FAST IO FAST IO einrichten Załóż FAST IO @@ -864,9 +864,9 @@ Установить 16г IV Inserir FAST IO - + Establishing IV/IO - IV/IO einrichten + IV legen Zakładanie IV Colocando IV Zavádím IV @@ -880,9 +880,9 @@ Настройка IV/IO Inserindo IV - + Establishing IO - IO einrichten + IO legen Zakładanie IO Colocando IO Zavádím IO @@ -896,9 +896,9 @@ Настройка IO Inserindo IO - + %1 established a %2 - %1 errichtet eine %2 + %1 legte ein %2 %1 założył %2 %1 ha colocado %2 %1 被插入一個 %2 @@ -912,7 +912,7 @@ %1 Настройка %2 %1 inseriu %2 - + Remove IV/IO IV/IO entfernen Zdejmij IV/IO @@ -928,7 +928,7 @@ Удалить IV/IO Retirar IV/IO - + Removing Entferne Zdejmowanie @@ -944,7 +944,7 @@ Удаление Removendo - + %1 is now empty %1 ist nun leer %1 jest pusty @@ -960,7 +960,7 @@ %1 сейчас пуст %1 agora está vazio - + Require inserted IV/IO Erfordert eingefügtes IV/IO Wymagaj włożonego IV/IO @@ -976,7 +976,7 @@ Требовать вставки IV/IO Requerer inserção de IV/IO - + Default false. If true, you will need to insert IV/IO first before being able to give someone saline/blood/plasma.\n If false, it retains standard ACE behaviour for using saline/blood/plasma. Standardeinstellung falsch. Wenn wahr, müssen Sie zuerst eine IV/IO einführen, bevor Sie jemandem Kochsalzlösung/Blut/Plasma geben können.\n Wenn falsch, behält es das Standard-ACE-Verhalten für die Verwendung von Kochsalzlösung/Blut/Plasma bei. Domyślnie wyłączone. Jeśli włączone, należy najpierw umieścić IV/IO przed podaniem płynów. \nJeśli wyłączone, mechanika będzie taka sama jak w ACE przy podawaniu soli fizjologicznej/krwi/osocza. @@ -992,7 +992,7 @@ Истина по умолчанию. Если это правда, вам нужно будет сначала ввести IV/IO, прежде чем вы сможете дать кому-то физиологический раствор/кровь/плазму.\n Если false, он сохраняет стандартное поведение ACE для использования физиологического раствора/крови/плазмы. Falso, por padrão. Se verdadeiro, você precisará inserir IV/IO primeiro antes de poder administrar solução salina/sangue/plasma a alguém.\n Se falso, mantém o comportamento padrão do ACE para uso de solução salina/sangue/plasma. - + Medications Require IV/IO 薬液にIV/IO刺入を要求しますか Les médicaments nécessitent une IV/IO @@ -1005,7 +1005,7 @@ Requerir IV/IO para fármacos Medicamentos requerem IV/IO - + Default false. If true, you will need to insert IV/IO first before being able to give someone medications.\n If false, you can give them without it. KATデフォルトではfalseです。trueの場合、薬液注射を行う前にIV/IOを刺入する必要があります。\nfalseの場合は薬品だけで投与可能になります。 Faux par défaut. Si vrai, il sera nécessaire d'insérer une IV/IO avant de pouvoir donner des médicaments à quelqu'un.\n Si faux, ils pourront être donnés sans @@ -1018,7 +1018,7 @@ Predeterminado desactivado. Si se activa, se necesitará insertar una IV/IO primero antes de poder suministrar fármacos. \n Si esta desactivado, se podrán suministrar sin IV/IO. Falso, por padrão. Se verdadeiro, você precisará inserir IV/IO primeiro antes de poder administrar medicamentos a alguém.\n Se falso, você pode administrá-los sem ele. - + Reorientation slap sound Dźwięk przy cuceniu Slap-Sound für Umorientieren @@ -1034,7 +1034,7 @@ Звук пощечины при переориентации Som de tapa durante reorientação - + Enables slap sound for reorientation Włącza dźwięk uderzenia przy cuceniu Aktiviert Slap-Sound für Umorientieren @@ -1050,7 +1050,7 @@ Включает звук пощечины для переориентации Ativa o som de tapa durante reorientação - + Reorientation enabled? Cucenie dostępne? Umorientieren aktiviert? @@ -1066,7 +1066,7 @@ Переориентация включена? Reorientação habilitada? - + Enables reorientation Pozwala na cucenie Aktiviert das Umorientieren @@ -1082,7 +1082,7 @@ Включает переориентация Habilita a reorientação - + Allow reorientation Pozwól na cucenie Umorientieren zulassen @@ -1098,10 +1098,10 @@ Разрешить переориентацию Permitir reorientação - + Medical level required for reorientation Poziom wyszkolenia wymagany do cucenia - Erforderliches Medic Level zum Umorientieren + Erforderlicher medizinischer Grad zum Umorientieren Nivel médico requerido para la bofetada 调整方向所需的医疗水平 刺激患者所需的医疗水平 @@ -1114,7 +1114,7 @@ Медицинский уровень, необходимый для переориентации Nível médico necessário para reorientação - + Enable Chromatic Aberration Aktiviere Chromatische Abweichungen Activer l'aberration chromatique @@ -1123,34 +1123,34 @@ Attiva aberrazione cromatica Ativar Aberração Cromática - + Enables if pervitin should influance your vision with chromatic aberration - Aktiviert ob Pervitin deine Sicht beinflussen soll mit chromatischen Abweichungen + Aktiviert, ob Pervitin deine Sicht mit chromatischen Abweichungen beeinflussen soll Définie si la pervitine devrait influancer la vision avec une aberration chromatique ペルビチン服用時に色収差で視覚に影響を与えるかどうかを有効にします 페르피틴이 색수차로 시력에 영향을 미치는지의 여부를 활성화합니다. Attiva se il pervitin debba influenzare la tua visuale con l'aberrazione cromatica Ativa se o Pervitin deve influenciar sua visão com Aberração Cromática - + Chromatic Aberration Strength - Chromatische Abweichungs Stärke + Chromatische Abweichung-Stärke Intensité de l'aberration chromatique 色収差強度 색수차 강도(페르피틴) Intensità dell'aberrazione cromatica Intensidade de Aberração Cromática - + Changes the strength of the chromatic aberration - Bestimmt die Stärke von den Chromatischen Abweichungen + Bestimmt die Stärke von den chromatischen Abweichungen Définie l'intensité de l'aberration chromatique 色収差の強さを変更します 페르피틴의 색수차의 강도를 변경합니다. Cambia l'intensità dell'aberrazione cromatica Altera a intensidade da Aberração Cromática - + Enable Weapon Sway Aktiviere Waffen Schwanken Activer l'oscillation de l'arme @@ -1159,102 +1159,102 @@ Abilita l'oscillazione dell'arma Ativar balanço da arma - + Enables if pervitin should influance your weapon sway - Aktiviert ob Pervitin dein Waffen schwanken beinflussen soll + Aktiviert, ob Pervitin das Schwanken deiner Waffen beeinflussen soll Définie si la pervitine influance l'oscillation de l'arme ペルビチンが武器の揺れに影響を与えるかどうかを有効にします 페르피틴이 무기의 흔들림에 영향을 미치는지의 여부를 활성화합니다. Attiva se il pervitin debba influenzare l'oscillazione dell'arma Ativa se o Pervitin influenciar o balanço da sua arma - + Pervitin Speed Boost - Pervitin Geschwindigkeits Boost + Pervitin Geschwindigkeit Boost 페르피틴 속도 부스트 ペルビチン速度上昇 Aumento de velocidade do Pervitin - + The animation speed that gets set in Stage 1 of Pervitin. (1 = normal, 2 = twice) - Geschindigkeit die in Phase 1 von Pervitin gesetzt wird. (1 = normal, 2 = doppelt) + Geschwindigkeit, die in Phase 1 von Pervitin gesetzt wird. (1 = normal, 2 = doppelt) 페르피틴 효과 1단계에서 설정되는 애니메이션 속도. (1 = 정상, 2 = 두 배) ペルビチン効果の第一段階でのアニメーションの再生速度を設定します (1 = 通常、2 = 2倍速) A velocidade da animação definida no Estágio 1 do Pervitin. (1 = normal, 2 = duas vezes) - + Enable Chromatic Aberration - Aktiviere Chromatische Abweichungen + Aktiviere chromatische Abweichungen Activer l'aberration chromatique 色収差を有効にする 색수차 활성화(케타민) Attiva aberrazione cromatica Ativar Aberração Cromática - + Enables if ketamine should influance your vision with chromatic aberration - Aktiviert ob Ketamin deine Sicht beinflussen soll mit chromatischen Abweichungen + Aktiviert, ob Ketamin deine Sicht, mit chromatischen Abweichungen beeinflussen soll Définie si la kétamine devrait influancer la vision avec une aberration chromatique ケタミン服用時に色収差で視覚に影響を与えるかどうかを有効にします 케타민이 색수차로 시력에 영향을 미치는 지의 여부를 활성화합니다. Attiva se la ketamina debba influenzare la tua visuale con l'aberrazione cromatica Ativa se a Cetamina deve influenciar sua visão com Aberração Cromática - + Chromatic Aberration Strength - Chromatische Abweichungs Stärke + Chromatische Abweichung-Stärke Intensité de l'aberration chromatique 色収差強度 색수차 강도(케타민) Intensità dell'aberrazione cromatica Intensidade de Aberração Cromática - + Changes the strength of the chromatic aberration - Bestimmt die Stärke von den Chromatischen Abweichungen + Bestimmt die Stärke von den chromatischen Abweichungen Définie l'intensité de l'aberration chromatique 色収差の強さを変更します 케타민의 색수차의 강도를 변경합니다. Cambia l'intensità dell'aberrazione cromatica Altera a intensidade da Aberração Cromática - + Enable Chromatic Aberration - Aktiviere Chromatische Abweichungen + Aktiviere chromatische Abweichungen Activer l'aberration chromatique 色収差を有効にする 색수차 활성화(펜타닐) Attiva aberrazione cromatica Ativar Aberração Cromática - + Enables if fentanyl should influance your vision with chromatic aberration - Aktiviert ob Fentanyl deine Sicht beinflussen soll mit chromatischen Abweichungen + Aktiviert, ob Fentanyl deine Sicht mit chromatischen Abweichungen beeinflussen soll Définie si le fentanyl devrait influancer la vision avec une aberration chromatique フェンタニル服用時に色収差で視覚に影響を与えるかどうかを有効にします 펜타닐이 색수차로 시력에 영향을 미치는지의 여부를 활성화합니다. Attiva se il fentanil debba influenzare la tua visuale con l'aberrazione cromatica Ativa se o Fentanil deve influenciar sua visão com Aberração Cromática - + Chromatic Aberration Strength - Chromatische Abweichungs Stärke + Chromatische Abweichung-Stärke Intensité de l'aberration chromatique 色収差強度 색수차 강도(펜타닐) Attiva aberrazione cromatica Intensidade de Aberração Cromática - + Changes the strength of the chromatic aberration - Bestimmt die Stärke von den Chromatischen Abweichungen + Bestimmt die Stärke von den chromatischen Abweichungen Définie l'intensité de l'aberration chromatique 色収差の強さを変更します 펜타닐의 색수차의 강도를 변경합니다. Cambia l'intensità dell'aberrazione cromatica Altera a intensidade da Aberração Cromática - + Treatment time for reorientation Czas cucenia 恢复体态的治疗时间 @@ -1267,7 +1267,7 @@ Tiempo para bofetada Tempo de tratamento para reorientação - + Etomidate 依托咪酯 Etomidato @@ -1280,7 +1280,7 @@ Etomidato Etomidato - + General Anesthetic 全身麻醉 Anestesia generale @@ -1288,12 +1288,12 @@ Anesthésie générale Anestetyk 일반적인 마취제 - Allgemeinanästhesie + Allgemeines Anästhetikum 全身麻酔 Anestesia general Anestésico Geral - + Used as a general anesthetic for surgical procedures 用作外科手术的全身麻醉剂 Usato come anestetico generale per procedure chirurgiche @@ -1306,7 +1306,7 @@ Stosowany jako znieczulenie ogólne do zabiegów chirurgicznych Usado como um anestésico geral para procedimentos cirúrgicos - + Push Etomidate 推注依托咪酯 Iniettare Etomidato @@ -1319,7 +1319,7 @@ Administrar Etomidato Administrar Etomidato - + Lorazepam 劳拉西泮 Lorazepam @@ -1332,7 +1332,7 @@ Lorazepam Lorazepam - + Sedtation medication 镇静药物 Farmaco sedativo @@ -1345,7 +1345,7 @@ Fármaco sedante Medicamento sedativo - + Used to sedate patients and prepare them for surgery 用于镇静患者并为手术做好准备 Usato per sedare i pazienti e prepararli per un intervento chirurgico @@ -1358,7 +1358,7 @@ Służy do uspokajania pacjentów i przygotowywania ich do operacji - usypia Usado para sedar pacientes e prepará-los para a cirurgia - + Push Lorazepam 推注劳拉西泮 Iniettare Lorazepam @@ -1371,7 +1371,7 @@ Administrar Lorazepam Administrar Lorazepam - + Flumazenil 氟马西尼 Flumazenil @@ -1384,7 +1384,7 @@ Flumazenil Flumazenil - + Counter to Lorzaepam 用于对抗劳拉西泮 Antagonista del Lorazepam @@ -1397,7 +1397,7 @@ Contrarresta el Lorazepam Antídoto para Lorzaepam - + Used to bring patients out of sedation 用于使患者脱离镇静状态 Usato per portare i pazienti fuori dalla sedazione @@ -1410,7 +1410,7 @@ Służy do wyprowadzania pacjentów z sedacji Usado para tirar os pacientes da sedação - + Push Flumazenil 推注氟马西尼 Iniettare Flumazenil @@ -1423,7 +1423,7 @@ Administrar Flumazenil Administrar Flumazenil - + Push Ketamine 推注氯胺酮 Aplikovat Ketamin @@ -1436,7 +1436,7 @@ Administrar Ketamina Administrar Cetamina - + Ketamine 氯胺酮 Ketamina @@ -1449,7 +1449,7 @@ Ketamina Cetamina - + Suppress pain 用于抑制疼痛 Sopprime il dolore @@ -1462,7 +1462,7 @@ Suprime el dolor Suprime a dor - + Push Fentanyl 推注芬太尼 Aplikovat Fentanyl @@ -1475,7 +1475,7 @@ Administrar Fentanilo Administrar Fentanil - + Fentanyl 芬太尼 Fentanil @@ -1488,7 +1488,7 @@ Fentanilo Fentanil - + Suppress pain 用于抑制疼痛 Sopprime il dolore @@ -1501,7 +1501,7 @@ Suprime el dolor Suprime a dor - + Push Nalbuphine 推注纳布啡 Aplikovat Nalbufin @@ -1514,7 +1514,7 @@ Administrar Nalbufina Administrar Nalbufina - + Nalbuphine 纳布啡 Nalbufina (Nubain) @@ -1527,7 +1527,7 @@ Nalbufina Nalbufina - + Suppress pain 用于抑制疼痛 Sopprime il dolore @@ -1540,7 +1540,7 @@ Suprime el dolor Suprime a dor - + Chance for succesful reorientation Szansa na pomyślne ocucenie 成功进行恢复体态的几率 @@ -1553,7 +1553,7 @@ Probabilidad para una reorientación exitosa Chance de reorientação bem-sucedida - + Chance for succesful Carbonate use Szansa na pomyślne użycie soli trzeźwiących 成功使用碳酸盐的几率 @@ -1566,7 +1566,7 @@ Probabilidad para un uso exitoso del Carbonato Possibilidade de uso bem-sucedido de Carbonato - + Allow using Carbonate Poziom wyszkolenia medycznego dla soli trzeźwiących 允许使用碳酸盐 @@ -1579,7 +1579,7 @@ Habilitar el uso del Carbonato Permitir o uso de Carbonato - + Treatment time for Carbonate Czas na użycie soli trzeźwiących 碳酸盐的治疗时间 @@ -1592,7 +1592,7 @@ Tiempo para uso del Carbonato Tempo de uso de Carbonato - + Medical level required for Naloxone Poziom wyszkolenia medycznego dla Naloksonu 纳洛酮所需的医疗水平 @@ -1600,12 +1600,12 @@ Zdravotnická úroveň potřebná pro Naloxon Niveau médical requis pour la Naloxone 날록손을 사용할 수 있는 필요한 의료 레벨 수준 변경 - Erforderliches medizinisches Level für die Gabe von Naloxon + Erforderlicher medizinischer Grad für die Gabe von Naloxon ナロキソンに必要な医療レベル Nivel médico requerido para la Naloxona Nível médico exigido para administrar Naloxona - + Treatment time for Naloxone Czas na wstrzyknięcie Naloksonu 纳洛酮的治疗时间 @@ -1618,7 +1618,7 @@ Tiempo para uso de la Naloxona Tempo de uso de Naloxona - + Treatment time for Pervitin Anwendungszeit für Pervitin Temps de traitement de la Pervitine @@ -1627,16 +1627,16 @@ Tempo di trattamento per il Pervitin Tempo de uso de Pervitin - + Medical level required for Pervitin - Erforderliches medizinisches Level für die Gabe von Pervitin + Erforderliches medizinischer Grad für die Gabe von Pervitin Niveau médical requis pour la Pervitine ペルビチンに必要な医療レベル 페르피틴을 사용하는데 필요한 의료 레벨 수준 변경 Livello medico richiesto per il Pervitin Nível médico exigido para administrar Pervitin - + Medical level required for TXA Poziom wyszkolenia medycznego dla TXA TXA所需的医疗水平 @@ -1644,12 +1644,12 @@ Zdravotnická úroveň potřebná pro TXA Niveau médical requis pour l'Acide Tranexamique TXA를 사용하는 데 필요한 의료 레벨 수준 변경 - Erforderliches medizinisches Level für die Gabe von TXA + Erforderliches medizinischer Grad für die Gabe von TXA TXAに必要な医療レベル Nivel médico requerido para el ATX Nível médico exigido para administrar TXA - + Treatment time for TXA Czas na wstrzyknięcie TXA TXA的治疗时间 @@ -1662,7 +1662,7 @@ Tiempo para uso del ATX Tempo de uso de TXA - + Medical level required for Norepinephrine Poziom wyszkolenia medycznego dla Noradrenaliny 去甲肾上腺素所需的医疗水平 @@ -1670,12 +1670,12 @@ Livello medico richiesto per la Norepinefrina Niveau médical requis pour la Noradrénaline 노르에피네프린을 사용하는 데 필요한 의료 레벨 수준 변경 - Erforderliches medizinisches Level für die Gabe von Norepinephrin + Erforderliches medizinischer Grad für die Gabe von Norepinephrin ノルアドレナリンに必要な医療レベル Nivel médico requerido para la Norepinefrina Nível médico exigido para uso de Norepinefrina - + Treatment time for Norepinephrine Czas na wstrzyknięcie Noradrenaliny 去甲肾上腺素的治疗时间 @@ -1688,7 +1688,7 @@ Tiempo para uso de la Norepinefrina Tempo de uso de Norepinefrina - + Medical level required for Phenylephrine Poziom wyszkolenia medycznego dla Fenylefryny 苯肾上腺素所需的医疗水平 @@ -1696,12 +1696,12 @@ Livello medico richiesto per la Fenilefrina Niveau médical requis pour la Phényléphrine 페닐에프린을 사용하는 데 필요한 의료 레벨 수준 변경 - Erforderliches medizinisches Level für die Gabe von Phenylephrin + Erforderliches medizinischer Grad für die Gabe von Phenylephrin フェニレフリンに必要な医療レベル Nivel médico requerido para la Fenilefrina Nível médico exigido para uso de Fenilefrina - + Treatment time for Phenylephrine Czas na wstrzyknięcie Fenylefryny 苯肾上腺素的治疗时间 @@ -1714,7 +1714,7 @@ Tiempo para uso de la Fenilefrina Tempo de uso de Fenilefrina - + Medical level required for Nitroglycerin Poziom wyszkolenia medycznego dla Nitrogliceryny 硝酸甘油所需的医疗水平 @@ -1727,7 +1727,7 @@ Nivel médico requerido para la Nitroglicerina Nível médico exigido para uso de Nitroglicerina - + Treatment time for Nitroglycerin Czas na wstrzyknięcie Nitrogliceryny 硝酸甘油的治疗时间 @@ -1735,12 +1735,12 @@ Tempo di trattamento per la Nitroglicerina Temps de traitement de la Nitroglycérine 니트로글리세린으로 치료하는 시간 - Erforderliches medizinisches Level für die Gabe von Nitroglycerin + Erforderliches medizinischer Grad für die Gabe von Nitroglycerin ニトログリセリンの治療時間 Tiempo para uso de la Nitroglicerina Tempo de uso de Nitroglicerina - + Medical level required for Amiodarone Poziom wyszkolenia medycznego dla Amiodaronu 胺碘酮所需的医疗水平 @@ -1753,7 +1753,7 @@ Nivel médico requerido para la Amiodarona Nível médico exigido para uso de Amiodarona - + Treatment time for Amiodarone Czas na wstrzyknięcie Amiodaronu 胺碘酮的治疗时间 @@ -1761,12 +1761,12 @@ Doba léčby pro Amiodaron Temps de traitement de l'Amiodarone 아미오다론으로 치료하는 시간 - Erforderliches medizinisches Level für die Gabe von Amiodaron + Erforderliches medizinischer Grad für die Gabe von Amiodaron アミオダロンの治療時間 Tiempo para uso de la Amiodarona Tempo de uso de Amiodarona - + Medical level required for Lidocaine Poziom wyszkolenia medycznego dla Lidokainy 利多卡因所需的医疗水平 @@ -1774,12 +1774,12 @@ Livello medico richiesto per la Lidocaina Niveau médical requis pour la Lidocaïne 리도카인을 사용하는 데 필요한 의료 레벨 수준 변경 - Erforderliches medizinisches Level für die Gabe von Lidocain + Erforderliches medizinischer Grad für die Gabe von Lidocain リドカインに必​​要な医療レベル Nivel médico requerido para la Lidocaína Nível médico exigido para uso de Lidocaína - + Treatment time for Lidocaine Czas na wstrzyknięcie Lidokainy 利多卡因的治疗时间 @@ -1792,7 +1792,7 @@ Tiempo para uso de la Lidocaína Tempo de uso de Lidocaína - + Medical level required for Atropine Poziom wyszkolenia medycznego dla Atropiny 阿托品所需的医疗水平 @@ -1800,12 +1800,12 @@ Livello medico richiesto per l'Atropina Niveau médical requis pour l'Atropine 아트로핀을 사용하는 데 필요한 의료 레벨 수준 변경 - Erforderliches medizinisches Level für die Gabe von Atropin + Erforderliches medizinischer Grad für die Gabe von Atropin アトロピンに必要な医療レベル Nivel médico requerido para la Atropina Nível médico exigido para uso de Atropina - + Treatment time for Atropine Czas na wstrzyknięcie Atropiny 阿托品的治疗时间 @@ -1818,7 +1818,7 @@ Tiempo para uso de la Atropina Tempo de uso de Atropina - + Medical level required for EACA Poziom wyszkolenia medycznego dla EACA EACA所需的医疗水平 @@ -1826,12 +1826,12 @@ Zdravotnická úroveň potřebná pro EACA Niveau médical requis pour l'Acide Aminocaproïque 아미노카프로산을 사용하는 데 필요한 의료 레벨 수준 변경 - Erforderliches medizinisches Level für die Gabe von Aminocapronsäure + Erforderliches medizinischer Grad für die Gabe von Aminocapronsäure EACAに必要な医療レベル Nivel médico requerido para el EACA Nível médico exigido para uso de EACA - + Treatment time for EACA Czas na wstrzyknięcie EACA EACA的治疗时间 @@ -1844,20 +1844,20 @@ Tiempo para uso del EACA Tempo de uso de EACA - + Medical level required for Flumazenil 氟马西尼所需的医疗水平 Livello medico richiesto per Flumazenil Zdravotnická úroveň potřebná pro Flumazenil Niveau médical requis pour le Flumazénil 플루마제닐을 사용하는 데 필요한 의료 레벨 수준 변경 - Erforderliches medizinisches Level für die Gabe von Flumazenil + Erforderliches medizinischer Grad für die Gabe von Flumazenil Poziom wyszkolenia medycznego dla Flumazenilu フルマゼニルに必要な医療レベル Nivel médico requerido para el Flumazenil Nível médico exigido para uso de Flumazenil - + Treatment time for Flumazenil Czas na wstrzyknięcie Flumazenilu 氟马西尼的治疗时间 @@ -1870,20 +1870,20 @@ Tiempo para uso del Flumazenil Tempo de uso de Flumazenil - + Medical level required for Lorazepam 劳拉西泮所需的医疗水平 Livello medico richiesto per Lorazepam Zdravotnická úroveň potřebná pro Lorazepam Niveau médical requis pour le Lorazépam 로라제팜을 사용하는 데 필요한 의료 레벨 수준 변경 - Erforderliches medizinisches Level für die Gabe von Lorazepam + Erforderliches medizinischer Grad für die Gabe von Lorazepam Poziom wyszkolenia medycznego dla Lorazepamu ロラゼパムに必要な医療レベル Nivel médico requerido para el Lorazepam Nível médico exigido para uso de Lorazepam - + Treatment time for Lorazepam Czas na wstrzyknięcie Lorazepamu 劳拉西泮的治疗时间 @@ -1896,20 +1896,20 @@ Tiempo para uso del Lorazepam Tempo de uso de Lorazepam - + Medical level required for Etomidate 依托咪酯所需的医疗水平 Livello medico richiesto per Etomidato Zdravotnická úroveň potřebná pro Etomidát Niveau médical requis pour l'Étomidate 에토미데이트를 사용하는 데 필요한 의료 레벨 수준 변경 - Erforderliches medizinisches Level für die Gabe von Etomidat + Erforderliches medizinischer Grad für die Gabe von Etomidat Poziom wyszkolenia medycznego dla Etomidatu エトミダートに必要な医療レベル Nivel médico requerido para el Etomidato Nível médico exigido para uso de Etomidato - + Treatment time for Etomidate Czas na wstrzyknięcie Etomidatu 依托咪酯的治疗时间 @@ -1922,7 +1922,7 @@ Tiempo para uso del Etomidato Tempo de uso de Etomidato - + Medical level required for Ketamine Poziom wyszkolenia medycznego dla Ketaminy 氯胺酮所需的医疗水平 @@ -1930,12 +1930,12 @@ Livello medico richiesto per la Ketamina Niveau médical requis pour la Kétamine 케타민을 사용하는 데 필요한 의료 레벨 수준 변경 - Erforderliches medizinisches Level für die Gabe von Ketamin + Erforderliches medizinischer Grad für die Gabe von Ketamin ケタミンに必要な医療レベル Nivel médico requerido para la Ketamina Nível médico exigido para uso de Cetamina - + Treatment time for Ketamine Czas na wstrzyknięcie Ketaminy 氯胺酮的治疗时间 @@ -1948,7 +1948,7 @@ Tiempo para uso de la Ketamina Tempo de uso de Cetamina - + Medical level required for Fentanyl Poziom wyszkolenia medycznego dla Fentanylu 芬太尼所需的医疗水平 @@ -1956,12 +1956,12 @@ Zdravotnická úroveň potřebná pro Fentanyl Niveau médical requis pour le Fentanyl 펜타닐을 사용하는 데 필요한 의료 레벨 수준 변경 - Erforderliches medizinisches Level für die Gabe von Fentayl + Erforderliches medizinischer Grad für die Gabe von Fentanyl フェンタニルに必要な医療レベル Nivel médico requerido para el Fentalino Nível médico exigido para uso de Fentanil - + Treatment time for Fentanyl Czas na wstrzyknięcie Fentanylu 芬太尼的治疗时间 @@ -1969,12 +1969,12 @@ Doba léčby pro Fentanyl Temps de traitement du Fentanyl 펜타닐로 치료하는 시간 - Anwendungszeit für Fentayl + Anwendungszeit für Fentanyl フェンタニルの治療時間 Tiempo para uso del Fentalino Tempo de uso de Fentanil - + Medical level required for Nalbuphine Poziom wyszkolenia medycznego dla Nalbuphinu 纳布啡所需的医疗水平 @@ -1982,12 +1982,12 @@ Livello medico richiesto per Nalbufina (nubain) Niveau médical requis pour la Nalbuphine 날부핀을 사용하는 데 필요한 의료 레벨 수준 변경 - Erforderliches medizinisches Level für die Gabe von Nalbuphin + Erforderliches medizinischer Grad für die Gabe von Nalbuphin ナルブフィンに必要な医療レベル Nivel médico requerido para la Nalbufina Nível médico exigido para uso de Nalbufina - + Treatment time for Nalbuphine Czas na wstrzyknięcie Nalbuphinu 纳布啡的治疗时间 @@ -2000,7 +2000,7 @@ Tiempo para uso de la Nalbufina Tempo de uso de Nalbufina - + Basic Settings Podstawowe Ustawienia 基础设置 @@ -2013,7 +2013,7 @@ Parámetros básicos Configurações básicas - + IV Settings Ustawienia IV IV设置 @@ -2026,7 +2026,7 @@ Parámetros de la IV Configurações de IV - + IO Settings Ustawienia IO IO设置 @@ -2039,7 +2039,7 @@ Parámetros de la IO Configurações de IO - + Reorientation Settings Ustawienia Cucenia 刺激患者设置 @@ -2052,7 +2052,7 @@ Parámetros de la reorientación Configurações de reorientação - + Carbonate Settings Ustawienia Soli Trzeźwiących 碳酸盐设置 @@ -2065,7 +2065,7 @@ Parámetros del Carbonato Configurações de Carbonato - + Naloxone Settings Ustawienia Naloksonu 纳洛酮设置 @@ -2078,7 +2078,7 @@ Parámetros de la Naloxona Configurações de Naloxona - + Pervitin Settings Pervitin Einstellungen Paramètres de la Pervitine @@ -2087,16 +2087,16 @@ Impostazioni del Pervitin Configurações do Pervitin - + Caffeine Settings - Koffein Einstellungen + Koffein Einstellungen Paramètres de la Caféine カフェイン設定 카페인 설정 Impostazioni della Caffeina Configurações de Cafeína - + TXA Settings Ustawienia TXA 血栓素设置 @@ -2109,7 +2109,7 @@ Parámetros del ATX Configurações de TXA - + Norepinephrine Settings Ustawienia Noradrenaliny 去甲肾上腺素设置 @@ -2122,7 +2122,7 @@ Parámetros de la Norepinefrina Configurações de Norepinefrina - + Phenylephrine Settings Ustawienia Fenylefryny 苯肾上腺素设置 @@ -2135,7 +2135,7 @@ Parámetros de la Fenilefrina Configurações de Fenilefrina - + Nitroglycerin Settings Ustawienia Nitrogliceryny 硝酸甘油设置 @@ -2148,7 +2148,7 @@ Parámetros de la Nitroglicerina Configurações de Nitroglicerina - + Amiodarone Settings Ustawienia Amiodarone 胺碘酮设置 @@ -2161,7 +2161,7 @@ Parámetros de la Amiodarona Configurações de Amiodarona - + Lidocaine Settings Ustawienia Lidokainy 利多卡因设置 @@ -2174,7 +2174,7 @@ Parámetros de la Lidocaína Configurações de Lidocaína - + Atropine Settings Ustawienia Atropiny 阿托品设置 @@ -2187,7 +2187,7 @@ Parámetros de la Atropina Configurações de Atropina - + EACA Settings Ustawienia EACA EACA设置 @@ -2200,7 +2200,7 @@ Parámetros del EACA Configurações de EACA - + Ketamine Settings Ustawienia Ketaminy 氯胺酮设置 @@ -2213,7 +2213,7 @@ Parámetros de la Ketamina Configurações de Cetamina - + Fentanyl Settings Ustawienia Fentanylu 芬太尼设置 @@ -2226,7 +2226,7 @@ Parámetros del Fentalino Configurações de Fentanil - + Nalbuphine Settings Ustawienia Nalbuphinu 纳布啡设置 @@ -2239,7 +2239,7 @@ Parámetros de la Nalbufina Configurações de Nalbufina - + Flumazenil Settings Ustawienia Flumazenilu 氟马西尼设置 @@ -2252,7 +2252,7 @@ Parámetros del Flumazenil Configurações de Flumazenil - + Lorazepam Settings Ustawienia Lorazepamu 劳拉西泮设置 @@ -2265,7 +2265,7 @@ Parámetros del Lorazepam Configurações de Lorazepam - + Etomidate Settings Ustawienia Etomidatu 依托咪酯设置 @@ -2278,7 +2278,7 @@ Parámetros del Etomidato Configurações de Etomidato - + %1 performed a saline flush on %2 %1 ha eseguito uno sciacquo salino su %2 %1 provedl vypláchnutí fyziologickým roztokem na %2 @@ -2291,7 +2291,7 @@ %1 realizó un enjuague con salino en %2 %1 fez lavagem salínica em %2 - + Patient's IV is blocked La IV del paziente è ostruita/bloccata IV pacienta je blokována @@ -2304,7 +2304,7 @@ La IV del paciente esta bloqueada IV do paciente está bloqueado - + Patient's IV is clear La IV del paziente è pulita IV pacienta je čistá @@ -2317,7 +2317,7 @@ La IV del paciente esta funcionando correctamente IV do paciente está funcionando corretamente - + Patient's breath is harsh and metallic Dech pacienta je trpký a kovový Il respiro del paziente è anormale e affannoso @@ -2330,7 +2330,7 @@ Oddech pacjenta jest ostry i metaliczny O hálito do paciente está áspero e metálico - + Patient's breath is slightly fruity Il respiro del paziente è leggermente fruttato Dech pacienta je mírně ovocný @@ -2343,7 +2343,7 @@ Oddech pacjenta jest lekko owocowy O hálito do paciente está ligeiramente frutado - + Patient's breath is ok Il respiro del paziente è ok Dech pacienta je v pořádku @@ -2356,14 +2356,13 @@ Oddech pacjenta jest w porządku O hálito do paciente está normal - + Patient is not breathing 患者は呼吸していません 환자가 숨을 쉬지 않습니다 Il paziente non sta respirando - O paciente não está respirando - + Kidney damage/failure Rene danneggiato/collassato Poškození/selhání ledvin @@ -2376,7 +2375,7 @@ Insuficiencia/Daño Renal Dano/insuficiência renal - + Enables kidney damage caused by overuse of saline Abilita danni renali causati da un overdose di soluzione salina Umožňuje poškození ledvin způsobené nadužíváním fyziologického roztoku @@ -2389,7 +2388,7 @@ Permite el daño de los riñones causado por uso excesivo de salino Permite dano renal causado pelo uso excessivo de solução salina - + IV Block Chance Possibilità di ostruzione della IV IV blok šance @@ -2402,7 +2401,7 @@ Szansa na zablokowanie IV Chance de Bloqueio IV - + Chance of IV blockage due to medication pushes without saline flush Šance na blokaci IV v důsledku aplikování léčiv bez proplachování fyziologickým roztokem. Possibilità di ostruzione della IV senza prima aver svolto uno sciacquo salino @@ -2415,7 +2414,7 @@ Szansa na zablokowanie IV z powodu podawania leków bez przepłukiwania roztworem soli fizjologicznej Probabilidade de bloqueio intravenoso devido a injeções de medicamentos sem solução salina - + Maximum Fluid Bag Stack Maximální počet vaků s tekutinou Stack massimo della sacca per fluidi @@ -2428,7 +2427,7 @@ Maksymalna ilość worków z płynami dla jednego pajenta Pilha Máxima de Sacos de Fluidos - + The maximum amount of fluid bags that can be stacked to increase IV flow rate La quantità massima di sacche per fluidi che possono essere accorpate per aumentare la portata (flow rate) della IV Maximální množství vaků s tekutinou, které lze zavést pacientovi za účelem zrychlení průtoku skrze IV. @@ -2441,7 +2440,7 @@ Maksymalna ilość worków z płynem, które można przypiąć w tym samym momencie, aby zwiększyć szybkość przepływu IV A quantidade máxima de bolsas de fluido que podem ser empilhadas para aumentar a taxa de fluxo IV - + Enable Coagulation 血液凝固を有効にする Abilita sistema di coagulazione @@ -2452,7 +2451,7 @@ 혈응고 활성화 Ativar Coagulação - + Enables advanced coagulation features and modifies TXA and EACA behaviour accordingly. 高度な血液凝固機能を有効にし、それに応じて TXA と EACA の動作を変更します。 Abilita la coagulazione avanzata e modifica di conseguenza il comportamento di TXA e EACA. @@ -2463,7 +2462,7 @@ 고급 혈응고 기능을 활성화하고 그에 따라 TXA 및 아미노카프로산의 동작을 수정합니다. Habilita recursos avançados de coagulação e modifica o comportamento de TXA e EACA de acordo. - + EACA EACA (Acido aminocaproico Epsilon) EACA @@ -2476,7 +2475,7 @@ EACA EACA - + Push EACA Aplikovat EACA Iniettare EACA @@ -2489,7 +2488,7 @@ Administrar EACA Administrar EACA - + Pervitin capsule Pervitin Kapsel Capsule de pervitine @@ -2498,7 +2497,7 @@ Capsula di Pervitin Cápsula de Pervitin - + Performance enhancing drug Leistungssteigerndes Medikament Drogue améliorant les performances @@ -2507,16 +2506,16 @@ Sostanza che aumenta la performance Droga para aumento de performance - + Take Pervitin - Pervitin einnehmen + Pervitin einnehmen Prendre la pervitine ペルビチンを服用する 페르피틴 복용 Assumi Pervitin Tomar Pervitin - + The pervitin makes you feel awake and full of endless POWER Das Pervitin macht dich wach und du fühlst dich durchflutet mit unendlich POWER La pervitine vous fait vous sentir éveillé et plein d'une puissance INFINIE @@ -2525,7 +2524,7 @@ Il Pervitin ti fa sembrare più attento e dotato di una forza senza uguali O pervitin faz você se sentir acordado e cheio de poder INFINITO - + You begin to lose your breath... Deine Kraft lässt langsam nach... Vous commencez à perdre votre souffle... @@ -2534,16 +2533,16 @@ Stai iniziando a perdere fiato... Você começa a perder o fôlego... - + You gain a sudden rush! - Du bekommst einen spontanan Rush... + Du bekommst einen spontanen Rush... Vous sentez un élan soudain ! 갑자기 심하게 두근거린다! あなたを突如激しい動悸が襲う! Ottieni una corsa improvvisa! Você sente uma ânimo repentino! - + You gain another rush! Du bekommst einen weiteren Rush... Vous sentez un autre élan ! @@ -2552,7 +2551,7 @@ Ottieni un'altra corsa improvvisa! Você sente um ânimo novamente! - + The exhaustion starts to settle in... Die Erschöpfung macht sich breit ... L'épuisement commence à se faire sentir... @@ -2561,7 +2560,7 @@ La stanchezza inizia a farsi sentire... Você começa a sentir a exaustão... - + You start to feel normal again Du beginnst dich wieder normal zu fühlen. Vous commencez à vous sentir à nouveau normal @@ -2570,16 +2569,16 @@ Inizi a sentirti di nuovo normale Você começa a se sentir normal novamente - + You start to see everything twice. - Du siehst alles Zweimal. + Du siehst alles doppelt. Vous commencez à voir tout en double 모든 게 두 개로 보이기 시작한다. 全てが二重に見える... Inizi a vedere tutto due volte. Você começa a ver em dobro. - + You start to twitch... Du fängst an zu zucken... Vous commencez à trembler... @@ -2588,7 +2587,7 @@ Inizi a tremare... Você começa a tremer na base... - + Your head starts to clear up and you stop twitching... Dein Kopf wird klarer und du hörst auf zu zucken... Vos idées commencent à s'éclaircir et vous arrêtez de trembler... @@ -2597,7 +2596,7 @@ La tua testa inizia a schiarirsi e smetti di tremare... Sua cabeça começa a clarear e você pára de tremer... - + Caffeine bottle Koffein Kapsel Bouteille de caféine @@ -2606,16 +2605,16 @@ Bottiglia di Caffeina Garrafa de cafeína - + Keeps you awake - Hällt dich wach + Hält dich wach Vous tient éveillé 眠気防止に役立つ 계속 깨어 있게 해줍니다. Ti tiene sveglio Mantém você desperto - + Take Caffeine Koffein einnehmen Prendre la caféine @@ -2624,7 +2623,7 @@ Assumi Caffeina Tomar Cafeína - + Encourages clot formation Podporuje tvorbu sraženin Favorisce la formazione di coaguli @@ -2637,7 +2636,7 @@ Favorece la coagulación Favorece a coagulação - + Check Breath Controlla il respiro Zkontrolovat dech @@ -2650,7 +2649,7 @@ Revisar aliento Checar hálito - + Inspect Catheter Ispeziona il catetere Zkontrolovat katetr @@ -2663,7 +2662,7 @@ Inspeccionar Catéter Inspecionar catéter - + Saline Flush Vypláchnutí fyziologickým roztokem Risciaquo acqua salina @@ -2676,7 +2675,7 @@ Enjuague con salino Lavagem salina - + IV Check limb damage IV Controllare il danno agli arti IV Kontrola poškození končetin @@ -2689,7 +2688,7 @@ Sprawdzanie obrażeń kończyn do IV Verificação dos danos ao membro para o IV - + Whether or not you can apply the IV to the too damaged limb. In default, this is disabled. Puoi o no applicare la flebo all'arto troppo danneggiato. Nel default, questo è disabilitato. Zda můžete aplikovat IV na příliš poškozenou končetinu. Ve výchozím nastavení je toto zakázáno. @@ -2702,7 +2701,7 @@ Czy można zastosować IV na zbyt uszkodzoną kończynę. Domyślnie jest to wyłączone. Se você pode ou não aplicar o IV ao membro muito danificado. Por padrão, isto é desativado. - + Perform Dialysis Przeprowadź Dializę 透析を行う @@ -2713,7 +2712,7 @@ 투석 수행 Realizar Diálise - + Performing Dializa w toku... 実施中 @@ -2724,7 +2723,7 @@ 수행 중 Realizando - + %1 performed dialysis %1 进行了透析 %1 ha eseguito la dialisi @@ -2737,7 +2736,7 @@ %1 realizó una dialisis %1 realizou diálise - + [KAM] Medicines crate [KAM] Skrzynia z lekami [KAM] Bedna s medikamenty diff --git a/addons/surgery/ACE_Medical_Treatment_Actions.hpp b/addons/surgery/ACE_Medical_Treatment_Actions.hpp index af1cce574..aa8e34304 100644 --- a/addons/surgery/ACE_Medical_Treatment_Actions.hpp +++ b/addons/surgery/ACE_Medical_Treatment_Actions.hpp @@ -120,7 +120,7 @@ class ACE_Medical_Treatment_Actions { medicRequired = QGVAR(surgicalAction_MedLevel); treatmentTime = QGVAR(npwtTime); items[] = {"kat_vacuum"}; - condition = QFUNC(debridementCheck)); + condition = QFUNC(debridementCheck); consumeItem = 0; sounds[] = {{QPATHTO_R(sounds\vacuum.ogg),8,1,15}}; callbackSuccess = QFUNC(npwtTreatment); diff --git a/addons/surgery/XEH_postInit.sqf b/addons/surgery/XEH_postInit.sqf index 5870cf205..15d965b60 100644 --- a/addons/surgery/XEH_postInit.sqf +++ b/addons/surgery/XEH_postInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -[QGVAR(selectFracture), LINKFUNC(fractureSelectLocal)] call CBA_fnc_addEventHandler; +[QGVAR(fractureSelect), LINKFUNC(fractureSelectLocal)] call CBA_fnc_addEventHandler; [QGVAR(closedReduction), LINKFUNC(closedFractureLocal)] call CBA_fnc_addEventHandler; [QGVAR(openReduction), LINKFUNC(openReductionLocal)] call CBA_fnc_addEventHandler; [QGVAR(incision), LINKFUNC(openFractureIncisionLocal)] call CBA_fnc_addEventHandler; diff --git a/addons/surgery/XEH_preInit.sqf b/addons/surgery/XEH_preInit.sqf index 5e69b379a..a90d2e07f 100644 --- a/addons/surgery/XEH_preInit.sqf +++ b/addons/surgery/XEH_preInit.sqf @@ -9,192 +9,192 @@ PREP_RECOMPILE_END; #define CBA_SETTINGS_CAT "KAT - ADV Medical: Surgery" [ - QGVAR(BreathCheck_Time), - "SLIDER", - LLSTRING(BREATH_CHECK_TIME), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Basic)], - [0,100,2,0], - true + QGVAR(BreathCheck_Time), + "SLIDER", + LLSTRING(BREATH_CHECK_TIME), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Basic)], + [0,100,2,0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(BreathCheck_MedLevel), - "LIST", - LLSTRING(BREATH_CHECK_MEDLEVEL), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Basic)], - [[0, 1, 2], ["STR_ACE_Medical_Treatment_Anyone", "STR_ACE_Medical_Treatment_Medics", "STR_ACE_Medical_Treatment_Doctors"], 0], - true + QGVAR(BreathCheck_MedLevel), + "LIST", + LLSTRING(BREATH_CHECK_MEDLEVEL), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Basic)], + [[0, 1, 2], ["STR_ACE_Medical_Treatment_Anyone", "STR_ACE_Medical_Treatment_Medics", "STR_ACE_Medical_Treatment_Doctors"], 0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(enable_fracture), - "CHECKBOX", - LLSTRING(ADVANCED_FRACTURE), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fractures)], - [true], - true + QGVAR(enable_fracture), + "CHECKBOX", + LLSTRING(ADVANCED_FRACTURE), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fractures)], + [true], + true ] call CBA_Settings_fnc_init; [ - QGVAR(simpleChance), - "SLIDER", - [LLSTRING(SIMPLE_FRACTURE_CHANCE),LLSTRING(SIMPLE_FRACTURE_CHANCE_DESC)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fractures)], - [0,100,60,0], - true + QGVAR(simpleChance), + "SLIDER", + [LLSTRING(SIMPLE_FRACTURE_CHANCE),LLSTRING(SIMPLE_FRACTURE_CHANCE_DESC)], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fractures)], + [0,100,60,0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(closedReductionFailChance), - "SLIDER", - [LLSTRING(CLOSED_REDUCTION_FAIL),LLSTRING(CLOSED_REDUCTION_FAIL_DESC)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fractures)], - [0,100,10,0], - true + QGVAR(closedReductionFailChance), + "SLIDER", + [LLSTRING(CLOSED_REDUCTION_FAIL),LLSTRING(CLOSED_REDUCTION_FAIL_DESC)], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fractures)], + [0,100,10,0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(compoundChance), - "SLIDER", - [LLSTRING(COMPOUND_FRACTURE_CHANCE) ,LLSTRING(COMPOUND_FRACTURE_CHANCE_DESC)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fractures)], - [0,100,30,0], - true + QGVAR(compoundChance), + "SLIDER", + [LLSTRING(COMPOUND_FRACTURE_CHANCE) ,LLSTRING(COMPOUND_FRACTURE_CHANCE_DESC)], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fractures)], + [0,100,30,0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(fractureCheck_MedLevel), - "LIST", - LLSTRING(FRACTURE_CHECK_MEDLEVEL), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fractures)], - [[0, 1, 2], ["STR_ACE_Medical_Treatment_Anyone", "STR_ACE_Medical_Treatment_Medics", "STR_ACE_Medical_Treatment_Doctors"], 0], - true + QGVAR(fractureCheck_MedLevel), + "LIST", + LLSTRING(FRACTURE_CHECK_MEDLEVEL), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fractures)], + [[0, 1, 2], ["STR_ACE_Medical_Treatment_Anyone", "STR_ACE_Medical_Treatment_Medics", "STR_ACE_Medical_Treatment_Doctors"], 0], + true ] call CBA_Settings_fnc_init; [ QGVAR(enable_selfCheckFracture), "LIST", [LLSTRING(SETTING_SELF_CHECKFRACTURE)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fractures)], - [[0, 1], ["STR_ACE_common_No", "STR_ACE_common_Yes"], 1], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_Fractures)], + [[0, 1], ["STR_ACE_common_No", "STR_ACE_common_Yes"], 1], true ] call CBA_Settings_fnc_init; [ - QGVAR(etomidateTime), - "SLIDER", - [LLSTRING(ETOMIDATE_TIMER), LLSTRING(ETOMIDATE_TIMER_DESC)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [0,100,45,0], - true + QGVAR(etomidateTime), + "SLIDER", + [LLSTRING(ETOMIDATE_TIMER), LLSTRING(ETOMIDATE_TIMER_DESC)], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], + [0,100,45,0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(closedTime), - "SLIDER", - LLSTRING(CLOSED_TIMER), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [0,100,10,0], - true + QGVAR(closedTime), + "SLIDER", + LLSTRING(CLOSED_TIMER), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], + [0,100,10,0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(incisionTime), - "SLIDER", - LLSTRING(INCISION_TIMER), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [0,100,10,0], - true + QGVAR(incisionTime), + "SLIDER", + LLSTRING(INCISION_TIMER), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], + [0,100,10,0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(intermediateTime), - "SLIDER", - [LLSTRING(INTERMEDIATE_TIMER), LLSTRING(INTERMEDIATE_TIMER_DESC)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [0,100,8,0], - true + QGVAR(intermediateTime), + "SLIDER", + [LLSTRING(INTERMEDIATE_TIMER), LLSTRING(INTERMEDIATE_TIMER_DESC)], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], + [0,100,8,0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(openTime), - "SLIDER", - LLSTRING(OPEN_TIMER), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [0,100,15,0], - true + QGVAR(openTime), + "SLIDER", + LLSTRING(OPEN_TIMER), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], + [0,100,15,0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(debrideTime), - "SLIDER", - LLSTRING(DEBRIDE_TIMER), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [0,100,20,0], - true + QGVAR(debrideTime), + "SLIDER", + LLSTRING(DEBRIDE_TIMER), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], + [0,100,20,0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(npwtTime), - "SLIDER", - LLSTRING(NPWT_TIMER), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [0,100,20,0], - true + QGVAR(npwtTime), + "SLIDER", + LLSTRING(NPWT_TIMER), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], + [0,100,20,0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(fractureCheck_Time), - "SLIDER", - LLSTRING(FRACTURE_CHECK_TIMER), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [0,100,10,0], - true + QGVAR(fractureCheck_Time), + "SLIDER", + LLSTRING(FRACTURE_CHECK_TIMER), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], + [0,100,10,0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(closedReduction_MedLevel), - "LIST", - LLSTRING(CLOSED_REDUCTION_MEDLEVEL), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [[0, 1, 2], ["STR_ACE_Medical_Treatment_Anyone", "STR_ACE_Medical_Treatment_Medics", "STR_ACE_Medical_Treatment_Doctors"], 0], - true + QGVAR(closedReduction_MedLevel), + "LIST", + LLSTRING(CLOSED_REDUCTION_MEDLEVEL), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], + [[0, 1, 2], ["STR_ACE_Medical_Treatment_Anyone", "STR_ACE_Medical_Treatment_Medics", "STR_ACE_Medical_Treatment_Doctors"], 0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(surgicalAction_MedLevel), - "LIST", - LLSTRING(SURGICAL_ACTION_MEDLEVEL), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [[0, 1, 2], ["STR_ACE_Medical_Treatment_Anyone", "STR_ACE_Medical_Treatment_Medics", "STR_ACE_Medical_Treatment_Doctors"], 0], - true + QGVAR(surgicalAction_MedLevel), + "LIST", + LLSTRING(SURGICAL_ACTION_MEDLEVEL), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], + [[0, 1, 2], ["STR_ACE_Medical_Treatment_Anyone", "STR_ACE_Medical_Treatment_Medics", "STR_ACE_Medical_Treatment_Doctors"], 0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(closedLocation), - "LIST", - LLSTRING(CLOSED_LOCATION), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [[0,1,2,3],["STR_ACE_Common_Anywhere", "STR_ACE_Common_Vehicle", "STR_ACE_Medical_Treatment_MedicalFacilities", "STR_ACE_Medical_Treatment_VehiclesAndFacilities"],0], - true + QGVAR(closedLocation), + "LIST", + LLSTRING(CLOSED_LOCATION), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], + [[0,1,2,3],["STR_ACE_Common_Anywhere", "STR_ACE_Common_Vehicle", "STR_ACE_Medical_Treatment_MedicalFacilities", "STR_ACE_Medical_Treatment_VehiclesAndFacilities"],0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(surgicalLocation), - "LIST", - LLSTRING(SURGICAL_LOCATION), - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [[0,1,2,3],["STR_ACE_Common_Anywhere", "STR_ACE_Common_Vehicle", "STR_ACE_Medical_Treatment_MedicalFacilities", "STR_ACE_Medical_Treatment_VehiclesAndFacilities"],0], - true + QGVAR(surgicalLocation), + "LIST", + LLSTRING(SURGICAL_LOCATION), + [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], + [[0,1,2,3],["STR_ACE_Common_Anywhere", "STR_ACE_Common_Vehicle", "STR_ACE_Medical_Treatment_MedicalFacilities", "STR_ACE_Medical_Treatment_VehiclesAndFacilities"],0], + true ] call CBA_Settings_fnc_init; [ - QGVAR(uncon_requieredForActions), - "CHECKBOX", - [LLSTRING(uncon_requieredForActions), LLSTRING(uncon_requieredForActions_DESC)], - [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], - [false], - true + QGVAR(uncon_requieredForActions), + "CHECKBOX", + [LLSTRING(uncon_requieredForActions), LLSTRING(uncon_requieredForActions_DESC)], + [CBA_SETTINGS_CAT, LSTRING(SubCategory_SurgicalActions)], + [false], + true ] call CBA_Settings_fnc_init; ADDON = true; diff --git a/addons/surgery/stringtable.xml b/addons/surgery/stringtable.xml index a921ae200..e049a9290 100644 --- a/addons/surgery/stringtable.xml +++ b/addons/surgery/stringtable.xml @@ -1,9 +1,9 @@ - - - + + + Using - Schlucke + Verwenden Używanie Usando 服用中 @@ -16,7 +16,7 @@ 使用中 Usando - + Pushing Verabreiche Wstrzykiwanie @@ -31,9 +31,9 @@ 注入中 Administrando - + %1 pushed %2 - %1 intubierte mit %2 + %1 verabreichte %2 %1 wstrzyknął %2 %1 administró %2 %1 被插入一個 %2 @@ -46,9 +46,9 @@ %1 が %2を注入 %1 administrou %2 - + %1 injected %2 - %1 intubierte mit %2 + %1 injizierte %2 %1 włożył %2 %1 inyectó %2 %1 被插入一個 %2 @@ -61,9 +61,9 @@ %1 が %2を注射 %1 injetou %2 - + %1 used %2 - %1 intubierte mit %2 + %1 verwendete %2 %1 użył %2 %1 usó %2 %1 被插入一個 %2 @@ -76,7 +76,7 @@ %1 が %2を使用 %1 usou %2 - + Patient's breath is harsh and metallic 病人的呼吸是刺耳的 Il respiro del paziente è faticoso e metallico @@ -89,7 +89,7 @@ El aliento del paciente es áspero y metálico O hálito do paciente é aspero e metálico - + Patient's breath is harsh and metallic 病人的呼吸是沙哑的 Il respiro del paziente è faticoso e metallico @@ -102,7 +102,7 @@ El aliento del paciente es áspero y metálico O hálito do paciente é aspero e metálico - + Patient's breath is slightly fruity 病人的呼吸是平和的 Il respiro del paziente è leggermente fruttato @@ -115,7 +115,7 @@ El aliento del paciente es dulce O hálito do paciente é ligeiramente frutado - + Patient's breath is ok 病人的呼吸是正常的 Il respiro del paziente è ok @@ -128,7 +128,7 @@ El aliento del paciente es normal O hálito do paciente é normal - + Perform Dialysis 进行透析 Eseguire la dialisi @@ -141,7 +141,7 @@ Realizar dialisis Realizar diálise - + Performing 透析中 Esecuzione @@ -154,7 +154,7 @@ Realizando Realizando - + Check Fracture 检查骨折 Controllare la frattura @@ -167,7 +167,7 @@ Revisar fractura Verificar fratura - + Checking 检查中 Controllando @@ -180,7 +180,7 @@ Revisando Verificando - + Perform Closed Reduction 封闭伤口 Esegui la riduzione ortopedica chiusa @@ -193,7 +193,7 @@ Realizar Reducción Cerrada Realizar redução fechada - + Perform Open Reduction 开放伤口 Esegui la riduzione a cielo aperto @@ -206,7 +206,7 @@ Realizar Reducción Abierta Realizar redução aberta - + %1 present on %2 %1 存在于 %2 %1 presente su %2 @@ -219,7 +219,7 @@ %1 presente en %2 %1 presente em %2 - + %1 %2 the fracture on the %3 在 %3 上有一处 %1 %2 %1 %2 la frattura sul %3 @@ -227,12 +227,12 @@ %1 %2 zlomenina na %3 %1 %2 la fracture sur le %3 %1 은(는) %3 의 골절을 %2 (으)로 수행하였습니다 - %1 %2 der Bruch an der %3 + %1 %2 des Bruches an dem %3 %1 は %3 の骨折に %2 %1 %2 la fractura sobre el/la %3 %1 %2 a fratura sobre %3 - + %1 made an incision on the %2 %1 在 %2 上做了一个切口 %1 ha fatto un'incisione su %2 @@ -240,12 +240,12 @@ %1 provedl řez na %2 %1 a effectuée une incision sur le %2 %1 이(가) %2 을(를) 절개했습니다 - %1 hat einen Einschnitt an der %2 + %1 hat einen Einschnitt an dem %2 vorgenommen %1 が %2 を切開しました %1 hizo una incisión sobre el/la %2 %1 fez uma incisão em %2 - + Surgical Action Failed 手术失败 Azione chirurgica fallita @@ -258,7 +258,7 @@ La acción quirúrgico falló Falha na ação cirúrgica - + Wound Dressing Failed 伤口清创失败 Medicazione delle ferite non riuscita @@ -271,7 +271,7 @@ Vendaje al vacío falló Falha no curativo da ferida - + Scalpel 手术刀 Bisturi @@ -284,20 +284,20 @@ Bisturí Bisturi - + Used for creating incisions and debriding wounds 用于创建切口和伤口清创 Usato per creare incisioni e sbrigliare ferite Používá se pro vytváření řezů a čištění ran Utilisé pour inciser et débrider les plaies 절개 부위를 생성하고 상처를 제거하는 데 사용됩니다. - Für das Anlegen von Inzisionen und das Debridieren von Wunden + Für das Durchführen von Inzisionen und das Debridieren von Wunden 切開と創面切除に使用 Usado para crear incisiones y desbridar heridas Służy do tworzenia nacięć i oczyszczania ran Usado para criar incisões e desbridar feridas - + Perform Incision 创建切口 Eseguire Incisione @@ -310,7 +310,7 @@ Realizar incisión Realizar incisão - + Retractor 扩张器 Divaricatore @@ -323,7 +323,7 @@ Retractor Retrator - + Used to expand and expose fractures 用于扩大和暴露骨折创面 Usato per espandere ed esporre fratture @@ -336,7 +336,7 @@ Służy do rozszerzania i odsłonień złamań Usado para expandir e expor fraturas - + Expose Fracture 暴露骨折 Divaricare la zona di frattura @@ -349,7 +349,7 @@ Exponer fractura Expor fratura - + Exposing 暴露 Divaricando @@ -357,12 +357,12 @@ Odhalování Exposition 노출 중 - Freilegen + Lege Frei 露出させています Exponiendo Expondo - + Clamp 夹钳 Pinza clamp @@ -375,20 +375,20 @@ Pinza de sujeción Braçadeira - + Used to clamp comminuted fractures 用于夹紧粉碎性骨折 Usato per clampare le fratture pluriframmentarie Používá se k upnutí rozdrcených zlomenin Utilisé pour clamper les fractures comminutives 분쇄 골절을 클램프하는 데 사용됩니다 - Zum Klemmen von Trümmerfrakturen + Zum Abklemmen von Trümmerfrakturen 粉砕骨折をクランプするために使用 Usada para sujetar las fracturas conminutas Służy do zaciskania skomplikowanych złamań Usado para fixar fraturas cominutivas - + Clamp Fracture 夹紧骨折 Clampare la frattura @@ -401,7 +401,7 @@ Alinear trozos Fixar fratura - + Clamping 夹紧中 Clampando @@ -414,7 +414,7 @@ Alineando trozos Fixando - + Irrigate Wound 冲洗伤口 Lava e pulisci la ferita @@ -427,7 +427,7 @@ Irrigar herida Irrigar ferida - + Irrigating 冲洗中 Lavando e pulendo @@ -440,7 +440,7 @@ Irrigando Irrigando - + Bone Plate 骨板 Placche di fissaggio osseo @@ -453,7 +453,7 @@ Placa de fijación Placa de fixação óssea - + Used to complete all complex fracture types 用于完成所有复杂骨折类型 Utilizzato per risolvere tutti i tipi di fratture complesse @@ -466,7 +466,7 @@ Służy do łączenia wszystkich złożonych typów złamań Usado para corrigir todas as fraturas avançadas - + Debride Wounds 清创伤口 Sbrigliare la zona ferita @@ -474,12 +474,12 @@ Vyčistit rány Débrider les plaies 상처 제거 - Wunddebridement + Wunde debridieren 創面切除 Desbridar heridas Desbridar feridas - + Debriding 清创中 Sbrigliando @@ -487,12 +487,12 @@ Čištění Débridement 제거 중 - Debridement + Debridement 切除中 Desbridando Desbridando - + Dressing vacuum NPWT 敷料 Sottovuoto per medicazione @@ -505,7 +505,7 @@ Vendaje al vacío Bandagem a vácuo - + Used to completely dress and seal wounds 用于完全包扎和密封伤口 Usato per coprire e sigillare completamente le ferite @@ -518,7 +518,7 @@ Używany do całkowitego uzdrowienia ran Usado para enfaixar e selar feridas completamente - + Apply NPWT Dressing 施用 NPWT 敷料 Applicare la medicazione NPWT @@ -531,7 +531,7 @@ Colocar vendaje al vacío Aplicar curativo NPWT - + Applying 施用中 Applicando @@ -539,12 +539,12 @@ Aplikování Application 적용 중 - Anwendung + Lege an 適用中 Colocando Aplicando - + Kidney damage/failure 肾损伤/衰竭 Danno/insufficienza renale @@ -557,7 +557,7 @@ Insuficiencia/Daño renal Dano/falha renal - + Enables kidney damage caused by overuse of saline 启用因过度使用生理盐水而造成的肾脏损害 Consente danni renali causati da un uso eccessivo di soluzione salina @@ -570,7 +570,7 @@ Permite el daño de los riñones causado por uso excesivo de salino Permite dano renal causado pelo uso excessivo de soro fisiológico - + Time to perform dialysis 进行透析的时间 Tempo necessario per eseguire la dialisi @@ -583,7 +583,7 @@ Tiempo para realizar dialisis Duração de diálise - + Enables advanced fractures 启用高级骨折 Abilita fratture avanzate @@ -596,7 +596,7 @@ Permite fracturas avanzadas Permite fraturas avançadas - + Simple fracture chance 简单骨折几率 Possibilità di frattura semplice @@ -609,7 +609,7 @@ Probabilidad de fractura simple Probabilidade de fratura simples - + Sets the chance for simple fractures. Also sets the chance for complex fractures (60% Simple = 40% Complex) 设置简单骨折的几率,同时设置了复合骨折的几率 (60% 简单 = 40% 复杂) Imposta la possibilità di fratture semplici. Imposta anche la possibilità di fratture complesse (60% semplice = 40% complesso) @@ -622,19 +622,21 @@ Establece la probabilidad para fracturas simples. También establece la probabilidad de fracturas complejas (60% Simple - 40% Compleja) Define a probabilidade de fraturas simples. Também estabelece a probabilidade de fraturas complexas (60% Simples - 40% Complexas) - + Closed reduction fail chance 폐쇄정복 실패 확률 非観血的整復術の失敗率 + Chance das die geschlossene Reduktion fehlschlägt Probabilidade de falha de redução fechada - + Chance that closed reduction will fail. Default value 10% 폐쇄정복을 실패할 확률입니다. 기본값은 10% 非観血的整復術の失敗率を設定します。デフォルト値は10%です + Legt die Chance fest, dass die geschlossene Reduktion fehlschlägt. Standard: 10% Probabilidade de falha na redução fechada. Valor padrão 10% - + Compound fracture chance 复合骨折几率 Possibilità di frattura composta @@ -642,12 +644,12 @@ Šance na otevřenou zlomeninu Chance de fracture ouverte 복합 골절 확률 - Wahrscheinlichkeit eines zusammengesetzten Bruchs + Wahrscheinlichkeit einer offenen Fraktur 開放骨折の確率 Probabilidad de fractura compuesta Probabilidade de fratura composta - + Sets the chance for compound fractures. Also sets the chance for comminuted fractures (60% Compound = 40% Comminuted) 设置复合骨折的机会,同时设置粉碎骨折的几率 (60% 复合 = 40% 粉碎) Imposta la possibilità di fratture composte. Imposta anche la possibilità di fratture comminute (60% composto = 40% sminuzzato) @@ -655,12 +657,12 @@ Nastavuje šanci na otevřené zlomeniny. Také nastavuje šanci na rozdrcené zlomeniny (60% otevřené = 40% rozdrcené) Règle la chance de fracture ouverte. Règle également la chance de fractures comminutives (60% ouvertes = 40 % comminutives) 복합 골절의 확률을 설정합니다. 또한 분쇄 골절의 확률을 설정합니다. (복합 60% = 분쇄 40%) - Legt die Wahrscheinlichkeit für zusammengesetzte Frakturen fest. Legt auch die Wahrscheinlichkeit für Trümmerfrakturen fest (60% zusammengesetzte Frakturen = 40% Trümmerfrakturen) + Legt die Wahrscheinlichkeit für offene Frakturen fest. Legt auch die Wahrscheinlichkeit für Trümmerfrakturen fest (60% offene Frakturen = 40% Trümmerfrakturen) 開放骨折の可能性を設定します。粉砕骨折の可能性も設定します (開放骨折60% = 粉砕骨折40%) Establece la probabilidad para fracturas compuestas. También establece la probabilidad de fracturas conminutas (60% Compuesta - 40% Conminuta) Define a probabilidade de fraturas compostas. Também estabelece a probabilidade de fraturas cominutivas (60% Composite - 40% Cominutive) - + Etomidate cycle timer 依托咪酯循环计时器 Timer ciclo Etomidato @@ -673,7 +675,7 @@ Tiempo para ciclo del Etomidato Tempo de ciclo do Etomidato - + Determines how long each dose of etomidate stays in a patient 确定依托咪酯在患者体内的停留时间 Determina per quanto tempo ciascuna dose di etomidato rimane in un paziente @@ -686,7 +688,7 @@ Determina la duración de cada dosis de Etomidato en el paciente Determina a duração de cada dose de Etomidato no paciente - + Time to perform closed reductions 执行封闭伤口的时间 Tempo per eseguire riduzioni ortopediche chiuse @@ -694,12 +696,12 @@ Čas provádění uzavřené repozice Temps pour effectuer une réduction fermée 폐쇄 정복 수행 시간 - Zeit für die Durchführung geschlossener Repositionen + Zeit für die Durchführung geschlossener Reduktionen 非観血的整復術にかかる時間 Tiempo para realizar reducciones cerradas Duração de reduções fechadas - + Time to perform open reductions 执行开放伤口的时间 Tempo per eseguire riduzioni a cielo aperto @@ -707,12 +709,12 @@ Čas provádění otevřené repozice Temps pour effectuer une réduction ouverte 개방정복 수행 시간 - Zeit für die Durchführung offener Repositionen + Zeit für die Durchführung offener Reduktionen 観血的整復術にかかる時間 Tiempo para realizar reducciones abiertas Duração de reduções abertas - + Time to perform surgical actions 执行手术的时间 Tempo per eseguire azioni chirurgiche @@ -725,7 +727,7 @@ Tiempo para realizar acciones quirúrgicas Duração de ações cirúrgicas - + Time to perform incisions 进行切口的时间 Tempo per eseguire le incisioni @@ -738,7 +740,7 @@ Tiempo para realizar incisiones Duração de incisões - + Time to perform breath check 进行呼吸检查的时间 Tempo per eseguire il controllo del respiro @@ -751,7 +753,7 @@ Tiempo para checar el aliento Duração da verificação de hálito - + Time to perform intermediate actions 进行中间操作的时间 Tempo per eseguire azioni intermedie @@ -764,7 +766,7 @@ Tiempo para realizar acciones intermediarias Duração de ações intermediárias - + Sets how long it takes to perform intermediate surgical actions such as exposing and irrigation 设置执行手术中间操作(例如暴露和冲洗)所需的时间 Imposta il tempo necessario per eseguire azioni chirurgiche intermedie come l'esposizione ed il lavaggio/pulizia @@ -777,7 +779,7 @@ Establece cuanto tiempo tarda realizar acciones quirúrgicas como exponer o irrigar. Estabelece quanto tempo leva para realizar ações cirúrgicas, como expor ou irrigar. - + Time to debride a patient 进行伤口清创的时间 Tempo per sbrigliare un paziente @@ -790,7 +792,7 @@ Tiempo para desbridar un paciente Duração do desbridamento de um paciente - + Time to apply an NPWT dressing 施用 NPWT 敷料的时间 Tempo per applicare una medicazione NPWT @@ -803,7 +805,7 @@ Tiempo para colocar un vendaje al vacío Duração do aplique de curativo a vácuo - + Fracture check timer 骨折检查计时器 Timer per il controllo delle fratture @@ -816,7 +818,7 @@ Tiempo para analizar una fractura Duração da análise de fratura - + Medical level required for someone to check fracture 检查骨折所需的医疗水平 Livello medico richiesto a qualcuno per controllare la frattura @@ -829,7 +831,7 @@ Nivel médico requerido para analizar la fractura de alguien Nível médico necessário para analisar a fratura de alguém - + Medical level required for closed reduction 闭合复位所需的医疗水平 Livello medico richiesto per la riduzione ortopedica chiusa @@ -837,12 +839,12 @@ Zdravotnická úroveň potřebná pro uzavřenou repozici Niveau médical requis pour effectuer une réduction fermée 폐쇄정복을 하는 데 필요한 의료 레벨 수준 - Erforderliches medizinisches Training für die geschlossene Reposition + Erforderliches medizinisches Training für die geschlossene Reduktion 非観血的整復術に必要な医療レベル Nivel médico requerido para realizar una reducción cerrada Nível médico necessário para realizar uma redução fechada - + Medical level required for Surgical action 手术所需的医疗水平 Livello medico richiesto per l'azione chirurgica @@ -855,7 +857,7 @@ Nivel médico requerido para realizar una acción quirúrgica Nível médico exigido para realizar uma ação cirúrgica - + Medical level required for Breath check 呼吸检查所需的医疗水平 Livello medico richiesto per il controllo del respiro @@ -868,7 +870,7 @@ Nivel médico requerido para analizar el aliento Nível médico necessário para analisar a o hálito - + Closed reduction location 封闭伤口的位置 Luogo di riduzione chiusa @@ -876,12 +878,12 @@ Umístění uzavřené repozice Lieu des réductions fermées 폐쇄정복 장소 - Ort für die geschlossene Reposition + Ort für die geschlossene Reduktion 非観血的整復が可能な場所 Zona para reducciones cerradas Locação para reduções fechadas - + Open reduction/Surgical location 开放伤口/手术的位置 Zona chirurgica/Riduzione aperta @@ -889,12 +891,12 @@ Otevřená repozice/chirurgická poloha Lieu des réductions ouvertes / chirurgies 개방정복 및 수술 장소 - Ort für die offene Reposition/chirurgischer Eingriff + Ort für die offene Reduktion/chirurgischer Eingriffe 観血的整復術・手術が可能な場所 Zona para reducciones abiertas/Acciones quirúrgicas Locação para reduções abertas/cirúrgicas - + Allow self check fracture 允许自检骨折 Consenti autodiagnosi frattura @@ -907,7 +909,7 @@ Permitir revisarse fracturas propias Permitir verificar as próprias fraturas - + exposed 暴露 Esposta @@ -915,12 +917,12 @@ Roztaženo exposé(e) 노출됨 - freiliegend + freigelegt 露出した expuesto/a exposto(a) - + irrigated 清洗 Pulita e lavata @@ -933,7 +935,7 @@ irrigado/a irrigado(a) - + clamped 钳住 Clampata @@ -946,7 +948,7 @@ alineado/a fixado(a) - + Comminuted Fracture 粉碎性骨折 Frattura pluriframmentaria @@ -959,7 +961,7 @@ Fractura Conminuta Fratura cominutiva - + Compound Fracture 复合性骨折 Frattura composta @@ -967,12 +969,12 @@ Otevřená zlomenina Fracture ouverte 복합 골절 - Zusammengesetzte Fraktur + Offene Fraktur 開放骨折 Fractura Compuesta Fratura composta - + Simple Fracture 简单骨折 Frattura semplice @@ -985,7 +987,7 @@ Fractura Simple Fratura simples - + Unconsciouness Requierement 要求无意识 Requisito di incoscienza @@ -998,7 +1000,7 @@ Requiere inconsciencia Requer inconsciência - + Whether or not is unconsciousness requiered to perform some surgery actions 进行某些手术动作是否需要无意识 Decidere se l'incoscienza sia richiesta o meno per eseguire alcune azioni chirurgiche @@ -1011,7 +1013,7 @@ Si se necesita o no que el paciente esté inconsciente para realizar acciones quirúrgicas Se a inconsciência é ou não necessária para realizar algumas ações cirúrgicas - + Basic Settings 基本设置 Podstawowe Ustawienia @@ -1024,7 +1026,7 @@ Parámetros básicos Configurações básicas - + Surgical actions Settings 手术操作设置 Impostazioni delle azioni chirurgiche @@ -1037,7 +1039,7 @@ Parámetros para acciones quirúrgicas Configurações de ações cirúrgicas - + Fractures Settings 骨折设置 Impostazioni fratture @@ -1050,7 +1052,7 @@ Parámetros para fracturas Configurações de fraturas - + Kidney Settings 肾脏设置 Impostazioni renali @@ -1063,7 +1065,7 @@ Parámetros para riñones Configurações do rim - + [KAM] Surgery Box [KAM] Skrzynia chirugiczna [KAM] Chirurgický Box diff --git a/addons/zeus/stringtable.xml b/addons/zeus/stringtable.xml index a086b34d8..9e9c2c944 100644 --- a/addons/zeus/stringtable.xml +++ b/addons/zeus/stringtable.xml @@ -1,7 +1,7 @@ - - - + + + Airway obstruction: Atemwegsobstruktion: Obstrukce dýchacích cest: @@ -17,7 +17,7 @@ 气道闭塞: Obstrução de vias aéreas: - + Airway occlusion: Atemwegsverstopfung: Okluze dýchacích cest: @@ -33,7 +33,7 @@ 气道阻塞: Oclusão das vias aéreas: - + Pneumothorax: Pneumothorax: Pneumotorax: @@ -49,7 +49,7 @@ 气胸: Pneumotórax: - + Hemopneumothorax: Hämopneumothorax: Hemopneumotorax: @@ -65,7 +65,7 @@ 血气胸: Hemopneumotórax: - + Tension pneumothorax: Spannungspneumothorax: Tenzní pneumotorax: @@ -81,7 +81,7 @@ 张力性气胸: Pneumotórax hipertensivo: - + SpO2 value: SpO2-Wert: Hodnota SpO2: @@ -97,7 +97,7 @@ SpO2值: Valor de SpO2: - + Blood group: Blutgruppe: Krevní skupina: @@ -113,9 +113,9 @@ 血型: Tipo sanguíneo: - + Blood volume: - blutvolumen: + Blutvolumen: Množství krve: Volume sanguin: Ilość krwi: @@ -129,7 +129,7 @@ 血液量: Volume de sangue: - + Manage Airways Atemwege verwalten Upravit dýchací cesty @@ -145,7 +145,7 @@ 气道管理: Gerenciar vias aéreas - + Change blood group / volume Blutgruppe / volumen ändern Změnit krevní skupinu / množství @@ -161,7 +161,7 @@ 改变血型/血液量: Alterar tipo sanguíneo/volume - + Change shockable state Schockzustand ändern Změnit šokovatelný stav @@ -177,7 +177,7 @@ 改变电击状态: Alterar estado de fibrilação cardíaca - + Open unit medical menu Medic Menü der Einheit öffnen Otevřít zdravotnickou nabídku jednotky @@ -193,7 +193,7 @@ 打开单位医疗菜单 Abra o menu médico da unidade - + State: Wert: Stav: @@ -209,7 +209,7 @@ 状态: Estado: - + Shockable (VF/PVT) Schockbar (VF/PVT) Šokovatelný (VF/PVT) @@ -225,7 +225,7 @@ 电击类型(VF/PVT) Desfibrilável (FV/TV) - + non-shockable (Asystole) Nicht-Schockbar (Asystolie) Nešokovatelný (Asystolie) @@ -241,7 +241,7 @@ 非电击类型(心搏停止) Não chocável (Assistolia) - + Place on a unit. Es wurde nichts ausgewählt. Položte na jednotku. @@ -257,9 +257,9 @@ 放置在一个单元上 Coloque em uma unidade. - + Unit must be infantry. - Nur bei Infanterie verwendbar. + Nur bei abgesessener Infanterie verwendbar. Jednotka musí být pěchota. L'unité doit être une infanterie. Jednostką musi być piechota. @@ -273,7 +273,7 @@ 单位必须是步兵 A unidade deve ser de infantaria. - + Unit must be alive. Einheit muss am Leben sein. Jednotka musí být naživu. @@ -289,9 +289,9 @@ 单位必须处于存活状态 A unidade deve estar viva. - + Unit must be unconscious. - Einheit muss Ohnmächtig sein. + Einheit muss bewusstlos sein. Jednotka musí být při vědomí. L'unité doit être inconsciente. Jednostka musi być nieprzytomna. @@ -305,7 +305,7 @@ 单位必须是无意识的 A unidade deve estar inconsciente. - + %1%3 (was %2%3) %1%3 (war %2%3) %1%3 (było %2%3) diff --git a/circle.yml b/circle.yml deleted file mode 100644 index aa6665e63..000000000 --- a/circle.yml +++ /dev/null @@ -1,42 +0,0 @@ -version: 2 -jobs: - validate-scripts: - docker: - - image: acemod/sqflint:latest - steps: - - checkout - - run: - name: Validate SQF and Config style - command: python tools/sqf_validator.py && python tools/config_style_checker.py - - linting: - docker: - - image: acemod/sqflint:latest - steps: - - checkout - - run: - name: Lint sqf code - command: sqflint -d addons || true - - armake: - docker: - - image: acemod/armake:master - steps: - - checkout - - run: - name: Version - command: armake --version - - run: - name: Build - command: | - make -j 4 - -workflows: - version: 2 - build-job: - jobs: - - linting - - validate-scripts - - armake: - requires: - - validate-scripts \ No newline at end of file diff --git a/include/a3/ui_f/hpp/defineCommonColors.inc b/include/a3/ui_f/hpp/defineCommonColors.inc index 474b732f2..28f0403e0 100644 --- a/include/a3/ui_f/hpp/defineCommonColors.inc +++ b/include/a3/ui_f/hpp/defineCommonColors.inc @@ -3,103 +3,103 @@ /////////////////////////////////////////////////////////////////////////// //--- Background color with defaults (not multipliable) -#define GUI_BCG_RGB_R "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])" -#define GUI_BCG_RGB_G "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])" -#define GUI_BCG_RGB_B "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])" -#define GUI_BCG_ALPHA "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])" +#define GUI_BCG_RGB_R "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])" +#define GUI_BCG_RGB_G "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])" +#define GUI_BCG_RGB_B "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])" +#define GUI_BCG_ALPHA "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])" -#define GUI_BCG_RGB GUI_BCG_RGB_R, GUI_BCG_RGB_G, GUI_BCG_RGB_B -#define GUI_BCG_COLOR {GUI_BCG_RGB,GUI_BCG_ALPHA} -#define GUI_BCG_COLOR_SELECTED {GUI_BCG_RGB,0.5} +#define GUI_BCG_RGB GUI_BCG_RGB_R, GUI_BCG_RGB_G, GUI_BCG_RGB_B +#define GUI_BCG_COLOR {GUI_BCG_RGB,GUI_BCG_ALPHA} +#define GUI_BCG_COLOR_SELECTED {GUI_BCG_RGB,0.5} //--- TitleBar text color -#define GUI_TITLETEXT_RGB_R "(profilenamespace getvariable ['GUI_TITLETEXT_RGB_R',1.0])" -#define GUI_TITLETEXT_RGB_G "(profilenamespace getvariable ['GUI_TITLETEXT_RGB_G',1.0])" -#define GUI_TITLETEXT_RGB_B "(profilenamespace getvariable ['GUI_TITLETEXT_RGB_B',1.0])" -#define GUI_TITLETEXT_ALPHA "(profilenamespace getvariable ['GUI_TITLETEXT_RGB_A',0.6])" -#define GUI_TITLETEXT_COLOR {GUI_TITLETEXT_RGB_R, GUI_TITLETEXT_RGB_G, GUI_TITLETEXT_RGB_B, GUI_TITLETEXT_ALPHA} +#define GUI_TITLETEXT_RGB_R "(profilenamespace getvariable ['GUI_TITLETEXT_RGB_R',1.0])" +#define GUI_TITLETEXT_RGB_G "(profilenamespace getvariable ['GUI_TITLETEXT_RGB_G',1.0])" +#define GUI_TITLETEXT_RGB_B "(profilenamespace getvariable ['GUI_TITLETEXT_RGB_B',1.0])" +#define GUI_TITLETEXT_ALPHA "(profilenamespace getvariable ['GUI_TITLETEXT_RGB_A',0.6])" +#define GUI_TITLETEXT_COLOR {GUI_TITLETEXT_RGB_R, GUI_TITLETEXT_RGB_G, GUI_TITLETEXT_RGB_B, GUI_TITLETEXT_ALPHA} //--- Background for wGUI displays -#define GUI_BCG_MENU_RGB 0, 0, 0 -#define GUI_BCG_MENU {GUI_BCG_MENU_RGB, 0.7} +#define GUI_BCG_MENU_RGB 0, 0, 0 +#define GUI_BCG_MENU {GUI_BCG_MENU_RGB, 0.7} //--- Background for editor -#define GUI_BCG_EDITOR_RGB 0.1, 0.1, 0.1 -#define GUI_BCG_EDITOR {GUI_BCG_EDITOR_RGB, 1} +#define GUI_BCG_EDITOR_RGB 0.1, 0.1, 0.1 +#define GUI_BCG_EDITOR {GUI_BCG_EDITOR_RGB, 1} //--- Medium background (obsolete; Dwarden's displays) -#define GUI_BCG_MEDIUM_RGB GUI_BCG_RGB -#define GUI_BCG_MEDIUM_ALPHA GUI_BCG_ALPHA -#define GUI_BCG_MEDIUM_COLOR {GUI_BCG_MEDIUM_RGB,GUI_BCG_MEDIUM_ALPHA} +#define GUI_BCG_MEDIUM_RGB GUI_BCG_RGB +#define GUI_BCG_MEDIUM_ALPHA GUI_BCG_ALPHA +#define GUI_BCG_MEDIUM_COLOR {GUI_BCG_MEDIUM_RGB,GUI_BCG_MEDIUM_ALPHA} //--- Dark background (HUD) -#define GUI_BCG_DARK_RGB GUI_BCG_RGB -#define GUI_BCG_DARK_ALPHA 0.85 -#define GUI_BCG_DARK_COLOR {GUI_BCG_DARK_RGB,GUI_BCG_DARK_ALPHA} -#define GUI_BCG_DARK_TRANSPARENT {GUI_BCG_DARK_RGB,GUI_BCG_DARK_ALPHA / 2} +#define GUI_BCG_DARK_RGB GUI_BCG_RGB +#define GUI_BCG_DARK_ALPHA 0.85 +#define GUI_BCG_DARK_COLOR {GUI_BCG_DARK_RGB,GUI_BCG_DARK_ALPHA} +#define GUI_BCG_DARK_TRANSPARENT {GUI_BCG_DARK_RGB,GUI_BCG_DARK_ALPHA / 2} //--- Active color (inversed to selected color) -#define GUI_BCG_ACTIVE_RGB 1, 1, 1 +#define GUI_BCG_ACTIVE_RGB 1, 1, 1 //--- Warning color (exit buttons) -#define GUI_BCG_ERROR_RGB 0.7, 0, 0 +#define GUI_BCG_ERROR_RGB 0.7, 0, 0 //--- Text color -#define GUI_TEXT_RGB 1, 1, 1 -#define GUI_TEXT_ALPHA 1.0 -#define GUI_TEXT_COLOR {GUI_TEXT_RGB,GUI_TEXT_ALPHA} -#define GUI_TEXT_SHADOW {0,0,0,0.5} -#define GUI_TEXT_HTML_COLOR "#ffffff" -#define GUI_TEXT_HTML_SHADOW "#80000000" +#define GUI_TEXT_RGB 1, 1, 1 +#define GUI_TEXT_ALPHA 1.0 +#define GUI_TEXT_COLOR {GUI_TEXT_RGB,GUI_TEXT_ALPHA} +#define GUI_TEXT_SHADOW {0,0,0,0.5} +#define GUI_TEXT_HTML_COLOR "#ffffff" +#define GUI_TEXT_HTML_SHADOW "#80000000" //--- List: text colors and background highlight -#define GUI_LIST_TEXT_COLOR {GUI_TEXT_RGB,0.8} -#define GUI_LIST_TEXT_COLOR_SELECTED {GUI_TEXT_RGB,1.0} -#define GUI_LIST_BCG_SELECTED {0,0,0,0.2} +#define GUI_LIST_TEXT_COLOR {GUI_TEXT_RGB,0.8} +#define GUI_LIST_TEXT_COLOR_SELECTED {GUI_TEXT_RGB,1.0} +#define GUI_LIST_BCG_SELECTED {0,0,0,0.2} //--- Tooltip colours -#define GUI_TOOLTIP_TEXT_COLOR {1, 1, 1, 1} -#define GUI_TOOLTIP_BOX_COLOR {1, 1, 1, 1} -#define GUI_TOOLTIP_SHADE_COLOR {0, 0, 0, 0.65} +#define GUI_TOOLTIP_TEXT_COLOR {1, 1, 1, 1} +#define GUI_TOOLTIP_BOX_COLOR {1, 1, 1, 1} +#define GUI_TOOLTIP_SHADE_COLOR {0, 0, 0, 0.65} /////////////////////////////////////////////////////////////////////////// /// iGUI /////////////////////////////////////////////////////////////////////////// //--- IGUI Background color -#define IGUI_BCG_RGB_R "(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])" -#define IGUI_BCG_RGB_G "(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])" -#define IGUI_BCG_RGB_B "(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])" -#define IGUI_BCG_RGB_A "(profilenamespace getvariable ['IGUI_BCG_RGB_A',0.8])" -#define IGUI_BCG_RGB IGUI_BCG_RGB_R, IGUI_BCG_RGB_G, IGUI_BCG_RGB_B -#define IGUI_BCG_COLOR {IGUI_BCG_RGB,IGUI_BCG_RGB_A} +#define IGUI_BCG_RGB_R "(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])" +#define IGUI_BCG_RGB_G "(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])" +#define IGUI_BCG_RGB_B "(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])" +#define IGUI_BCG_RGB_A "(profilenamespace getvariable ['IGUI_BCG_RGB_A',0.8])" +#define IGUI_BCG_RGB IGUI_BCG_RGB_R, IGUI_BCG_RGB_G, IGUI_BCG_RGB_B +#define IGUI_BCG_COLOR {IGUI_BCG_RGB,IGUI_BCG_RGB_A} //--- IGUI Text color -#define IGUI_TEXT_RGB_R "(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])" -#define IGUI_TEXT_RGB_G "(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])" -#define IGUI_TEXT_RGB_B "(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])" -#define IGUI_TEXT_RGB_A "(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])" -#define IGUI_TEXT_RGB IGUI_TEXT_RGB_R, IGUI_TEXT_RGB_G, IGUI_TEXT_RGB_B -#define IGUI_TEXT_COLOR {IGUI_TEXT_RGB,IGUI_TEXT_RGB_A} +#define IGUI_TEXT_RGB_R "(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])" +#define IGUI_TEXT_RGB_G "(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])" +#define IGUI_TEXT_RGB_B "(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])" +#define IGUI_TEXT_RGB_A "(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])" +#define IGUI_TEXT_RGB IGUI_TEXT_RGB_R, IGUI_TEXT_RGB_G, IGUI_TEXT_RGB_B +#define IGUI_TEXT_COLOR {IGUI_TEXT_RGB,IGUI_TEXT_RGB_A} //--- IGUI Warning color -#define IGUI_WARNING_RGB_R "(profilenamespace getvariable ['IGUI_WARNING_RGB_R',0.8])" -#define IGUI_WARNING_RGB_G "(profilenamespace getvariable ['IGUI_WARNING_RGB_G',0.5])" -#define IGUI_WARNING_RGB_B "(profilenamespace getvariable ['IGUI_WARNING_RGB_B',0.0])" -#define IGUI_WARNING_RGB_A "(profilenamespace getvariable ['IGUI_WARNING_RGB_A',0.8])" -#define IGUI_WARNING_RGB IGUI_WARNING_RGB_R, IGUI_WARNING_RGB_G, IGUI_WARNING_RGB_B -#define IGUI_WARNING_COLOR {IGUI_WARNING_RGB,IGUI_WARNING_RGB_A} +#define IGUI_WARNING_RGB_R "(profilenamespace getvariable ['IGUI_WARNING_RGB_R',0.8])" +#define IGUI_WARNING_RGB_G "(profilenamespace getvariable ['IGUI_WARNING_RGB_G',0.5])" +#define IGUI_WARNING_RGB_B "(profilenamespace getvariable ['IGUI_WARNING_RGB_B',0.0])" +#define IGUI_WARNING_RGB_A "(profilenamespace getvariable ['IGUI_WARNING_RGB_A',0.8])" +#define IGUI_WARNING_RGB IGUI_WARNING_RGB_R, IGUI_WARNING_RGB_G, IGUI_WARNING_RGB_B +#define IGUI_WARNING_COLOR {IGUI_WARNING_RGB,IGUI_WARNING_RGB_A} //--- IGUI Error color -#define IGUI_ERROR_RGB_R "(profilenamespace getvariable ['IGUI_ERROR_RGB_R',0.8])" -#define IGUI_ERROR_RGB_G "(profilenamespace getvariable ['IGUI_ERROR_RGB_G',0.0])" -#define IGUI_ERROR_RGB_B "(profilenamespace getvariable ['IGUI_ERROR_RGB_B',0.0])" -#define IGUI_ERROR_RGB_A "(profilenamespace getvariable ['IGUI_ERROR_RGB_A',1.0])" -#define IGUI_ERROR_RGB IGUI_ERROR_RGB_R, IGUI_ERROR_RGB_G, IGUI_ERROR_RGB_B -#define IGUI_ERROR_COLOR {IGUI_ERROR_RGB,IGUI_ERROR_RGB_A} +#define IGUI_ERROR_RGB_R "(profilenamespace getvariable ['IGUI_ERROR_RGB_R',0.8])" +#define IGUI_ERROR_RGB_G "(profilenamespace getvariable ['IGUI_ERROR_RGB_G',0.0])" +#define IGUI_ERROR_RGB_B "(profilenamespace getvariable ['IGUI_ERROR_RGB_B',0.0])" +#define IGUI_ERROR_RGB_A "(profilenamespace getvariable ['IGUI_ERROR_RGB_A',1.0])" +#define IGUI_ERROR_RGB IGUI_ERROR_RGB_R, IGUI_ERROR_RGB_G, IGUI_ERROR_RGB_B +#define IGUI_ERROR_COLOR {IGUI_ERROR_RGB,IGUI_ERROR_RGB_A} //--- HUD Text color (obsolete defines; ToDo: Replace with IGUI_TEXT_COLOR and IGUI_BCG_COLOR) -#define CA_UI_HUD IGUI_TEXT_COLOR +#define CA_UI_HUD IGUI_TEXT_COLOR @@ -108,44 +108,44 @@ /////////////////////////////////////////////////////////////////////////// //--- BLUFOR -#define Map_BLUFOR_R "(profilenamespace getvariable ['Map_BLUFOR_R',0])" -#define Map_BLUFOR_G "(profilenamespace getvariable ['Map_BLUFOR_G',1])" -#define Map_BLUFOR_B "(profilenamespace getvariable ['Map_BLUFOR_B',1])" -#define Map_BLUFOR_A "(profilenamespace getvariable ['Map_BLUFOR_A',0.8])" -#define Map_BLUFOR_RGB Map_BLUFOR_R, Map_BLUFOR_G, Map_BLUFOR_B -#define Map_BLUFOR_RGBA {Map_BLUFOR_RGB,Map_BLUFOR_A} +#define Map_BLUFOR_R "(profilenamespace getvariable ['Map_BLUFOR_R',0])" +#define Map_BLUFOR_G "(profilenamespace getvariable ['Map_BLUFOR_G',1])" +#define Map_BLUFOR_B "(profilenamespace getvariable ['Map_BLUFOR_B',1])" +#define Map_BLUFOR_A "(profilenamespace getvariable ['Map_BLUFOR_A',0.8])" +#define Map_BLUFOR_RGB Map_BLUFOR_R, Map_BLUFOR_G, Map_BLUFOR_B +#define Map_BLUFOR_RGBA {Map_BLUFOR_RGB,Map_BLUFOR_A} //--- OPFOR -#define Map_OPFOR_R "(profilenamespace getvariable ['Map_OPFOR_R',0])" -#define Map_OPFOR_G "(profilenamespace getvariable ['Map_OPFOR_G',1])" -#define Map_OPFOR_B "(profilenamespace getvariable ['Map_OPFOR_B',1])" -#define Map_OPFOR_A "(profilenamespace getvariable ['Map_OPFOR_A',0.8])" -#define Map_OPFOR_RGB Map_OPFOR_R, Map_OPFOR_G, Map_OPFOR_B -#define Map_OPFOR_RGBA {Map_OPFOR_RGB,Map_OPFOR_A} +#define Map_OPFOR_R "(profilenamespace getvariable ['Map_OPFOR_R',0])" +#define Map_OPFOR_G "(profilenamespace getvariable ['Map_OPFOR_G',1])" +#define Map_OPFOR_B "(profilenamespace getvariable ['Map_OPFOR_B',1])" +#define Map_OPFOR_A "(profilenamespace getvariable ['Map_OPFOR_A',0.8])" +#define Map_OPFOR_RGB Map_OPFOR_R, Map_OPFOR_G, Map_OPFOR_B +#define Map_OPFOR_RGBA {Map_OPFOR_RGB,Map_OPFOR_A} //--- Independent -#define Map_Independent_R "(profilenamespace getvariable ['Map_Independent_R',0])" -#define Map_Independent_G "(profilenamespace getvariable ['Map_Independent_G',1])" -#define Map_Independent_B "(profilenamespace getvariable ['Map_Independent_B',1])" -#define Map_Independent_A "(profilenamespace getvariable ['Map_Independent_A',0.8])" -#define Map_Independent_RGB Map_Independent_R, Map_Independent_G, Map_Independent_B -#define Map_Independent_RGBA {Map_Independent_RGB,Map_Independent_A} +#define Map_Independent_R "(profilenamespace getvariable ['Map_Independent_R',0])" +#define Map_Independent_G "(profilenamespace getvariable ['Map_Independent_G',1])" +#define Map_Independent_B "(profilenamespace getvariable ['Map_Independent_B',1])" +#define Map_Independent_A "(profilenamespace getvariable ['Map_Independent_A',0.8])" +#define Map_Independent_RGB Map_Independent_R, Map_Independent_G, Map_Independent_B +#define Map_Independent_RGBA {Map_Independent_RGB,Map_Independent_A} //--- Civilian -#define Map_Civilian_R "(profilenamespace getvariable ['Map_Civilian_R',0])" -#define Map_Civilian_G "(profilenamespace getvariable ['Map_Civilian_G',1])" -#define Map_Civilian_B "(profilenamespace getvariable ['Map_Civilian_B',1])" -#define Map_Civilian_A "(profilenamespace getvariable ['Map_Civilian_A',0.8])" -#define Map_Civilian_RGB Map_Civilian_R, Map_Civilian_G, Map_Civilian_B -#define Map_Civilian_RGBA {Map_Civilian_RGB,Map_Civilian_A} +#define Map_Civilian_R "(profilenamespace getvariable ['Map_Civilian_R',0])" +#define Map_Civilian_G "(profilenamespace getvariable ['Map_Civilian_G',1])" +#define Map_Civilian_B "(profilenamespace getvariable ['Map_Civilian_B',1])" +#define Map_Civilian_A "(profilenamespace getvariable ['Map_Civilian_A',0.8])" +#define Map_Civilian_RGB Map_Civilian_R, Map_Civilian_G, Map_Civilian_B +#define Map_Civilian_RGBA {Map_Civilian_RGB,Map_Civilian_A} //--- Unknown -#define Map_Unknown_R "(profilenamespace getvariable ['Map_Unknown_R',0])" -#define Map_Unknown_G "(profilenamespace getvariable ['Map_Unknown_G',1])" -#define Map_Unknown_B "(profilenamespace getvariable ['Map_Unknown_B',1])" -#define Map_Unknown_A "(profilenamespace getvariable ['Map_Unknown_A',0.8])" -#define Map_Unknown_RGB Map_Unknown_R, Map_Unknown_G, Map_Unknown_B -#define Map_Unknown_RGBA {Map_Unknown_RGB,Map_Unknown_A} +#define Map_Unknown_R "(profilenamespace getvariable ['Map_Unknown_R',0])" +#define Map_Unknown_G "(profilenamespace getvariable ['Map_Unknown_G',1])" +#define Map_Unknown_B "(profilenamespace getvariable ['Map_Unknown_B',1])" +#define Map_Unknown_A "(profilenamespace getvariable ['Map_Unknown_A',0.8])" +#define Map_Unknown_RGB Map_Unknown_R, Map_Unknown_G, Map_Unknown_B +#define Map_Unknown_RGBA {Map_Unknown_RGB,Map_Unknown_A} @@ -153,157 +153,157 @@ /// Misc /////////////////////////////////////////////////////////////////////////// //overwritten by Warka -#define CA_UI_ACTION {0.9,0.9,0.9,0.4} -#define CA_UI_ACTION_AVAILABLE IGUI_TEXT_COLOR -#define CA_UI_ACTION_ACTIVE {0.24,0.87,0,0.8} -#define CA_IGUI_Green {0.709,0.972,0.384,1} -#define CA_IGUI_GreenDark {0.259,0.463,0.149, 1} //MUF-added from A3 //{0.659,0.863,0.549,0.6} -#define CA_IGUI_Background IGUI_BCG_COLOR - -#define Color_Orange {GUI_BCG_RGB, 1} -#define Color_DarkOrange {GUI_BCG_MEDIUM_RGB, 0.7} - -#define CA_colordark {0, 0, 0, 1} -#define CA_UI_element_background Color_White -#define CA_UI_background {0.6, 0.6, 0.6, 0.4} -#define CA_UI_title_background {0.1961,0.1451,0.0941,1.0} -#define CA_UI_green {0.709,0.972,0.384,1} -#define CA_UI_red {0.58, 0.1147, 0.1108, 1} - -#define CA_UI_grey {0.4,0.4,0.4,1} -#define CA_UI_transparent {1,1,1,0} - -#define CA_IGUI_Red {0.706,0.0745,0.0196,1} -#define CA_IGUI_Orange {0.863,0.584,0.0,1} -#define CA_IGUI_YellowGreen {0.8275,0.8196,0.1961,1.0} -#define CA_IGUI_Blue {0.196,0.592,0.706, 1} -#define CA_IGUI_Grey {0.606,0.606,0.606,1} - -#define Color_White {0.95, 0.95, 0.95, 1} -//#define Color_Black {0.023529, 0, 0.0313725, 1} -#define Color_Black {0, 0, 0, 1} -#define Color_Gray {1, 1, 1, 0.5} -#define Color_Empty {0, 0, 0, 0} - -#define Color_Back {0.1, 0.1, 0.1, 0.4} -#define Color_BackList {0.2, 0.2, 0.2, 0.2} - -#define ProcTextWhite "#(argb,8,8,3)color(1,1,1,1)" -#define ProcTextBlack "#(argb,8,8,3)color(0,0,0,1)" -#define ProcTextGray "#(argb,8,8,3)color(0.3,0.3,0.3,1)" -#define ProcTextRed "#(argb,8,8,3)color(1,0,0,1)" -#define ProcTextGreen "#(argb,8,8,3)color(0,1,0,1)" -#define ProcTextBlue "#(argb,8,8,3)color(0,0,1,1)" -#define ProcTextOrange "#(argb,8,8,3)color(1,0.5,0,1)" -#define ProcTextTransparent "#(argb,8,8,3)color(0,0,0,0)" -#define ProcTextHUD "#(argb,8,8,3)color(0.600,0.8392,0.4706,1.0)" -#define ProcTextPurple "#(argb,8,8,3)color(0.75,0,0.75,1)" +#define CA_UI_ACTION {0.9,0.9,0.9,0.4} +#define CA_UI_ACTION_AVAILABLE IGUI_TEXT_COLOR +#define CA_UI_ACTION_ACTIVE {0.24,0.87,0,0.8} +#define CA_IGUI_Green {0.709,0.972,0.384,1} +#define CA_IGUI_GreenDark {0.259,0.463,0.149, 1} //MUF-added from A3 //{0.659,0.863,0.549,0.6} +#define CA_IGUI_Background IGUI_BCG_COLOR + +#define Color_Orange {GUI_BCG_RGB, 1} +#define Color_DarkOrange {GUI_BCG_MEDIUM_RGB, 0.7} + +#define CA_colordark {0, 0, 0, 1} +#define CA_UI_element_background Color_White +#define CA_UI_background {0.6, 0.6, 0.6, 0.4} +#define CA_UI_title_background {0.1961,0.1451,0.0941,1.0} +#define CA_UI_green {0.709,0.972,0.384,1} +#define CA_UI_red {0.58, 0.1147, 0.1108, 1} + +#define CA_UI_grey {0.4,0.4,0.4,1} +#define CA_UI_transparent {1,1,1,0} + +#define CA_IGUI_Red {0.706,0.0745,0.0196,1} +#define CA_IGUI_Orange {0.863,0.584,0.0,1} +#define CA_IGUI_YellowGreen {0.8275,0.8196,0.1961,1.0} +#define CA_IGUI_Blue {0.196,0.592,0.706, 1} +#define CA_IGUI_Grey {0.606,0.606,0.606,1} + +#define Color_White {0.95, 0.95, 0.95, 1} +//#define Color_Black {0.023529, 0, 0.0313725, 1} +#define Color_Black {0, 0, 0, 1} +#define Color_Gray {1, 1, 1, 0.5} +#define Color_Empty {0, 0, 0, 0} + +#define Color_Back {0.1, 0.1, 0.1, 0.4} +#define Color_BackList {0.2, 0.2, 0.2, 0.2} + +#define ProcTextWhite "#(argb,8,8,3)color(1,1,1,1)" +#define ProcTextBlack "#(argb,8,8,3)color(0,0,0,1)" +#define ProcTextGray "#(argb,8,8,3)color(0.3,0.3,0.3,1)" +#define ProcTextRed "#(argb,8,8,3)color(1,0,0,1)" +#define ProcTextGreen "#(argb,8,8,3)color(0,1,0,1)" +#define ProcTextBlue "#(argb,8,8,3)color(0,0,1,1)" +#define ProcTextOrange "#(argb,8,8,3)color(1,0.5,0,1)" +#define ProcTextTransparent "#(argb,8,8,3)color(0,0,0,0)" +#define ProcTextHUD "#(argb,8,8,3)color(0.600,0.8392,0.4706,1.0)" +#define ProcTextPurple "#(argb,8,8,3)color(0.75,0,0.75,1)" /////////////////////////////////////////////////////////////////////////// /// Task colors: 3D task marker /////////////////////////////////////////////////////////////////////////// -#define COLOR_TASK_ICON_UNASSIGNED_RGB 1,1,1 -#define COLOR_TASK_ICON_UNASSIGNED_A 0.5 -#define COLOR_TASK_ICON_UNASSIGNED_RGBA COLOR_TASK_ICON_UNASSIGNED_RGB,COLOR_TASK_ICON_UNASSIGNED_A -#define COLOR_TASK_ICON_ASSIGNED_RGB 1,0.72,0.3 -#define COLOR_TASK_ICON_ASSIGNED_A 0.5 -#define COLOR_TASK_ICON_ASSIGNED_RGBA COLOR_TASK_ICON_ASSIGNED_RGB,COLOR_TASK_ICON_ASSIGNED_A -#define COLOR_TASK_ICON_CUSTOM_RGB 0.3,0.72,1 -#define COLOR_TASK_ICON_CUSTOM_A 0.5 -#define COLOR_TASK_ICON_CUSTOM_RGBA COLOR_TASK_ICON_CUSTOM_RGB,COLOR_TASK_ICON_CUSTOM_A - - -#define COLOR_TASK_BACKGROUND_UNASSIGNED_RGB 1,1,1 -#define COLOR_TASK_BACKGROUND_UNASSIGNED_A 1 -#define COLOR_TASK_BACKGROUND_UNASSIGNED_RGBA COLOR_TASK_BACKGROUND_UNASSIGNED_RGB,COLOR_TASK_BACKGROUND_UNASSIGNED_A -#define COLOR_TASK_BACKGROUND_ASSIGNED_RGB 1,0.72,0.3 -#define COLOR_TASK_BACKGROUND_ASSIGNED_A 1 -#define COLOR_TASK_BACKGROUND_ASSIGNED_RGBA COLOR_TASK_BACKGROUND_ASSIGNED_RGB,COLOR_TASK_BACKGROUND_ASSIGNED_A -#define COLOR_TASK_BACKGROUND_CUSTOM_RGB 0.3,0.72,1 -#define COLOR_TASK_BACKGROUND_CUSTOM_A 1 -#define COLOR_TASK_BACKGROUND_CUSTOM_RGBA COLOR_TASK_BACKGROUND_CUSTOM_RGB,COLOR_TASK_BACKGROUND_CUSTOM_A - - -#define COLOR_TASK_TEXT_UNASSIGNED_RGB 0.91,0.91,0.91 -#define COLOR_TASK_TEXT_UNASSIGNED_A 0.55 -#define COLOR_TASK_TEXT_UNASSIGNED_RGBA COLOR_TASK_TEXT_UNASSIGNED_RGB,COLOR_TASK_TEXT_UNASSIGNED_A -#define COLOR_TASK_TEXT_ASSIGNED_RGB 0.91,0.65,0.27 -#define COLOR_TASK_TEXT_ASSIGNED_A 0.55 -#define COLOR_TASK_TEXT_ASSIGNED_RGBA COLOR_TASK_TEXT_ASSIGNED_RGB,COLOR_TASK_TEXT_ASSIGNED_A -#define COLOR_TASK_TEXT_CUSTOM_RGB 0.27,0.65,0.91 -#define COLOR_TASK_TEXT_CUSTOM_A 0.55 -#define COLOR_TASK_TEXT_CUSTOM_RGBA COLOR_TASK_TEXT_CUSTOM_RGB,COLOR_TASK_TEXT_CUSTOM_A +#define COLOR_TASK_ICON_UNASSIGNED_RGB 1,1,1 +#define COLOR_TASK_ICON_UNASSIGNED_A 0.5 +#define COLOR_TASK_ICON_UNASSIGNED_RGBA COLOR_TASK_ICON_UNASSIGNED_RGB,COLOR_TASK_ICON_UNASSIGNED_A +#define COLOR_TASK_ICON_ASSIGNED_RGB 1,0.72,0.3 +#define COLOR_TASK_ICON_ASSIGNED_A 0.5 +#define COLOR_TASK_ICON_ASSIGNED_RGBA COLOR_TASK_ICON_ASSIGNED_RGB,COLOR_TASK_ICON_ASSIGNED_A +#define COLOR_TASK_ICON_CUSTOM_RGB 0.3,0.72,1 +#define COLOR_TASK_ICON_CUSTOM_A 0.5 +#define COLOR_TASK_ICON_CUSTOM_RGBA COLOR_TASK_ICON_CUSTOM_RGB,COLOR_TASK_ICON_CUSTOM_A + + +#define COLOR_TASK_BACKGROUND_UNASSIGNED_RGB 1,1,1 +#define COLOR_TASK_BACKGROUND_UNASSIGNED_A 1 +#define COLOR_TASK_BACKGROUND_UNASSIGNED_RGBA COLOR_TASK_BACKGROUND_UNASSIGNED_RGB,COLOR_TASK_BACKGROUND_UNASSIGNED_A +#define COLOR_TASK_BACKGROUND_ASSIGNED_RGB 1,0.72,0.3 +#define COLOR_TASK_BACKGROUND_ASSIGNED_A 1 +#define COLOR_TASK_BACKGROUND_ASSIGNED_RGBA COLOR_TASK_BACKGROUND_ASSIGNED_RGB,COLOR_TASK_BACKGROUND_ASSIGNED_A +#define COLOR_TASK_BACKGROUND_CUSTOM_RGB 0.3,0.72,1 +#define COLOR_TASK_BACKGROUND_CUSTOM_A 1 +#define COLOR_TASK_BACKGROUND_CUSTOM_RGBA COLOR_TASK_BACKGROUND_CUSTOM_RGB,COLOR_TASK_BACKGROUND_CUSTOM_A + + +#define COLOR_TASK_TEXT_UNASSIGNED_RGB 0.91,0.91,0.91 +#define COLOR_TASK_TEXT_UNASSIGNED_A 0.55 +#define COLOR_TASK_TEXT_UNASSIGNED_RGBA COLOR_TASK_TEXT_UNASSIGNED_RGB,COLOR_TASK_TEXT_UNASSIGNED_A +#define COLOR_TASK_TEXT_ASSIGNED_RGB 0.91,0.65,0.27 +#define COLOR_TASK_TEXT_ASSIGNED_A 0.55 +#define COLOR_TASK_TEXT_ASSIGNED_RGBA COLOR_TASK_TEXT_ASSIGNED_RGB,COLOR_TASK_TEXT_ASSIGNED_A +#define COLOR_TASK_TEXT_CUSTOM_RGB 0.27,0.65,0.91 +#define COLOR_TASK_TEXT_CUSTOM_A 0.55 +#define COLOR_TASK_TEXT_CUSTOM_RGBA COLOR_TASK_TEXT_CUSTOM_RGB,COLOR_TASK_TEXT_CUSTOM_A /////////////////////////////////////////////////////////////////////////// /// Task colors: generic /////////////////////////////////////////////////////////////////////////// -#define COLOR_TASK_UNASSIGNED_RGB COLOR_TASK_BACKGROUND_UNASSIGNED_RGB -#define COLOR_TASK_UNASSIGNED_RGBA COLOR_TASK_UNASSIGNED_RGB,1 +#define COLOR_TASK_UNASSIGNED_RGB COLOR_TASK_BACKGROUND_UNASSIGNED_RGB +#define COLOR_TASK_UNASSIGNED_RGBA COLOR_TASK_UNASSIGNED_RGB,1 -#define COLOR_TASK_ASSIGNED_RGB COLOR_TASK_BACKGROUND_ASSIGNED_RGB -#define COLOR_TASK_ASSIGNED_RGBA COLOR_TASK_ASSIGNED_RGB,1 +#define COLOR_TASK_ASSIGNED_RGB COLOR_TASK_BACKGROUND_ASSIGNED_RGB +#define COLOR_TASK_ASSIGNED_RGBA COLOR_TASK_ASSIGNED_RGB,1 -#define COLOR_TASK_CUSTOM_RGB COLOR_TASK_BACKGROUND_CUSTOM_RGB -#define COLOR_TASK_CUSTOM_RGBA COLOR_TASK_CUSTOM_RGB,1 +#define COLOR_TASK_CUSTOM_RGB COLOR_TASK_BACKGROUND_CUSTOM_RGB +#define COLOR_TASK_CUSTOM_RGBA COLOR_TASK_CUSTOM_RGB,1 //navigation elements -#define IGUI_CURSOR_COLOR {COLOR_TASK_TEXT_UNASSIGNED_RGBA} +#define IGUI_CURSOR_COLOR {COLOR_TASK_TEXT_UNASSIGNED_RGBA} /////////////////////////////////////////////////////////////////////////// /// Custom info / Sensors (duplicated in \A3\cfgSensors.hpp !!!) /////////////////////////////////////////////////////////////////////////// -#define COLOR_SENSORS_RADAR_RGB 0.0,1.0,1.0 -#define COLOR_SENSORS_RADAR_A 1.0 -#define COLOR_SENSORS_RADAR_RGBA {COLOR_SENSORS_RADAR_RGB,COLOR_SENSORS_RADAR_A} +#define COLOR_SENSORS_RADAR_RGB 0.0,1.0,1.0 +#define COLOR_SENSORS_RADAR_A 1.0 +#define COLOR_SENSORS_RADAR_RGBA {COLOR_SENSORS_RADAR_RGB,COLOR_SENSORS_RADAR_A} -#define COLOR_SENSORS_IR_RGB 1.0,0.0,0.0 -#define COLOR_SENSORS_IR_A 1.0 -#define COLOR_SENSORS_IR_RGBA {COLOR_SENSORS_IR_RGB,COLOR_SENSORS_IR_A} +#define COLOR_SENSORS_IR_RGB 1.0,0.0,0.0 +#define COLOR_SENSORS_IR_A 1.0 +#define COLOR_SENSORS_IR_RGBA {COLOR_SENSORS_IR_RGB,COLOR_SENSORS_IR_A} -#define COLOR_SENSORS_RWR_RGB 0.5, 1, 0.5 -#define COLOR_SENSORS_RWR_A 0.5 +#define COLOR_SENSORS_RWR_RGB 0.5, 1, 0.5 +#define COLOR_SENSORS_RWR_A 0.5 #define COLOR_SENSORS_RWR_RGBA {COLOR_SENSORS_RWR_RGB,COLOR_SENSORS_RWR_A} -#define COLOR_SENSORS_NV_RGB 1,1,1 -#define COLOR_SENSORS_NV_A 0 -#define COLOR_SENSORS_NV_RGBA {COLOR_SENSORS_NV_RGB,COLOR_SENSORS_NV_A} +#define COLOR_SENSORS_NV_RGB 1,1,1 +#define COLOR_SENSORS_NV_A 0 +#define COLOR_SENSORS_NV_RGBA {COLOR_SENSORS_NV_RGB,COLOR_SENSORS_NV_A} -#define COLOR_SENSORS_LAS_RGB 1,1,1 -#define COLOR_SENSORS_LAS_A 0 -#define COLOR_SENSORS_LAS_RGBA {COLOR_SENSORS_LAS_RGB,COLOR_SENSORS_LAS_A} +#define COLOR_SENSORS_LAS_RGB 1,1,1 +#define COLOR_SENSORS_LAS_A 0 +#define COLOR_SENSORS_LAS_RGBA {COLOR_SENSORS_LAS_RGB,COLOR_SENSORS_LAS_A} -#define COLOR_SENSORS_VIS_RGB 1.0,1.0,0.5 -#define COLOR_SENSORS_VIS_A 0.8 -#define COLOR_SENSORS_VIS_RGBA {COLOR_SENSORS_VIS_RGB,COLOR_SENSORS_VIS_A} +#define COLOR_SENSORS_VIS_RGB 1.0,1.0,0.5 +#define COLOR_SENSORS_VIS_A 0.8 +#define COLOR_SENSORS_VIS_RGBA {COLOR_SENSORS_VIS_RGB,COLOR_SENSORS_VIS_A} -#define COLOR_SENSORS_MAN_RGB 1.0, 0.5, 1.0 -#define COLOR_SENSORS_MAN_A 1.0 -#define COLOR_SENSORS_MAN_RGBA {COLOR_SENSORS_MAN_RGB,COLOR_SENSORS_MAN_A} +#define COLOR_SENSORS_MAN_RGB 1.0, 0.5, 1.0 +#define COLOR_SENSORS_MAN_A 1.0 +#define COLOR_SENSORS_MAN_RGBA {COLOR_SENSORS_MAN_RGB,COLOR_SENSORS_MAN_A} -#define COLOR_SENSORS_ENEMY_RGB 1.0, 0.0, 0.0 -#define COLOR_SENSORS_ENEMY_A 1.0 -#define COLOR_SENSORS_ENEMY_RGBA {COLOR_SENSORS_ENEMY_RGB,COLOR_SENSORS_ENEMY_A} +#define COLOR_SENSORS_ENEMY_RGB 1.0, 0.0, 0.0 +#define COLOR_SENSORS_ENEMY_A 1.0 +#define COLOR_SENSORS_ENEMY_RGBA {COLOR_SENSORS_ENEMY_RGB,COLOR_SENSORS_ENEMY_A} -#define COLOR_SENSORS_FRIENDLY_RGB 0.0, 1.0, 0.0 -#define COLOR_SENSORS_FRIENDLY_A 1.0 -#define COLOR_SENSORS_FRIENDLY_RGBA {COLOR_SENSORS_FRIENDLY_RGB,COLOR_SENSORS_FRIENDLY_A} +#define COLOR_SENSORS_FRIENDLY_RGB 0.0, 1.0, 0.0 +#define COLOR_SENSORS_FRIENDLY_A 1.0 +#define COLOR_SENSORS_FRIENDLY_RGBA {COLOR_SENSORS_FRIENDLY_RGB,COLOR_SENSORS_FRIENDLY_A} -#define COLOR_SENSORS_GROUP_RGB 0.7, 1.0, 0.4 -#define COLOR_SENSORS_GROUP_A 1.0 -#define COLOR_SENSORS_GROUP_RGBA {COLOR_SENSORS_GROUP_RGB,COLOR_SENSORS_GROUP_A} +#define COLOR_SENSORS_GROUP_RGB 0.7, 1.0, 0.4 +#define COLOR_SENSORS_GROUP_A 1.0 +#define COLOR_SENSORS_GROUP_RGBA {COLOR_SENSORS_GROUP_RGB,COLOR_SENSORS_GROUP_A} -#define COLOR_SENSORS_WARNING_RGB 1.0, 1.0, 0.0 -#define COLOR_SENSORS_WARNING_A 1.0 -#define COLOR_SENSORS_WARNING_RGBA {COLOR_SENSORS_WARNING_RGB,COLOR_SENSORS_WARNING_A} +#define COLOR_SENSORS_WARNING_RGB 1.0, 1.0, 0.0 +#define COLOR_SENSORS_WARNING_A 1.0 +#define COLOR_SENSORS_WARNING_RGBA {COLOR_SENSORS_WARNING_RGB,COLOR_SENSORS_WARNING_A} -#define COLOR_SENSORS_THREAT_RGB 1.0, 0.5, 0.0 -#define COLOR_SENSORS_THREAT_A 1.0 -#define COLOR_SENSORS_THREAT_RGBA {COLOR_SENSORS_THREAT_RGB,COLOR_SENSORS_THREAT_A} +#define COLOR_SENSORS_THREAT_RGB 1.0, 0.5, 0.0 +#define COLOR_SENSORS_THREAT_A 1.0 +#define COLOR_SENSORS_THREAT_RGBA {COLOR_SENSORS_THREAT_RGB,COLOR_SENSORS_THREAT_A} -#define COLOR_SENSORS_DEFAULT_RGB 1.0, 1.0, 1.0 -#define COLOR_SENSORS_DEFAULT_A 1.0 -#define COLOR_SENSORS_DEFAULT_RGBA {COLOR_SENSORS_DEFAULT_RGB,COLOR_SENSORS_DEFAULT_A} \ No newline at end of file +#define COLOR_SENSORS_DEFAULT_RGB 1.0, 1.0, 1.0 +#define COLOR_SENSORS_DEFAULT_A 1.0 +#define COLOR_SENSORS_DEFAULT_RGBA {COLOR_SENSORS_DEFAULT_RGB,COLOR_SENSORS_DEFAULT_A} \ No newline at end of file diff --git a/include/a3/ui_f/hpp/defineCommonGrids.inc b/include/a3/ui_f/hpp/defineCommonGrids.inc index 777257255..eb7871d1e 100644 --- a/include/a3/ui_f/hpp/defineCommonGrids.inc +++ b/include/a3/ui_f/hpp/defineCommonGrids.inc @@ -3,79 +3,79 @@ /////////////////////////////////////////////////////////////////////////// //--- Hack to avoid too large display upon first startup (fixed in engine) -//#define GUI_GRID_OLD_WAbs ((safezoneW / ((floor (safezoneW / safezoneH)) max 1)) min 1.2) +//#define GUI_GRID_OLD_WAbs ((safezoneW / ((floor (safezoneW / safezoneH)) max 1)) min 1.2) //--- New grid for new A3 displays -#define GUI_GRID_WAbs ((safezoneW / safezoneH) min 1.2) -#define GUI_GRID_HAbs (GUI_GRID_WAbs / 1.2) -#define GUI_GRID_W (GUI_GRID_WAbs / 40) -#define GUI_GRID_H (GUI_GRID_HAbs / 25) -#define GUI_GRID_X (safezoneX) -#define GUI_GRID_Y (safezoneY + safezoneH - GUI_GRID_HAbs) +#define GUI_GRID_WAbs ((safezoneW / safezoneH) min 1.2) +#define GUI_GRID_HAbs (GUI_GRID_WAbs / 1.2) +#define GUI_GRID_W (GUI_GRID_WAbs / 40) +#define GUI_GRID_H (GUI_GRID_HAbs / 25) +#define GUI_GRID_X (safezoneX) +#define GUI_GRID_Y (safezoneY + safezoneH - GUI_GRID_HAbs) //--- MUF - Test grid used in MP -#define GUI_GRID_MP_WAbs GUI_GRID_WAbs -#define GUI_GRID_MP_HAbs GUI_GRID_HAbs -#define GUI_GRID_MP_W GUI_GRID_W -#define GUI_GRID_MP_H GUI_GRID_H -#define GUI_GRID_MP_X (SafezoneX) -#define GUI_GRID_MP_Y (safezoneY) +#define GUI_GRID_MP_WAbs GUI_GRID_WAbs +#define GUI_GRID_MP_HAbs GUI_GRID_HAbs +#define GUI_GRID_MP_W GUI_GRID_W +#define GUI_GRID_MP_H GUI_GRID_H +#define GUI_GRID_MP_X (SafezoneX) +#define GUI_GRID_MP_Y (safezoneY) //--- Screen Center -#define GUI_GRID_CENTER_WAbs GUI_GRID_WAbs -#define GUI_GRID_CENTER_HAbs GUI_GRID_HAbs -#define GUI_GRID_CENTER_W GUI_GRID_W -#define GUI_GRID_CENTER_H GUI_GRID_H -#define GUI_GRID_CENTER_X (safezoneX + (safezoneW - GUI_GRID_CENTER_WAbs)/2) -#define GUI_GRID_CENTER_Y (safezoneY + (safezoneH - GUI_GRID_CENTER_HAbs)/2) +#define GUI_GRID_CENTER_WAbs GUI_GRID_WAbs +#define GUI_GRID_CENTER_HAbs GUI_GRID_HAbs +#define GUI_GRID_CENTER_W GUI_GRID_W +#define GUI_GRID_CENTER_H GUI_GRID_H +#define GUI_GRID_CENTER_X (safezoneX + (safezoneW - GUI_GRID_CENTER_WAbs)/2) +#define GUI_GRID_CENTER_Y (safezoneY + (safezoneH - GUI_GRID_CENTER_HAbs)/2) //--- Bottom center position (used by Revive UI) -#define GUI_GRID_CENTER_BOTTOM_WAbs GUI_GRID_WAbs -#define GUI_GRID_CENTER_BOTTOM_HAbs GUI_GRID_HAbs -#define GUI_GRID_CENTER_BOTTOM_W GUI_GRID_W -#define GUI_GRID_CENTER_BOTTOM_H GUI_GRID_H -#define GUI_GRID_CENTER_BOTTOM_X (safezoneX + (safezoneW - GUI_GRID_CENTER_WAbs)/2) -#define GUI_GRID_CENTER_BOTTOM_Y (safezoneY + safezoneH - GUI_GRID_CENTER_HAbs) +#define GUI_GRID_CENTER_BOTTOM_WAbs GUI_GRID_WAbs +#define GUI_GRID_CENTER_BOTTOM_HAbs GUI_GRID_HAbs +#define GUI_GRID_CENTER_BOTTOM_W GUI_GRID_W +#define GUI_GRID_CENTER_BOTTOM_H GUI_GRID_H +#define GUI_GRID_CENTER_BOTTOM_X (safezoneX + (safezoneW - GUI_GRID_CENTER_WAbs)/2) +#define GUI_GRID_CENTER_BOTTOM_Y (safezoneY + safezoneH - GUI_GRID_CENTER_HAbs) //--- Screen Top Center -#define GUI_GRID_TOPCENTER_WAbs GUI_GRID_WAbs -#define GUI_GRID_TOPCENTER_HAbs GUI_GRID_HAbs -#define GUI_GRID_TOPCENTER_W GUI_GRID_W -#define GUI_GRID_TOPCENTER_H GUI_GRID_H -#define GUI_GRID_TOPCENTER_X GUI_GRID_CENTER_X -#define GUI_GRID_TOPCENTER_Y safezoneY +#define GUI_GRID_TOPCENTER_WAbs GUI_GRID_WAbs +#define GUI_GRID_TOPCENTER_HAbs GUI_GRID_HAbs +#define GUI_GRID_TOPCENTER_W GUI_GRID_W +#define GUI_GRID_TOPCENTER_H GUI_GRID_H +#define GUI_GRID_TOPCENTER_X GUI_GRID_CENTER_X +#define GUI_GRID_TOPCENTER_Y safezoneY //--- Screen Bottom Center -#define GUI_GRID_BOTTOMCENTER_WAbs GUI_GRID_WAbs -#define GUI_GRID_BOTTOMCENTER_HAbs GUI_GRID_HAbs -#define GUI_GRID_BOTTOMCENTER_W GUI_GRID_W -#define GUI_GRID_BOTTOMCENTER_H GUI_GRID_H -#define GUI_GRID_BOTTOMCENTER_X GUI_GRID_CENTER_X -#define GUI_GRID_BOTTOMCENTER_Y GUI_GRID_Y +#define GUI_GRID_BOTTOMCENTER_WAbs GUI_GRID_WAbs +#define GUI_GRID_BOTTOMCENTER_HAbs GUI_GRID_HAbs +#define GUI_GRID_BOTTOMCENTER_W GUI_GRID_W +#define GUI_GRID_BOTTOMCENTER_H GUI_GRID_H +#define GUI_GRID_BOTTOMCENTER_X GUI_GRID_CENTER_X +#define GUI_GRID_BOTTOMCENTER_Y GUI_GRID_Y //--- 2D Editor - TEST A3 -#define GUI_GRID_EDITOR_WAbs GUI_GRID_CENTER_WAbs -#define GUI_GRID_EDITOR_HAbs GUI_GRID_CENTER_HAbs -#define GUI_GRID_EDITOR_W GUI_GRID_CENTER_W -#define GUI_GRID_EDITOR_H GUI_GRID_CENTER_H -#define GUI_GRID_EDITOR_X (safezoneX) -#define GUI_GRID_EDITOR_Y (safezoneY) +#define GUI_GRID_EDITOR_WAbs GUI_GRID_CENTER_WAbs +#define GUI_GRID_EDITOR_HAbs GUI_GRID_CENTER_HAbs +#define GUI_GRID_EDITOR_W GUI_GRID_CENTER_W +#define GUI_GRID_EDITOR_H GUI_GRID_CENTER_H +#define GUI_GRID_EDITOR_X (safezoneX) +#define GUI_GRID_EDITOR_Y (safezoneY) //--- Diary -#define GUI_GRID_DIARY_WAbs GUI_GRID_WAbs -#define GUI_GRID_DIARY_HAbs GUI_GRID_HAbs -#define GUI_GRID_DIARY_W GUI_GRID_W -#define GUI_GRID_DIARY_H GUI_GRID_H -#define GUI_GRID_DIARY_X (safezoneX) -#define GUI_GRID_DIARY_Y (safezoneY) +#define GUI_GRID_DIARY_WAbs GUI_GRID_WAbs +#define GUI_GRID_DIARY_HAbs GUI_GRID_HAbs +#define GUI_GRID_DIARY_W GUI_GRID_W +#define GUI_GRID_DIARY_H GUI_GRID_H +#define GUI_GRID_DIARY_X (safezoneX) +#define GUI_GRID_DIARY_Y (safezoneY) //--- Top left -#define GUI_GRID_TOPLEFT_WAbs GUI_GRID_WAbs -#define GUI_GRID_TOPLEFT_HAbs GUI_GRID_HAbs -#define GUI_GRID_TOPLEFT_W GUI_GRID_W -#define GUI_GRID_TOPLEFT_H GUI_GRID_H -#define GUI_GRID_TOPLEFT_X (safezoneX) -#define GUI_GRID_TOPLEFT_Y (safezoneY) +#define GUI_GRID_TOPLEFT_WAbs GUI_GRID_WAbs +#define GUI_GRID_TOPLEFT_HAbs GUI_GRID_HAbs +#define GUI_GRID_TOPLEFT_W GUI_GRID_W +#define GUI_GRID_TOPLEFT_H GUI_GRID_H +#define GUI_GRID_TOPLEFT_X (safezoneX) +#define GUI_GRID_TOPLEFT_Y (safezoneY) /////////////////////////////////////////////////////////////////////////// @@ -83,169 +83,169 @@ /////////////////////////////////////////////////////////////////////////// //--- IGUI Vehicle -#define IGUI_GRID_VEHICLE_WAbs (10 * GUI_GRID_W) -#define IGUI_GRID_VEHICLE_HAbs (4.5 * GUI_GRID_H) -#define IGUI_GRID_VEHICLE_XDef (safezoneX + 0.5 * GUI_GRID_W) -#define IGUI_GRID_VEHICLE_YDef (safezoneY + 0.5 * GUI_GRID_H) -#define IGUI_GRID_VEHICLE_X (profilenamespace getvariable ["IGUI_GRID_VEHICLE_X",IGUI_GRID_VEHICLE_XDef]) -#define IGUI_GRID_VEHICLE_Y (profilenamespace getvariable ["IGUI_GRID_VEHICLE_Y",IGUI_GRID_VEHICLE_YDef]) -#define IGUI_GRID_VEHICLE_W GUI_GRID_W -#define IGUI_GRID_VEHICLE_H GUI_GRID_H +#define IGUI_GRID_VEHICLE_WAbs (10 * GUI_GRID_W) +#define IGUI_GRID_VEHICLE_HAbs (4.5 * GUI_GRID_H) +#define IGUI_GRID_VEHICLE_XDef (safezoneX + 0.5 * GUI_GRID_W) +#define IGUI_GRID_VEHICLE_YDef (safezoneY + 0.5 * GUI_GRID_H) +#define IGUI_GRID_VEHICLE_X (profilenamespace getvariable ["IGUI_GRID_VEHICLE_X",IGUI_GRID_VEHICLE_XDef]) +#define IGUI_GRID_VEHICLE_Y (profilenamespace getvariable ["IGUI_GRID_VEHICLE_Y",IGUI_GRID_VEHICLE_YDef]) +#define IGUI_GRID_VEHICLE_W GUI_GRID_W +#define IGUI_GRID_VEHICLE_H GUI_GRID_H //--- IGUI Radar -#define IGUI_GRID_RADAR_WAbs (5.6 * GUI_GRID_W) -#define IGUI_GRID_RADAR_HAbs (5.6 * GUI_GRID_H) -#define IGUI_GRID_RADAR_XDef (safezoneX + safezoneW / 2 - 2.8 * GUI_GRID_W) -#define IGUI_GRID_RADAR_YDef (safezoneY + 0.5 * GUI_GRID_H) -#define IGUI_GRID_RADAR_X (profilenamespace getvariable ["IGUI_GRID_RADAR_X",IGUI_GRID_RADAR_XDef]) -#define IGUI_GRID_RADAR_Y (profilenamespace getvariable ["IGUI_GRID_RADAR_Y",IGUI_GRID_RADAR_YDef]) -#define IGUI_GRID_RADAR_W GUI_GRID_W -#define IGUI_GRID_RADAR_H GUI_GRID_H +#define IGUI_GRID_RADAR_WAbs (5.6 * GUI_GRID_W) +#define IGUI_GRID_RADAR_HAbs (5.6 * GUI_GRID_H) +#define IGUI_GRID_RADAR_XDef (safezoneX + safezoneW / 2 - 2.8 * GUI_GRID_W) +#define IGUI_GRID_RADAR_YDef (safezoneY + 0.5 * GUI_GRID_H) +#define IGUI_GRID_RADAR_X (profilenamespace getvariable ["IGUI_GRID_RADAR_X",IGUI_GRID_RADAR_XDef]) +#define IGUI_GRID_RADAR_Y (profilenamespace getvariable ["IGUI_GRID_RADAR_Y",IGUI_GRID_RADAR_YDef]) +#define IGUI_GRID_RADAR_W GUI_GRID_W +#define IGUI_GRID_RADAR_H GUI_GRID_H //--- IGUI Weapon -#define IGUI_GRID_WEAPON_WAbs (10 * GUI_GRID_W) -#define IGUI_GRID_WEAPON_HAbs (4.5 * GUI_GRID_H) -#define IGUI_GRID_WEAPON_XDef ((safezoneX + safezoneW) - IGUI_GRID_WEAPON_WAbs - 4.3 * GUI_GRID_W) -#define IGUI_GRID_WEAPON_YDef (safezoneY + 0.5 * GUI_GRID_H) -#define IGUI_GRID_WEAPON_X (profilenamespace getvariable ["IGUI_GRID_WEAPON_X",IGUI_GRID_WEAPON_XDef]) -#define IGUI_GRID_WEAPON_Y (profilenamespace getvariable ["IGUI_GRID_WEAPON_Y",IGUI_GRID_WEAPON_YDef]) -#define IGUI_GRID_WEAPON_W GUI_GRID_W -#define IGUI_GRID_WEAPON_H GUI_GRID_H +#define IGUI_GRID_WEAPON_WAbs (10 * GUI_GRID_W) +#define IGUI_GRID_WEAPON_HAbs (4.5 * GUI_GRID_H) +#define IGUI_GRID_WEAPON_XDef ((safezoneX + safezoneW) - IGUI_GRID_WEAPON_WAbs - 4.3 * GUI_GRID_W) +#define IGUI_GRID_WEAPON_YDef (safezoneY + 0.5 * GUI_GRID_H) +#define IGUI_GRID_WEAPON_X (profilenamespace getvariable ["IGUI_GRID_WEAPON_X",IGUI_GRID_WEAPON_XDef]) +#define IGUI_GRID_WEAPON_Y (profilenamespace getvariable ["IGUI_GRID_WEAPON_Y",IGUI_GRID_WEAPON_YDef]) +#define IGUI_GRID_WEAPON_W GUI_GRID_W +#define IGUI_GRID_WEAPON_H GUI_GRID_H //--- IGUI Stance indicator -#define IGUI_GRID_STANCE_WAbs (3.7 * GUI_GRID_W) -#define IGUI_GRID_STANCE_HAbs (3.7 * GUI_GRID_H) -#define IGUI_GRID_STANCE_XDef ((safezoneX + safezoneW) - IGUI_GRID_STANCE_WAbs - 0.5 * GUI_GRID_W) -#define IGUI_GRID_STANCE_YDef (safezoneY + 0.5 * GUI_GRID_H) -#define IGUI_GRID_STANCE_X (profilenamespace getvariable ["IGUI_GRID_STANCE_X",IGUI_GRID_STANCE_XDef]) -#define IGUI_GRID_STANCE_Y (profilenamespace getvariable ["IGUI_GRID_STANCE_Y",IGUI_GRID_STANCE_YDef]) -#define IGUI_GRID_STANCE_W GUI_GRID_W -#define IGUI_GRID_STANCE_H GUI_GRID_H +#define IGUI_GRID_STANCE_WAbs (3.7 * GUI_GRID_W) +#define IGUI_GRID_STANCE_HAbs (3.7 * GUI_GRID_H) +#define IGUI_GRID_STANCE_XDef ((safezoneX + safezoneW) - IGUI_GRID_STANCE_WAbs - 0.5 * GUI_GRID_W) +#define IGUI_GRID_STANCE_YDef (safezoneY + 0.5 * GUI_GRID_H) +#define IGUI_GRID_STANCE_X (profilenamespace getvariable ["IGUI_GRID_STANCE_X",IGUI_GRID_STANCE_XDef]) +#define IGUI_GRID_STANCE_Y (profilenamespace getvariable ["IGUI_GRID_STANCE_Y",IGUI_GRID_STANCE_YDef]) +#define IGUI_GRID_STANCE_W GUI_GRID_W +#define IGUI_GRID_STANCE_H GUI_GRID_H //--- IGUI Stamina Bar -#define IGUI_GRID_STAMINA_WAbs (10 * GUI_GRID_W) -#define IGUI_GRID_STAMINA_HAbs (1 * GUI_GRID_H) -#define IGUI_GRID_STAMINA_XDef IGUI_GRID_WEAPON_XDef -#define IGUI_GRID_STAMINA_YDef (safezoneY + 4.05 * GUI_GRID_H) -#define IGUI_GRID_STAMINA_X (profilenamespace getvariable ["IGUI_GRID_STAMINA_X",IGUI_GRID_STAMINA_XDef]) -#define IGUI_GRID_STAMINA_Y (profilenamespace getvariable ["IGUI_GRID_STAMINA_Y",IGUI_GRID_STAMINA_YDef]) -#define IGUI_GRID_STAMINA_W GUI_GRID_W -#define IGUI_GRID_STAMINA_H GUI_GRID_H +#define IGUI_GRID_STAMINA_WAbs (10 * GUI_GRID_W) +#define IGUI_GRID_STAMINA_HAbs (1 * GUI_GRID_H) +#define IGUI_GRID_STAMINA_XDef IGUI_GRID_WEAPON_XDef +#define IGUI_GRID_STAMINA_YDef (safezoneY + 4.05 * GUI_GRID_H) +#define IGUI_GRID_STAMINA_X (profilenamespace getvariable ["IGUI_GRID_STAMINA_X",IGUI_GRID_STAMINA_XDef]) +#define IGUI_GRID_STAMINA_Y (profilenamespace getvariable ["IGUI_GRID_STAMINA_Y",IGUI_GRID_STAMINA_YDef]) +#define IGUI_GRID_STAMINA_W GUI_GRID_W +#define IGUI_GRID_STAMINA_H GUI_GRID_H //--- IGUI Notification -#define IGUI_GRID_NOTIFICATION_WAbs (12 * GUI_GRID_W) -#define IGUI_GRID_NOTIFICATION_HAbs (6 * GUI_GRID_H) -#define IGUI_GRID_NOTIFICATION_XDef (0.5 - 6 * GUI_GRID_W) -#define IGUI_GRID_NOTIFICATION_YDef (safezoneY + 6.5 * GUI_GRID_H) -#define IGUI_GRID_NOTIFICATION_X (profilenamespace getvariable ["IGUI_GRID_NOTIFICATION_X",IGUI_GRID_NOTIFICATION_XDef]) -#define IGUI_GRID_NOTIFICATION_Y (profilenamespace getvariable ["IGUI_GRID_NOTIFICATION_Y",IGUI_GRID_NOTIFICATION_YDef]) -#define IGUI_GRID_NOTIFICATION_W GUI_GRID_W -#define IGUI_GRID_NOTIFICATION_H GUI_GRID_H +#define IGUI_GRID_NOTIFICATION_WAbs (12 * GUI_GRID_W) +#define IGUI_GRID_NOTIFICATION_HAbs (6 * GUI_GRID_H) +#define IGUI_GRID_NOTIFICATION_XDef (0.5 - 6 * GUI_GRID_W) +#define IGUI_GRID_NOTIFICATION_YDef (safezoneY + 6.5 * GUI_GRID_H) +#define IGUI_GRID_NOTIFICATION_X (profilenamespace getvariable ["IGUI_GRID_NOTIFICATION_X",IGUI_GRID_NOTIFICATION_XDef]) +#define IGUI_GRID_NOTIFICATION_Y (profilenamespace getvariable ["IGUI_GRID_NOTIFICATION_Y",IGUI_GRID_NOTIFICATION_YDef]) +#define IGUI_GRID_NOTIFICATION_W GUI_GRID_W +#define IGUI_GRID_NOTIFICATION_H GUI_GRID_H //--- IGUI Action / Command Menu -#define IGUI_GRID_MENU_WAbs (4.5 * GUI_GRID_W) -#define IGUI_GRID_MENU_HAbs (13.5 * IGUI_TEXT_SIZE_MEDIUM) -#define IGUI_GRID_MENU_XDef (1.5 * GUI_GRID_W + safezoneX) -#define IGUI_GRID_MENU_YDef (5 * GUI_GRID_H + safezoneY) -#define IGUI_GRID_MENU_X (profilenamespace getvariable ["IGUI_GRID_MENU_X",IGUI_GRID_MENU_XDef]) -#define IGUI_GRID_MENU_Y (profilenamespace getvariable ["IGUI_GRID_MENU_Y",IGUI_GRID_MENU_YDef]) -#define IGUI_GRID_MENU_W GUI_GRID_W -#define IGUI_GRID_MENU_H GUI_GRID_H +#define IGUI_GRID_MENU_WAbs (4.5 * GUI_GRID_W) +#define IGUI_GRID_MENU_HAbs (13.5 * IGUI_TEXT_SIZE_MEDIUM) +#define IGUI_GRID_MENU_XDef (1.5 * GUI_GRID_W + safezoneX) +#define IGUI_GRID_MENU_YDef (5 * GUI_GRID_H + safezoneY) +#define IGUI_GRID_MENU_X (profilenamespace getvariable ["IGUI_GRID_MENU_X",IGUI_GRID_MENU_XDef]) +#define IGUI_GRID_MENU_Y (profilenamespace getvariable ["IGUI_GRID_MENU_Y",IGUI_GRID_MENU_YDef]) +#define IGUI_GRID_MENU_W GUI_GRID_W +#define IGUI_GRID_MENU_H GUI_GRID_H //--- IGUI Communication menu icons -#define IGUI_GRID_COMM_WAbs (1.5 * GUI_GRID_W) -#define IGUI_GRID_COMM_HAbs (15 * GUI_GRID_H) -#define IGUI_GRID_COMM_XDef (0 * GUI_GRID_W + safezoneX) -#define IGUI_GRID_COMM_YDef (5 * GUI_GRID_H + safezoneY) -#define IGUI_GRID_COMM_X (profilenamespace getvariable ["IGUI_GRID_COMM_X",IGUI_GRID_COMM_XDef]) -#define IGUI_GRID_COMM_Y (profilenamespace getvariable ["IGUI_GRID_COMM_Y",IGUI_GRID_COMM_YDef]) -#define IGUI_GRID_COMM_W GUI_GRID_W -#define IGUI_GRID_COMM_H GUI_GRID_H +#define IGUI_GRID_COMM_WAbs (1.5 * GUI_GRID_W) +#define IGUI_GRID_COMM_HAbs (15 * GUI_GRID_H) +#define IGUI_GRID_COMM_XDef (0 * GUI_GRID_W + safezoneX) +#define IGUI_GRID_COMM_YDef (5 * GUI_GRID_H + safezoneY) +#define IGUI_GRID_COMM_X (profilenamespace getvariable ["IGUI_GRID_COMM_X",IGUI_GRID_COMM_XDef]) +#define IGUI_GRID_COMM_Y (profilenamespace getvariable ["IGUI_GRID_COMM_Y",IGUI_GRID_COMM_YDef]) +#define IGUI_GRID_COMM_W GUI_GRID_W +#define IGUI_GRID_COMM_H GUI_GRID_H //--- IGUI Hint -#define IGUI_GRID_HINT_WAbs (12 * GUI_GRID_W) -#define IGUI_GRID_HINT_HAbs (8 * GUI_GRID_H) -#define IGUI_GRID_HINT_XDef ((safezoneX + safezoneW) - IGUI_GRID_HINT_WAbs - 1 * GUI_GRID_W) -#define IGUI_GRID_HINT_YDef (safezoneY + 6 * GUI_GRID_H) -#define IGUI_GRID_HINT_X (profilenamespace getvariable ["IGUI_GRID_HINT_X",IGUI_GRID_HINT_XDef]) -#define IGUI_GRID_HINT_Y (profilenamespace getvariable ["IGUI_GRID_HINT_Y",IGUI_GRID_HINT_YDef]) -#define IGUI_GRID_HINT_W GUI_GRID_W -#define IGUI_GRID_HINT_H GUI_GRID_H +#define IGUI_GRID_HINT_WAbs (12 * GUI_GRID_W) +#define IGUI_GRID_HINT_HAbs (8 * GUI_GRID_H) +#define IGUI_GRID_HINT_XDef ((safezoneX + safezoneW) - IGUI_GRID_HINT_WAbs - 1 * GUI_GRID_W) +#define IGUI_GRID_HINT_YDef (safezoneY + 6 * GUI_GRID_H) +#define IGUI_GRID_HINT_X (profilenamespace getvariable ["IGUI_GRID_HINT_X",IGUI_GRID_HINT_XDef]) +#define IGUI_GRID_HINT_Y (profilenamespace getvariable ["IGUI_GRID_HINT_Y",IGUI_GRID_HINT_YDef]) +#define IGUI_GRID_HINT_W GUI_GRID_W +#define IGUI_GRID_HINT_H GUI_GRID_H //--- IGUI GPS -#define IGUI_GRID_GPS_XDef (safezoneX + safezoneW - 11 * GUI_GRID_W) -#define IGUI_GRID_GPS_YDef (safezoneY + safezoneH - 20.5 * GUI_GRID_H) -#define IGUI_GRID_GPS_WDef (10 * GUI_GRID_W) -#define IGUI_GRID_GPS_HDef (10 * GUI_GRID_H) -#define IGUI_GRID_GPS_X (profilenamespace getvariable ['IGUI_GRID_GPS_X',IGUI_GRID_GPS_XDef]) -#define IGUI_GRID_GPS_Y (profilenamespace getvariable ['IGUI_GRID_GPS_Y',IGUI_GRID_GPS_YDef]) -#define IGUI_GRID_GPS_WAbs (profilenamespace getvariable ['IGUI_GRID_GPS_W',IGUI_GRID_GPS_WDef]) -#define IGUI_GRID_GPS_HAbs (profilenamespace getvariable ['IGUI_GRID_GPS_H',IGUI_GRID_GPS_HDef]) +#define IGUI_GRID_GPS_XDef (safezoneX + safezoneW - 11 * GUI_GRID_W) +#define IGUI_GRID_GPS_YDef (safezoneY + safezoneH - 20.5 * GUI_GRID_H) +#define IGUI_GRID_GPS_WDef (10 * GUI_GRID_W) +#define IGUI_GRID_GPS_HDef (10 * GUI_GRID_H) +#define IGUI_GRID_GPS_X (profilenamespace getvariable ['IGUI_GRID_GPS_X',IGUI_GRID_GPS_XDef]) +#define IGUI_GRID_GPS_Y (profilenamespace getvariable ['IGUI_GRID_GPS_Y',IGUI_GRID_GPS_YDef]) +#define IGUI_GRID_GPS_WAbs (profilenamespace getvariable ['IGUI_GRID_GPS_W',IGUI_GRID_GPS_WDef]) +#define IGUI_GRID_GPS_HAbs (profilenamespace getvariable ['IGUI_GRID_GPS_H',IGUI_GRID_GPS_HDef]) //--- IGUI AV Camera -#define IGUI_GRID_AVCAMERA_XDef (safezoneX + safezoneW - 11.6 * GUI_GRID_W) -#define IGUI_GRID_AVCAMERA_YDef (safezoneY + safezoneH - 17.2 * GUI_GRID_H) -#define IGUI_GRID_AVCAMERA_WDef (10.6 * GUI_GRID_W) -#define IGUI_GRID_AVCAMERA_HDef (6.7 * GUI_GRID_H) -#define IGUI_GRID_AVCAMERA_X (profilenamespace getvariable ['IGUI_GRID_AVCAMERA_X',IGUI_GRID_AVCAMERA_XDef]) -#define IGUI_GRID_AVCAMERA_Y (profilenamespace getvariable ['IGUI_GRID_AVCAMERA_Y',IGUI_GRID_AVCAMERA_YDef]) -#define IGUI_GRID_AVCAMERA_WAbs (profilenamespace getvariable ['IGUI_GRID_AVCAMERA_W',IGUI_GRID_AVCAMERA_WDef]) -#define IGUI_GRID_AVCAMERA_HAbs (profilenamespace getvariable ['IGUI_GRID_AVCAMERA_H',IGUI_GRID_AVCAMERA_HDef]) +#define IGUI_GRID_AVCAMERA_XDef (safezoneX + safezoneW - 11.6 * GUI_GRID_W) +#define IGUI_GRID_AVCAMERA_YDef (safezoneY + safezoneH - 17.2 * GUI_GRID_H) +#define IGUI_GRID_AVCAMERA_WDef (10.6 * GUI_GRID_W) +#define IGUI_GRID_AVCAMERA_HDef (6.7 * GUI_GRID_H) +#define IGUI_GRID_AVCAMERA_X (profilenamespace getvariable ['IGUI_GRID_AVCAMERA_X',IGUI_GRID_AVCAMERA_XDef]) +#define IGUI_GRID_AVCAMERA_Y (profilenamespace getvariable ['IGUI_GRID_AVCAMERA_Y',IGUI_GRID_AVCAMERA_YDef]) +#define IGUI_GRID_AVCAMERA_WAbs (profilenamespace getvariable ['IGUI_GRID_AVCAMERA_W',IGUI_GRID_AVCAMERA_WDef]) +#define IGUI_GRID_AVCAMERA_HAbs (profilenamespace getvariable ['IGUI_GRID_AVCAMERA_H',IGUI_GRID_AVCAMERA_HDef]) //--- IGUI IGUI Chat Log -#define IGUI_GRID_CHAT_XDef (safezoneX + 1 * GUI_GRID_W) -#define IGUI_GRID_CHAT_YDef (safezoneY + safezoneH - 10.5 * GUI_GRID_H) -#define IGUI_GRID_CHAT_WDef (20 * GUI_GRID_W) -#define IGUI_GRID_CHAT_HDef (5 * GUI_GRID_H) -#define IGUI_GRID_CHAT_X (profilenamespace getvariable ["IGUI_GRID_CHAT_X",IGUI_GRID_CHAT_XDef]) -#define IGUI_GRID_CHAT_Y (profilenamespace getvariable ["IGUI_GRID_CHAT_Y",IGUI_GRID_CHAT_YDef]) -#define IGUI_GRID_CHAT_WAbs (profilenamespace getvariable ["IGUI_GRID_CHAT_W",IGUI_GRID_CHAT_WDef]) -#define IGUI_GRID_CHAT_HAbs (profilenamespace getvariable ["IGUI_GRID_CHAT_H",IGUI_GRID_CHAT_HDef]) +#define IGUI_GRID_CHAT_XDef (safezoneX + 1 * GUI_GRID_W) +#define IGUI_GRID_CHAT_YDef (safezoneY + safezoneH - 10.5 * GUI_GRID_H) +#define IGUI_GRID_CHAT_WDef (20 * GUI_GRID_W) +#define IGUI_GRID_CHAT_HDef (5 * GUI_GRID_H) +#define IGUI_GRID_CHAT_X (profilenamespace getvariable ["IGUI_GRID_CHAT_X",IGUI_GRID_CHAT_XDef]) +#define IGUI_GRID_CHAT_Y (profilenamespace getvariable ["IGUI_GRID_CHAT_Y",IGUI_GRID_CHAT_YDef]) +#define IGUI_GRID_CHAT_WAbs (profilenamespace getvariable ["IGUI_GRID_CHAT_W",IGUI_GRID_CHAT_WDef]) +#define IGUI_GRID_CHAT_HAbs (profilenamespace getvariable ["IGUI_GRID_CHAT_H",IGUI_GRID_CHAT_HDef]) //--- IGUI Command Bar -#define IGUI_GRID_BAR_WAbs (36 * GUI_GRID_W) -#define IGUI_GRID_BAR_HAbs (4 * GUI_GRID_H) -#define IGUI_GRID_BAR_XDef (safezoneX + 1 * GUI_GRID_W) -#define IGUI_GRID_BAR_YDef (safezoneY + safezoneH - 4.5 * GUI_GRID_H) -#define IGUI_GRID_BAR_X (profilenamespace getvariable ["IGUI_GRID_BAR_X",IGUI_GRID_BAR_XDef]) -#define IGUI_GRID_BAR_Y (profilenamespace getvariable ["IGUI_GRID_BAR_Y",IGUI_GRID_BAR_YDef]) -#define IGUI_GRID_BAR_W GUI_GRID_W -#define IGUI_GRID_BAR_H GUI_GRID_H +#define IGUI_GRID_BAR_WAbs (36 * GUI_GRID_W) +#define IGUI_GRID_BAR_HAbs (4 * GUI_GRID_H) +#define IGUI_GRID_BAR_XDef (safezoneX + 1 * GUI_GRID_W) +#define IGUI_GRID_BAR_YDef (safezoneY + safezoneH - 4.5 * GUI_GRID_H) +#define IGUI_GRID_BAR_X (profilenamespace getvariable ["IGUI_GRID_BAR_X",IGUI_GRID_BAR_XDef]) +#define IGUI_GRID_BAR_Y (profilenamespace getvariable ["IGUI_GRID_BAR_Y",IGUI_GRID_BAR_YDef]) +#define IGUI_GRID_BAR_W GUI_GRID_W +#define IGUI_GRID_BAR_H GUI_GRID_H //--- IGUI MP Progress -#define IGUI_GRID_MP_WAbs (2.5 * GUI_GRID_W) -#define IGUI_GRID_MP_HAbs (15 * GUI_GRID_H) -#define IGUI_GRID_MP_XDef (safezoneX + safezoneW - 2 * GUI_GRID_W) -#define IGUI_GRID_MP_YDef (5 * GUI_GRID_H + safezoneY) -#define IGUI_GRID_MP_X (profilenamespace getvariable ["IGUI_GRID_MP_X",IGUI_GRID_MP_XDef]) -#define IGUI_GRID_MP_Y (profilenamespace getvariable ["IGUI_GRID_MP_Y",IGUI_GRID_MP_YDef]) -#define IGUI_GRID_MP_W GUI_GRID_W -#define IGUI_GRID_MP_H GUI_GRID_H +#define IGUI_GRID_MP_WAbs (2.5 * GUI_GRID_W) +#define IGUI_GRID_MP_HAbs (15 * GUI_GRID_H) +#define IGUI_GRID_MP_XDef (safezoneX + safezoneW - 2 * GUI_GRID_W) +#define IGUI_GRID_MP_YDef (5 * GUI_GRID_H + safezoneY) +#define IGUI_GRID_MP_X (profilenamespace getvariable ["IGUI_GRID_MP_X",IGUI_GRID_MP_XDef]) +#define IGUI_GRID_MP_Y (profilenamespace getvariable ["IGUI_GRID_MP_Y",IGUI_GRID_MP_YDef]) +#define IGUI_GRID_MP_W GUI_GRID_W +#define IGUI_GRID_MP_H GUI_GRID_H //--- IGUI Custom Mission Display -#define IGUI_GRID_MISSION_WAbs (20 * GUI_GRID_W) -#define IGUI_GRID_MISSION_HAbs (5 * GUI_GRID_H) -#define IGUI_GRID_MISSION_XDef (safezoneX + safezoneW - 21 * GUI_GRID_W) -#define IGUI_GRID_MISSION_YDef (safezoneY + safezoneH - 10.5 * GUI_GRID_H) -#define IGUI_GRID_MISSION_X (profilenamespace getvariable ["IGUI_GRID_MISSION_X",IGUI_GRID_MISSION_XDef]) -#define IGUI_GRID_MISSION_Y (profilenamespace getvariable ["IGUI_GRID_MISSION_Y",IGUI_GRID_MISSION_YDef]) -#define IGUI_GRID_MISSION_W GUI_GRID_W -#define IGUI_GRID_MISSION_H GUI_GRID_H +#define IGUI_GRID_MISSION_WAbs (20 * GUI_GRID_W) +#define IGUI_GRID_MISSION_HAbs (5 * GUI_GRID_H) +#define IGUI_GRID_MISSION_XDef (safezoneX + safezoneW - 21 * GUI_GRID_W) +#define IGUI_GRID_MISSION_YDef (safezoneY + safezoneH - 10.5 * GUI_GRID_H) +#define IGUI_GRID_MISSION_X (profilenamespace getvariable ["IGUI_GRID_MISSION_X",IGUI_GRID_MISSION_XDef]) +#define IGUI_GRID_MISSION_Y (profilenamespace getvariable ["IGUI_GRID_MISSION_Y",IGUI_GRID_MISSION_YDef]) +#define IGUI_GRID_MISSION_W GUI_GRID_W +#define IGUI_GRID_MISSION_H GUI_GRID_H //--- IGUI Custom Info -#define IGUI_GRID_CUSTOMINFO_WDef (10 * GUI_GRID_W) -#define IGUI_GRID_CUSTOMINFO_HDef (10 * GUI_GRID_H) -#define IGUI_GRID_CUSTOMINFOLEFT_XDef (safezoneX + 0.5 * GUI_GRID_W) -#define IGUI_GRID_CUSTOMINFOLEFT_YDef (safezoneY + safezoneH - 21 * GUI_GRID_H) -#define IGUI_GRID_CUSTOMINFORIGHT_XDef ((safezoneX + safezoneW) - (IGUI_GRID_CUSTOMINFO_WDef + 0.5 * GUI_GRID_W)) -#define IGUI_GRID_CUSTOMINFORIGHT_YDef (safezoneY + safezoneH - 21 * GUI_GRID_H) - -#define IGUI_GRID_CUSTOMINFOLEFT_X (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFOLEFT_X",IGUI_GRID_CUSTOMINFOLEFT_XDef]) -#define IGUI_GRID_CUSTOMINFOLEFT_Y (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFOLEFT_Y",IGUI_GRID_CUSTOMINFOLEFT_YDef]) -#define IGUI_GRID_CUSTOMINFORIGHT_X (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFORIGHT_X",IGUI_GRID_CUSTOMINFORIGHT_XDef]) -#define IGUI_GRID_CUSTOMINFORIGHT_Y (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFORIGHT_Y",IGUI_GRID_CUSTOMINFORIGHT_YDef]) -#define IGUI_GRID_CUSTOMINFO_WAbs (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFORIGHT_W",IGUI_GRID_CUSTOMINFO_WDef]) -#define IGUI_GRID_CUSTOMINFO_HAbs (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFORIGHT_H",IGUI_GRID_CUSTOMINFO_HDef]) +#define IGUI_GRID_CUSTOMINFO_WDef (10 * GUI_GRID_W) +#define IGUI_GRID_CUSTOMINFO_HDef (10 * GUI_GRID_H) +#define IGUI_GRID_CUSTOMINFOLEFT_XDef (safezoneX + 0.5 * GUI_GRID_W) +#define IGUI_GRID_CUSTOMINFOLEFT_YDef (safezoneY + safezoneH - 21 * GUI_GRID_H) +#define IGUI_GRID_CUSTOMINFORIGHT_XDef ((safezoneX + safezoneW) - (IGUI_GRID_CUSTOMINFO_WDef + 0.5 * GUI_GRID_W)) +#define IGUI_GRID_CUSTOMINFORIGHT_YDef (safezoneY + safezoneH - 21 * GUI_GRID_H) + +#define IGUI_GRID_CUSTOMINFOLEFT_X (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFOLEFT_X",IGUI_GRID_CUSTOMINFOLEFT_XDef]) +#define IGUI_GRID_CUSTOMINFOLEFT_Y (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFOLEFT_Y",IGUI_GRID_CUSTOMINFOLEFT_YDef]) +#define IGUI_GRID_CUSTOMINFORIGHT_X (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFORIGHT_X",IGUI_GRID_CUSTOMINFORIGHT_XDef]) +#define IGUI_GRID_CUSTOMINFORIGHT_Y (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFORIGHT_Y",IGUI_GRID_CUSTOMINFORIGHT_YDef]) +#define IGUI_GRID_CUSTOMINFO_WAbs (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFORIGHT_W",IGUI_GRID_CUSTOMINFO_WDef]) +#define IGUI_GRID_CUSTOMINFO_HAbs (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFORIGHT_H",IGUI_GRID_CUSTOMINFO_HDef]) #define IGUI_GRID_CUSTOMINFO_INNER_WAbs IGUI_GRID_CUSTOMINFO_WAbs - 0.25 * GUI_GRID_W #define IGUI_GRID_CUSTOMINFO_INNER_HAbs IGUI_GRID_CUSTOMINFO_HAbs - 1.25 * GUI_GRID_H @@ -255,210 +255,210 @@ /////////////////////////////////////////////////////////////////////////// //--- Old grid, that is used for old A3 and TKOH displays -#define GUI_GRID_OLD_WAbs ((safezoneW / safezoneH) min 1.2) -#define GUI_GRID_OLD_HAbs (GUI_GRID_OLD_WAbs / 1.2) -#define GUI_GRID_OLD_W (GUI_GRID_OLD_WAbs / 32) -#define GUI_GRID_OLD_H (GUI_GRID_OLD_HAbs / 20) -#define GUI_GRID_OLD_X (safezoneX) -#define GUI_GRID_OLD_Y (safezoneY + safezoneH - GUI_GRID_OLD_HAbs) +#define GUI_GRID_OLD_WAbs ((safezoneW / safezoneH) min 1.2) +#define GUI_GRID_OLD_HAbs (GUI_GRID_OLD_WAbs / 1.2) +#define GUI_GRID_OLD_W (GUI_GRID_OLD_WAbs / 32) +#define GUI_GRID_OLD_H (GUI_GRID_OLD_HAbs / 20) +#define GUI_GRID_OLD_X (safezoneX) +#define GUI_GRID_OLD_Y (safezoneY + safezoneH - GUI_GRID_OLD_HAbs) //--- Centered -//#define GUI_GRID_OLD_X (safezoneX + (safezoneW - GUI_GRID_OLD_CENTER_WAbs)/2) +//#define GUI_GRID_OLD_X (safezoneX + (safezoneW - GUI_GRID_OLD_CENTER_WAbs)/2) //--- Dark magic -//#define GUI_GRID_OLD_X (profilenamespace getvariable ['GUI_GRID_OLD_X',(safezoneX + (safezoneW - GUI_GRID_OLD_CENTER_WAbs)/2)]) -//#define GUI_GRID_OLD_Y (profilenamespace getvariable ['GUI_GRID_OLD_Y',(safezoneY + safezoneH - GUI_GRID_OLD_HAbs)]) +//#define GUI_GRID_OLD_X (profilenamespace getvariable ['GUI_GRID_OLD_X',(safezoneX + (safezoneW - GUI_GRID_OLD_CENTER_WAbs)/2)]) +//#define GUI_GRID_OLD_Y (profilenamespace getvariable ['GUI_GRID_OLD_Y',(safezoneY + safezoneH - GUI_GRID_OLD_HAbs)]) //MUF-TEST: Anchor near the right edge of the screen - when changing Interface size, this point doesn't change its X position -#define GUI_ANCHOR_RIGHT (0.983 * safezoneW + safezoneX) -#define GUI_ANCHOR_LEFT 0 +#define GUI_ANCHOR_RIGHT (0.983 * safezoneW + safezoneX) +#define GUI_ANCHOR_LEFT 0 //--- Screen Center -#define GUI_GRID_OLD_CENTER_WAbs GUI_GRID_OLD_WAbs -#define GUI_GRID_OLD_CENTER_HAbs GUI_GRID_OLD_HAbs -#define GUI_GRID_OLD_CENTER_W GUI_GRID_OLD_W -#define GUI_GRID_OLD_CENTER_H GUI_GRID_OLD_H -#define GUI_GRID_OLD_CENTER_X (safezoneX + (safezoneW - GUI_GRID_OLD_CENTER_WAbs)/2) -#define GUI_GRID_OLD_CENTER_Y (safezoneY + (safezoneH - GUI_GRID_OLD_CENTER_HAbs)/2) +#define GUI_GRID_OLD_CENTER_WAbs GUI_GRID_OLD_WAbs +#define GUI_GRID_OLD_CENTER_HAbs GUI_GRID_OLD_HAbs +#define GUI_GRID_OLD_CENTER_W GUI_GRID_OLD_W +#define GUI_GRID_OLD_CENTER_H GUI_GRID_OLD_H +#define GUI_GRID_OLD_CENTER_X (safezoneX + (safezoneW - GUI_GRID_OLD_CENTER_WAbs)/2) +#define GUI_GRID_OLD_CENTER_Y (safezoneY + (safezoneH - GUI_GRID_OLD_CENTER_HAbs)/2) //--- 2D Editor -#define GUI_GRID_OLD_EDITOR_WAbs GUI_GRID_OLD_CENTER_WAbs -#define GUI_GRID_OLD_EDITOR_HAbs GUI_GRID_OLD_CENTER_HAbs -#define GUI_GRID_OLD_EDITOR_W GUI_GRID_OLD_CENTER_W -#define GUI_GRID_OLD_EDITOR_H GUI_GRID_OLD_CENTER_H -#define GUI_GRID_OLD_EDITOR_X GUI_GRID_OLD_CENTER_X -#define GUI_GRID_OLD_EDITOR_Y (safezoneY) +#define GUI_GRID_OLD_EDITOR_WAbs GUI_GRID_OLD_CENTER_WAbs +#define GUI_GRID_OLD_EDITOR_HAbs GUI_GRID_OLD_CENTER_HAbs +#define GUI_GRID_OLD_EDITOR_W GUI_GRID_OLD_CENTER_W +#define GUI_GRID_OLD_EDITOR_H GUI_GRID_OLD_CENTER_H +#define GUI_GRID_OLD_EDITOR_X GUI_GRID_OLD_CENTER_X +#define GUI_GRID_OLD_EDITOR_Y (safezoneY) //--- Debug console (center down) -#define GUI_GRID_OLD_DEBUG_WAbs GUI_GRID_OLD_WAbs -#define GUI_GRID_OLD_DEBUG_HAbs GUI_GRID_OLD_HAbs -#define GUI_GRID_OLD_DEBUG_W GUI_GRID_OLD_W -#define GUI_GRID_OLD_DEBUG_H GUI_GRID_OLD_H -#define GUI_GRID_OLD_DEBUG_X (safezoneX + (safezoneW - GUI_GRID_OLD_DEBUG_WAbs)/2) -#define GUI_GRID_OLD_DEBUG_Y (safezoneY + safezoneH - GUI_GRID_OLD_DEBUG_HAbs) +#define GUI_GRID_OLD_DEBUG_WAbs GUI_GRID_OLD_WAbs +#define GUI_GRID_OLD_DEBUG_HAbs GUI_GRID_OLD_HAbs +#define GUI_GRID_OLD_DEBUG_W GUI_GRID_OLD_W +#define GUI_GRID_OLD_DEBUG_H GUI_GRID_OLD_H +#define GUI_GRID_OLD_DEBUG_X (safezoneX + (safezoneW - GUI_GRID_OLD_DEBUG_WAbs)/2) +#define GUI_GRID_OLD_DEBUG_Y (safezoneY + safezoneH - GUI_GRID_OLD_DEBUG_HAbs) //--- IGUI Common -#define IGUI_GRID_OLD_WAbs GUI_GRID_OLD_WAbs -#define IGUI_GRID_OLD_HAbs GUI_GRID_OLD_HAbs -#define IGUI_GRID_OLD_W GUI_GRID_OLD_W -#define IGUI_GRID_OLD_H GUI_GRID_OLD_H -#define IGUI_GRID_OLD_X (safezoneX + (safezoneW - IGUI_GRID_OLD_WAbs) / 2) -#define IGUI_GRID_OLD_Y (safezoneY + safezoneH - IGUI_GRID_OLD_HAbs) +#define IGUI_GRID_OLD_WAbs GUI_GRID_OLD_WAbs +#define IGUI_GRID_OLD_HAbs GUI_GRID_OLD_HAbs +#define IGUI_GRID_OLD_W GUI_GRID_OLD_W +#define IGUI_GRID_OLD_H GUI_GRID_OLD_H +#define IGUI_GRID_OLD_X (safezoneX + (safezoneW - IGUI_GRID_OLD_WAbs) / 2) +#define IGUI_GRID_OLD_Y (safezoneY + safezoneH - IGUI_GRID_OLD_HAbs) //--- IGUI Bottom -#define IGUI_GRID_OLD_BOTTOM_WAbs IGUI_GRID_OLD_WAbs -#define IGUI_GRID_OLD_BOTTOM_HAbs IGUI_GRID_OLD_HAbs -#define IGUI_GRID_OLD_BOTTOM_W IGUI_GRID_OLD_W -#define IGUI_GRID_OLD_BOTTOM_H IGUI_GRID_OLD_H -#define IGUI_GRID_OLD_BOTTOM_X (safezoneX + (safezoneW - IGUI_GRID_OLD_BOTTOM_WAbs) / 2) -#define IGUI_GRID_OLD_BOTTOM_Y (safezoneY + safezoneH - IGUI_GRID_OLD_BOTTOM_HAbs) +#define IGUI_GRID_OLD_BOTTOM_WAbs IGUI_GRID_OLD_WAbs +#define IGUI_GRID_OLD_BOTTOM_HAbs IGUI_GRID_OLD_HAbs +#define IGUI_GRID_OLD_BOTTOM_W IGUI_GRID_OLD_W +#define IGUI_GRID_OLD_BOTTOM_H IGUI_GRID_OLD_H +#define IGUI_GRID_OLD_BOTTOM_X (safezoneX + (safezoneW - IGUI_GRID_OLD_BOTTOM_WAbs) / 2) +#define IGUI_GRID_OLD_BOTTOM_Y (safezoneY + safezoneH - IGUI_GRID_OLD_BOTTOM_HAbs) //--- IGUI Analogue Gauges ----------------------------------------------------------------------------------------------------- //--- Analogue gauge - Speed -#define IGUI_GRID_GAUGESPEED_XDef (safezoneX + (safezoneW / 2) - 19.75 * GUI_GRID_W) -#define IGUI_GRID_GAUGESPEED_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) -#define IGUI_GRID_GAUGESPEED_X (profilenamespace getvariable ['IGUI_GRID_GAUGESPEED_X',IGUI_GRID_GAUGESPEED_XDef]) -#define IGUI_GRID_GAUGESPEED_Y (profilenamespace getvariable ['IGUI_GRID_GAUGESPEED_Y',IGUI_GRID_GAUGESPEED_YDef]) -#define IGUI_GRID_GAUGESPEED_WAbs (7.5 * GUI_GRID_W) -#define IGUI_GRID_GAUGESPEED_HAbs (7.5 * GUI_GRID_H) +#define IGUI_GRID_GAUGESPEED_XDef (safezoneX + (safezoneW / 2) - 19.75 * GUI_GRID_W) +#define IGUI_GRID_GAUGESPEED_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) +#define IGUI_GRID_GAUGESPEED_X (profilenamespace getvariable ['IGUI_GRID_GAUGESPEED_X',IGUI_GRID_GAUGESPEED_XDef]) +#define IGUI_GRID_GAUGESPEED_Y (profilenamespace getvariable ['IGUI_GRID_GAUGESPEED_Y',IGUI_GRID_GAUGESPEED_YDef]) +#define IGUI_GRID_GAUGESPEED_WAbs (7.5 * GUI_GRID_W) +#define IGUI_GRID_GAUGESPEED_HAbs (7.5 * GUI_GRID_H) //--- Analogue gauge - Alt -#define IGUI_GRID_GAUGEALT_XDef (safezoneX + (safezoneW / 2) - 11.75 * GUI_GRID_W) -#define IGUI_GRID_GAUGEALT_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) -#define IGUI_GRID_GAUGEALT_X (profilenamespace getvariable ['IGUI_GRID_GAUGEALT_X',IGUI_GRID_GAUGEALT_XDef]) -#define IGUI_GRID_GAUGEALT_Y (profilenamespace getvariable ['IGUI_GRID_GAUGEALT_Y',IGUI_GRID_GAUGEALT_YDef]) -#define IGUI_GRID_GAUGEALT_WAbs (7.5 * GUI_GRID_W) -#define IGUI_GRID_GAUGEALT_HAbs (7.5 * GUI_GRID_H) +#define IGUI_GRID_GAUGEALT_XDef (safezoneX + (safezoneW / 2) - 11.75 * GUI_GRID_W) +#define IGUI_GRID_GAUGEALT_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) +#define IGUI_GRID_GAUGEALT_X (profilenamespace getvariable ['IGUI_GRID_GAUGEALT_X',IGUI_GRID_GAUGEALT_XDef]) +#define IGUI_GRID_GAUGEALT_Y (profilenamespace getvariable ['IGUI_GRID_GAUGEALT_Y',IGUI_GRID_GAUGEALT_YDef]) +#define IGUI_GRID_GAUGEALT_WAbs (7.5 * GUI_GRID_W) +#define IGUI_GRID_GAUGEALT_HAbs (7.5 * GUI_GRID_H) //--- Analogue gauge - Horizon -#define IGUI_GRID_GAUGEHORIZON_XDef (safezoneX + ((safezoneW - 7.5 * GUI_GRID_W) / 2)) -#define IGUI_GRID_GAUGEHORIZON_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) -#define IGUI_GRID_GAUGEHORIZON_X (profilenamespace getvariable ['IGUI_GRID_GAUGEHORIZON_X',IGUI_GRID_GAUGEHORIZON_XDef]) -#define IGUI_GRID_GAUGEHORIZON_Y (profilenamespace getvariable ['IGUI_GRID_GAUGEHORIZON_Y',IGUI_GRID_GAUGEHORIZON_YDef]) -#define IGUI_GRID_GAUGEHORIZON_WAbs (7.5 * GUI_GRID_W) -#define IGUI_GRID_GAUGEHORIZON_HAbs (7.5 * GUI_GRID_H) +#define IGUI_GRID_GAUGEHORIZON_XDef (safezoneX + ((safezoneW - 7.5 * GUI_GRID_W) / 2)) +#define IGUI_GRID_GAUGEHORIZON_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) +#define IGUI_GRID_GAUGEHORIZON_X (profilenamespace getvariable ['IGUI_GRID_GAUGEHORIZON_X',IGUI_GRID_GAUGEHORIZON_XDef]) +#define IGUI_GRID_GAUGEHORIZON_Y (profilenamespace getvariable ['IGUI_GRID_GAUGEHORIZON_Y',IGUI_GRID_GAUGEHORIZON_YDef]) +#define IGUI_GRID_GAUGEHORIZON_WAbs (7.5 * GUI_GRID_W) +#define IGUI_GRID_GAUGEHORIZON_HAbs (7.5 * GUI_GRID_H) //--- Analogue gauge - Stability -#define IGUI_GRID_GAUGESTABILITY_XDef (safezoneX + (safezoneW / 2) + 4.25 * GUI_GRID_W) -#define IGUI_GRID_GAUGESTABILITY_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) -#define IGUI_GRID_GAUGESTABILITY_X (profilenamespace getvariable ['IGUI_GRID_GAUGESTABILITY_X',IGUI_GRID_GAUGESTABILITY_XDef]) -#define IGUI_GRID_GAUGESTABILITY_Y (profilenamespace getvariable ['IGUI_GRID_GAUGESTABILITY_Y',IGUI_GRID_GAUGESTABILITY_YDef]) -#define IGUI_GRID_GAUGESTABILITY_WAbs (7.5 * GUI_GRID_W) -#define IGUI_GRID_GAUGESTABILITY_HAbs (7.5 * GUI_GRID_H) +#define IGUI_GRID_GAUGESTABILITY_XDef (safezoneX + (safezoneW / 2) + 4.25 * GUI_GRID_W) +#define IGUI_GRID_GAUGESTABILITY_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) +#define IGUI_GRID_GAUGESTABILITY_X (profilenamespace getvariable ['IGUI_GRID_GAUGESTABILITY_X',IGUI_GRID_GAUGESTABILITY_XDef]) +#define IGUI_GRID_GAUGESTABILITY_Y (profilenamespace getvariable ['IGUI_GRID_GAUGESTABILITY_Y',IGUI_GRID_GAUGESTABILITY_YDef]) +#define IGUI_GRID_GAUGESTABILITY_WAbs (7.5 * GUI_GRID_W) +#define IGUI_GRID_GAUGESTABILITY_HAbs (7.5 * GUI_GRID_H) //--- Analogue gauge - Compass -#define IGUI_GRID_GAUGECOMPASS_XDef (safezoneX + (safezoneW / 2) + 12.25 * GUI_GRID_W) -#define IGUI_GRID_GAUGECOMPASS_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) -#define IGUI_GRID_GAUGECOMPASS_X (profilenamespace getvariable ['IGUI_GRID_GAUGECOMPASS_X',IGUI_GRID_GAUGECOMPASS_XDef]) -#define IGUI_GRID_GAUGECOMPASS_Y (profilenamespace getvariable ['IGUI_GRID_GAUGECOMPASS_Y',IGUI_GRID_GAUGECOMPASS_YDef]) -#define IGUI_GRID_GAUGECOMPASS_WAbs (7.5 * GUI_GRID_W) -#define IGUI_GRID_GAUGECOMPASS_HAbs (7.5 * GUI_GRID_H) +#define IGUI_GRID_GAUGECOMPASS_XDef (safezoneX + (safezoneW / 2) + 12.25 * GUI_GRID_W) +#define IGUI_GRID_GAUGECOMPASS_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) +#define IGUI_GRID_GAUGECOMPASS_X (profilenamespace getvariable ['IGUI_GRID_GAUGECOMPASS_X',IGUI_GRID_GAUGECOMPASS_XDef]) +#define IGUI_GRID_GAUGECOMPASS_Y (profilenamespace getvariable ['IGUI_GRID_GAUGECOMPASS_Y',IGUI_GRID_GAUGECOMPASS_YDef]) +#define IGUI_GRID_GAUGECOMPASS_WAbs (7.5 * GUI_GRID_W) +#define IGUI_GRID_GAUGECOMPASS_HAbs (7.5 * GUI_GRID_H) //--- Analogue gauge - Damage indicators -// #define IGUI_GRID_GAUGEDAMAGE_XDef (safezoneX + (safezoneW / 2) - 19 * GUI_GRID_W) -// #define IGUI_GRID_GAUGEDAMAGE_YDef (safezoneY + safezoneH - 7 * GUI_GRID_H) -// #define IGUI_GRID_GAUGEDAMAGE_X (profilenamespace getvariable ['IGUI_GRID_GAUGEDAMAGE_X',IGUI_GRID_GAUGEDAMAGE_XDef]) -// #define IGUI_GRID_GAUGEDAMAGE_Y (profilenamespace getvariable ['IGUI_GRID_GAUGEDAMAGE_Y',IGUI_GRID_GAUGEDAMAGE_YDef]) -// #define IGUI_GRID_GAUGEDAMAGE_WAbs (9.6 * GUI_GRID_W) -// #define IGUI_GRID_GAUGEDAMAGE_HAbs (2.4 * GUI_GRID_H) +// #define IGUI_GRID_GAUGEDAMAGE_XDef (safezoneX + (safezoneW / 2) - 19 * GUI_GRID_W) +// #define IGUI_GRID_GAUGEDAMAGE_YDef (safezoneY + safezoneH - 7 * GUI_GRID_H) +// #define IGUI_GRID_GAUGEDAMAGE_X (profilenamespace getvariable ['IGUI_GRID_GAUGEDAMAGE_X',IGUI_GRID_GAUGEDAMAGE_XDef]) +// #define IGUI_GRID_GAUGEDAMAGE_Y (profilenamespace getvariable ['IGUI_GRID_GAUGEDAMAGE_Y',IGUI_GRID_GAUGEDAMAGE_YDef]) +// #define IGUI_GRID_GAUGEDAMAGE_WAbs (9.6 * GUI_GRID_W) +// #define IGUI_GRID_GAUGEDAMAGE_HAbs (2.4 * GUI_GRID_H) //--- IGUI Analogue Gauges ----------------------------------------------------------------------------------------------------- //--- Sling Load Assistant -#define IGUI_GRID_SLINGLOADASSISTANT_XDef (safezoneX + safezoneW - 8 * GUI_GRID_W) -#define IGUI_GRID_SLINGLOADASSISTANT_YDef (safezoneY + safezoneH - 19.5 * GUI_GRID_H) -#define IGUI_GRID_SLINGLOADASSISTANT_WDef (7 * GUI_GRID_W) -#define IGUI_GRID_SLINGLOADASSISTANT_HDef (9.5 * GUI_GRID_H) -#define IGUI_GRID_SLINGLOADASSISTANT_X (profilenamespace getvariable ['IGUI_GRID_SLINGLOADASSISTANT_X',IGUI_GRID_SLINGLOADASSISTANT_XDef]) -#define IGUI_GRID_SLINGLOADASSISTANT_Y (profilenamespace getvariable ['IGUI_GRID_SLINGLOADASSISTANT_Y',IGUI_GRID_SLINGLOADASSISTANT_YDef]) -#define IGUI_GRID_SLINGLOADASSISTANT_WAbs (profilenamespace getvariable ['IGUI_GRID_SLINGLOADASSISTANT_W',IGUI_GRID_SLINGLOADASSISTANT_WDef]) -#define IGUI_GRID_SLINGLOADASSISTANT_HAbs (profilenamespace getvariable ['IGUI_GRID_SLINGLOADASSISTANT_H',IGUI_GRID_SLINGLOADASSISTANT_HDef]) +#define IGUI_GRID_SLINGLOADASSISTANT_XDef (safezoneX + safezoneW - 8 * GUI_GRID_W) +#define IGUI_GRID_SLINGLOADASSISTANT_YDef (safezoneY + safezoneH - 19.5 * GUI_GRID_H) +#define IGUI_GRID_SLINGLOADASSISTANT_WDef (7 * GUI_GRID_W) +#define IGUI_GRID_SLINGLOADASSISTANT_HDef (9.5 * GUI_GRID_H) +#define IGUI_GRID_SLINGLOADASSISTANT_X (profilenamespace getvariable ['IGUI_GRID_SLINGLOADASSISTANT_X',IGUI_GRID_SLINGLOADASSISTANT_XDef]) +#define IGUI_GRID_SLINGLOADASSISTANT_Y (profilenamespace getvariable ['IGUI_GRID_SLINGLOADASSISTANT_Y',IGUI_GRID_SLINGLOADASSISTANT_YDef]) +#define IGUI_GRID_SLINGLOADASSISTANT_WAbs (profilenamespace getvariable ['IGUI_GRID_SLINGLOADASSISTANT_W',IGUI_GRID_SLINGLOADASSISTANT_WDef]) +#define IGUI_GRID_SLINGLOADASSISTANT_HAbs (profilenamespace getvariable ['IGUI_GRID_SLINGLOADASSISTANT_H',IGUI_GRID_SLINGLOADASSISTANT_HDef]) //--- Squad Radar -// #define IGUI_GRID_SQUADRADAR_XDef (safezoneX + (safezoneW / 2) - 3 * GUI_GRID_W) -// #define IGUI_GRID_SQUADRADAR_YDef (safezoneY + safezoneH - 10.9 * GUI_GRID_H) -// #define IGUI_GRID_SQUADRADAR_X (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_X',IGUI_GRID_SQUADRADAR_XDef]) -// #define IGUI_GRID_SQUADRADAR_Y (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_Y',IGUI_GRID_SQUADRADAR_YDef]) -// #define IGUI_GRID_SQUADRADAR_WAbs (6 * GUI_GRID_W) -// #define IGUI_GRID_SQUADRADAR_HAbs (6 * GUI_GRID_H) - -// #define IGUI_GRID_SQUADRADAR_LIST1_XDef (IGUI_GRID_SQUADRADAR_XDef + IGUI_GRID_SQUADRADAR_WAbs) -// #define IGUI_GRID_SQUADRADAR_LIST1_YDef (IGUI_GRID_SQUADRADAR_YDef) -// #define IGUI_GRID_SQUADRADAR_LIST1_X (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_LIST1_X',IGUI_GRID_SQUADRADAR_LIST1_XDef]) -// #define IGUI_GRID_SQUADRADAR_LIST1_Y (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_LIST1_Y',IGUI_GRID_SQUADRADAR_LIST1_YDef]) -// #define IGUI_GRID_SQUADRADAR_LIST1_WAbs (6 * GUI_GRID_W) -// #define IGUI_GRID_SQUADRADAR_LIST1_HAbs (6 * GUI_GRID_H) - -// #define IGUI_GRID_SQUADRADAR_LIST2_XDef (IGUI_GRID_SQUADRADAR_LIST1_XDef + IGUI_GRID_SQUADRADAR_LIST1_WAbs) -// #define IGUI_GRID_SQUADRADAR_LIST2_YDef (IGUI_GRID_SQUADRADAR_LIST1_YDef) -// #define IGUI_GRID_SQUADRADAR_LIST2_X (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_LIST2_X',IGUI_GRID_SQUADRADAR_LIST2_XDef]) -// #define IGUI_GRID_SQUADRADAR_LIST2_Y (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_LIST2_Y',IGUI_GRID_SQUADRADAR_LIST2_YDef]) -// #define IGUI_GRID_SQUADRADAR_LIST2_WAbs (6 * GUI_GRID_W) -// #define IGUI_GRID_SQUADRADAR_LIST2_HAbs (6 * GUI_GRID_H) +// #define IGUI_GRID_SQUADRADAR_XDef (safezoneX + (safezoneW / 2) - 3 * GUI_GRID_W) +// #define IGUI_GRID_SQUADRADAR_YDef (safezoneY + safezoneH - 10.9 * GUI_GRID_H) +// #define IGUI_GRID_SQUADRADAR_X (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_X',IGUI_GRID_SQUADRADAR_XDef]) +// #define IGUI_GRID_SQUADRADAR_Y (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_Y',IGUI_GRID_SQUADRADAR_YDef]) +// #define IGUI_GRID_SQUADRADAR_WAbs (6 * GUI_GRID_W) +// #define IGUI_GRID_SQUADRADAR_HAbs (6 * GUI_GRID_H) + +// #define IGUI_GRID_SQUADRADAR_LIST1_XDef (IGUI_GRID_SQUADRADAR_XDef + IGUI_GRID_SQUADRADAR_WAbs) +// #define IGUI_GRID_SQUADRADAR_LIST1_YDef (IGUI_GRID_SQUADRADAR_YDef) +// #define IGUI_GRID_SQUADRADAR_LIST1_X (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_LIST1_X',IGUI_GRID_SQUADRADAR_LIST1_XDef]) +// #define IGUI_GRID_SQUADRADAR_LIST1_Y (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_LIST1_Y',IGUI_GRID_SQUADRADAR_LIST1_YDef]) +// #define IGUI_GRID_SQUADRADAR_LIST1_WAbs (6 * GUI_GRID_W) +// #define IGUI_GRID_SQUADRADAR_LIST1_HAbs (6 * GUI_GRID_H) + +// #define IGUI_GRID_SQUADRADAR_LIST2_XDef (IGUI_GRID_SQUADRADAR_LIST1_XDef + IGUI_GRID_SQUADRADAR_LIST1_WAbs) +// #define IGUI_GRID_SQUADRADAR_LIST2_YDef (IGUI_GRID_SQUADRADAR_LIST1_YDef) +// #define IGUI_GRID_SQUADRADAR_LIST2_X (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_LIST2_X',IGUI_GRID_SQUADRADAR_LIST2_XDef]) +// #define IGUI_GRID_SQUADRADAR_LIST2_Y (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_LIST2_Y',IGUI_GRID_SQUADRADAR_LIST2_YDef]) +// #define IGUI_GRID_SQUADRADAR_LIST2_WAbs (6 * GUI_GRID_W) +// #define IGUI_GRID_SQUADRADAR_LIST2_HAbs (6 * GUI_GRID_H) //--- IGUI Action / Command Menu -#define IGUI_GRID_OLD_MENU_WAbs (4.5 * IGUI_GRID_OLD_W) -#define IGUI_GRID_OLD_MENU_HAbs (10 * (IGUI_TEXT_SIZE_MEDIUM * 1.3)) -#define IGUI_GRID_OLD_MENU_XDef (1 * IGUI_GRID_OLD_W + safezoneX) -#define IGUI_GRID_OLD_MENU_YDef (5 * IGUI_GRID_OLD_H + safezoneY) -#define IGUI_GRID_OLD_MENU_X (profilenamespace getvariable ["IGUI_GRID_OLD_MENU_X",IGUI_GRID_OLD_MENU_XDef]) -#define IGUI_GRID_OLD_MENU_Y (profilenamespace getvariable ["IGUI_GRID_OLD_MENU_Y",IGUI_GRID_OLD_MENU_YDef]) -#define IGUI_GRID_OLD_MENU_W IGUI_GRID_OLD_W -#define IGUI_GRID_OLD_MENU_H IGUI_GRID_OLD_H +#define IGUI_GRID_OLD_MENU_WAbs (4.5 * IGUI_GRID_OLD_W) +#define IGUI_GRID_OLD_MENU_HAbs (10 * (IGUI_TEXT_SIZE_MEDIUM * 1.3)) +#define IGUI_GRID_OLD_MENU_XDef (1 * IGUI_GRID_OLD_W + safezoneX) +#define IGUI_GRID_OLD_MENU_YDef (5 * IGUI_GRID_OLD_H + safezoneY) +#define IGUI_GRID_OLD_MENU_X (profilenamespace getvariable ["IGUI_GRID_OLD_MENU_X",IGUI_GRID_OLD_MENU_XDef]) +#define IGUI_GRID_OLD_MENU_Y (profilenamespace getvariable ["IGUI_GRID_OLD_MENU_Y",IGUI_GRID_OLD_MENU_YDef]) +#define IGUI_GRID_OLD_MENU_W IGUI_GRID_OLD_W +#define IGUI_GRID_OLD_MENU_H IGUI_GRID_OLD_H //--- E3 /* -#define IGUI_GRID_OLD_MENU_WAbs (4.5 * IGUI_GRID_OLD_W) -#define IGUI_GRID_OLD_MENU_HAbs (10 * (IGUI_TEXT_SIZE_MEDIUM * 1.3)) -#define IGUI_GRID_OLD_MENU_XDef (0.6) -#define IGUI_GRID_OLD_MENU_YDef (0.55) -#define IGUI_GRID_OLD_MENU_X (profilenamespace getvariable ["IGUI_GRID_OLD_MENU_X",IGUI_GRID_OLD_MENU_XDef]) -#define IGUI_GRID_OLD_MENU_Y (profilenamespace getvariable ["IGUI_GRID_OLD_MENU_Y",IGUI_GRID_OLD_MENU_YDef]) -#define IGUI_GRID_OLD_MENU_W IGUI_GRID_OLD_W -#define IGUI_GRID_OLD_MENU_H IGUI_GRID_OLD_H +#define IGUI_GRID_OLD_MENU_WAbs (4.5 * IGUI_GRID_OLD_W) +#define IGUI_GRID_OLD_MENU_HAbs (10 * (IGUI_TEXT_SIZE_MEDIUM * 1.3)) +#define IGUI_GRID_OLD_MENU_XDef (0.6) +#define IGUI_GRID_OLD_MENU_YDef (0.55) +#define IGUI_GRID_OLD_MENU_X (profilenamespace getvariable ["IGUI_GRID_OLD_MENU_X",IGUI_GRID_OLD_MENU_XDef]) +#define IGUI_GRID_OLD_MENU_Y (profilenamespace getvariable ["IGUI_GRID_OLD_MENU_Y",IGUI_GRID_OLD_MENU_YDef]) +#define IGUI_GRID_OLD_MENU_W IGUI_GRID_OLD_W +#define IGUI_GRID_OLD_MENU_H IGUI_GRID_OLD_H */ //--- IGUI Task -#define IGUI_GRID_OLD_TASK_WAbs (12 * IGUI_GRID_OLD_W) -#define IGUI_GRID_OLD_TASK_HAbs (2 * IGUI_GRID_OLD_H) -#define IGUI_GRID_OLD_TASK_XDef (10 * IGUI_GRID_OLD_W + IGUI_GRID_OLD_X) -#define IGUI_GRID_OLD_TASK_YDef (1 * IGUI_GRID_OLD_H + safezoneY) -#define IGUI_GRID_OLD_TASK_X IGUI_GRID_OLD_TASK_XDef -#define IGUI_GRID_OLD_TASK_Y IGUI_GRID_OLD_TASK_YDef -#define IGUI_GRID_OLD_TASK_W IGUI_GRID_OLD_W -#define IGUI_GRID_OLD_TASK_H IGUI_GRID_OLD_H +#define IGUI_GRID_OLD_TASK_WAbs (12 * IGUI_GRID_OLD_W) +#define IGUI_GRID_OLD_TASK_HAbs (2 * IGUI_GRID_OLD_H) +#define IGUI_GRID_OLD_TASK_XDef (10 * IGUI_GRID_OLD_W + IGUI_GRID_OLD_X) +#define IGUI_GRID_OLD_TASK_YDef (1 * IGUI_GRID_OLD_H + safezoneY) +#define IGUI_GRID_OLD_TASK_X IGUI_GRID_OLD_TASK_XDef +#define IGUI_GRID_OLD_TASK_Y IGUI_GRID_OLD_TASK_YDef +#define IGUI_GRID_OLD_TASK_W IGUI_GRID_OLD_W +#define IGUI_GRID_OLD_TASK_H IGUI_GRID_OLD_H //--- IGUI PIP -#define IGUI_GRID_OLD_PIP_XDef (safezoneX + safezoneW - 6.8 * IGUI_GRID_OLD_W) -#define IGUI_GRID_OLD_PIP_YDef (7 * IGUI_GRID_OLD_H + IGUI_GRID_OLD_Y) -#define IGUI_GRID_OLD_PIP_WDef (6 * IGUI_GRID_OLD_W) -#define IGUI_GRID_OLD_PIP_HDef (IGUI_GRID_OLD_PIP_WDef) -//#define IGUI_GRID_OLD_PIP_X (profilenamespace getvariable ['IGUI_GRID_OLD_PIP_X',IGUI_GRID_OLD_PIP_XDef]) -//#define IGUI_GRID_OLD_PIP_Y (profilenamespace getvariable ['IGUI_GRID_OLD_PIP_Y',IGUI_GRID_OLD_PIP_YDef]) -//#define IGUI_GRID_OLD_PIP_WAbs (profilenamespace getvariable ['IGUI_GRID_OLD_PIP_W',IGUI_GRID_OLD_PIP_WDef]) -#define IGUI_GRID_OLD_PIP_X IGUI_GRID_OLD_PIP_XDef -#define IGUI_GRID_OLD_PIP_Y IGUI_GRID_OLD_PIP_YDef -#define IGUI_GRID_OLD_PIP_WAbs IGUI_GRID_OLD_PIP_WDef -#define IGUI_GRID_OLD_PIP_HAbs (IGUI_GRID_OLD_PIP_WAbs) +#define IGUI_GRID_OLD_PIP_XDef (safezoneX + safezoneW - 6.8 * IGUI_GRID_OLD_W) +#define IGUI_GRID_OLD_PIP_YDef (7 * IGUI_GRID_OLD_H + IGUI_GRID_OLD_Y) +#define IGUI_GRID_OLD_PIP_WDef (6 * IGUI_GRID_OLD_W) +#define IGUI_GRID_OLD_PIP_HDef (IGUI_GRID_OLD_PIP_WDef) +//#define IGUI_GRID_OLD_PIP_X (profilenamespace getvariable ['IGUI_GRID_OLD_PIP_X',IGUI_GRID_OLD_PIP_XDef]) +//#define IGUI_GRID_OLD_PIP_Y (profilenamespace getvariable ['IGUI_GRID_OLD_PIP_Y',IGUI_GRID_OLD_PIP_YDef]) +//#define IGUI_GRID_OLD_PIP_WAbs (profilenamespace getvariable ['IGUI_GRID_OLD_PIP_W',IGUI_GRID_OLD_PIP_WDef]) +#define IGUI_GRID_OLD_PIP_X IGUI_GRID_OLD_PIP_XDef +#define IGUI_GRID_OLD_PIP_Y IGUI_GRID_OLD_PIP_YDef +#define IGUI_GRID_OLD_PIP_WAbs IGUI_GRID_OLD_PIP_WDef +#define IGUI_GRID_OLD_PIP_HAbs (IGUI_GRID_OLD_PIP_WAbs) //--- MUF - experimental optics grid -// #define GUI_GRID_OLD_OPTICS_X (SafezoneX + ((SafezoneW - SafezoneH) / 2)) -// #define GUI_GRID_OLD_OPTICS_Y (SafezoneY) -// #define GUI_GRID_OLD_OPTICS_W (0.01875) -// #define GUI_GRID_OLD_OPTICS_H (0.025) -// #define GUI_GRID_OLD_OPTICS_WAbs ((SafezoneX + ((SafezoneW - SafezoneH) / 2)) / 0.01875) -// #define GUI_GRID_OLD_OPTICS_HAbs (SafezoneH / 0.01875) - -#define GUI_GRID_OLD_OPTICS_X (SafezoneX + ((SafezoneW - SafezoneH) / 2)) -#define GUI_GRID_OLD_OPTICS_Y (SafezoneY) -#define GUI_GRID_OLD_OPTICS_W (0.01875 * SafezoneH) -#define GUI_GRID_OLD_OPTICS_H (0.025 * SafezoneH) -#define GUI_GRID_OLD_OPTICS_WAbs (SafezoneH) -#define GUI_GRID_OLD_OPTICS_HAbs (SafezoneH) +// #define GUI_GRID_OLD_OPTICS_X (SafezoneX + ((SafezoneW - SafezoneH) / 2)) +// #define GUI_GRID_OLD_OPTICS_Y (SafezoneY) +// #define GUI_GRID_OLD_OPTICS_W (0.01875) +// #define GUI_GRID_OLD_OPTICS_H (0.025) +// #define GUI_GRID_OLD_OPTICS_WAbs ((SafezoneX + ((SafezoneW - SafezoneH) / 2)) / 0.01875) +// #define GUI_GRID_OLD_OPTICS_HAbs (SafezoneH / 0.01875) + +#define GUI_GRID_OLD_OPTICS_X (SafezoneX + ((SafezoneW - SafezoneH) / 2)) +#define GUI_GRID_OLD_OPTICS_Y (SafezoneY) +#define GUI_GRID_OLD_OPTICS_W (0.01875 * SafezoneH) +#define GUI_GRID_OLD_OPTICS_H (0.025 * SafezoneH) +#define GUI_GRID_OLD_OPTICS_WAbs (SafezoneH) +#define GUI_GRID_OLD_OPTICS_HAbs (SafezoneH) //--- MUF - experimental AV Terminal grid -#define GUI_GRID_OLD_AV_TERMINAL_X (safezoneX) -#define GUI_GRID_OLD_AV_TERMINAL_Y (safezoneY) -#define GUI_GRID_OLD_AV_TERMINAL_W (safezoneW / 64) -#define GUI_GRID_OLD_AV_TERMINAL_H (safezoneH / 40) -#define GUI_GRID_OLD_AV_TERMINAL_WAbs (safezoneW) -#define GUI_GRID_OLD_AV_TERMINAL_HAbs (safezoneH) \ No newline at end of file +#define GUI_GRID_OLD_AV_TERMINAL_X (safezoneX) +#define GUI_GRID_OLD_AV_TERMINAL_Y (safezoneY) +#define GUI_GRID_OLD_AV_TERMINAL_W (safezoneW / 64) +#define GUI_GRID_OLD_AV_TERMINAL_H (safezoneH / 40) +#define GUI_GRID_OLD_AV_TERMINAL_WAbs (safezoneW) +#define GUI_GRID_OLD_AV_TERMINAL_HAbs (safezoneH) \ No newline at end of file diff --git a/include/a3/ui_f/hpp/definedikcodes.inc b/include/a3/ui_f/hpp/definedikcodes.inc index c641d6013..31c00193d 100644 --- a/include/a3/ui_f/hpp/definedikcodes.inc +++ b/include/a3/ui_f/hpp/definedikcodes.inc @@ -181,9 +181,9 @@ /* * Combination keys */ -#define INPUT_CTRL_OFFSET 512 -#define INPUT_SHIFT_OFFSET 1024 -#define INPUT_ALT_OFFSET 2048 +#define INPUT_CTRL_OFFSET 512 +#define INPUT_SHIFT_OFFSET 1024 +#define INPUT_ALT_OFFSET 2048 #endif /* DIK_ESCAPE */ diff --git a/include/a3/ui_f/hpp/defineresincl.inc b/include/a3/ui_f/hpp/defineresincl.inc index 818fd438c..8f2f9fab3 100644 --- a/include/a3/ui_f/hpp/defineresincl.inc +++ b/include/a3/ui_f/hpp/defineresincl.inc @@ -812,17 +812,17 @@ enum #define IDD_STAMINA_BAR 305 //Custom Info -#define IDD_CUSTOMINFO 310 -#define IDD_CUSTOMINFO_MINIMAP 311 -#define IDD_CUSTOMINFO_SLA 312 -#define IDD_CUSTOMINFO_CREW 313 -#define IDD_CUSTOMINFO_SENS 314 -#define IDD_CUSTOMINFO_FEEDUAV 315 -#define IDD_CUSTOMINFO_FEEDDRIVER 316 +#define IDD_CUSTOMINFO 310 +#define IDD_CUSTOMINFO_MINIMAP 311 +#define IDD_CUSTOMINFO_SLA 312 +#define IDD_CUSTOMINFO_CREW 313 +#define IDD_CUSTOMINFO_SENS 314 +#define IDD_CUSTOMINFO_FEEDUAV 315 +#define IDD_CUSTOMINFO_FEEDDRIVER 316 #define IDD_CUSTOMINFO_FEEDPRIMARYGUNNER 317 #define IDD_CUSTOMINFO_FEEDCOMMANDER 318 -#define IDD_CUSTOMINFO_FEEDMISSILE 319 -#define IDD_CUSTOMINFO_MINEDETECT 320 +#define IDD_CUSTOMINFO_FEEDMISSILE 319 +#define IDD_CUSTOMINFO_MINEDETECT 320 // Futura ui @@ -1490,7 +1490,7 @@ enum #define IDC_DIFF_TACTICAL_PING 1542 #define IDC_DIFF_EXTENDED_MAP_ENEMY 1543 #define IDC_DIFF_EXTENDED_MAP_MINES 1544 -#define IDC_DIFF_MINIMAP_ALLOWED 1545 +#define IDC_DIFF_MINIMAP_ALLOWED 1545 #define IDC_DIFF_EXTENDED_MAP_PING 1546 // Configure display controls @@ -2637,9 +2637,9 @@ enum #define IDC_IGUI_AVC_PIP_DRIVER 100 #define IDC_IGUI_AVC_PIP_GUNNER 101 #define IDC_IGUI_AVC_PIP_SINGLE_VIEW 102 -#define IDC_IGUI_AVC_PIP_SOURCE 103 -#define IDC_IGUI_AVC_PIP_HEADING 104 -#define IDC_IGUI_AVC_PIP_MODE 105 +#define IDC_IGUI_AVC_PIP_SOURCE 103 +#define IDC_IGUI_AVC_PIP_HEADING 104 +#define IDC_IGUI_AVC_PIP_MODE 105 //Sling Load Assistant #define IDC_SLA_MAP 100 @@ -2656,13 +2656,13 @@ enum #define IDC_SENS_CIRCLES 102 #define IDC_SENS_VEHICLE 103 #define IDC_SENS_RANGE 104 -#define IDC_SENS_RADARON 105 -#define IDC_SENS_RADAROFF 106 +#define IDC_SENS_RADARON 105 +#define IDC_SENS_RADAROFF 106 #define IDC_SENS_TARGET 107 #define IDC_SENS_TARGETRANGE 108 #define IDC_SENS_TARGETSPEED 109 -#define IDC_SENS_TARGETALT 110 -#define IDC_SENS_HEADING 111 +#define IDC_SENS_TARGETALT 110 +#define IDC_SENS_HEADING 111 //Mine detector Display #define IDC_MINEDETECT_VIEWPORT 101 @@ -2672,7 +2672,7 @@ enum //Crew list #define IDC_CREW_VEHICLE 101 -#define IDC_CREW_LIST 102 +#define IDC_CREW_LIST 102 //MP Score Table #define IDC_MP_SCORE_TABLE_TITLE 101 @@ -2809,23 +2809,23 @@ enum #define IDC_IGUI_WEAPON_ALT 189 #define IDC_IGUI_WEAPON_TIME 190 -#define IDC_IGUI_WEAPON_CAM_TRACK_AREA 194 -#define IDC_IGUI_WEAPON_CAM_TRACK_TARGET 195 +#define IDC_IGUI_WEAPON_CAM_TRACK_AREA 194 +#define IDC_IGUI_WEAPON_CAM_TRACK_TARGET 195 #define IDC_IGUI_WEAPON_JAVELIN_ATTACK_FROM_TOP 196 -#define IDC_IGUI_WEAPON_JAVELIN_ATTACK_DIRECT 197 +#define IDC_IGUI_WEAPON_JAVELIN_ATTACK_DIRECT 197 #define IDC_IGUI_WEAPON_LASED_DISTANCE 198 #define IDC_IGUI_WEAPON_LASED_SPEED 199 #define IDC_IGUI_WEAPON_LASED_VALID 200 -#define IDC_IGUI_WEAPON_LASED_ERR_LEAD 201 -#define IDC_IGUI_WEAPON_LASED_ERR_ELEV 202 -#define IDC_IGUI_WEAPON_LASED_ERR_OBJECT 203 +#define IDC_IGUI_WEAPON_LASED_ERR_LEAD 201 +#define IDC_IGUI_WEAPON_LASED_ERR_ELEV 202 +#define IDC_IGUI_WEAPON_LASED_ERR_OBJECT 203 #define IDC_IGUI_WEAPON_LASER_ZEROING_DELAY 204 -#define IDC_IGUI_THROTTLE 205 -#define IDC_IGUI_VEHICLE_DIRECTION 206 -#define IDC_IGUI_VEHICLE_DIRECTION2 207 +#define IDC_IGUI_THROTTLE 205 +#define IDC_IGUI_VEHICLE_DIRECTION 206 +#define IDC_IGUI_VEHICLE_DIRECTION2 207 @@ -3046,10 +3046,10 @@ enum // - miniMap display #define IDC_MINIMAP 101 -#define IDC_MINIMAP_VIEWPORT 102 -#define IDC_MINIMAP_GRID 197 -#define IDC_MINIMAP_HEADING 198 -#define IDC_MINIMAP_TIME 199 +#define IDC_MINIMAP_VIEWPORT 102 +#define IDC_MINIMAP_GRID 197 +#define IDC_MINIMAP_HEADING 198 +#define IDC_MINIMAP_TIME 199 // - scripting help display diff --git a/tools/check_strings.py b/tools/check_strings.py new file mode 100644 index 000000000..79bfd3fa1 --- /dev/null +++ b/tools/check_strings.py @@ -0,0 +1,104 @@ +#!/usr/bin/env python3 +# PabstMirror +# Checks all strings are defined, run with -u to return all unused strings + +import fnmatch +import os +import re +import sys + +def getDefinedStrings(filepath): + # print("getDefinedStrings {0}".format(filepath)) + with open(filepath, 'r', encoding="latin-1") as file: + content = file.read() + srch = re.compile('Key ID\=\"(STR_KAT_[_a-zA-Z0-9]*)"', re.IGNORECASE) + modStrings = srch.findall(content) + modStrings = [s.lower() for s in modStrings] + return modStrings + +def getStringUsage(filepath): + selfmodule = (re.search('(addons|optionals)[\W]*([_a-zA-Z0-9]*)', filepath)).group(2) + # print("Checking {0} from {1}".format(filepath,selfmodule)) + fileStrings = [] + + with open(filepath, 'r') as file: + content = file.read() + + srch = re.compile('(STR_KAT_[_a-zA-Z0-9]*)', re.IGNORECASE) + fileStrings = srch.findall(content) + + srch = re.compile('[^E][CL]STRING\(([_a-zA-Z0-9]*)\)', re.IGNORECASE) + modStrings = srch.findall(content) + for localString in modStrings: + fileStrings.append("STR_KAT_{0}_{1}".format(selfmodule, localString)) + + srch = re.compile('E[CL]STRING\(([_a-zA-Z0-9]*),([_a-zA-Z0-9]*)\)') + exStrings = srch.findall(content) + for (exModule, exString) in exStrings: + fileStrings.append("STR_KAT_{0}_{1}".format(exModule, exString)) + + srch = re.compile('IGNORE_STRING_WARNING\([\'"]*([_a-zA-Z0-9]*)[\'"]*\)') + ignoreWarnings = srch.findall(content) + + fileStrings = [s.lower() for s in fileStrings] + return [s for s in fileStrings if s not in (i.lower() for i in ignoreWarnings)] + +def main(argv): + print("### check_strings.py {} ###".format(argv)) + sqf_list = [] + xml_list = [] + + allDefinedStrings = [] + allUsedStrings = [] + + for folder in ['addons', 'optionals']: + # Allow running from root directory as well as from inside the tools directory + rootDir = "../" + folder + if (os.path.exists(folder)): + rootDir = folder + + for root, dirnames, filenames in os.walk(rootDir): + for filename in fnmatch.filter(filenames, '*.sqf'): + sqf_list.append(os.path.join(root, filename)) + for filename in fnmatch.filter(filenames, '*.cpp'): + sqf_list.append(os.path.join(root, filename)) + for filename in fnmatch.filter(filenames, '*.hpp'): + sqf_list.append(os.path.join(root, filename)) + for filename in fnmatch.filter(filenames, '*.h'): + sqf_list.append(os.path.join(root, filename)) + + for filename in fnmatch.filter(filenames, '*.xml'): + xml_list.append(os.path.join(root, filename)) + + for filename in xml_list: + allDefinedStrings = allDefinedStrings + getDefinedStrings(filename) + for filename in sqf_list: + allUsedStrings = allUsedStrings + getStringUsage(filename) + + allDefinedStrings = list(sorted(set(allDefinedStrings))) + allUsedStrings = list(sorted(set(allUsedStrings))) + + if ("str_KAT_tagging_name" in allUsedStrings): allUsedStrings.remove("str_KAT_tagging_name") # Handle tagging macro + + print("-----------") + countUnusedStrings = 0 + countUndefinedStrings = 0 + for s in allDefinedStrings: + if (not (s in allUsedStrings)): + countUnusedStrings = countUnusedStrings + 1; + if ("-u" in argv): + print("String {} defined but not used".format(s)) + print("-----------") + for s in allUsedStrings: + if (not (s in allDefinedStrings)): + print("String {} not defined".format(s)) + countUndefinedStrings = countUndefinedStrings + 1; + print("-----------") + + print("Defined Strings:{0} Used Strings:{1}".format(len(allDefinedStrings),len(allUsedStrings))) + print("Unused Strings:{0} Undefined Strings:{1}".format(countUnusedStrings,countUndefinedStrings)) + + return countUndefinedStrings + +if __name__ == "__main__": + main(sys.argv) diff --git a/tools/sqf_validator.py b/tools/sqf_validator.py index c824b3526..ecb89aa11 100644 --- a/tools/sqf_validator.py +++ b/tools/sqf_validator.py @@ -8,7 +8,7 @@ import argparse def validKeyWordAfterCode(content, index): - keyWords = ["for", "do", "count", "each", "forEach", "else", "and", "not", "isEqualTo", "in", "call", "spawn", "execVM", "catch", "param", "select", "apply"]; + keyWords = ["for", "do", "count", "each", "forEach", "else", "and", "not", "isEqualTo", "in", "call", "spawn", "execVM", "catch", "param", "select", "apply", "findIf", "remoteExec"]; for word in keyWords: try: subWord = content.index(word, index, index+len(word)) @@ -47,7 +47,8 @@ def popClosing(): inStringType = ''; lastIsCurlyBrace = False - checkForSemiColumn = False + checkForSemicolon = False + onlyWhitespace = True # Extra information so we know what line we find errors at lineNumber = 1 @@ -57,9 +58,11 @@ def popClosing(): for c in content: if (lastIsCurlyBrace): lastIsCurlyBrace = False - checkForSemiColumn = True + # Test generates false positives with binary commands that take CODE as 2nd arg (e.g. findIf) + checkForSemicolon = not re.search('findIf', content, re.IGNORECASE) if c == '\n': # Keeping track of our line numbers + onlyWhitespace = True # reset so we can see if # is for a preprocessor command lineNumber += 1 # so we can print accurate line number information when we detect a possible error if (isInString): # while we are in a string, we can ignore everything else, except the end of the string if (c == inStringType): @@ -83,7 +86,7 @@ def popClosing(): if (c == '"' or c == "'"): isInString = True inStringType = c - elif (c == '#'): + elif (c == '#' and onlyWhitespace): ignoreTillEndOfLine = True elif (c == '/'): checkIfInComment = True @@ -113,11 +116,14 @@ def popClosing(): print("ERROR: Tab detected at {0} Line number: {1}".format(filepath,lineNumber)) bad_count_file += 1 - if (checkForSemiColumn): + if (c not in [' ', '\t', '\n']): + onlyWhitespace = False + + if (checkForSemicolon): if (c not in [' ', '\t', '\n', '/']): # keep reading until no white space or comments - checkForSemiColumn = False + checkForSemicolon = False if (c not in [']', ')', '}', ';', ',', '&', '!', '|', '='] and not validKeyWordAfterCode(content, indexOfCharacter)): # , 'f', 'd', 'c', 'e', 'a', 'n', 'i']): - print("ERROR: Possible missing semi-column ';' detected at {0} Line number: {1}".format(filepath,lineNumber)) + print("ERROR: Possible missing semicolon ';' detected at {0} Line number: {1}".format(filepath,lineNumber)) bad_count_file += 1 else: # Look for the end of our comment block @@ -139,6 +145,13 @@ def popClosing(): if brackets_list.count('{') != brackets_list.count('}'): print("ERROR: A possible missing curly brace {{ or }} in file {0} {{ = {1} }} = {2}".format(filepath,brackets_list.count('{'),brackets_list.count('}'))) bad_count_file += 1 + pattern = re.compile('\s*(/\*[\s\S]+?\*/)\s*#include') + if pattern.match(content): + print("ERROR: A found #include after block comment in file {0}".format(filepath)) + bad_count_file += 1 + + + return bad_count_file def main(): @@ -152,14 +165,15 @@ def main(): parser.add_argument('-m','--module', help='only search specified module addon folder', required=False, default="") args = parser.parse_args() - # Allow running from root directory as well as from inside the tools directory - rootDir = "../addons" - if (os.path.exists("addons")): - rootDir = "addons" + for folder in ['addons', 'optionals']: + # Allow running from root directory as well as from inside the tools directory + rootDir = "../" + folder + if (os.path.exists(folder)): + rootDir = folder - for root, dirnames, filenames in os.walk(rootDir + '/' + args.module): - for filename in fnmatch.filter(filenames, '*.sqf'): - sqf_list.append(os.path.join(root, filename)) + for root, dirnames, filenames in os.walk(rootDir + '/' + args.module): + for filename in fnmatch.filter(filenames, '*.sqf'): + sqf_list.append(os.path.join(root, filename)) for filename in sqf_list: bad_count = bad_count + check_sqf_syntax(filename) @@ -174,4 +188,4 @@ def main(): return bad_count if __name__ == "__main__": - sys.exit(main()) + sys.exit(main()) \ No newline at end of file diff --git a/tools/stringtable_validator.py b/tools/stringtable_validator.py new file mode 100644 index 000000000..bb5df520c --- /dev/null +++ b/tools/stringtable_validator.py @@ -0,0 +1,184 @@ +#!/usr/bin/env python3 + +import fnmatch +import os +import sys +import xml.etree.ElementTree as ET + +# STRINGTABLE VALIDATOR +# Author: mharis001 +# --------------------- +# Verifies all stringtable.xml files in the project. Checks for: +# - proper XML tree structure. +# - English as first translation. +# - no Original translation. +# - duplicated entries and languages. + + +######## GLOBALS ######### +PROJECT_NAME = "KAT" +########################## + + +def check_stringtable(filepath): + try: + tree = ET.parse(filepath) + except Exception as e: + print(" ERROR: Failed to parse file. {}".format(e)) + return 1 + + errors = 0 + + # Verify that the root tag is Project and its name attribute is the project name + root = tree.getroot() + + if root.tag != "Project": + print(" ERROR: Invalid root tag '{}' found, must be 'Project'.".format(root.tag)) + errors += 1 + + if root.get("name") != PROJECT_NAME: + print(" ERROR: Invalid name attribute '{}' for Project tag, must be '{}'.".format(root.get("name"), PROJECT_NAME)) + errors += 1 + + # Verify that the root has a Package tag and its name attribute matches the component's folder name + package = root.find("Package") + + if package is None: + print(" ERROR: Failed to find 'Package' tag under 'Project' tag.") + errors += 1 + else: + package_name = package.get("name") + + if package_name.islower(): + print(" ERROR: Package name attribute '{}' is all lowercase, should be in titlecase.".format(package_name)) + errors += 1 + + if package_name.lower() != os.path.basename(os.path.dirname(filepath)): + print(" ERROR: Package name attribute '{}' does not match the component folder name.".format(package_name)) + errors += 1 + + # Get all keys contained in the stringtable + keys = package.findall("Key") + + for container in package.findall("Container"): + keys.extend(container.findall("Key")) + + key_ids = [] + key_prefix = "STR_{}_{}_".format(PROJECT_NAME, package_name) + + for key in keys: + key_id = key.get("ID") + + # Verify that the key has a valid ID attribute + if key_id is None: + print(" ERROR: Key '{}' had no ID attribute.".format(key_id)) + errors += 1 + elif key_id.find(key_prefix) != 0: + print(" ERROR: Key '{}' does not have a valid ID attribute, should be in format {}{{name}}.".format(key_id, key_prefix)) + errors += 1 + + key_ids.append(key_id) + + # Verify language entries for the key, check that the key: + # - contains at least one translation + # - does not contain an Original translation + # - has English as the first listed translation + # - has only one entry for each language + entries = list(key) + + if len(entries) == 0: + print(" ERROR: Key '{}' has no translation entries.".format(key_id)) + errors += 1 + else: + if not key.find("Original") is None: + print(" ERROR: Key '{}' has an Original translation, unnecessary with English as first.".format(key_id)) + errors += 1 + + if entries[0].tag != "English": + print(" ERROR: Key '{}' does not have its English translation listed first.".format(key_id)) + errors += 1 + + languages = list(map(lambda l: l.tag, entries)) + + for language in set(languages): + count = languages.count(language) + + if count > 1: + print(" ERROR: Key '{}' has {} {} translations.".format(key_id, count, language)) + errors += 1 + + # Verify that key IDs are unique + for id in set(key_ids): + count = key_ids.count(id) + + if count > 1: + print(" ERROR: Key '{}' is defined {} times.".format(id, count)) + errors += 1 + + # Check whitespace for tabs and correct number of indenting spaces + with open(filepath, "r", encoding = "utf-8") as file: + spacing_depth = 0 + + for line_number, line in enumerate(file, 1): + if "\t" in line: + print(" ERROR: Found a tab on line {}.".format(line_number)) + errors += 1 + + line_clean = line.lstrip().lower() + + if line_clean.startswith("