diff --git a/addons/assets/CfgMagazines.hpp b/addons/assets/CfgMagazines.hpp
index 7f113578..5ede8c16 100644
--- a/addons/assets/CfgMagazines.hpp
+++ b/addons/assets/CfgMagazines.hpp
@@ -126,17 +126,6 @@ class CfgMagazines {
scope = 2;
};
- class CLASS(cenestinBottle): CLASS(FakeMagazine) {
- CLASSACE(isMedicalItem) = 1;
- count = 15;
- descriptionShort = CSTRING(CenestinBottle_Description);
- displayName = CSTRING(CenestinBottle_DisplayName);
- mass = 2;
- model = "\a3\structures_f_epa\Items\Medical\VitaminBottle_F.p3d";
- picture = QPATHTOF(data\icons\cenestinbottle.paa);
- scope = 2;
- };
-
class CLASS(lighter): CLASS(FakeMagazine) {
CLASSACE(disableRepacking) = 1;
count = 100;
@@ -430,18 +419,29 @@ class CfgMagazines {
scope = 2;
};
- class CLASS(waterJerryCan_Full): CLASS(FakeMagazine) {
+ class CLASS(waterJerryCan_Purified): CLASS(FakeMagazine) {
+ CLASSACE(disableRepacking) = 1;
+ count = 20;
+ descriptionShort = CSTRING(JerryCanWaterFullPure_Description);
+ displayName = CSTRING(JerryCanWaterFullPure_DisplayName);
+ mass = 150;
+ model = "\a3\structures_f\Items\Vessels\CanisterFuel_F.p3d";
+ picture = QPATHTOF(data\icons\canisterwater.paa);
+ scope = 2;
+ };
+
+ class CLASS(waterJerryCan_Clean): CLASS(FakeMagazine) {
CLASSACE(disableRepacking) = 1;
count = 20;
- descriptionShort = CSTRING(JerryCanWaterFull_Description);
- displayName = CSTRING(JerryCanWaterFull_DisplayName);
+ descriptionShort = CSTRING(JerryCanWaterFullClean_Description);
+ displayName = CSTRING(JerryCanWaterFullClean_DisplayName);
mass = 150;
model = "\a3\structures_f\Items\Vessels\CanisterFuel_F.p3d";
picture = QPATHTOF(data\icons\canisterwater.paa);
scope = 2;
};
- class CLASS(waterJerryCan_FullDirty): CLASS(FakeMagazine) {
+ class CLASS(waterJerryCan_Dirty): CLASS(FakeMagazine) {
CLASSACE(disableRepacking) = 1;
count = 20;
descriptionShort = CSTRING(JerryCanWaterFullDirty_Description);
diff --git a/addons/assets/CfgWeapons.hpp b/addons/assets/CfgWeapons.hpp
index b8758b78..88a26d42 100644
--- a/addons/assets/CfgWeapons.hpp
+++ b/addons/assets/CfgWeapons.hpp
@@ -746,18 +746,6 @@ class CfgWeapons {
};
};
- class CLASS(rope): CLASS(ItemCore) {
- displayName = CSTRING(Rope_DisplayName);
- descriptionShort = CSTRING(Rope_Description);
- picture = QPATHTOF(data\icons\rope.paa);
- scope = 2;
- scopeCurator = 2;
-
- class ItemInfo: CBA_MiscItem_ItemInfo {
- mass = 15;
- };
- };
-
class CLASS(needleThread): CLASS(ItemCore) {
displayName = CSTRING(NeedleThread_DisplayName);
descriptionShort = CSTRING(NeedleThread_Description);
diff --git a/addons/assets/script_component.hpp b/addons/assets/script_component.hpp
index 0fd27c76..1852bb31 100644
--- a/addons/assets/script_component.hpp
+++ b/addons/assets/script_component.hpp
@@ -91,7 +91,6 @@
QCLASS(randomMedication), \
QCLASS(rawFish), \
QCLASS(rawMeat), \
- QCLASS(rope), \
QCLASS(ruby), \
QCLASS(sapphire), \
QCLASS(sledgehammer), \
diff --git a/addons/assets/stringtable.xml b/addons/assets/stringtable.xml
index d9072d57..b3cd3f1d 100644
--- a/addons/assets/stringtable.xml
+++ b/addons/assets/stringtable.xml
@@ -129,38 +129,6 @@
加合百服包装
Caffetin paketi
-
- Contains Cenestin pills
- Obsahuje tablety Cenestinu
- Contient des pilules Cenestin
- Contiene píldoras Cenestin
- Contiene pillole Cenestin
- Zawiera tabletki Cenestin
- Contém comprimidos de Cenestin
- Содержит таблетки Ценестин
- Enthält Cenestin-Pillen
- Cenestin 알약 함유
- Cenestin錠剤が含まれています
- 含有結合雌激素藥片
- 含有结合雌激素药片
- Cenestin hapları içerir
-
-
- Cenestin bottle
- Láhev Cenestinu
- Flacon de Cenestin
- Botella de Cenestin
- Flacone di Cenestin
- Butelka Cenestin
- Frasco de Cenestin
- Бутылка Ценестина
- Cenestin Flasche
- Cenestin 병
- Cenestinボトル
- 結合雌激素瓶
- 结合雌激素瓶
- Cenestin şişesi
-
- makes wood collection easy<br/> - Tool
- usnadňuje těžbu dřeva<br/> - Nářadí
@@ -3178,100 +3146,132 @@
Demir Parçası
- An empty Jerrycan used for water collection...
- Prázdný kanystr používaný ke sběru vody...
- Un jerrican vide utilisé pour la collecte d'eau...
- Un bidón vacío usado para recolectar agua...
- Un Jerrycan vuoto utilizzato per la raccolta dell'acqua...
- Pusty kanister używany do zbierania wody...
- Um Jerrycan vazio usado para coleta de água...
- Пустой канистра, используемый для сбора воды...
- Ein leerer Kanister zur Wassersammlung...
- 물 수집에 사용되는 빈 제리캔...
- 水を集めるために使用される空のジェリカン...
- 用於收集水的空油桶...
- 用于收集水的空油桶...
- Su toplamak için kullanılan boş bir Jerrycan...
+ An empty water canister...
+ Prázdný kanystr na vodu...
+ Un bidon d'eau vide...
+ Un bidón de agua vacío...
+ Una tanica d'acqua vuota...
+ Pusty kanister na wodę...
+ Um galão de água vazio...
+ Пустая канистра для воды...
+ Ein leerer Wasserkanister...
+ 비어 있는 물통...
+ 空の水筒...
+ 一個空的水罐...
+ 一个空的水罐...
+ Boş bir su bidonu...
- Water (Empty)
- Voda (Prázdný)
- Eau (Vide)
- Agua (Vacío)
- Acqua (Vuoto)
- Woda (Pusty)
- Água (Vazio)
- Вода (Пустой)
- Wasser (Leer)
- 물 (비어 있음)
- 水(空)
- 水 (空)
- 水 (空)
- Su (Boş)
+ Water Canister (Empty)
+ Kanystr na vodu (Prázdný)
+ Bidon d'eau (Vide)
+ Bidón de agua (Vacío)
+ Tanica d'acqua (Vuota)
+ Kanister na wodę (Pusty)
+ Galão de água (Vazio)
+ Канистра для воды (Пустая)
+ Wasserkanister (Leer)
+ 물통 (비어 있음)
+ 水筒 (空)
+ 水罐 (空)
+ 水罐 (空)
+ Su Bidonu (Boş)
+
+
+ This water canister is filled with boiled water. It's free from biological contaminants, but might still contain radiation
+ Tento kanystr na vodu je naplněn převařenou vodou. Je zbaven biologických nečistot, ale může stále obsahovat radiaci
+ Ce bidon d'eau est rempli d'eau bouillie. Il est exempt de contaminants biologiques, mais peut encore contenir des radiations
+ Este bidón de agua está lleno de agua hervida. Está libre de contaminantes biológicos, pero aún podría contener radiación
+ Questa tanica d'eau è riempita con acqua bollita. È priva di contaminanti biologici, ma potrebbe contenere ancora radiazioni
+ Ten kanister jest napełniony przegotowaną wodą. Jest wolny od zanieczyszczeń biologicznych, ale może nadal zawierać promieniowanie
+ Este galão de água está cheio de água fervida. Está livre de contaminantes biológicos, mas ainda pode conter radiação
+ Эта канистра заполнена кипяченой водой. Она очищена от биологических загрязнений, но все еще может содержать радиацию
+ Dieser Wasserkanister ist mit abgekochtem Wasser gefüllt. Er ist frei von biologischen Verunreinigungen, kann aber noch Strahlung enthalten
+ 이 물통은 끓인 물로 채워져 있습니다. 생물학적 오염 물질은 없지만, 여전히 방사능이 남아있을 수 있습니다
+ この水筒には沸騰させた水が入っています。生物学的汚染物質は含まれていませんが、放射能が残っている可能性があります
+ 這個水罐裝滿了煮沸的水。不含生物污染物,但可能仍含有輻射
+ 这个水罐装满了煮沸的水。不含生物污染物,但可能仍含有辐射
+ Bu su bidonu kaynatılmış suyla doludur. Biyolojik kirleticilerden arındırılmıştır ancak hala radyasyon içerebilir
+
+
+ Water Canister (Clean) (5Gal / 20L)
+ Kanystr na vodu (Čistá) (5 gal / 20 l)
+ Bidon d'eau (Propre) (5 Gal / 20 L)
+ Bidón de agua (Limpia) (5 Gal / 20 L)
+ Tanica d'acqua (Pulita) (5 Gal / 20 L)
+ Kanister na wodę (Czysta) (5 Gal / 20 L)
+ Galão de água (Limpa) (5 Gal / 20 L)
+ Канистра для воды (Чистая) (5 гал. / 20 л)
+ Wasserkanister (Sauber) (5 Gal / 20 L)
+ 물통 (깨끗함) (5갈론 / 20L)
+ 水筒 (きれいな水) (5Gal / 20L)
+ 水罐 (乾淨) (5加侖 / 20公升)
+ 水罐 (干净) (5加仑 / 20升)
+ Su Bidonu (Temiz) (5 Gal / 20 L)
- Full of dirty water
- Plný špinavé vody
- Plein d'eau sale
- Lleno de agua sucia
- Pieno d'acqua sporca
- Pełna brudnej wody
- Cheio de água suja
- Полный грязной воды
- Voll mit schmutzigem Wasser
- 더러운 물로 가득
- 汚れた水でいっぱい
- 裝滿髒水
- 装满脏水
- Kirli su dolu
+ This water canister contains water straight from the environment, it has a foul strong odor...
+ Tento kanystr na vodu obsahuje vodu přímo z přírody, má silný odporný zápach...
+ Ce bidon d'eau contient de l'eau provenant directement de l'environnement, elle a une forte odeur nauséabonde...
+ Este bidón de agua contiene agua extraída directamente del entorno, tiene un olor fuerte y desagradable...
+ Questa tanica d'eau contiene acqua proveniente direttamente dall'ambiente, ha un forte odore sgradevole...
+ Ten kanister zawiera wodę prosto ze środowiska, ma silny, nieprzyjemny zapach...
+ Este galão de água contém água direto do ambiente, tem un odor forte e desagradável...
+ Эта канистра содержит воду прямиком из окружающей среды, у нее сильный неприятный запах...
+ Dieser Wasserkanister enthält Wasser direkt aus der Umwelt, es hat einen starken, üblen Geruch...
+ 이 물통에는 자연에서 바로 길어온 물이 들어있으며, 지독하고 강한 악취가 납니다...
+ この水筒には環境から直接採取した水が入っており、ひどい悪臭がします...
+ 這個水罐裝著直接採集自自然環境的水,散發著強烈的惡臭...
+ 这个水罐装着直接采集自自然环境的水,散发着强烈恶臭...
+ Bu su bidonu doğrudan doğadan alınan su içermektedir, çok kötü ve ağır bir kokusu var...
- Water 'Dirty' (5Gal / 20L)
- Voda 'Špinavá' (5 galonů / 20L)
- Eau 'Sale' (5 gallons / 20L)
- Agua 'Sucia' (5 galones / 20L)
- Acqua 'Sporco' (5 galloni / 20L)
- Woda 'Brudna' (5 galonów / 20L)
- Água 'Suja' (5 galões / 20L)
- Вода 'Грязная' (5 галлонов / 20 л)
- Wasser 'Schmutzig' (5 Gallonen / 20L)
- 물 '더러운' (5갤런 / 20L)
- 水「汚れた」(5ガロン/ 20L)
- 髒水 (5加侖 / 20升)
- 脏水 (5加仑 / 20升)
- Su 'Kirli' (5 Galon / 20L)
-
-
- Full of water
- Plný vody
- Plein d'eau
- Lleno de agua
- Pieno d'acqua
- Pełna wody
- Cheio de água
- Полный воды
- Voll mit Wasser
- 물이 가득
- 水がいっぱい
- 裝滿水
- 装满水
- Su dolu
-
-
- Water (5Gal / 20L)
- Voda (5 galonů / 20L)
- Eau (5 gallons / 20L)
- Agua (5 galones / 20L)
- Acqua (5 galloni / 20L)
- Woda (5 galonów / 20L)
- Água (5 galões / 20L)
- Вода (5 галлонов / 20 л)
- Wasser (5 Gallonen / 20L)
- 물 (5갤런 / 20L)
- 水(5ガロン/ 20L)
- 水 (5加侖 / 20升)
- 水 (5加仑 / 20升)
- Su (5 Galon / 20L)
+ Water Canister (Dirty) (5Gal / 20L)
+ Kanystr na vodu (Znečištěná) (5 gal / 20 l)
+ Bidon d'eau (Sale) (5 Gal / 20 L)
+ Bidón de agua (Sucia) (5 Gal / 20 L)
+ Tanica d'acqua (Sulla) (5 Gal / 20 L)
+ Kanister na wodę (Brudna) (5 Gal / 20 L)
+ Galão de água (Suja) (5 Gal / 20 L)
+ Канистра для воды (Грязная) (5 гал. / 20 л)
+ Wasserkanister (Schmutzig) (5 Gal / 20 L)
+ 물통 (오염됨) (5갈론 / 20L)
+ 水筒 (汚水) (5Gal / 20L)
+ 水罐 (髒污) (5加侖 / 20公升)
+ 水罐 (脏污) (5加仑 / 20升)
+ Su Bidonu (Kirli) (5 Gal / 20 L)
+
+
+ This water canister holds water that's been treated with purification tablets, removing all traces of radiation and biological contaminants
+ Tento kanystr na vodu obsahuje vodu, která byla ošetřena tabletami na čištění vody, což odstranilo veškeré stopy radiace a biologických nečistot
+ Ce bidon d'eau contient de l'eau traitée avec des pastilles de purification, éliminant toute trace de radiation et de contaminants biologiques
+ Este bidón de agua contiene agua tratada con pastillas de purificación, eliminando todo rastro de radiación y contaminantes biológicos
+ Questa tanica d'acqua contiene acqua trattata con pastiglie purificanti, che rimuovono ogni traccia di radiazioni e contaminanti biologici
+ Ten kanister zawiera wodę uzdatnioną tabletkami oczyszczającymi, co usunęło wszelkie ślady promieniowania i zanieczyszczeń biologicznych
+ Este galão de água contém água tratada com pastilhas de purificação, removendo todos os vestígios de radiação e contaminantes biológicos
+ Эта канистра содержит воду, обработанную таблетками для очистки, что удалило все следы радиации и biological загрязнений
+ Dieser Wasserkanister enthält Wasser, das mit Reinigungstabletten behandelt wurde, wodurch alle Spuren von Strahlung und biologischen Verunreinigungen entfernt wurden
+ 이 물통에는 정수 알약으로 처리된 물이 들어있어, 모든 방사능과 생물학적 오염 물질 흔적이 제거되었습니다
+ この水筒には浄水タブレットで処理された水が入っており、放射能や生物学的汚染物質の形跡がすべて取り除かれています
+ 這個水罐裝著經過淨水片處理的水,去除了所有輻射和生物污染物的痕跡
+ 这个水罐装着经过净水片处理的水, Express了所有辐射和生物污染物的痕迹
+ Bu su bidonu, arındırma tabletleri ile işlenmiş, tüm radyasyon ve biyolojik kirletici izlerinden arındırılmış su içermektedir
+
+
+ Water Canister (Purified) (5Gal / 20L)
+ Kanystr na vodu (Purifikovaná) (5 gal / 20 l)
+ Bidon d'eau (Purifiée) (5 Gal / 20 L)
+ Bidón de agua (Purificada) (5 Gal / 20 L)
+ Tanica d'acqua (Purificata) (5 Gal / 20 L)
+ Kanister na wodę (Oczyszczona) (5 Gal / 20 L)
+ Galão de água (Purificada) (5 Gal / 20 L)
+ Канистра для воды (Очищенная) (5 гал. / 20 л)
+ Wasserkanister (Gereinigt) (5 Gal / 20 L)
+ 물통 (정수됨) (5갈론 / 20L)
+ 水筒 (浄化水) (5Gal / 20L)
+ 水罐 (已過濾) (5加侖 / 20公升)
+ 水罐 (已过滤) (5加仑 / 20升)
+ Su Bidonu (Arıtılmış) (5 Gal / 20 L)
An empty Jerrycan used for fuel collection...<br/> - Fuel item <br/> - Empty
@@ -4073,38 +4073,6 @@
大米
Pirinç
-
- small bit of rope <br/> - Crafting item
- kousek lana <br/> - Předmět pro výrobu
- petit morceau de corde <br/> - Objet d'artisanat
- pequeño trozo de cuerda <br/> - Objeto de artesanía
- piccolo pezzo di corda <br/> - Oggetto per il crafting
- mały kawałek liny <br/> - Przedmiot do tworzenia
- pequeno pedaço de corda <br/> - Item de criação
- небольшой кусок верёвки <br/> - Предмет для крафта
- kleines Stück Seil <br/> - Handwerksgegenstand
- 작은 밧줄 조각 <br/> - 제작 아이템
- 少しのロー <br/> - クラフトアイテム
- 一小段繩子<br/> - 製作物品
- 一小段绳子<br/> - 制作物品
- küçük bir parça ip <br/> - El işi öğesi
-
-
- Rope
- Lano
- Corde
- Cuerda
- Corda
- Lina
- Corda
- Верёвка
- Seil
- 밧줄
- ロープ
- 繩子
- 绳子
- İp
-
rotor repair kit used for aircraft repairs
sada na opravu rotoru používaná při opravách letadel
diff --git a/addons/audio/CfgSounds.hpp b/addons/audio/CfgSounds.hpp
index e578d05c..3f690c29 100644
--- a/addons/audio/CfgSounds.hpp
+++ b/addons/audio/CfgSounds.hpp
@@ -380,17 +380,6 @@ class CfgSounds {
MACRO_SOUNDS(geiger09,geiger);
MACRO_SOUNDS(geiger10,geiger);
- // Generator
- MACRO_SOUNDS(dieselRunning,generator);
- MACRO_SOUNDS(dieselStart,generator);
- MACRO_SOUNDS(dieselStop,generator);
- MACRO_SOUNDS(kvaRunning,generator);
- MACRO_SOUNDS(kvaStart,generator);
- MACRO_SOUNDS(kvaStop,generator);
- MACRO_SOUNDS(petrolRunning,generator);
- MACRO_SOUNDS(petrolStart,generator);
- MACRO_SOUNDS(petrolStop,generator);
-
// Green Mountain
MACRO_SOUNDS(gmBeep,greenmountain);
MACRO_SOUNDS(gmChatter,greenmountain);
diff --git a/addons/audio/sounds/generator/dieselRunning.ogg b/addons/audio/sounds/generator/dieselRunning.ogg
deleted file mode 100644
index 962d0f0a..00000000
Binary files a/addons/audio/sounds/generator/dieselRunning.ogg and /dev/null differ
diff --git a/addons/audio/sounds/generator/dieselStart.ogg b/addons/audio/sounds/generator/dieselStart.ogg
deleted file mode 100644
index b557e825..00000000
Binary files a/addons/audio/sounds/generator/dieselStart.ogg and /dev/null differ
diff --git a/addons/audio/sounds/generator/dieselStop.ogg b/addons/audio/sounds/generator/dieselStop.ogg
deleted file mode 100644
index eface267..00000000
Binary files a/addons/audio/sounds/generator/dieselStop.ogg and /dev/null differ
diff --git a/addons/audio/sounds/generator/kvaRunning.ogg b/addons/audio/sounds/generator/kvaRunning.ogg
deleted file mode 100644
index 5588ecfa..00000000
Binary files a/addons/audio/sounds/generator/kvaRunning.ogg and /dev/null differ
diff --git a/addons/audio/sounds/generator/kvaStart.ogg b/addons/audio/sounds/generator/kvaStart.ogg
deleted file mode 100644
index 88a8ab40..00000000
Binary files a/addons/audio/sounds/generator/kvaStart.ogg and /dev/null differ
diff --git a/addons/audio/sounds/generator/kvaStop.ogg b/addons/audio/sounds/generator/kvaStop.ogg
deleted file mode 100644
index 0ac01a01..00000000
Binary files a/addons/audio/sounds/generator/kvaStop.ogg and /dev/null differ
diff --git a/addons/audio/sounds/generator/petrolRunning.ogg b/addons/audio/sounds/generator/petrolRunning.ogg
deleted file mode 100644
index 6d860566..00000000
Binary files a/addons/audio/sounds/generator/petrolRunning.ogg and /dev/null differ
diff --git a/addons/audio/sounds/generator/petrolStart.ogg b/addons/audio/sounds/generator/petrolStart.ogg
deleted file mode 100644
index 0f2f34c9..00000000
Binary files a/addons/audio/sounds/generator/petrolStart.ogg and /dev/null differ
diff --git a/addons/audio/sounds/generator/petrolStop.ogg b/addons/audio/sounds/generator/petrolStop.ogg
deleted file mode 100644
index aadcf04d..00000000
Binary files a/addons/audio/sounds/generator/petrolStop.ogg and /dev/null differ
diff --git a/addons/cooking/functions/fnc_parseData.sqf b/addons/cooking/functions/fnc_parseData.sqf
index 4ddd4848..a6555f25 100644
--- a/addons/cooking/functions/fnc_parseData.sqf
+++ b/addons/cooking/functions/fnc_parseData.sqf
@@ -24,7 +24,7 @@ GVAR(cookingRecipes) = [];
} forEach _requiredItems;
private _cookingTime = getNumber (_x >> "cookingTime");
private _outputCount = getNumber (_x >> "outputCount");
- private _toBeReplaced = getArray (_x >> "toBeReplaced");
+ private _code = getText (_x >> "code");
private _audio = getText (_x >> "audio");
private _outputXP = getNumber (_x >> "outputXP");
private _requiredXP = getNumber (_x >> "requiredXP");
@@ -35,7 +35,7 @@ GVAR(cookingRecipes) = [];
_requiredItems, // Index 1: Required items
_cookingTime, // Index 2: Cooking time
_outputCount, // Index 3: Output quantity
- _toBeReplaced, // Index 4: Items to replace
+ _code, // Index 4: Code to run on completion
_audio, // Index 5: Cooking sound
_outputXP, // Index 6: XP awarded
_requiredXP, // Index 7: Minimum XP required
diff --git a/addons/cooking/functions/fnc_processRecipe.sqf b/addons/cooking/functions/fnc_processRecipe.sqf
index b6950cfa..3fc7fc4c 100644
--- a/addons/cooking/functions/fnc_processRecipe.sqf
+++ b/addons/cooking/functions/fnc_processRecipe.sqf
@@ -26,7 +26,7 @@ private _outputItem = _recipe select 0;
private _requiredItems = _recipe select 1;
private _cookingTime = _recipe select 2;
private _outputCount = _recipe select 3;
-private _toBeReplaced = _recipe select 4;
+private _code = _recipe select 4;
private _audio = _recipe select 5;
private _outputXP = _recipe select 6;
private _requiredXP = _recipe select 7;
@@ -75,7 +75,7 @@ private _currentStep = 0;
[{
params ["_args", "_handle"];
- _args params ["_requiredItems", "_outputItem", "_outputCount", "_toBeReplaced", "_outputXP", "_cookingMethod", "_dialog", "_cookInterrupt", "_totalSteps", "_currentStep", "_displayName", "_progressBar", "_soundSource"];
+ _args params ["_requiredItems", "_outputItem", "_outputCount", "_code", "_outputXP", "_cookingMethod", "_dialog", "_cookInterrupt", "_totalSteps", "_currentStep", "_displayName", "_progressBar", "_soundSource"];
if (!(player getVariable [QGVAR(isCooking), false]) || !alive player) exitWith {
player setVariable [QGVAR(isCooking), nil];
@@ -111,15 +111,7 @@ private _currentStep = 0;
[player, _outputItem, true] call CBA_fnc_addItem;
};
- if (count _toBeReplaced > 0) then {
- private _itemToReplace = _toBeReplaced select 0;
- private _chance = _toBeReplaced select 1;
- private _replacementItem = _toBeReplaced select 2;
- if ([_chance] call EFUNC(common,rollChance)) then {
- [player, _itemToReplace] call CBA_fnc_removeItem;
- [player, _replacementItem, true] call CBA_fnc_addItem;
- };
- };
+ if (_code isNotEqualTo "") then {call compile _code};
private _currentXP = player getVariable [QGVAR(xp), MACRO_PLAYER_DEFAULTS_LOW];
player setVariable [QGVAR(xp), _currentXP + _outputXP, true];
@@ -140,7 +132,7 @@ private _currentStep = 0;
[_handle] call CBA_fnc_removePerFrameHandler;
};
}, 0.5, [
- _requiredItems, _outputItem, _outputCount, _toBeReplaced, _outputXP, _cookingMethod,
+ _requiredItems, _outputItem, _outputCount, _code, _outputXP, _cookingMethod,
_dialog, _cookInterrupt,
_totalSteps, _currentStep, _displayName, _progressBar, _soundSource
]] call CBA_fnc_addPerFrameHandler;
diff --git a/addons/crafting/functions/fnc_parseData.sqf b/addons/crafting/functions/fnc_parseData.sqf
index e1085b42..a0398774 100644
--- a/addons/crafting/functions/fnc_parseData.sqf
+++ b/addons/crafting/functions/fnc_parseData.sqf
@@ -24,7 +24,7 @@ GVAR(craftingRecipes) = [];
} forEach _requiredItems;
private _craftingTime = getNumber (_x >> "craftingTime");
private _outputCount = getNumber (_x >> "outputCount");
- private _toBeReplaced = getArray (_x >> "toBeReplaced");
+ private _code = getText (_x >> "code");
private _audio = getText (_x >> "audio");
private _outputXP = getNumber (_x >> "outputXP"); // XP awarded upon completion
private _requiredXP = getNumber (_x >> "requiredXP"); // Minimum XP required
@@ -34,7 +34,7 @@ GVAR(craftingRecipes) = [];
_requiredItems, // Index 1: Required items
_craftingTime, // Index 2: Crafting time
_outputCount, // Index 3: Output quantity
- _toBeReplaced, // Index 4: Items to replace
+ _code, // Index 4: Code to run on completion
_audio, // Index 5: Crafting sound
_outputXP, // Index 6: XP awarded upon completion
_requiredXP // Index 7: Minimum XP required
diff --git a/addons/crafting/functions/fnc_processItems.sqf b/addons/crafting/functions/fnc_processItems.sqf
index fc1aeb68..eb24c7a5 100644
--- a/addons/crafting/functions/fnc_processItems.sqf
+++ b/addons/crafting/functions/fnc_processItems.sqf
@@ -26,7 +26,7 @@ private _outputItem = _recipe select 0;
private _requiredItems = _recipe select 1;
private _craftingTime = _recipe select 2;
private _outputCount = _recipe select 3;
-private _toBeReplaced = _recipe select 4;
+private _code = _recipe select 4;
private _audio = _recipe select 5;
private _outputXP = _recipe select 6;
@@ -68,7 +68,7 @@ private _currentStep = 0;
[{
params ["_args", "_handle"];
- _args params ["_requiredItems", "_outputItem", "_outputCount", "_toBeReplaced", "_outputXP", "_dialog", "_craftInterrupt", "_totalSteps", "_currentStep", "_displayName", "_progressBar", "_soundSource"];
+ _args params ["_requiredItems", "_outputItem", "_outputCount", "_code", "_outputXP", "_dialog", "_craftInterrupt", "_totalSteps", "_currentStep", "_displayName", "_progressBar", "_soundSource"];
if (!(player getVariable [QGVAR(isCrafting), false]) || !alive player) exitWith {
player setVariable [QGVAR(isCrafting), nil];
@@ -104,15 +104,7 @@ private _currentStep = 0;
[player, _outputItem, true] call CBA_fnc_addItem;
};
- if (count _toBeReplaced > 0) then {
- private _itemToReplace = _toBeReplaced select 0;
- private _chance = _toBeReplaced select 1;
- private _replacementItem = _toBeReplaced select 2;
- if ([_chance] call EFUNC(common,rollChance)) then {
- [player, _itemToReplace] call CBA_fnc_removeItem;
- [player, _replacementItem, true] call CBA_fnc_addItem;
- };
- };
+ if (_code isNotEqualTo "") then {call compile _code};
private _currentXP = player getVariable [QGVAR(xp), MACRO_PLAYER_DEFAULTS_LOW];
player setVariable [QGVAR(xp), _currentXP + _outputXP, true];
@@ -134,6 +126,6 @@ private _currentStep = 0;
[_handle] call CBA_fnc_removePerFrameHandler;
};
}, 0.5, [
- _requiredItems, _outputItem, _outputCount, _toBeReplaced, _outputXP,
+ _requiredItems, _outputItem, _outputCount, _code, _outputXP,
_dialog, _craftInterrupt, _totalSteps, _currentStep, _displayName, _progressBar, _soundSource
]] call CBA_fnc_addPerFrameHandler;
diff --git a/addons/hydrology/XEH_PREP.hpp b/addons/hydrology/XEH_PREP.hpp
index ac4ec1bc..b00eee1a 100644
--- a/addons/hydrology/XEH_PREP.hpp
+++ b/addons/hydrology/XEH_PREP.hpp
@@ -3,3 +3,4 @@ PREP(drinkFromSource);
PREP(icon);
PREP(parseData);
PREP(processFill);
+PREP(purifyWater);
diff --git a/addons/hydrology/functions/fnc_purifyWater.sqf b/addons/hydrology/functions/fnc_purifyWater.sqf
new file mode 100644
index 00000000..9caf2de9
--- /dev/null
+++ b/addons/hydrology/functions/fnc_purifyWater.sqf
@@ -0,0 +1,67 @@
+#include "..\script_component.hpp"
+/*
+ * Author: TenuredCLOUD
+ * Water purification tablet usage
+ * Decrements water tablets based on water sources in inventory
+ *
+ * Arguments:
+ * None
+ *
+ * Return Value:
+ * None
+ *
+ * Example:
+ * [] call misery_hydrology_fnc_purifyWater;
+ *
+ * Public: No
+*/
+
+if (!([[QCLASS(pureTablets)]] call EFUNC(common,hasItem))) exitWith {
+ [QEGVAR(common,tileText), localize LSTRING(NoPurificationTablets)] call CBA_fnc_localEvent;
+};
+
+private _containerData = [
+ [QCLASS(waterJerryCan_Dirty), QCLASS(waterJerryCan_Purified), 10],
+ [QCLASS(waterJerryCan_Clean), QCLASS(waterJerryCan_Purified), 10],
+ [QCLASS(canteen_Dirty), QCLASS(canteen_Purified), 2],
+ [QCLASS(canteen_Clean), QCLASS(canteen_Purified), 2],
+ [QCLASS(waterBottle_Dirty), QCLASS(waterBottle_Purified), 1],
+ [QCLASS(waterBottle_Clean), QCLASS(waterBottle_Purified), 1]
+];
+
+private _targetContainer = [];
+
+{
+ _x params ["_inputClass", "_purifiedClass", "_reqTablets"];
+ if ([[_inputClass]] call EFUNC(common,hasItem)) exitWith {
+ _targetContainer = _x;
+ };
+} forEach _containerData;
+
+if (_targetContainer isEqualTo []) exitWith {
+ [QEGVAR(common,tileText), localize LSTRING(NoContainersNeedPurification)] call CBA_fnc_localEvent;
+};
+
+_targetContainer params ["_inputClass", "_purifiedClass", "_reqTablets"];
+
+[QCLASS(pureTablets)] call EFUNC(common,countMagazinesAmmo) params ["_count", "_capacity"];
+
+if (_count < _reqTablets) exitWith {
+ [QEGVAR(common,tileText), format [localize LSTRING(NotEnoughTablets), _reqTablets, [(_targetContainer select 0)] call EFUNC(common,getItemData) select 0, _count]] call CBA_fnc_localEvent;
+};
+
+[_inputClass] call EFUNC(common,countMagazinesAmmo) params ["_lastVolume"];
+
+[player, _inputClass] call CBA_fnc_removeItem;
+
+[player, _purifiedClass, _lastVolume, true] call CBA_fnc_addMagazine;
+
+if (_reqTablets >= 10) then {
+ [player, QCLASS(pureTablets)] call CBA_fnc_removeItem;
+ [QEGVAR(common,tileText), format [localize LSTRING(UsedAllTablets), [(_targetContainer select 0)] call EFUNC(common,getItemData) select 0]] call CBA_fnc_localEvent;
+} else {
+ for "_i" from 1 to _reqTablets do {
+ [QCLASS(pureTablets)] call EFUNC(common,itemDecrement);
+ };
+ [QEGVAR(common,tileText), format [localize LSTRING(TabletsUsedCount), [(_targetContainer select 0)] call EFUNC(common,getItemData) select 0, _reqTablets]] call CBA_fnc_localEvent;
+};
diff --git a/addons/hydrology/stringtable.xml b/addons/hydrology/stringtable.xml
index 966b37b3..495d5850 100644
--- a/addons/hydrology/stringtable.xml
+++ b/addons/hydrology/stringtable.xml
@@ -129,6 +129,22 @@
您没有那个容器...
Bu kaba sahip değilsiniz...
+
+ You don't have any containers that need chemical purification...
+ Nemáte žádné nádoby, které by vyžadovaly chemické čištění...
+ Vous n'avez aucun récipient nécessitant une purification chimique...
+ No tienes ningún recipiente que requiera purificación química...
+ Non hai contenitori que richiedano una purificazione chimica...
+ Nie masz żadnych pojemników, které wymagają chemicznego oczyszczania...
+ Você não tem nenhum recipiente que precise de purificação química...
+ У вас нет контейнеров, требующих химической очистки...
+ Du hast keine Behälter, die eine chemische Reinigung erfordern...
+ 화학적 정수가 필요한 용기가 없습니다...
+ 化学的浄化が必要な容器がありません...
+ 你沒有任何需要化學過濾的容器...
+ 你没有任何需要化学过滤的容器...
+ Kimyasal arındırma gerektiren herhangi bir kabınız yok...
+
No matching container found.
Nenalezen žádný odpovídající kontejner.
@@ -145,6 +161,38 @@
找不到匹配的容器。
Eşleşen kap bulunamadı.
+
+ You don't have any purification tablets...
+ Nemáte žádné tablety na čištění vody...
+ Vous n'avez pas de pastilles de purification...
+ No tienes pastillas de purificación...
+ Non hai pastiglie purificanti...
+ Nie masz żadnych tabletek oczyszczających...
+ Você não tem nenhuma pastilha de purificação...
+ У вас нет таблеток для очистки воды...
+ Du hast keine Reinigungstabletten...
+ 정수 알약이 없습니다...
+ 浄水タブレットを持っていません...
+ 你沒有任何淨水片...
+ 你没有任何净水片...
+ Hiç arındırma tabletiniz yok...
+
+
+ You need %1 tablets to purify %2, but you only have %3...
+ K vyčištění %2 potřebujete %1 tablet, ale máte pouze %3...
+ Vous avez besoin de %1 pastilles pour purifier %2, mais vous n'en avez que %3...
+ Necesitas %1 pastillas para purificar %2, pero solo tienes %3...
+ Hai bisogno di %1 pastiglie per purificare %2, ma ne hai solo %3...
+ Potrzebujesz %1 tabletek, aby oczyścić %2, ale masz tylko %3...
+ Você precisa de %1 pastilhas para purificar %2, mas só tem %3...
+ Вам нужно %1 табл. для очистки %2, но у вас есть только %3...
+ Du benötigst %1 Tabletten, um %2 zu reinigen, aber du hast nur %3...
+ %2을(를) 정수하려면 알약 %1개가 필요하지만, %3개만 가지고 있습니다...
+ %2の浄化にはタブレットが%1個必要ですが、%3個しか持っていません...
+ 你需要 %1 片淨水片來過濾 %2,但你只有 %3 片...
+ 你需要 %1 片净水片来过滤 %2,但你只有 %3 片...
+ %2 nesnesini arındırmak için %1 tablete ihtiyacınız var, ancak sizde sadece %3 tane var...
+
What container would you like to fill?
Který kontejner chcete naplnit?
@@ -161,5 +209,37 @@
您想填充哪个容器?
Hangi kabı doldurmak istersiniz?
+
+ %1 purified, used %2 tablet(s)...
+ %1 vyčištěno, použito %2 tablet...
+ %1 purifié, %2 pastille(s) utilisée(s)...
+ %1 purificado, se usó %2 pastilla(s)...
+ %1 purificato, usato %2 pastiglia/e...
+ Oczyszczono %1, zużyto %2 tabletek...
+ %1 purificado, usado(s) %2 pastilha(s)...
+ %1 очищено, использовано табл.: %2...
+ %1 gereinigt, %2 Tablette(n) verwendet...
+ %1 정수 완료, 알약 %2개 사용됨...
+ %1を浄化しました、タブレットを%2個使用...
+ %1 已過濾,使用了 %2 片淨水片...
+ %1 已过滤,使用了 %2 片净水片...
+ %1 arındırıldı, %2 tablet kullanıldı...
+
+
+ You used a whole pack of tablets to purify %1...
+ K vyčištění %1 jste použili celé balení tablet...
+ Vous avez utilisé une boîte entière de pastilles pour purifier %1...
+ Usaste un paquete entero de pastillas para purificar %1...
+ Hai usato un intero pacchetto di pastiglie per purificare %1...
+ Zużyłeś całe opakowanie tabletek, aby oczyścić %1...
+ Você usou um pacote inteiro de pastilhas para purificar %1...
+ Вы использовали целую упаковку таблеток для очистки %1...
+ Du hast eine ganze Packung Tabletten verwendet, um %1 zu reinigen...
+ %1을(를) 정수하기 위해 알약 한 팩을 모두 사용했습니다...
+ %1の浄化にタブレットを1パック丸ごと使用しました...
+ 你使用了整包淨水片來過濾 %1...
+ 你使用了整包净水片来过滤 %1...
+ %1 nesnesini arındırmak için bütün bir paket tablet kullandınız...
+
diff --git a/addons/main/script_version.hpp b/addons/main/script_version.hpp
index ba1ec461..5b813bd4 100644
--- a/addons/main/script_version.hpp
+++ b/addons/main/script_version.hpp
@@ -1,4 +1,4 @@
#define MAJOR 2
#define MINOR 0
#define PATCH 0
-#define BUILD 0
+#define BUILD 1